![在另一个路由器后面时 NetBIOS 名称解析失败](https://linux22.com/image/1436847/%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E8%B7%AF%E7%94%B1%E5%99%A8%E5%90%8E%E9%9D%A2%E6%97%B6%20NetBIOS%20%E5%90%8D%E7%A7%B0%E8%A7%A3%E6%9E%90%E5%A4%B1%E8%B4%A5.png)
在“PC3”上,Windows 名称解析失败,如下所示。
ping PC1
Ping 请求无法找到主机 PC1。请...
ping 192.168.0.2
来自 192.168.0.2 的回复:字节=32 时间<1ms TTL=128
但如果我删除“路由器 2”,并将“路由器 1”的线路直接连接到“PC3”,我得到
ping PC1
来自 192.168.0.2 的回复:字节=32 时间<1ms TTL=128
可能是什么原因?我禁用了 PC1 上的防火墙,但问题并没有解决。“路由器 1”有一个选项“DHCP RESERVATION”,我为其添加了一个条目,如下所示,但问题并没有解决。
计算机名称 | IP 地址 | MAC 地址
“PC1”|“192.168.0.2”|“PC1 的 MAC 地址”
Windows 网络找到“PC1”,但没有名称解析,无法通过计算机名称访问在 PC1 上运行的 Web 服务器。这是一个家庭网络,因此没有一台 PC 加入域。我想避免在 PC3 的 HOST 文件中手动添加 PC1 的条目。
===================== 附录 1====================
当连接到“路由器 2”(未列出所有路由器)时
192.168.0.4 192.168.0.1 DNS 标准查询 A PC1.工作组
192.168.0.1 192.168.0.4 DNS 标准查询响应 没有此名称
192.168.0.4 192.168.0.255 NBNS 名称查询 NB PC1<00>
192.168.0.4 224.0.0.252 LLMNR 标准查询 A PC1 和 AAAA PC1
(此后192.168.0.2不再响应)
直接连接到“路由器 1”(未全部列出)时
192.168.0.4 192.168.0.255 NBNS 名称查询 NB PC1<00>
192.168.0.4 224.0.0.252 LLMNR 标准查询 A PC1 和 AAAA PC1
MAC 地址广播 ARP 谁有 192.168.0.4?告诉 192.168.0.2 及其响应
192.168.0.2 192.168.0.4 LLMNR 标准查询响应 A 192.168.0.2
在两种情况下,除交易 ID 外,名称查询内容都是相同的。
答案1
可以找到原因和解决方案这里。
原因
通过 KB3161949 更新,微软改变了服务器响应 NetBIOS 查询的方式,并阻止了对外部子网的响应
解决方案
为了解决这个问题,你可以:
1.从你的服务器卸载安全更新 KB3161949(不建议)
2.更新 NetBT 的注册表参数,将 Dword AllowNBToInternet 设置为 1,然后重新启动服务器
- 通过cmd:
reg 添加“HKLM\System\CurrentControlSet\Services\NetBT\Parameters”/v“AllowNBToInternet”/t REG_DWORD /d 1 /f
- 通过 PowerShell:
设置项目属性-路径 HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters -名称 AllowNBToInternet -类型 DWord -值 1