为确保用户安全稳定,恒创科技对部分主机、服务器已设置禁止 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 服务器
- 登录 Windows 服务器,单击桌面左下角的 Windows 图标,依次选择“控制面板 > Windows防火墙”。
- 单击“启用或关闭 Windows 防火墙”。查看并设置防火墙的具体状态:开启或关闭。
- 如果防火墙状态为“开启”,请检查防火墙对 ICMP 规则的启用状态。步骤如下:
○ 在“Windows防火墙”页面,在左侧导航栏选择“高级设置 ”。
○ 启用以下规则。
入站规则:“文件和打印机共享(回显请求-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 命令时出现丢包或时延过高的问题。具体检查操作请参阅:ping不通或丢包时如何进行链路测试?。
4. 检查域名解析(域名Ping不通场景)
如果服务器 IP 可以 Ping 通,但域名无法 Ping 通,可能是域名解析的问题导致。
- 检查域名解析。您可以前往 DNS 服务控制台查看域名解析详情。
- 检查 DNS 服务器配置。如果 ping 域名显示找不到主机可能是 DNS 服务器速度慢,导致的访问卡顿。
如果通过上述排查,仍然无法 Ping 通服务器,请“提交工单”,获取恒创科技金牌技术支持。
转载请注明:⎛蜗牛建站⎞ » 服务器 Ping 不通怎么办?