有没有办法在新的从属DNS服务器上批量创buildDNS从属区域?

我目前有一个DNS服务器,作为我们的一些域的主DNS服务器。 我想build立一个全新的辅助DNS服务器。 有什么办法可以自动在新服务器上绑定BIND作为主服务器上所有域的辅助服务器吗?

万一重要,我在主服务器上有Webmin。 我相信当在一台服务器上创build一个新的主区域时,Webmin可以select在另一台服务器上创build一个区域作为辅助区域,但是我不知道如何批量创build多个现有主区域的辅助区域。 也许我错过了一些东西。

是否有一种方法可以在全新的从属DNS服务器上为现有主服务器上的所有DNS区域“批量创build”DNS从属区域?

编写脚本来做这个不应该花很长时间,特别是如果你在域之后命名区域文件。

ls master.dir > domain.list

 foreach domain (`cat domain.list`) echo 'zone "$domain" { type slave; file "slave/$domain"; masters { 1.2.3.4 }; };' >> named.conf.slaves end 

并添加include named.conf.slaves; 到你的named.conf

在Webmin中,当您configuration一个新的从站时,您将可以select将主站上的所有区域复制到新的从站。 Virtualmin文档有一个关于从属DNS服务器的部分,如果你只使用Webmin,你可以跳过关于使Virtualmin使用从属服务器的最后一点。 Webmin的步骤是一样的。

http://www.virtualmin.com/documentation/dns/slave-configuration

具体来说,你想要的选项是“在奴隶上创build所有现有的主区域? 这将复制所有的数据。

如果需要的话,Webmin也可以在将来把奴隶变成主人。

脚本可能会被要求。 获取您所掌握的所有域的列表,并使用该列表来设置从设备。

您也可能需要设置主服务器以允许从服务器传输。 另一个select是TSIG( http://www.cyberciti.biz/faq/unix-linux-bind-named-configuring-tsig/

最简单的方法是从主站复制configuration。

一个简短的perl脚本应该能够用slavereplacemaster关键字,并将指针添加到master。

正如克里斯托弗指出的那样,您还需要修改主设备的configuration以允许主设备进行区域传输。

我还注意到一个绑定的安全通知,表明你应该确保你的所有区域都有一个允许查询条款。