主DNS服务器故障的DNS / resolv.conf设置?

我目前是混合networking中一些RHEL Linux机器的pipe理员。 我们的DNS服务器是Windows AD控制器。 因此,他们偶尔需要维修。 (例如:打补丁)这意味着在某些时候,我的Linux机器的主DNS控制器将无法访问。

在Windows世界里,这个处理很好。 当DNS查询主要失败时,Windows客户端停止使用它15分钟。 所以,除了最初的打嗝,他们都顺利地推进。 但是,Linux不断尝试相同(失败)的主服务器。 默认情况下,它会等待至less5秒,然后再尝试辅助服务器。 这意味着一切都需要很长时间,甚至如果有很多的DNS查找,应用程序也会超时。

所以,我正在考虑让我的服务器更强大。 我目前的计划是A)修改resolv.conf只等待一秒钟的响应,而不是重试。 B)可能会在/ etc / hosts中创build一些策略项,以便主要服务器仍然可以快速到达。

所有这一切说,我很想有一个更好的解决scheme。 或者,我想听听其他人在做什么。 或者只是理论上的“ 你的想法好/坏,这就是为什么”。

– 克里斯托弗·卡雷尔

您可能会考虑使用dnsmasq,而不是仅依赖于parsing器库 – dnsmasq并行地查询上游服务器,而不是串行方式,所以有一个drop out不应该导致这么多问题。

也许运行一个nscd并添加

 options rotate 

/etc/resolv.conf已经为你做的伎俩。

更简单的解决scheme是将stream量redirect一段时间(维护窗口)。

如果你有一台备用机器,你可以临时给它的主服务器的ip地址。 否则,您可以在路由器中部署redirect。 如果一个数据包作为主服务器的目标,则可以将其redirect到辅助服务器

一个更强大但更强大的解决scheme将是build立一对名称服务器(从属于AD)并使用任播。 http://en.wikipedia.org/wiki/Anycast#Domain_Name_System