为什么我的 LAN 将主机名视为外部 NAT 地址而不是 LAN IP 地址?

为什么我的 LAN 将主机名视为外部 NAT 地址而不是 LAN IP 地址?

我有多台计算机连接到 WiFi 路由器 - 通过 WiFi 或以太网。一些是 Windows 电脑,一些是 MAC 电脑。WiFi 路由器连接到电缆调制解调器。

WiFi路由器正在为LAN设备执行DHCP。

如果我使用主机名 ping 任何 LAN 设备,ping 将返回外部/WAN IP 地址,而不是 LAN IP。因此,如果我“ping kitchen”,响应类似于 67.217.66.131,而不是 192.168.0.50。

我怀疑这导致了我遇到的其他一些问题,这些问题与各个机器之间的设备和文件共享无法找到有关,因为实际上在我看来,所有设备都有相同的 IP,因为它们看到的是 NAT 端地址而不是 LAN。

我猜测这个问题有解决办法,但我不确定问题出在哪里。

答案1

这是 DNS 服务器问题。

您的 DNS 服务器在其端有一个名为“厨房”的条目,这就是您的“ping 厨房”最终被解析为该条目的原因。

当我尝试在电脑上执行“nslookup kitchen”时,我实际上得到了:
非权威答案:
名称:kitchen
地址:67.215.65.132

因此,我的 DNS 服务器(openDNS - 208.67.220.220)实际上有一个“厨房”的条目,尽管这听起来很奇怪。

使用您拥有的其他笔记本电脑/PC 名称再试一次,当且仅当 DNS 服务器中不存在相同的名称时,您才有可能获得本地解析(本地 IP)。

编辑:既然您提到您确实使用 openDNS 服务器,也许是时候使用其他服务器了?

您可以尝试使用 GRC 提供的 DNS Benchmark 工具(仅限 Windows)这里看看你是否能找到更好的,希望不会返回虚假条目。不幸的是,我最好的 DNS 基准是 OpenDNS,所以我坚持使用它。根据该 DNS 基准,你可能在其他地方有更好的运气。

答案2

值得一提的是,导致我出现问题的设置是,尝试解析 IP 的计算机选择了手动配置的 DNS 服务器地址。它在尝试解析 IP 地址时绕过了路由器,因此公共 DNS 服务器(在本例中为 OpenDNS)使用我的外部 IP 地址进行响应。为了更改设置,我去了

网络连接 -> 连接属性 -> TCP/IP 属性 -> 选择“自动获取 DNS 服务器地址”

相关内容