标签归档:cname解析,DNS域名解析

解析类型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:

dname01

 

b.com zone file:

dname02

 

结果:

dname03

 

DNSDUN使用设置:

dname04

目前DNSDUN是唯一一个支持DNAME类型的dns provider。

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