这是一个关于 DNS 地理冗余的规范问题。
众所周知,在提供弹性 Web 服务时,非常需要位于不同物理位置的地理冗余 DNS 服务器。文件BCP 16对此进行了深入介绍,但一些最常提到的原因包括:
防止数据中心灾难。地震发生。机架发生火灾并烧毁附近的服务器和网络设备。如果数据中心的物理问题同时关闭两个 DNS 服务器,即使它们不在同一行,多个 DNS 服务器也不会给您带来多大好处。
防止上游对等问题。如果共享的上游网络对等点小睡,多个 DNS 服务器将无法防止出现问题。无论是上游问题完全使您脱机,还是只是将所有 DNS 服务器与一小部分用户群隔离,最终结果都是即使服务本身位于完全不同的数据中心,人们也无法访问您的域。
这一切都很好,但是如果我在同一个 IP 地址上运行我的所有服务,那么冗余 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 服务器一样。
需要更改 ServerPriorityTimeLimit=0 注册表设置来修复此行为。
这是否意味着 MS DNSCache 已损坏并且需要此注册表修复才能使其重新开始正常工作?
我正在配置一个 vps 用作网络服务器,一切都进行得很顺利,但现在我来到了 DNS 的地步。VPS 分配了两个工作 IP 地址。现在我需要在一个主机上运行一个主 DNS,在另一个 IP 地址上运行一个辅助 DNS(我知道在两台不同的机器上运行它更好更安全,但我没有)。我可以在 iNet 上找到大量关于如何在一台机器上配置一个 DNS 或在两台不同机器上配置两个 DNS 的文章,但没有关于如何在一台机器上配置两个 DNS 的文章。谁能帮助我?我正在使用 Centos 6.3