我们在 Windows 8 上遇到一个间歇性问题,即 Ping 无法找到主机,但 NSLookup 可以正确解决它。
- Ping host1 - ping 失败,无法找到主机
- Ping host1.domain.local - 也失败,ping 找不到主机
- IPConfig /displayDNS - 将 host1 列为名称不存在
- NSLookup host1-工作正常并正确解析路由器。
现在已经对此进行了网络跟踪并似乎发现了以下内容:
- 对 host1 的第一个 ping 请求不是寻求 DNS 解析而是寻求 NbtNs 解析,这会失败并将该失败写入 DNS 缓存。
- 对 host1.domain.local 的第二次 ping 请求确实会查找 DNS 进行解析,但查找的是辅助 DNS 服务器,而不是主 DNS 服务器!此操作会失败,因为辅助 DNS 服务器位于
外部网络,位于域外部。 - 对 host1 或 host1.domain.local 的任何后续 ping 请求都会失败,因为 DNS 缓存已使用先前的失败来应答它们。
这一切有意义吗?此外,我该怎么做才能纠正这种奇怪的行为并使 Win 8 网络堆栈正常运行?
我已经在其他各种帖子中读到过有关这个间歇性问题的信息,但似乎仍然没有人有长期的解决方案。
答案1
我想我明白了。我遇到了同样的问题。关闭 IPV6(在网络适配器属性中禁用协议,即取消选中复选框),现在它可以正常工作了。
顺便说一句,我还必须关闭 DNS 服务器上的 IPV6。
答案2
关闭 DNSCache 服务似乎可以解决问题。在我看来,这说明 Win 8 DNSCache 服务中存在严重错误。除非有其他原因导致 DNS 缓存首先损坏。