计算机无法解析域名或 ping IP,手动添加 DNS 服务器解决了这个问题,为什么?

计算机无法解析域名或 ping IP,手动添加 DNS 服务器解决了这个问题,为什么?

一位朋友的计算机出现以下症状:

  1. 该命令ping cnn.com(或任何其他域)发出了消息Ping: cannot resolve cnn.com: Unknown host

  2. 该命令ping 8.8.8.8(或任何其他 IP)发出消息Ping: sendto: Host is down

我们都在同一个网络上(牛津大学的“OWL”,您必须使用 VPN 才能访问非牛津网站,并避免被重定向到要求您登录的牛津页面。因此,我在 Mac 上查看了 [系统偏好设置 > 网络 > 高级按钮 > DNS],并复制了连接到 OWL 时显示的“DNS 服务器”和“搜索域”(它们似乎是自动检测到的)。然后,我将它们添加到我朋友的计算机上的同一位置,该计算机有其他 DNS 服务器,但没有搜索域。这样就解决了问题。

这是为什么?一般来说,我该如何诊断上述 1 和 2 之类的问题。

答案1

听起来您朋友的 DNS 设置在“OWL”网络环境中不正确,无法从该网络内访问,尤其是当您的搜索域设置为无法从该网络访问的域时。检查 DNS 服务器 IP 和搜索域(如您所做的)是确定此问题的最佳方法。

答案2

要确定是否是 DNS 问题,您可以使用 NSLOOKUP 命令。这是一个明确的指令,以主机名或主机 IP 作为输入,向 DNS 服务器查询目标系统的详细信息。

如果您的 DNS 正确但主机无法访问,您可以使用 traceroute 命令获取产生问题的确切跳数。

以下链接提供了一些解释

http://guide.netfronts.com/Advanced/Ping_and_Nslookup_with_Mac_OS_X.htm

答案3

DNS 服务器和搜索域由您本地网络上的 DHCP 服务器提供。

使用 tcpdump 或 wireshark 并查看 DHCP/BOOTP 回复。

使用 Windows,您可以转到网络属性并删除“自动 DNS” http://windows.microsoft.com/is-is/windows/change-tcp-ip-settings#1TC=windows-7

使用 Linux,您可以更改客户端配置(取决于您使用的配置)或添加脚本来检查 /etc/resolv.conf 中的 DNS 地址

http://www.zyxware.com/articles/2009/03/01/stop-your-dns-servers-from-changing-after-every-reboot-while-using-dhcp

相关内容