在 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:
b.com zone file:
![](https://i-blog.csdnimg.cn/blog_migrate/647ca5f2cfe831f546ad69e3284ea87f.jpeg)
结果:
![](https://i-blog.csdnimg.cn/blog_migrate/dd46509d0d34cb5aeb9fa3211be2fe57.jpeg)
DNSDUN 使用设置:
目前 DNSDUN 是唯一一个支持 DNAME 类型的 dns provider。
参考资料:
http://www.ietf.org/rfc/rfc2672.txt
http://www.informit.com/articles/article.aspx?p=19798