我有新的 CentOS 7 机器,但命令有问题ping
。
当我尝试 ping 时
ping google.com
我超时并且 100% 丢包,但我可以 dig/nslookup google.com,并且可以浏览 google.com
我尝试禁用firewalld
,但结果仍然相同,无法从我的 CentOS 7 ping 到 google.com
哪里有问题?我之前以为在的firewalld
,但是firewalld
现在服务被禁用了。我该如何解决这个问题?
答案1
由于只有 root 可以发送 ICMP 数据包,因此如果您的 Supervisor 由非 root 用户执行,则从虚拟机 ping 可能会失败。
正如中提到的回答这个问题,您可以配置net.ipv4.ping_group_range
允许运行supervisor的用户发送ICMP数据包。
答案2
您是否尝试过将同一台机器或系统连接到另一个网络?您是否尝试过使用同一网络上的另一台计算机?根据您当前的描述(可能不准确),最可能的解释是 ping 被您的 ISP 阻止。
我的 ICMP 结果:
# ping google.com
PING google.com (173.194.112.1) 56(84) bytes of data.
64 bytes from fra07s27-in-f1.1e100.net (173.194.112.1): icmp_seq=1 ttl=57 time=12.8 ms
64 bytes from fra07s27-in-f1.1e100.net (173.194.112.1): icmp_seq=2 ttl=57 time=15.8 ms
64 bytes from fra07s27-in-f1.1e100.net (173.194.112.1): icmp_seq=3 ttl=57 time=14.3 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 3518ms
rtt min/avg/max/mdev = 12.861/14.365/15.898/1.240 ms
我的 HTTP 结果:
# curl -I http://www.google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.cz/?gfe_rd=cr&ei=X_inVOCAAayh8wfy7IDoDg
Content-Length: 258
Date: Sat, 03 Jan 2015 14:10:39 GMT
Server: GFE/2.0
Alternate-Protocol: 80:quic,p=0.02
您的防火墙通常不会阻止您使用 IPv4 ICMP 回显请求 ping 另一台计算机。
答案3
您需要为 google.com 设置名称服务器以解析为 8.8.8.8
因此,根据您在 Linux 上更喜欢 nano 或 vi,您需要执行以下操作:
nano /etc/resolv.conf or vi /etc/resolv.conf
You should see DNS1: xxx.xxx.xxx.xxx and DNS2: xxx.xxx.xxx.xxx
Nano - 只需在 DNS 记录下按 Enter 键即可创建一个新行,然后输入“nameserver 8.8.8.8”,我相信是按 ctrl x 退出,它会询问您是否要保存,按 y 然后按 Enter 键保存相同的文件位置。
VI - 只需在最终 DNS 记录的末尾点击 insert go,然后点击 Enter,这将创建一个新的行类型“nameserver 8.8.8.8”,点击 Shift 键;然后输入 wq,该命令将写入然后退出提示符。
最后一步,输入 ping google.com -c 4,您将从 google.com 获得 ping
答案4
无法 ping 通 google 可能有多种原因。
- 原因之一可能是您的网关没有正确配置/etc/sysconfig/network-scripts/ifcfg-interfacename
- 还有一个原因可能是你没有配置域名系统正确地在/etc/sysconfig/network-scripts/ifcfg-interfacename文件
请检查您是否已正确配置它们。而且禁用防火墙也不是一个好的选择。