如何有效地处理多个DNS服务器?

我最近添加了更多的BIND9 DNS服务器到我的networking,添加每个区域/域我想从属节点成为奴隶的工作变得太重复了,更不用说只有一个主服务器创build一个简单失败点。 有没有更好的方法来pipe理DNS区域/奴隶/等?

作为一个拥有数十个DNS服务器和数千个域名的系统pipe理员,我感觉(好,感觉)你的痛苦。 我们用木偶和模板解决了它。

我们所有的域名和服务器在我们的基础设施数据库中也有条目(甚至是从那里生成的区域,但是现在是不相关的)。 所以我们做大致如下:

主名称服务器:

  • 主要的named.conf有如下几个生成文件的include语句
  • 生成的configuration包括从SQL查询生成的所有从站的通知语句到我们的基础架构数据库
  • 该域列表也是从该DB生成的

在奴隶身上:

  • 主要的named.conf有如下几个生成文件的include语句
  • 域的列表是从基础架构数据库中生成的,包括有关主数据的信息

当puppet改变上面的任何一个文件时,它也会调用rndc reconfig加载configuration,但rndc reconfig是它parsing正确。

一些build议可能是:

  • 创build一个像本文所述的cachingDNS服务器?
  • 使用rsync从一个从属设备到另一个从设备周期性地复制configuration
  • 使用心跳信号或keepalived为同一个IP进行负载平衡主DNS服务器。

我使用不同的方法。 借助PowerDNS,区域和logging的复制非常简单。 整个DNS数据存储在MySQL-DB中,并通过MySQL复制到2个从属服务器,这些服务器也使用powerdns。

这个设置运行了大约6年没有任何问题。

BTW:绑定仍然用于caching