关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

服务器 Ping 不通怎么办

发布时间:2022/9/19 12:58:46
香港云服务器

为确保用户安全稳定,八艾云对部分主机、服务器已设置禁止 ping 命令,请参阅:服务器禁 ping 的原因。

  如果服务器未被禁 ping ,但是无法 ping 通公网,建议按照以下思路依次排查问题。

排查思路

处理措施

检查防火墙是否禁 Ping

检查防火墙对 ICMP 规则的启用状态

检查服务器是否设置禁 Ping

检查服务器对 ICMP 规则的启用状态

检查网络是否正常

检查本地网络,使用相同区域主机进行 Ping 测试

检查域名解析

域名无法 Ping 通,可能是域名无法解析


  排查思路详细说明

  Linux 系统是否允许 ping 由防火墙设置和内核两个共同决定,任何一个禁止,都会造成 ping 包 “Request timeout”。

  1. 检查防火墙设置

  如果服务器已开启防火墙,需要检查防火墙对 Ping 规则是否有限制。

  Linux 服务器

  执行以下命令,查看当前服务器的防火墙规则以及 ICMP 对应规则是否被禁止:

  iptables -L

  回显信息如下图所示,说明 ICMP 规则没有被限制。


image.png


  如果 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)”


image.png


  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 服务器速度慢,导致的访问卡顿。