不在域上时,机器名称解析如何工作?


2

我使用Linksys WRT54无线路由器在家庭网络上安装了4台Windows机器(3 x Win7,1 x WinXP)和各种其他设备。我没有域服务器,并且我遇到了一些无法解析其他计算机主机名的计算机的问题。

当没有DNS服务器时,它如何工作?我已经使用相同的工作组名称设置它们,但是ping失败并且“Ping请求无法找到主机...”。

我怎么能找到这个问题的原因?Windows防火墙上是否存在阻止其工作的特定内容?

Answers:


2

Windows机器使用他们自己的技术来解析其他主机的IP,最常见的是广播或多播以通告它在网络上可用。

例如,Windows XP使用NetBIOS名称服务使用广播数据包进行通告和解析。从Vista开始,基于多播的LLMNR也可用,而Mac OS X和Linux使用非常相似的mDNS,尽管NetBIOS仍然是最广泛支持的。

如果您想确保能够联系其他主机,您可以随时编辑hosts文件以进行解析。如果您有静态IP,那么这种方式只是一种选择。

  • 使用Wireshark验证网络上发生了什么,尽管可能需要先进一步。使用Wireshark,您可以看到流经NIC的网络流量。
  • 尝试暂时关闭防火墙,然后尝试ping其他主机。
  • 验证NetBIOS是否正常工作。

对于NETBIOS搜索类型(不是全部广播),请参阅support.microsoft.com/kb/119493
Ben Voigt 2014年

0

Microsoft TCP / IP主机名解析顺序概述了截至编写时的顺序(NT4 / 9x)。从那时起它没有太大变化。它提到了两种方法:“主机解析”和“winsock解决方案”。

大多数程序(甚至是Web)都使用这种winsock方法ws2_32!gethostbyname。可以使用嗅探器(例如Wireshark)观察其顺序。

从Win7开始,我观察的顺序如下:

  • 如果FQDN:仅限DNS

  • 如果名称不合格:

    1. 如果存在与域前缀的连接:附加了该前缀的DNS
    2. LLMNR(udp / 5355多播)(在XP中不存在)
    3. NetBIOS根据“节点类型”配置。实际上,它是混合又名H节点,这意味着 - 如果配置了WINS服务器,那么NBNS(udp / 137广播)

请注意,该hosts文件始终覆盖DNS查找并lmhosts覆盖NetBIOS查找。

“主机解析”被指定为仅使用DNS,并且仅由“某些程序”(如IE和一些实用程序)使用 - 它似乎由使用的应用程序使用wininet


-2

请记住确保以管理员身份登录,并且在尝试编辑hosts文件之前文件未设置为只读,否则将无法在以后保存文件。您可能还需要编辑文件本身的权限。在7,编辑hosts文件的最简单方法是在管理员下获取它的所有权。这将允许您编辑和保存文件。


1
我认为这个答案对罗伯特以前的答案是一个很好的评论,但它本身并不是对这个问题的答案。
Shannon Wagner

1
此外,虽然取得所有权可能“容易”,但更改权限是一个坏主意。只需使用“以管理员身份运行”打开记事本(或您最喜欢的备用文本编辑器),然后就不会有问题。
Ben Voigt 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.