云服务器 Ping 不可达

最近更新时间:2023-12-14 18:19:31

我的收藏
本文将为您介绍收到云服务器 “ping 不可达” 事件告警通知的排查方法和解决方案。您可以参考 排查步骤 恢复告警,如告警通知打扰到您可以参考 关闭告警功能

告警原因及处理方法

ping 不可达告警原因和处理方法对照表:
告警原因
处理方法
云服务器宕机、内核故障或带宽高负载
参考 排查步骤一 排查并处理异常或 关闭告警功能
云服务器处于关机状态
参考 排查步骤二 排查并开启云服务器或 关闭告警功能
云服务器实例关联的安全组限制 ICMP
参考 排查步骤三 排查并修改安全组 ICMP 配置或 关闭告警功能
云服务器 Windows 防火墙限制、
Linux 内核参数或 iptables 限制 ICMP
参考 排查步骤四 排查并关闭相关限制或 关闭告警功能
说明
云服务器 ping 网络状态由腾讯云可观测平台告警系统自动监测,与您是否配置云服务器公网 IP 无关。
如果您的云服务器 iptables 禁止了 Ping 操作,则需要使用非固定 IP 才能 Ping 通。

排查步骤

步骤一:检查云服务器监控数据

2. 单击云服务器> 告警相关的实例名称,查看云服务器监控数据是否有监控数据断点、监控数据过高异常。
若监控数据出现断点或监控数据过高,可能是云服务器内核故障、宕机或带宽高负载引起,您可以参考 云服务器实例相关故障 进行排查。


若无异常请进行下一步骤:检查云服务器实例状态是否异常

步骤二:检查云服务器状态

1. 登录 云服务器控制台
2. 在“实例列表”页面中,查看“ping 不可达”告警相关的实例状态是否正常。
若状态显示已关机,则说明手动关机导致的 “ping 不可达” 告警。您可以单击更多 > 实例状态 > 开机,重启实例,若实例状态已显示运行中,仍未解决问题。可进行下一步:检查云服务器实例关联的安全组是否允许 ICMP


若状态显示运行中可进行下一步:检查云服务器实例关联的安全组是否允许 ICMP
说明
腾讯云可观测平台-事件告警暂未过滤手动关机导致的 “ping 不可达”告警,后期我们将对该功能进行优化。

步骤三:检查安全组的 ICMP 设置

2. 在“实例列表”页面中,选择产生 “ping 不可达” 告警的实例 ID/实例名,进入该实例的详情页面。
3. 选择安全组页签,进入该实例的安全组管理页面。如下图所示,查看该实例所在的安全组的入站规则和出站规则是否拒绝 ICMP 端口协议或是否添加 ICMP 端口协议。安全组会影响用户的 Ping 请求;VPC 的探活则不影响。


系统默认的安全组允许 ICMP 端口协议,若您手动拒绝默认安全组 ICMP 协议或自定义的安全组没有添加 ICMP 协议,可能会导致“ping 不可达”告警。您可以单击右上角的编辑规则,在安全组规则管理页添加/编辑“ICMP 端口协议”,再点击保存即可,如下图所示。


若安全组的 “ICMP 端口协议” 限制已修改,仍未解决问题。请进行下一步:检查云服务器 Windows 防火墙或 Linux 内核参数、 iptables 是否有限制

步骤四:检查防火墙或 Linux 内核参数和 iptables 设置

Windows 操作系统

1. 登录 云服务器实例
2. 打开控制面板,选择查看方式为 “小图标” ,单击Windows 防火墙。如下图所示:


3. 在 “Windows 防火墙”界面,选择高级设置。如下图所示:


4. 在弹出的 “高级安全 Windows 防火墙”窗口中,查看 ICMP 有关的出、入站规则是否被限制。 如下图所示,若出、入站规则中的 Windows Agent:ICMP 被禁用,则说明 Windows 防火墙限制导致的 “ping 不可达” 告警,您可以单击鼠标右键启用该规则。



Linux 操作系统

说明
Linux 系统是否允许 ping 由内核和 iptables 设置两个共同决定,任何一个限制,都会造成 “ping 不可达”告警。
检查内核参数
1. 登录 云服务器实例
2. 执行以下命令,查看系统 icmp_echo_ignore_all 设置。
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
若返回结果为0,表示系统允许所有的 ICMP Echo 请求,请 检查 iptables 设置
若返回结果为1,表示系统限制所有的 ICMP Echo 请求,则说明 Linux 内核参数限制,导致的 “ping 不可达” 告警,请执行下文关闭限制。
3. 使用拥有 root 权限的账户执行以下命令,修改内核参数 icmp_echo_ignore_all 的设置。
echo "0" >/proc/sys/net/ipv4/icmp_echo_ignore_all
检查 iptables 设置
1. 执行以下命令,查看当前云服务器的防火墙规则以及 ICMP 对应规则是否被限制。
iptables -L
若返回结果如下图所示,则表示 iptables 的 ICMP 未限制。


若返回如下图所示,则表示 iptables 的 ICMP 被限制。说明 Linux iptables 的 ICMP 限制导致的 “ping 不可达” 告警。请参见下文关闭 iptables 的 ICMP 限制。


2. 请执行以下命令,关闭 iptables 的 ICMP 限制。
#Chain INPUT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
#Chain OUTPUT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
若上述步骤仍无法解决问题,请 提交工单 联系我们。

关闭事件告警规则

若部分告警打扰到您,您可以参考以下步骤关闭特定事件告警。
1. 登录 事件总线控制台,选择左侧导航栏中的事件总线 > 事件规则。
2. 选择广州地域下的 default 事件集。


3. 单击状态启停开关,关闭特定规则即可。