为什么我无法ping通谷歌?

az9*_*z93 17 ip dns internet ping route

我无法 ping google.com (unknown host)。但是我可以ping通IP地址。我试图 ping 谷歌的 IP 地址,但它不起作用。

  • resolv.conf

    nameserver 8.8.8.8 nameserver 209.139.209.33 
    
    Run Code Online (Sandbox Code Playgroud)
  • ifconfig -a

    eth0      Link encap:Ethernet  HWaddr 00:50:56:xx:xx:xx
              inet addr:10.2.0.63  Bcast:10.2.15.255  Mask:255.255.240.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:638762803 errors:0 dropped:0 overruns:0 frame:0
              TX packets:231307131 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:55502371533 (51.6 GiB)  TX bytes:23436883491 (21.8 GiB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:56011078 errors:0 dropped:0 overruns:0 frame:0
              TX packets:56011078 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:4792283266 (4.4 GiB)  TX bytes:4792283266 (4.4 GiB)
    
    Run Code Online (Sandbox Code Playgroud)
  • route -n

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    10.2.0.0        0.0.0.0         255.255.240.0   U     0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    0.0.0.0         10.2.15.1       0.0.0.0         UG    0      0        0 eth0
    
    Run Code Online (Sandbox Code Playgroud)
  • ping -c 4 -n 8.8.8.8

    4 packets transmitted, 0 received, 100% packet loss, time 13000ms
    
    Run Code Online (Sandbox Code Playgroud)

jan*_*nos 5

如果您可以通过 IP 而无法通过名称访问某些内容,那么 DNS 查找就会出现问题:您的机器无法通过名称找到 IP 地址。除此之外,您的网络和路由设置似乎很好。

可能导致这种情况的事情:

  • DNS 服务器关闭
  • 配置错误 /etc/resolv.conf
  • 配置错误 /etc/nsswitch.conf
  • ...

可能还有其他人,但前两个是最典型的。

  • 您网络中的名称服务器是什么?找出它的名称和 IP 地址。
  • 你可以通过IP地址ping它吗?如果你不能,那么它就关闭了。
  • 名称服务器是否正确/etc/resolv.conf?如果没有,那么您需要为它添加一行,例如:nameserver THE_IP
  • 名称服务器是否由网络中的 DHCP 动态设置?如果是,那么您不应该弄乱/etc/resolv.conf,它应该是完全自动的,并且看起来您的提供者端有问题。


SHW*_*SHW -2

执行此命令以 ping 到 google (或任何其他站点)

sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf

  • 在执行此操作之前,请先询问自己是否希望 google 解析您发出的每个 DNS 请求。您可以并且应该考虑其他免费 DNS,例如 openDNS 或您的互联网提供商的 DNS。Google 8.8.8.8 DNS 仍然是调试 DNS 问题的一个非常好的方法。 (8认同)