为什么我无法 ping 没有点的计算机名称?

为什么我无法 ping 没有点的计算机名称?

在我的家庭网络中,我在路由器上运行了一个 dhcp 服务器和一个 dns 服务器。Dhcp 和互联网访问运行正常。

我的家庭网络上的每个设备都有一个 DNS 记录,将某个名称与设备 IP 地址关联起来。

例如,mycomputer解析为192.168.0.111。

但是,当我在 Windows 10 的命令行中发出时:

ping mycomputer

我越来越

Ping request could not find host mycomputer. Please check the name and try again.

我认为这是 Windows 问题,而不是路由器或配置问题。这是因为:

  • ping mycomputer在 ubuntu 上完美运行
  • 如果我创建一个类似的 DNS 记录mycomputer.local,并将mycomputer.bla其分配给相同的 IP 地址,我就可以ping mycomputre.localping mycomputre.bla从 Windows 10 中毫无问题地执行此操作。
  • 最后,ping mycomputer.(注意末尾的点)也适用于 Windows 10。
  • 如果我查看 Wireshark 中的流量,我可以看到ping mycomputer.local导致了 DNS 请求,而ping mycomputer没有。

看起来,如果目标计算机名称不是多部分名称,除非我在末尾添加点,否则 Windows 将无法解析它。对于多部分名称,不会发生此效果。

我想了解:为什么会这样?

答案1

您的网络上可能没有 WINS 服务器。Windows 首先尝试使用 WINS 服务器获取单部分名称,因为它假定这些是 NetBIOS 名称,如果失败,它就不会尝试 DNS。

根据解析名称文章中,WINS 是首先要检查的,但后续步骤应该进行 DNS 查询。由于本文没有详细介绍,因此可能会出现某些条件,导致解析过程在到达 DNS 步骤之前中止。

这是一个较长的文章就此主题而言。

相关内容