bind + mydns 大容量智能 DNS 的方案简述

大体上就是 bind 上启用 view 功能,然后把请求转发给后端的多个 mydns。不过遇到的问题是,如果用 zone {type “forward”;} 的话,会导致  bind 给出的解析结果里缺少 AA 标志位,而且还会带上 ADDITIONAL SECTION,而这个 ADDITIONAL SECTION 指向的恰恰是 bind 自己,于是有时会造成循环。

怎么让 bind 认同自己事实上的权威地位,成了方案的关键。想了几个小时,终于明白了只有 master 和 slave 才能给出带 AA 标志位的应答。master试过了肯定是不行的,因为必须有 file 参数。后来试了试 slave,竟然只需要 masters 参数即可。

最终方案是两横两纵的:

1 一个域有两个 NS 服务器

2 每个 NS 服务器里有两个 DNS 软件:前端带 view 功能的 bind,和后端带数据库访问功能的 mydns。后端 mysql 存储做成 replication 形式

3 bind 作为 mydns 的 slave,所以 mydns 必须开启 AXFR 和 TCP

4 更新域名时,需要在 master mysql 上做修改。记住必须修改 SOA 记录中的序列号。考虑到在这个架构中,我们并没有计划在两台 bind 之间做域传送,为了使修改快速生效,建议缩短 SOA 中指定的刷新时间,以快速激发 bind 从 mydns 获取域数据

This entry was posted in 默认分类 and tagged , , , , , . Bookmark the permalink.

2 Responses to bind + mydns 大容量智能 DNS 的方案简述

  1. Richad Hao says:

    你的博客终于换面目了~老哥现在工作怎么样了?

  2. JulyClyde says:

    其实还是系统自带模板。我懒得改外观这些东西。其实我只需要一个RSS reader

Leave a Reply

Your email address will not be published. Required fields are marked *