此问题涉及内部 DNS 服务器,由于某种原因,该服务器有时无法解析网络上某些计算机的主机名。当它无法解析主机名时(这可能发生在任何客户端计算机上),以下命令将返回以下内容:
ipconfig /displaydns:
vm1host.domain.local-名称不存在。
nslookup vm1主机:
dnsserver1.domain.local 找不到 vm1host:不存在的域
ping 虚拟机1主机:
Ping 请求找不到主机 vm1host。请检查名称并重试。
tracert vm1主机:
无法解析目标系统名称 vm1host。
nslookup vm1主机.域.本地:
dnsserver1.domain.local 找不到 vm1host.domain.local:不存在的域
ping vm1主机.域.本地:
Ping 请求找不到主机 vm1host.domain.local,请检查名称并重试。
tracert vm1主机.域.本地:
无法解析目标系统名称 vm1host.domain.local。
nslookup <vm1-ip-address>
:
工作正常...
ping <vm1-ip-address>
:
工作正常...
tracert <vm1-ip-address>
:
工作正常...(还显示 vm1host.domain.local)
有趣的是,tracert 仅使用 2 跳即可正确解析名称。
即使随后 nslookup/ping 主机名,我还是会收到上述相同的错误消息。
刷新 DNS 没有任何作用,即使有作用也无法解决根本问题,因为所有客户端机器都会遇到这个问题。
nslookup/ping 失败但 tracert 成功,这表明存在什么问题?
答案1
您tracert
对 IP 地址的查询使用的是反向 DNS 查找,也就是说,它正在向 DNS 服务器查询与您输入的 IP 相匹配的名称。(与常规正向 DNS 查找相反,在常规正向 DNS 查找中,您的计算机会根据您输入的名称向 DNS 服务器查询 IP。)
如果像您的情况一样,您没有收到正向 DNS 查找的响应,但是收到了反向 DNS 查找的响应,那么问题很可能是 DNS 服务器上不存在该主机的 A 记录。
但是,由于您的计算机执行反向 DNS 查找时您会获得主机的正确名称,因此 DNS 服务器上很可能存在该 IP 地址的 PTR 记录。
有关更多信息,我建议查看维基百科页面DNS 记录类型。