我的网络路由器是ZyXEL ZyWall USG 100,它具有内置的DNS服务器。许多Windows计算机都连接到它并通过DHCP获得IPv4地址。还通过路由器的“域名”将DNS后缀(“内部”)通知他们。通常,这可以正常工作。但是,有时Windows(Vista或7)计算机将无法解析DNS记录中域名为“ domain-name”的计算机的IP地址。具有与“域名”关联的IP地址的计算机目前已打开,其他Windows计算机可以访问。
发生这种情况时,它仍然可以使用“ nslookup域名”解析IP地址,但是“ ping域名”,“ ping -4域名”和浏览到“ http:// domain-name ”失败。Ping“域名。内部”有效。
我在受此问题影响的计算机上查看了“ ipconfig / displaydns”命令的输出,并且看到了如下所示的意外IPv6条目:
domain-name
----------------------------------------
No records of type AAAA
我可以通过重新启动网络适配器接口来临时解决该问题。
在http://technet.microsoft.com/en-gb/library/bb878121.aspx上,Microsoft说:
注意:由于Internet上DNS服务器配置错误,同时使用IPv4和IPv6的计算机可能无法解析名称并连接到Internet资源。当配置错误的DNS服务器收到一个将名称解析为一个或多个IPv6地址的请求(对AAAA记录的请求)时,就会发生此罕见问题。如果DNS服务器不支持IPv6,则名称查询失败。然后,查询节点发送一个将名称解析为一组IPv4地址的请求(对A记录的请求)。错误配置的DNS服务器将丢弃后续的DNS查询以获取IPv4地址,并且整个名称解析尝试均将失败,从而导致请求节点的网络连接受损。如果您遇到此问题,在对AAAA记录的DNS查询失败后,请您的Internet服务提供商重新配置其DNS服务器以接受对A记录的后续DNS查询。或者,您可以在请求的计算机上暂时禁用IPv6。此问题存在于DNS服务器上,并且对于同时使用IPv4和IPv6的所有计算机都是常见的。
我认为这可能正在发生(我没有更好的主意)。
即使路由器没有为IPv6 DNS(AAAA)记录分配可路由的(不是本地链接的)IPv6地址,Windows也会尝试查找它们吗?还是有人对导致此问题的原因有更好的了解?