本地网络 DNS

本地网络 DNS

我的本地网络上有三台计算机,AB 和 C,均运行 Windows 7。它们都具有相同的网络配置,即使用我的 Netgear 路由器作为 DNS。我尝试使用 ES 文件资源管理器通过我的 Android 平板电脑访问它们。我可以使用它们的 IP 地址访问它们。但我只能通过名称访问 B。这表明存在 DNS 问题。我可以使用名称从一台计算机到另一台计算机安装驱动器或使用远程桌面或任何其他操作没有任何问题,但我确信问题与我的计算机或路由器有关,因为我有两个不同品牌的 Android 平板电脑,并且两者的行为方式相同。他们没有任何使用计算机名称 AB 或 C 的先前设置,因此他们无法知道其中的区别。我已尝试将本地 IP 和计算机名称添加到计算机 hosts 文件中,但没有任何变化。

在尝试诊断此问题时,我发现了以下内容,这可能值得单独提出一个问题。如果我运行“nslookup A”,它会使用“服务器:www.routerlogin.com”并返回一个我从未见过的外部 IP 地址。它似乎归我的 ISP 所有,但与我的静态 IP 不同。如果我运行“nslookup B”,我只会得到“名称:B。”末尾有一个句点,根本没有地址行。如果我运行“nslookup C”,我会得到与之前相同的未知外部地址。如果我运行“nslookup A 8.8.8.8”以使用 Google 的 DNS,我会得到“不存在的域”。如果我运行“nslookup B 8.8.8.8”,我会得到“名称:B。”,没有地址,就像我使用本地 DNS 一样。最后,当我运行“nslookup C 8.8.8.8”时,我再次得到“不存在的域”。

因此,我无法通过名称访问的计算机 A 和 C 使用 nslookup 的行为相同,这与我可以访问的计算机 B 不同。不确定下一步该怎么做。

任何帮助,将不胜感激。

答案1

如果不知道 B 的实际名称,这主要是猜测,但在我看来,B 与 8.8.8.8 具有 DNS 条目的某个地方的某个东西共享名称。

话虽如此,DNS条目,你在哪里定义这些?如果你想让你的路由器为你解析这些,你的路由器需要像一个真正的DNS服务器一样运行,而不是仅仅缓存它从外部学习到的任何条目(这是大多数路由器默认做的)。这意味着你的路由器需要

a) 了解当查询某些主机时,应为您的 Android 平板电脑以及 LAN 上的其他所有设备提供哪些服务。即,创建一个与您的网络相关的小型配置。

b) 知道何时查看自己的区域,而不是将查询转发到外部 DNS 服务器。这就是后缀 .local 的作用所在 - 它通常用作在内部保留任何 DNS 查找的方法。基本上,如果您的路由器设置为使用此功能,它将识别 B.local 为它应该有条目的内容,如果没有,则返回失败查询的结果,而不是将其进一步推向上游。

相关内容