为什么DNS服务器无法解析任何以.io结尾的域?


10

我有两个Windows域控制器。

10.10.10.10主要(赢得2008 R2)
10.10.10.20复制副本(赢得2012 R2)

第二个配置为第一个的副本。

大约每周一次,主要DC将负面缓存大多数 .io域。这样一来,公司中的任何人都无法访问以下站点:

Chef.io
packer.io
yahoo.io
github.io

奇怪的是,我仍然可以访问一些.io页面,例如github.io上的页面。

spuder.github.io/

解决方案是将RDP放入DNS服务器并运行dnscmd /clearcache。这样可以将问题修复7到10天。

进一步的症状

  • 仅影响主域控制器(辅助域控制器和其他域控制器可以很好地解析这些站点)
  • 谷歌DNS服务器也可以工作
  • 通常在星期三上午11点左右发生。

我对Windows不太熟悉,但是这是我尝试过的事情

  • 看一下日志,我只会看到以下几行看起来很有趣

8:15AM
The DNS server wrote version 4638 of zone 254.10.in-addr.arpa to file 254.10.in-addr.arpa.dns..in-addr.arpa to file 254.10.in-addr.arpa.dns.

8:16AM
A more recent version, version 4639 of zone 254.10.in-addr.arpa was found at the DNS server at 10.254.40.51. Zone transfer is in progress.ic replication between domain controllers in a common domain or forest. By installing multiple domain controllers in a domain running DNS Server, you can ensure that DNS will continue to work when a domain co
  • 验证.io域没有正向或反向查找区域
  • 确保主机文件中没有任何内容阻止.io域
  • 比较ipconfig /displaydns所有域控制器上的输出

我还有什么可以调查的,以了解为什么dns缓存如此可预测地不断损坏?是否有Windows dns设置可以在进行区域转换时强制刷新缓存

更新
我将范围缩小到以下事实:我经常在星期三会议之前从有线切换到无线。无线网络有1个Windows 2008 dns服务器和1个Windows 2012 dns服务器。当选择2008服务器作为主要服务器时,问题再次出现。解决方法是运行this dnscmd /clearcache。由于2008服务器即将消失,因此我确信此问题将自行解决。


这是非常具体的。这就像ioTLD 的名称服务器数据被破坏一样,或者由于深层数据包检查策略,未与辅助DC共享的上游网络设备陷入困境。确保主DC上没有可干扰该TLD上游名称服务器的区域。(.ionetacukco.ukns13.netnic.ionic.acicb.co.ukcommunitydns.net)听起来很傻,但试图利用自己的DC作为DNS防火墙解决方案时,人们有时会做的非常新空房禁地的事情。
Andrew B

另一件事是检查您的DNS服务器如何执行非本地查找。对于每个DNS服务器,请检查“转发器”和“根提示”的设置。如果其中一个正在使用过滤的转发器,而另一个不是,则可能是您遇到的问题。或者,如果您只有一个转发器,并且根提示集不完整,那么您可能会由此查找问题。
2015年

1
您的系统在周三的上午11点会发生什么,这可能导致该服务器无法查找这些域(并缓存故障)?
Calle Dybedahl 2015年

因此问题出在客户端上,除非您清除缓存,否则某些* .io域根本无法解决?如果您使用DNS控制台,控制台GUI是否为缓存中的这些名称显示正确的IP?
强线

DNS服务器是否配置为使用转发器?
Mike Marseglia 2015年

Answers:


1

考虑更新您的root.hints文件。可能是由于某些旧的根名称服务器(由于某种原因)没有返回.io域。

也许您遇到了路由问题,从而阻止了对其的访问(即,您正在黑名单上运行它们的IP范围),从而阻止了在其中查找域。这是我的赌注-也许您有针对国家或IP阻止的防火墙规则。使用下面的结果检查防火墙或.io TLD服务器的dig / nslookup(您可以从http://www.isc.org/downloads/下载Windows二进制文件)

# dig +trace +identify git.io
...
io.                     172800  IN      NS      b0.nic.io.
io.                     172800  IN      NS      a0.nic.io.
io.                     172800  IN      NS      a2.nic.io.
io.                     172800  IN      NS      ns-a1.io.
io.                     172800  IN      NS      ns-a3.io.
io.                     172800  IN      NS      c0.nic.io.
...

您可以直接访问所有这些DNS服务器吗?例如,您的DNS服务器可能会重复使用列表中的第一个服务器。请记住,此列表是在某个时间点(现在)并且正在更改,但是应该给您一个初步的观点,以查看是否可以访问.io根名称服务器。

# for i in b0.nic.io a0.nic.io a2.nic.io ns-a1.io ns-a3.io c0.nic.io; do host $i; done
b0.nic.io has address 65.22.161.17
b0.nic.io has IPv6 address 2a01:8840:9f::17
a0.nic.io has address 65.22.160.17
a0.nic.io has IPv6 address 2a01:8840:9e::17
a2.nic.io has address 65.22.163.17
a2.nic.io has IPv6 address 2a01:8840:a1::17
ns-a1.io has address 194.0.1.1
ns-a1.io has IPv6 address 2001:678:4::1
ns-a3.io has address 74.116.178.1
c0.nic.io has address 65.22.162.17
c0.nic.io has IPv6 address 2a01:8840:a0::17

如果使用转发器,请直接对这些转发器测试nslookup。如果没有返回,请与运行它们的人(您的ISP)联系。

====更新:给定更新后,您注意到在更改ISP时会发生此更新,我想您的一个连接正在使用IPv6,另一个连接仅支持IPv4?可能是因为它正在缓存IPv6返回地址,但是一旦切换连接就无法访问。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.