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