我有一个运行着大约 200 个 CentOS 实例的 OpenStack 集群,我的托管服务提供商抱怨说 DNS 流量对他们的服务器来说太多了。为了解决这个问题,我设置了几个绑定解析器实例,并希望通过 DHCP 将它们推出,但我无法找到一种方法来确保 resolv.conf 指令options rotate
要么通过 dhcp 推出,要么可以通过一些我认为会存在的配置文件进行设置/etc/sysconfig
。
我有一个运行着大约 200 个 CentOS 实例的 OpenStack 集群,我的托管服务提供商抱怨说 DNS 流量对他们的服务器来说太多了。为了解决这个问题,我设置了几个绑定解析器实例,并希望通过 DHCP 将它们推出,但我无法找到一种方法来确保 resolv.conf 指令options rotate
要么通过 dhcp 推出,要么可以通过一些我认为会存在的配置文件进行设置/etc/sysconfig
。
该
options rotate
设置实际上是客户端设置,而不是通过 DHCP 服务器指定和分发的设置。您将需要设置配置文件。我倾向于将它设置为由 Puppet 部署的 resolv.conf,但我认为它也可以在 sysconfig 中设置。
蒂姆是正确的,这是一个客户端配置,但是我很好奇你为什么要这样做?你的目标是什么 ?原因是可能有其他方法可以实现您的目标,例如:
您可以使用 LVS(linux 虚拟服务器)来构建一个 dns 服务器集群,并为您的所有服务器提供一个 ip。
您可以使用起搏器构建一个 powerDNS 递归器两个节点集群,并让该递归器使用多个名称服务器进行查询。
我又遇到了这个问题,经过大量的谷歌搜索和愤怒之后,我发现以下内容将添加
options rotate
,或者你想要的任何其他内容,而/etc/resolv.conf
不会锁定文件或以其他方式破坏功能:创建将以下内容放入文件中
/etc/dhcp/dhclient.d/rotate.sh
:然后
chmod +x /etc/dhcp/dhclient.d/rotate.sh
。任何类似的可执行文件
/etc/dhcp/dhclient.d/*.sh
都会被 dhclient/NetworkManager 拾取,并且需要两个函数,*_config()
分别*_restore()
在接口 up/down 时运行。所以
/etc/dhcp/dhclient.d/*.sh
需要foo_config()
和foo_restore()
。