客户端在故障转移期间未切换到辅助 DNS 服务器

客户端在故障转移期间未切换到辅助 DNS 服务器

我设置了两个内部 DNS 服务器,并且我的所有服务器都在 resolv.conf 中设置了这两个服务器。我们的主要 DNS 服务器宕机了,突然没有服务器可以互相看到对方。我手动编辑了几个服务器的 resolv.conf,并提交了第一个(宕机的)DNS 服务器,该机器可以立即再次 ping 通。我做错了什么,超时后它不会自动切换到辅助 DNS 服务器吗?

# File managed by puppet
nameserver 192.168.146.100
nameserver 192.168.159.101
;nameserver 72.14.188.5
domain example.com
search example.com

答案1

默认超时时间可能太长,导致应用程序崩溃。请记住,解析器每次被调用时都会从 /etc/resolv.conf 中的第一个条目开始(尽管缓存了条目)。

尝试添加类似“options timeout:.5”或类似的内容(请参阅手册页 -http://linux.die.net/man/5/resolv.conf) 让本地解析器尽快尝试备用名称服务器。请注意不要将此值设置得太低,因为某些递归查找可能需要相当长的时间。

答案2

除了减少超时之外,您可能还想添加options rotate这会导致解析器改变其启动的名称服务器。这意味着当第一个服务器不可用时,解析器至少在某些时候会通过查询第二个服务器来启动。当然,这确实意味着第二个名称服务器故障的影响更明显。

options rotate timeout:3

答案3

它应该是透明的,可以正常工作。我能想到的只是第一台服务器上存在异常超时。您能可靠地重现该问题吗?

相关内容