多个 DNS,服务器优先级

多个 DNS,服务器优先级

当在客户端上设置多个 DNS 服务器时,我一直认为它的工作原理如下:

如果主 DNS 服务器可用,则始终使用它,而只有在主 DNS 服务器不可用时才使用辅助 DNS 服务器。我的理解正确吗?

询问的原因是我刚刚从微软发现了这一点:

如果您使用多个 DNS 服务器,即使第一个服务器可用,客户端有时也可能会查询辅助服务器


让我看看是否可以更好地表述这个问题:

如果主 DNS 在线且正常工作,为什么 DNSCache 有时似乎仍使用辅助 DNS 服务器?我的理解是这种情况不应该发生。

据微软称:

如果您使用多个 DNS 服务器,即使第一个服务器可用,客户端有时也可能会查询辅助服务器

那么具有多个 DNS 服务器的客户端应该如何表现?这是 Win8 DNSCache 中的错误吗?


但微软的这篇文章似乎颠覆了一切: http://support.microsoft.com/kb/320760

出现此行为的原因是 Windows XP DNS 客户端服务 (Dnscache) 在决定使用 TCP/IP 属性中配置的 DNS 服务器的顺序时遵循某种算法。如果 DNS 服务器列表重新排列优先级,Windows XP DNS 客户端服务会定期重置服务器优先级。默认情况下,服务器优先级每 15 分钟重置一次

这表明 DNSCache 并不将主/次要 DNS 服务器视为不同的优先级,而只是将其视为具有同等优先级的备选 DNS 服务器。

可以更改 ServerPriorityTimeLimit=0 注册表设置来修复此行为。

这是否意味着 MS DNSCache 已损坏,需要修复此注册表才能使其再次正常工作?

答案1

如果可以访问主服务器,它将仅查询该服务器。如果查询未返回任何内容,它将把查询发送到其转发器,但如果转发器未返回任何内容,它将在此时失败。它不会继续查询辅助 DNS 服务器。

如果主 DNS 服务器根本没有响应 DNS 查询,则使用辅助 DNS 服务器。

如果主 DNS 服务器不知道答案,则辅助 DNS 服务器不会作为后备查询(转发器)存在。

另外,Evan 和 Joe: Windows 如何决定在解析名称时使用哪个 DNS 服务器?

还:

https://serverfault.com/questions/130608/when-is-a-secondary-nameserver-hit

为什么需要有辅助 DNS 服务器?

相关内容