我有一个运行着大约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() 。