为确保用户安全稳定,八艾云对部分主机、服务器已设置禁止 ping 命令,请参阅:服务器禁 ping 的原因。
如果服务器未被禁 ping ,但是无法 ping 通公网,建议按照以下思路依次排查问题。
排查思路 | 处理措施 |
检查防火墙是否禁 Ping | 检查防火墙对 ICMP 规则的启用状态 |
检查服务器是否设置禁 Ping | 检查服务器对 ICMP 规则的启用状态 |
检查网络是否正常 | 检查本地网络,使用相同区域主机进行 Ping 测试 |
检查域名解析 | 域名无法 Ping 通,可能是域名无法解析 |
Linux 系统是否允许 ping 由防火墙设置和内核两个共同决定,任何一个禁止,都会造成 ping 包 “Request timeout”。
1. 检查防火墙设置
如果服务器已开启防火墙,需要检查防火墙对 Ping 规则是否有限制。
Linux 服务器
执行以下命令,查看当前服务器的防火墙规则以及 ICMP 对应规则是否被禁止:
iptables -L
回显信息如下图所示,说明 ICMP 规则没有被限制。
如果 ICMP 规则被限制,请执行以下命令启用对应规则:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Windows 服务器
1. 登录 Windows 服务器,单击桌面左下角的 Windows 图标,依次选择【控制面板】 > 【Windows防火墙】。
2. 单击【启用或关闭 Windows 防火墙】。查看并设置防火墙的具体状态:开启或关闭。
3. 如果防火墙状态为“开启”,请检查防火墙对 ICMP 规则的启用状态。步骤如下:
(1)在【Windows防火墙】页面,在左侧导航栏选择【高级设置】。
(2)启用以下规则。
入站规则:“文件和打印机共享(回显请求-ICMPv4-In)”
出站规则:“文件和打印机共享(回显请求-ICMPv4-Out)”
2. 检查云服务器是否设置禁 Ping
Linux
登录云服务器,执行以下命令,查看系统 icmp_echo_ignore_all 设置。
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
● 若返回结果为 0,表示系统允许所有的 ICMP Echo 请求,允许 ping。
● 若返回结果为 1,表示系统禁止所有的 ICMP Echo 请求,请执行以下命令,修改内核参数 icmp_echo_ignore_all 的设置:
echo "0" >/proc/sys/net/ipv4/icmp_echo_ignore_all
Windows
使用命令行方式开启 Ping 设置。
打开 cmd 运行窗口,执行以下命令开启 Ping 设置:
netsh firewall set icmpsetting 8
3. 检查网络是否正常
检查本地网络,使用相同区域主机进行 Ping 测试。使用在相同区域的云服务器去 Ping 没有 Ping 通的公网 IP,如果可以正常 Ping 通说明虚拟网络正常,请排除本地网络故障后重新Ping测试。
检查是否链路故障。链路拥塞、链路节点故障、服务器负载高等问题均可能引起执行 Ping 命令时出现丢包或时延过高的问题。具体检查操作请参阅:使用 Tracert 测试链路,使用 MTR 诊断网络问题。
4. 检查域名解析(域名Ping不通场景)
如果服务器 IP 可以 Ping 通,但域名无法 Ping 通,可能是域名解析的问题导致。
1. 检查域名解析。您可以前往 DNS 服务控制台查看域名解析详情。
2. 检查 DNS 服务器配置。如果 ping 域名显示找不到主机可能是 DNS 服务器速度慢,导致的访问卡顿。
Copyright © 2013-2021 8a.hk All Rights Reserved. 八艾云 版权所有 中山市八艾云计算有限公司 粤ICP备14095776号