![客户端在故障转移期间未切换到辅助 DNS 服务器](https://linux22.com/image/586665/%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%9C%A8%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB%E6%9C%9F%E9%97%B4%E6%9C%AA%E5%88%87%E6%8D%A2%E5%88%B0%E8%BE%85%E5%8A%A9%20DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我设置了两个内部 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
它应该是透明的,可以正常工作。我能想到的只是第一台服务器上存在异常超时。您能可靠地重现该问题吗?