![在大学网络上的无线路由器后面时无法通过主机名 ping 网络机器(仅限 IP)](https://linux22.com/image/1288573/%E5%9C%A8%E5%A4%A7%E5%AD%A6%E7%BD%91%E7%BB%9C%E4%B8%8A%E7%9A%84%E6%97%A0%E7%BA%BF%E8%B7%AF%E7%94%B1%E5%99%A8%E5%90%8E%E9%9D%A2%E6%97%B6%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E4%B8%BB%E6%9C%BA%E5%90%8D%20ping%20%E7%BD%91%E7%BB%9C%E6%9C%BA%E5%99%A8%EF%BC%88%E4%BB%85%E9%99%90%20IP%EF%BC%89.png)
我有一台 TP-LINK 无线路由器 (TL-WR340G),通过以太网电缆连接到我的大学局域网 (为每个连接的设备分配一个动态 IP 地址)。我的 Windows 7 计算机位于此路由器后面。
我经常需要 ping 大学网络上其他计算机的主机名。通常,当我直接连接到 LAN 时,我可以这样做(例如,ping foobar
将返回正常响应)。但是,当我在无线路由器后面并尝试 ping 同一台机器时,我没有得到任何响应(“Ping 请求找不到主机...”)。通过 IP 进行 ping 仍然有效,这让我相信它与大学 DNS 服务器有关。目前,我已通过直接向文件中添加条目解决了此问题C:\Windows\System32\drivers\etc\hosts
。
也许我猜错了,但这是否与 DNS 服务器拒绝我的计算机的 IP 地址有关(该 IP 地址由我的无线路由器的 DHCP 分配,而不是大学的 DHCP,就像我直接通过以太网连接时一样)?
我想知道是否有办法可以通过无线路由器路由来自我计算机的所有请求,使得它们都带有路由器分配的 WAN IP 地址(基本上是大学 LAN 的动态 IP)?
更新:根据下面@grawity的建议,我在连接到以太网时进行了Wireshark捕获,我发现主机名是使用NBNS而不是DNS(更具体地说是WINS,正如ipconfig /all
以太网连接上的快速显示。来自Wireshark:
7725 25.952920 (My IP) (IP Addr of WINS) NBNS 92 Name query NB FOOBAR<00>
...
7729 25.956152 (IP Addr of WINS) (My IP) NBNS 104 Name query response NB (IP Addr of FOOBAR)
来自ipconfig /all
:
Secondary WINS Server . . . . . . : <ip address 1>
Primary WINS Server . . . . . . . : <ip address 2>
NetBIOS over Tcpip. . . . . . . . : Enabled
我的路由器似乎不支持设置 WINS 服务器,所以我只是在无线网络连接属性中设置它。
答案1
在 Windows 中,主机名解析通常使用以下四种方法之一完成:
DNS– 最有可能的选项。您所在大学的 DHCP 服务器为您提供 DNS 服务器和默认后缀,该后缀会自动附加到所有裸主机名。例如,如果您 ping
foobar
,而 DHCP 服务器为您提供example.edu
,则 Windows 将首先尝试foobar.example.edu
。国家核安全网络又名 NetBIOS – 这是使用广播的过时名称解析协议。它无法跨路由器工作,而且在大学网络中使用的可能性极小。
胜利– 与 NBNS 相同,但使用中央服务器。已过时,取而代之的是 DNS,但由于相对简单,仍在某些地方使用。
法律硕士– 一种使用多播数据包的较新的 Microsoft 协议。我不知道如何使用它,但它不太可能是原因,因为只有 Windows Vista 和 7 支持它。
要了解是否正在使用 DNS,请将计算机直接连接到以太网,然后运行。如果您看到“正在 Pingping hostname
主机名.example.edu”,则该名称已通过 DNS 解析,您必须使用“example.edu”后缀。
找出正在使用的协议的更好方法是运行ipconfig/flushdns
并nbtstat -R
刷新缓存,启动Wireshark捕获,然后尝试 ping 一个有效的主机名。(同样,必须直接连接到以太网。)
使用自己的 DHCP 服务器时,您必须手动配置 Windows 以使用 DNS 后缀。在控制面板 → 网络和共享中心, 点击更改适配器设置项。右键单击网络适配器,选择属性 → TCP/IPv4 → 属性 → 高级 → DNS,并更新“此连接的 DNS 后缀”。或者,配置路由器的 DHCP 服务器以提供正确的后缀。
答案2
使用大学 DNS 服务器的 IP 地址配置您的路由器或 PC。看来您的路由器可能正在获取 IP 地址(例如通过 DHCP),但要么没有获取大学 DNS 服务器,要么没有通过 DHCP 将其传播到您的 PC。
要查找地址,请直接连接 PC,打开命令提示符并输入ipconfig /all
并查找“DNS 服务器”
在电脑上设置一个开始,控制面板,网络连接.然后右键单击您的 LAN 并选择“特性“然后在”一般的“选项卡,选择“互联网协议“并点击”特性“。您可以取消选择(*)”自动获取DNS服务器地址“并在下面设置首选DNS服务器。
最好配置您的路由器来执行此操作,但您不需要提供品牌/型号,并且它们的配置方式会有很大差异。