动态更新 /etc/resolv.conf 中列出的解析器

动态更新 /etc/resolv.conf 中列出的解析器

我租用了一些 Linux 服务器,托管公司提供了一组八个 DNS 解析器。

响应速度因解析器而异,我会定期修改/etc/resolv.conf以获得最佳性能。

有两次我发现我的一个公共网站加载时间太长,部分原因是它依赖于后端 Web 服务,这些服务大约需要 15 秒才能将域名解析为 IP。

为了确保始终指定响应最快的解析器,我想自动化修改的过程/etc/resolv.conf

如果需要,我可以编写脚本,但是这不可避免地会出现一个难以发现的错误,我想尽量减少自动化流程造成混乱的风险/etc/resolv.conf。任何经过长期测试并证明稳定的现有解决方案都会比我自己的解决方案更可靠。

我感兴趣的是知道是否有人解决过此类问题,以及是否有任何稳定的脚本/流程/方法来处理此类问题。

答案1

您是否尝试过安装自己的本地缓存命名?在本地安装 BIND(仅缓存),然后让它以预期的方式查询 DNS(根据委托动态查找委托)。只需将 resolv.conf 更改为指向 127.0.0.1 即可。也许将您的一个主机 IP 放入其中作为备份,但主要依靠您自己的解析器。

答案2

在基于 Debian 的系统上有一个包解析配置维基百科) 旨在处理 resolv.conf 的更新。

您可以添加或删除条目。您可以设置将在发生更新时调用的脚本。这允许您通知其他服务已进行更新。

答案3

这将涉及安装额外的服务器,但您可以使用集中式配置管理系统(如 cfengine 或 puppet)将新的 resolv.conf 推送到您的服务器 Brett

相关内容