旋转由DHCP指定的DNS服务器

我有一个运行着大约200个CentOS实例的OpenStack集群,我从我的托pipe服务提供商那里得到了一个抱怨:​​DNSstream量对于他们的服务器来说太多了。 为了解决这个问题,我已经build立了一对绑定parsing器实例,并希望通过DHCP推送这些,但我一直没有find一种方法来确保resolv.conf指令options rotate得到通过DHCP推出,或者可以通过一些configuration文件来设置,我假设会住在/etc/sysconfig

options rotate设置实际上是客户端设置,不是通过DHCP服务器指定和分配的。

你将需要设置configuration文件。 我倾向于设置由Puppet部署resolv.conf,但我认为它也可以在sysconfig中设置。

蒂姆是正确的,这是一个客户端configuration,但我很好奇你为什么要这样做? 你的目标是什么 ? 原因是可能有其他的方式来实现你的目标,例如:

  • 您可以使用LVS(linux虚拟服务器)来构build一个dns服务器集群,并向所有服务器提供一个ip。

  • 您可以使用起搏器构build一个powerDNS recurser双节点群集,并使此recurser为其查询使用多个名称服务器。

我又回到这个问题了,经过大量的search和发现之后,我发现下面的代码会把options rotate或者其他任何你想要的东西添加到/etc/resolv.conf而不会locking文件或者破坏function:

创build把下面的文件放在/etc/dhcp/dhclient.d/rotate.sh文件中:

 rotate_config() { echo "options rotate" >> /etc/resolv.conf } rotate_restore() { : } 

然后chmod +x /etc/dhcp/dhclient.d/rotate.sh

/etc/dhcp/dhclient.d/*.sh这样的任何可执行文件都会被dhclient / NetworkManager获取,并且需要两个函数: *_config()*_restore() ,当接口上/下分别。

所以/etc/dhcp/dhclient.d/*.sh需要foo_config()foo_restore()