不能ping通弹性公网IP的排查办法
Tags: LinuxOSping云云服务器弹性公网连接问题
问题描述
用户购买弹性公网IP并绑定云服务器后,本地主机或其他云服务器无法Ping通该云服务器的弹性公网IP。
排查思路
以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。
可能原因 | 处理措施 |
---|---|
安全组未添加ICMP规则 | 安全组添加ICMP规则,详细操作请参考检查安全组规则。 |
防火墙设置了禁Ping | 检查防火墙对ICMP规则的启用状态,详细操作请参考检查防火墙设置。 |
云服务器设置了禁Ping | 检查云服务器对ICMP规则的启用状态,详细操作请参考检查云服务器是否设置了禁Ping。 |
关联了网络ACL | 如果VPC关联了网络ACL,请检查“网络ACL”规则,详细操作请参考检查网络ACL规则。 |
网络异常 | 检查本地网络,使用相同区域主机进行Ping测试,详细操作请参考检查网络是否正常。 |
多网卡场景,路由信息配置不正确 | 扩展网卡导致网络不通现象通常是路由配置问题,详细操作请参考检查云服务器路由配置(多网卡场景)。 |
域名没有备案或者域名无法解析 | 域名无法Ping通,可能是域名没有备案或者域名无法解析,详细操作请参考检查域名解析(域名Ping不通场景)。 |
检查安全组规则
Ping使用的是ICMP协议,请检查云服务器对应的安全组是否放通了“ICMP”规则。
登录管理控制台。
选择“计算 > 弹性云服务器”。
在
弹性云服务器
列表,单击待变更安全组规则的
弹性云服务器
名称。
系统跳转至该弹性云服务器详情页面。
选择“安全组”页签,展开安全组,查看安全组规则。
单击安全组ID。
系统自动跳转至安全组页面。
在出方向规则页签,单击“添加规则”。添加出方向规则。
方向 类型 协议和端口 源地址 出方向 IPv4 ICMP:Any 0.0.0.0/00.0.0.0/0表示所有IP地址 在入方向规则页签,单击“添加规则”,添加入方向规则。
方向 类型 协议和端口 源地址 入方向 IPv4 ICMP:Any 0.0.0.0/00.0.0.0/0表示所有IP地址 单击“确定”,完成安全组规则配置。
检查防火墙设置
如果云服务器开启了防火墙,需要检查防火墙对Ping规则是否有限制。
Linux系统云服务器
执行以下命令查看防火墙状态,以CentOS 7操作系统为例。
firewall-cmd --state
回显信息显示“running”代表防火墙已开启。
查看
云服务器
内部是否有安全规则所限制。
iptables -L
回显信息如图4所示说明没有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规则的启用状态。
检查云服务器是否设置了禁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命令时出现丢包或时延过高的问题。
具体检查操作请参考“ping不通或丢包时如何进行链路测试?”。
检查云服务器路由配置(多网卡场景)
一般操作系统的默认路由优先使用主网卡,如果出现使用扩展网卡导致网络不通现象通常是路由配置问题。
如果
云服务器
配置了多网卡,请确认
云服务器
内默认路由是否存在。
如果
云服务器
配置了多网卡,且
弹性公网IP
绑定在非主网卡上,需要在
云服务器
内部配置策略路由来实现非主网卡的通信。
详细操作请参考如何为配置了多网卡的弹性云服务器配置策略路由?
检查域名解析(域名Ping不通场景)
如果弹性公网IP可以Ping通,域名无法Ping通,可能是域名没有备案或者域名解析的问题导致。
检查域名备案。
备案是中国大陆的一项法规,网站的域名和服务器IP需要进行备案,备案成功后您的域名才可以指向服务器开通访问。
- 如果您使用中国大陆节点服务器提供互联网信息服务,需要先在服务器提供商处提交备案申请,备案成功后域名才可以指向服务器开通访问。如何备案?
- 如果您使用的是中国大陆地区以外的服务器(包括中国港澳台及其他国家、地区)提供互联网信息服务,无需备案。
检查域名解析。
如果域名已备案,但未正确配置域名解析也可能会导致域名无法Ping通。
您可以DNS服务控制台查看域名解析详情。
检查DNS服务器配置。
如果ping域名显示找不到主机可能是DNS服务器速度慢,导致的访问卡顿,建议您参考案例:弹性云服务器访问中国大陆外网站时加载缓慢怎么办?进行优化。
参考
https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0105130172.html
https://www.xmmup.com/wufadengludaolinuxyunfuwuqidepaichasilu.html