Ubuntu 12.04 ping 8.8.8.8 仅在一个网络上不起作用

Ubuntu 12.04 ping 8.8.8.8 仅在一个网络上不起作用

我正在使用 Ubuntu 12.04。我可以连接到一个无线网络(例如 A)并使用互联网,但无法连接到另一个网络(例如 B)。我可以连接到 B 并获取 IP 地址。
当我 ping 127.0.0.1 时,它可以工作。当我 ping 192.168.1.1 时,它也可以工作,但当我 ping 8.8.8.8 时,我得到无法访问目标主机的信息。

我尝试在 /etc/NetworkManager/NetworkManager.conf 中注释掉 dns=dnsmasq,但没有作用,然后重新启动网络管理器。

我也尝试使用 ip route flush cache 来刷新缓存,但是也没有用。

任何帮助,将不胜感激。

谢谢

答案1

另一个网络(网络 B)很可能有一个防火墙已实施,配置为阻止 ICMP 数据包(ping)。如果网络位于大学、工作场所,甚至可能是(智能)咖啡店,则最有可能出现这种情况。

当您 时ping 8.8.8.8,您收到的消息中应该会提到一个 IP。我敢打赌那个 IP 是 192.168.1.1,所以错误应该是这样的reply: 192.168.1.1 destination host unreachable。此外,为了更确定,您可以执行路由追踪。这会向您显示 ping 所经过的路径,以便我们能够准确找到它停止的位置。因此,如果您运行该命令traceroute -n 8.8.8.8,您可能会得到类似以下内容:

我认为您可能需要使用 安装 traceroute sudo apt-get install traceroute

alaa@aa-UBUNTU:~$ traceroute -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.1.1  1.204 ms  1.953 ms  2.101 ms
 2  * * *
 3  * * *

...那些星星会一直出现。这意味着你 ping 到了 192.168.1.1,但后来它停了下来,撞到了墙上,所以你永远无法 ping 8.8.8.8。

此外,这与 DNS 无关,因为您正在 ping 一个 IP,而不是像 google.com 这样的主机名。DNS 是一个仅将单词转换google.com为类似 的系统74.125.236.105。如果您的 DNS 设置有问题,ping google.com将返回类似以下内容:ping: unknown host google.com,但ping 8.8.8.8不会,因为您已经在 ping 直接 IP。

我建议您恢复对 NetworkManager.conf 所做的更改。

相关内容