免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9296 | 回复: 2
打印 上一主题 下一主题

[DNS] 解析类型DNAME介绍 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-19 20:25 |只看该作者 |倒序浏览
本帖最后由 moxnet 于 2011-10-19 20:26 编辑

DNAME
在bind9中实现了2种新的记录类型: DNAME,IP6 本文介绍DNAME实现的功能.

rfc2672描述了DNAME,rfc的标题是”Non-Terminal DNS Name Redirection”, 与CNAME的意思类似, 但他并不是别名了单独的一个名字, 而是别名了整个域名.当发现DNAME时, 并没结束, 而是计算出一个新的名字并且解析它.而CNAME的情况就不同, 当发现CNAME时, 工作就结束了.

DNAME使用相当简单:

<owner> <ttl> <class> DNAME <target>
作用是, 整个owner标识的整个子树被映射到目标域名上. 这是为了创建一种机制, 以帮助当网络重新规划后, 域名方便的重新命名, 包括原来的和新添加的域名.

我们来想象一种情况: 有一个公司的网站, 如a.com, 其决定购买公司b.com, 其决定为b做一个a.com的子域, 并且让b.com做为a.com的子域, 即b.a.com. 换名话说, 为了保持原来的依然工作和兼容,b.a.com布置期间, b.com需要依旧工作. 这时, 管理员简单的在a.com的域中添加一条记录:

b DNAME b.com.
当查询时, 如查询 www.b.a.com 时, 解析器会收到一个b.a.com的DNAME结果b.com;解析器需要转换要查询的域名到www.b.com并解析. 在应答中, 包含一个请求的域名的CNAME记录, 值为使用DNAME替换后的域名. 这样, 对于不兼容DNAME的解析器也可以照常工作.

我们经常会碰到一个问题: 有个域名, 将将这个域名的顶级做CNAME, 如域名a.com,想做CNAME到b.com,这通常是不允许的(这是很容易犯的一个错误, cname只允许对子域名做CNAME).而使用DNAME就可以达到此目的.

如: a.com zone file:
  1. $TTL 3600   ; 1 hour
  2. @     IN SOA  ns1.b.com. hostmaster.a.com. (
  3.                19 ; serial
  4.                43200      ; refresh (12 hours)
  5.                900        ; retry (15 minutes)
  6.                604800     ; expire (1 week)
  7.                3600       ; minimum (1 hour)
  8.                )
  9.            NS  ns1.b.com.
  10.            NS  ns2.b.com.
  11. @ IN DNAME b.com.
复制代码
b.com zone file:
  1. $TTL 3600   ; 1 hour
  2. @     IN SOA  ns1.b.com. hostmaster.b.com. (
  3.                15 ; serial
  4.                43200      ; refresh (12 hours)
  5.                900        ; retry (15 minutes)
  6.                604800     ; expire (1 week)
  7.                3600       ; minimum (1 hour)
  8.                )
  9.            NS  ns1
  10.            NS  ns2
  11. @ IN A 10.1.1.2
  12. www IN A 10.1.1.3
  13. ftp IN A 2.2.2.2
  14. ns1 IN A 10.8.1.1
  15. ns2 IN A 10.8.1.2
复制代码
结果:
  1. # dig www.a.com @127.0.0.1
  2. ;; QUESTION SECTION:
  3. ;www.a.com.           IN  A

  4. ;; ANSWER SECTION:
  5. a.com. 3600 IN DNAME b.com.
  6. www.a.com. 3600 IN CNAME www.b.com.
  7. www.b.com. 3600 IN A 10.1.1.3

  8. ;; AUTHORITY SECTION:
  9. b.com.        3600    IN  NS  ns2.b.com.
  10. b.com.        3600    IN  NS  ns1.b.com.
  11. ;; ADDITIONAL SECTION:
  12. ns1.b.com.        3600    IN  A   10.8.1.1
  13. ns2.b.com.        3600    IN  A   10.8.1.2
复制代码
对于支持DNAME类型的dns provider,暂时还没有发展哪家支持(如果大家发现了可私信我).

参考资料:
http://www.informit.com/articles/article.aspx?p=19798
http://www.ietf.org/rfc/rfc2672.txt

论坛徽章:
0
2 [报告]
发表于 2011-10-20 19:45 |只看该作者
不错,学习了

好久没去关注dns了。

论坛徽章:
0
3 [报告]
发表于 2016-08-30 17:41 |只看该作者
回复 2# wenzk

dns盾支持dname


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP