问题描述
用户购买弹性公网IP并绑定云主机后,无法Ping通弹性公网IP,或者云主机Ping不通外网。
排查思路
以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。
图 弹性公网IP Ping不通排查思路
表 弹性公网IP Ping不通排查思路
可能原因 | 处理措施 |
---|---|
安全组未添加ICMP规则 | 安全组添加ICMP规则,详细操作请参考检查安全组规则。 |
防火墙设置了禁Ping | 检查防火墙对ICMP规则的启用状态,详细操作请参考检查防火墙设置。 |
云主机设置了禁Ping | 检查云主机对ICMP规则的启用状态,详细操作请参考检查云主机是否设置了禁Ping。 |
关联了网络ACL | 如果VPC关联了网络ACL,请检查“网络ACL”规则,详细操作请参考检查网络ACL规则。 |
网络异常 | 检查本地网络,使用相同区域主机进行Ping测试,详细操作请参考检查网络是否正常。 |
多网卡场景,路由信息配置不正确 | 扩展网卡导致网络不通现象通常是路由配置问题,详细操作请参考检查云主机路由配置(多网卡场景)。 |
检查安全组规则
Ping使用的是ICMP协议,请检查云主机对应的安全组是否放通了“入方向”的“ICMP”规则。
- 登录管理控制台。
- 选择“计算 > 弹性云主机”。
- 在弹性云主机列表,单击待变更安全组规则的弹性云主机名称。
系统跳转至该弹性云主机详情页面。
- 选择“安全组”页签,展开安全组,查看安全组规则。
- 单击安全组ID。
系统自动跳转至安全组页面。
- 在入方向规则页签,单击“添加规则”,添加入方向规则。
表 安全组规则
方向 | 类型 | 协议和端口 | 源地址 |
---|---|---|---|
入方向 | IPv4 | ICMP:Any | 0.0.0.0/00.0.0.0/0表示所有IP地址 |
- 单击“确定”,完成安全组规则配置。
检查防火墙设置
如果云主机开启了防火墙,需要检查防火墙对Ping规则是否有限制。
Linux系统云主机
- 执行以下命令查看防火墙状态,以CentOS 7操作系统为例。
Firewall-cmd --state
回显信息显示“running”代表防火墙已开启。
- 查看云主机内部是否有安全规则所限制。
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防火墙”。
查看并设置防火墙的具体状态:开启或关闭。 - 如果防火墙状态为“开启”,请执行4。
- 检查防火墙对ICMP规则的启用状态。
a. 在“Windows防火墙”页面,在左侧导航栏选择“高级设置 ”。
b. 启用以下规则。
入站规则:“文件和打印机共享(回显请求-ICMPv4-In)”
出站规则:“文件和打印机共享(回显请求-ICMPv4-Out)”
如启用了IPV6请同时启用以下规则:
入站规则:“文件和打印机共享(回显请求-ICMPv6-In)”
出站规则:“文件和打印机共享(回显请求-ICMPv6-Out)”
图 入站规则
图 出站规则
检查云主机是否设置了禁Ping
Windows
使用命令行方式开启Ping设置。
- 打开cmd运行窗口。
- 执行如下命令开启Ping设置。
netsh firewall set icmpsetting 8
Linux
检查云主机的内核参数。
- 检查文件/etc/sysctl.conf中配置项“net.ipv4.icmp_echo_ignore_all”的值,0表示允许Ping,1表示禁止Ping。
- 允许PING设置。
− 临时允许PING操作的命令:
#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
− 永久允许PING配置方法:
net.ipv4.icmp_echo_ignore_all=0
检查网络ACL规则
VPC默认没有网络ACL,如果关联了网络ACL,请检查“网络ACL”规则。
-
查看云主机对应的子网是否关联了网络ACL。
如显示具体的网络ACL名称说明已关联网络ACL。 -
点击网络ACL名称查看网络ACL的状态。
-
若“网络ACL”为“开启”状态,需要添加ICMP放通规则进行流量放通。
需要注意“网络ACL”的默认规则是丢弃所有出入方向的包,若关闭“网络ACL”后,其默认规则仍然生效。
检查网络是否正常
-
检查本地网络,使用相同区域主机进行Ping测试。
使用在相同区域的云主机去Ping没有Ping通的弹性公网IP,如果可以正常Ping通说明虚拟网络正常,请排除本地网络故障后重新Ping测试。 -
检查是否链路故障。
链路拥塞、链路节点故障、服务器负载高等问题均可能引起执行Ping命令时出现丢包或时延过高的问题。
检查云主机路由配置(多网卡场景)
一般操作系统的默认路由优先使用主网卡,如果出现使用扩展网卡导致网络不通现象通常是路由配置问题。
- 如果云主机配置了多网卡,请确认云主机内默认路由是否存在。
a. 登录云主机,执行如下命令,查看是否存在默认路由。
ip route
图 查看默认路由
b. 若没有该路由,执行如下命令,添加默认路由。
ip route add default via XXXX dev eth0
XXXX表示网关IP。
- 如果云主机配置了多网卡,且弹性IP绑定在非主网卡上,需要在云主机内部配置策略路由来实现非主网卡的通信。