為什麼我無法 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 上完美運行
  • mycomputer.local如果我建立類似或甚至的DNS 記錄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 步驟之前中止解析過程。

這是一個較長的文章就此主題而言。

相關內容