在 Windows 中可以 ping IP 地址和 nslookup 主机名,但暂时无法 ping 主机名

在 Windows 中可以 ping IP 地址和 nslookup 主机名,但暂时无法 ping 主机名

我使用 BIND 9.7 在一台计算机上设置了 DNS 服务器,一切运行正常。在我的 Windows 7 桌面上,我已静态分配所有网络值。我设置了一个 DNS 服务器 - 我的 DNS 服务器。在我的桌面上,

 I can ping a third machine by IP fine.
 I can nslookup the hostname of the third machine fine.
 When I ping the hostname, it says it cannot find the host.

/

C:\Users\James>nslookup icecream
Server:  cake.my.domain
Address:  xxx.xxx.6.3

Name:    icecream.my.domain
Address:  xxx.xxx.6.9


C:\Users\James>ping xxx.xxx.6.9

Pinging xxx.xxx.6.9 with 32 bytes of data:
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255

Ping statistics for xxx.xxx.6.9:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Users\James>ping icecream
Ping request could not find host icecream. Please check the name and try again.

我还将搜索域指定为 my.domain

  • xxx.xxx 和 my.domain 替换以确保安全

为什么我无法通过主机名 ping?我也无法使用 FQDN ping。问题是,所有解析主机名的应用程序都存在这个问题。我无法使用 PuTTY 通过主机名 SSH 到我的机器;只能通过 IP

答案1

您可以尝试编辑主机文件。在其中输入其他机器的主机名和 IP 地址。如果不起作用,请尝试以下操作:您的路由器应该能够自行处理 DNS 表。尝试暂时关闭 DNS 服务器并清除所有机器上的所有 DNS 缓存。然后重新启动路由器并重试。

答案2

我在我的网络中遇到了同样的问题。当您使用此命令时:

ping icecream

它使用 WINS 服务器,因为您还icecream没有使用过icecream.my.domain

在查找此类词时,Windows 会查找 NETBIOS 名称,但当您查找完整的域记录时,它会在 DNS 服务器中查找。您可以使用以下解决方案之一:

  1. 确保您的 WINS 服务器中有该站的正确记录。
  2. 使用完整的域名,而不是使用主机文件。例如icecream.my.domain

答案3

您没有配置 DNS 后缀。请配置它们,或者使用 FQDN(如下所示),这样应该就可以正常工作:

ping icecream.my.domain

答案4

要禁用此行为,请通过在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ Dnscache\Parameter 中将 NegativeCacheTime 的值设置为 0 来禁用负缓存

相关内容