问题描述
我对计算机网络不是很了解,但是我的理解是Linux上的ping命令通过计算发送到某些IP地址的程序包的数量来测试Internet连接。
为此,如果遇到连接问题,我经常使用ping命令。但是结果却常常与直觉相反:例如,现在我似乎拥有完美的Internet连接,但是从ping命令到任何地址的结果都将返回100%的数据包丢失
>>> ping google.com
PING google.com(lga25s62-in-x0e.1e100.net (2607:f8b0:4006:81a::200e)) 56 data bytes
--- google.com ping statistics ---
27 packets transmitted,0 received,100% packet loss,time 26618ms
对此有何解释? ping命令真的告诉我有关当前连接的信息是什么?
解决方法
Yout PC默认为IPv6,因此会ping google IPv6地址2607:f8b0:4006:81a :: 200e,并且您的网络不会路由IPv6。 您可以使用以下命令通过IPv4 ping Google:
ping -4 google.com
您正在使用什么操作系统和内核,命令的结果是什么?
uname -a
,
您可以执行以下步骤:
- 使用
route -n
查看您的路由表
- Ping目的地0.0.0.0的网关
- 如果可行,请尝试跟踪路由到www.google.com。如果存在ISP问题,您将在网关之后立即注意到跳数失败
- 验证DNS设置
- 验证Google主机名没有被错误地手动映射
希望有帮助