办公室有一个小型 LAN,由共享 DSL 连接的 Linksys WRT54G2、集线器和多个有线和无线客户端组成。在 Linksys 中启用了 DHCP。
DHCP 客户端表显示已连接的机器,其中一些带有主机名,但我无法使用主机名 ping 或以其他方式连接到其中任何一台。使用 IP 可以正常工作。
从我做的控制台
nslookup [连接的主机名] [linksys IP]
但我明白了
服务器:[我的 ISP 的 DNS] 地址:[我的 ISP 的 DNS]#53 ** 服务器找不到 [连接的主机名]:NXDOMAIN
不确定 Linksys 是否正在处理将其重定向到外部 DNS 的 DNS 请求,或者它是否没有响应并且 nslookup 正在使用外部 DNS。
无论如何,这不起作用,我在 Linksys 控制面板中看不到任何启用或禁用此功能的内容。这应该只是工作,对吧?
鉴于您在此处给出的输出,Linksys 路由器似乎正在将所有 DNS 请求交给 ISP 的 DNS 服务器。Linksys 路由器本身没有 DNS,也不会在本地“保存”连接机器的名称。您的计算机很可能正在使用 NetBIOS 广播在网络中相互识别,但没有进行“正式的”名称到 IP 的映射。
如果您有备用机器或未充分利用的服务器,一种选择可能是将一个机器设置为 DNS 服务器,让您的所有工作站指向并注册到该服务器,然后将该服务器重定向到 ISP 的 DNS。如果您无法通过将其 DNS 请求指向路由器本身来使工作站工作。
哪些 DNS 服务器和 DNS 搜索后缀被推送到客户端?确保路由器的 IP 地址是客户端使用的 DNS 服务器。还要确保您设置的域名可以提供给客户端的搜索 DNS 后缀,以便他们都在寻找相同的完全限定域名。
不一定 - 并非所有 DHCP 服务器都会自动为其客户端分配主机名并在 DNS 中注册它们,并且简要浏览 WRT54G2 手册并没有在任何地方提及它。
另一个问题是您没有(或没有提及)任何东西来处理 LAN 端 DNS 请求 - WRT54G2 似乎没有处理自己的 DNS 区域的能力,它只是将所有内容都提交给您的ISP 的 DNS 服务器,它不知道您的本地主机名。
不,这在 Linksys 和大多数其他 SOHO 路由器上都不能“正常工作”。
您在 DHCP 表中看到的名称条目来自各个机器 - 它们在 DHCP 请求中提供自己的 NetBIOS 名称。
没有机制使该名称随后由路由器的 DNS 提供服务。
顺便说一句,当您使用 Linksys 时,您的 LAN 获得的 DNS 设置可能取决于每台 PC 连接时您的 DSL WAN 连接是否已启动。在大多数路由器上,当它们第一次启动时,它们会给出自己的地址以用于 DNS 并保持这种状态。
然而,一旦 WAN 链接在一分钟后同步并从 ISP 获得真正的 DNS 设置,大多数 Linksys 路由器就会开始提供这些 DNS 服务器值。这是一件好事 - 请参阅RFC 5625。
因此,如果您想要一致的 DNS 行为,我还建议您部署自己的 DHCP 服务器。