在 Windows 7 客户端上,当我 ping LAN 主机 MYSTERY 时,它会给我正确的 IP。但是,当我执行 nslookup MYSTERY 时,它显示不存在域。我检查了 ipconfig 中列出的 DNS,发现主机名 MYSTERY 确实没有列出。DHCP 服务器也没有该条目。在我执行 ipconfig /flushdns 后,也会出现同样的行为。本地 Windows 主机文件中也没有条目。
我如何才能知道客户端从哪里获取了解析的 IP?
注意:MYSTERY 是配置为加入网络域的 Synology Rackstation。
答案1
您的 Windows 计算机必须具有某种 mDNS 解析器(你好),让它来自 iTunes、Skype 或其他安装了 mDNS 解析器的软件。 ping
如果安装了解析器,它将正确解析,因为法律硕士现在已在 Windows Vista 及更高版本中使用。LLMNR 利用 mDNS 解析器返回记录。
Synology 使用一个名为 avahi 的守护进程,这是一个多播 DNS/mDNS/DNS-SD 服务器。根据我的经验,Synology 出厂时配置为“RackStation”或主机名。
如果您有 Mac,dns-sd -B
将显示多播服务。您将看到为 RackStation 列出的 _http._tcp.local. 服务。
dns-sd -G v4 RackStation.local
应该会为您的 RackStation 提供正确的 IP 地址
dns-sd -L RackStation _http._tcp.
应返回服务的所有信息,包括端口号、序列号、型号等
这也适用于 DiskStation。我在 DiskStation 上进行了测试。RackStation 应该也一样。
答案2
(这个答案可能是错的。@xeon 似乎走在正确的轨道上,我在这里学到了一些东西。)
DNS 查找失败的原因是 ping 没有使用 DNS 来解析该名称。
nslookup
是用于 DNS 查找的命令。ping
另一方面也会尝试使用网络基本输入输出系统/胜利和hosts 文件用于名称解析。最有可能的情况是,该名称是通过前者获得的。
您可以使用nbtstat -c
它来列出最近看到的 NetBIOS 名称和 IP 地址,或者nbtstat -a <device>
如果您想主动搜索名称。请记住,这-a
将花费更长时间,因为它必须在每个接口上尝试一次。(您不能告诉它跳过广播/仅使用 WINS)
该-r
选项将让您比较通过广播解析的内容与通过 WINS 解析的内容,但这会变得更加高级。
答案3
检查你的窗户主办方文件,以确保其中没有硬编码的条目。这将强制进行名称解析,即使无法解析。