DNSparsing故障转移到辅助DNS – 为什么?

我们有大量的分支机构通过VPN连接,但没有任何一种服务器基础设施。 每个办公室中的客户端计算机都从ASA 5505获取其networkingconfiguration,该ASA 5505也用于VPN连接。

Windows XP客户端机器被configuration为使用我们公司的一个DNS服务器作为主服务器,ISP的DNS服务器作为辅助服务器。 这个想法是,如果VPN连接由于某种原因而失败,办公室的工作人员仍然可以访问互联网,并访问我们的networking邮件和家庭访问门户。 在大多数情况下,这工作正常。

但是,对于位于南美洲的办事处,我们看到客户端计算机上的DNSparsing通常是针对ISP DNS服务器进行的 – 这导致我们的公司资源无法为办公室的员工所用。

客户机能够ping公司的DNS服务器。 在执行企业主机名的nslookup时,我收到了一个回复。

我正在考虑下面的一个(或一个组合)正在发生:

  • 我们公司的DNS服务器并不总是及时地回复请求(尽pipe为什么这只会影响一个地理区域的客户,我不知道)
  • 来自拉丁美洲的DNS查询在某种程度上被延迟了,导致客户端将其视为失败(尽pipe我们在没有这个问题的较慢的VSAT连接的末端有办公室)
  • 一个单一的故障导致在Windows中的DNScaching条目,以某种方式导致查询不会发生在随后的尝试

有没有其他人遇到过这个问题? 任何想法的决议?

Windows 按此顺序查询DNS :

  • 主机文件
  • 本地DNScaching
  • 首选的DNS服务器
  • 其他DNS服务器

MS也有描述如何获得DNS服务器列表的文章:

DNS客户端服务使用按优先顺序排列的服务器search列表。 此列表包括为系统上的每个活动networking连接configuration的所有首选和备用DNS服务器。

该清单是根据以下标准安排的:

  • 首选DNS服务器。
  • 如果没有可用的首选DNS服务器,则使用备用DNS服务器。
  • 从这些列表中暂时删除没有响应的服务器。

Windows 对DNS请求的升级超时 :

Value Default value Attempt 1st limit 1 second Query the preferred DNS server on a preferred connection. 2nd limit 2 seconds Query the preferred DNS server on all connections. 3rd limit 2 seconds Query all DNS servers on all connections (1st attempt). 4th limit 4 seconds Query all DNS servers on all connections (2nd attempt). 5th limit 8 seconds Query all DNS servers on all connections (3rd attempt). 6th value (Must be 0.) 

在这个确切点上,我找不到明确的答案,但是听起来好像它在1秒或2秒内没有得到主DNS的响应(分别是第一次或第二次尝试),那么该服务器将从DNS服务器查找列表15分钟,所以它将使用辅助DNS服务器。 由于这些服务器有超过8秒的超时,他们更有可能回应。 (如果在3rd +尝试失败的情况下继续查询首选的DNS服务器,我还不清楚)。

我也怀疑你确实有这个地理区域的WAN延迟问题,因为这可以解释为什么超时正在工作。


一种解决scheme是使用DNSQueryTimeoutsregistry参数来更改DNS查询超时。 另见http://drewthaler.blogspot.com/2005/09/changing-dns-query-timeout-in-windows.html


另一个解决scheme是在networking上放置一个本地cachingDNS服务器,并让客户端使用它。 您可以使用可能内置到路由器的DNS服务器,或者安装类似dnsmasq的东西。

根据Technet http://blogs.technet.com/b/stdqry/archive/2011/12/15/dns-clients-and-timeouts-part-2.aspx以后查询是并行完成多个DNS服务器。

而且大多数人只有一个networking连接和一个快速的宽带连接,通常应该在1秒内得到一个DNS响应。

所以我把DNSQueryTimeouts设置为1 1 1 10 10 0,这样它就可以尽快地向所有DNS服务器发出并行查询。 然后,我把我的ISP的DNS服务器放在列表中(因为它们在物理上最接近和最不可能受到networking数据包丢失的影响,并且有几个公共DNS服务器在后面,让Windows做它的东西。

而我的网页浏览速度已经非常快!

当你想在内部parsing内部主机名时,显然不要在企业环境中给予ISP DNS服务器优先权!