
# 弹性公网IP Ping不通？
#### 问题描述
用户购买HECS后，无法Ping通弹性公网IP，或者云服务器Ping不通公网。
#### 排查思路
以下排查思路根据原因的出现概率进行排序，建议您从高频率原因往低频率原因排查，从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题，请继续排查其他可能原因。
图1弹性公网IP Ping不通排查思路   
![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001818269701.png)
表1弹性公网IP Ping不通排查思路 
| 可能原因            | 处理措施                                                                                                       |
|:---|:---|
| 安全组未添加ICMP规则    | 安全组添加ICMP规则，详细操作请参考[检查安全组规则]。                                        |
| 防火墙设置了禁Ping     | 检查防火墙对ICMP规则的启用状态，详细操作请参考[检查防火墙设置]。                                   |
| 云服务器设置了禁Ping    | 检查云服务器对ICMP规则的启用状态，详细操作请参考[检查云服务器是否设置了禁Ping]。                       |
| 关联了网络ACL        | 如果VPC关联了网络ACL，请检查"网络ACL"规则，详细操作请参考[检查网络ACL规则]。 |
| 网络异常            | 检查本地网络，使用相同区域主机进行Ping测试，详细操作请参考[检查网络是否正常]。                            |
| 多网卡场景，路由信息配置不正确 | 扩展网卡导致网络不通现象通常是路由配置问题，详细操作请参考[检查云服务器路由配置（多网卡场景）]。                     |
| 域名没有备案或者域名无法解析  | 域名无法Ping通，可能是域名没有备案或者域名无法解析，详细操作请参考[检查域名解析（域名Ping不通场景）]。            |
   
 #### 检查安全组规则
Ping使用的是ICMP协议，请检查云服务器对应的安全组是否放通了"入方向"的"ICMP"规则。
1. 在HECS控制台云服务器列表，单击待变更安全组规则的云服务器名称。 系统跳转至该云服务器详情页面。
   
2. 选择"安全组"页签，展开安全组，查看安全组规则是否包含"ICMP"协议规则，以及源地址是否包含您的IP。 ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001954434605.png)
   
如果未包含"ICMP"规则，添加"ICMP"规则。配置安全组规则操作详见[配置安全组规则](https://support.huaweicloud.com/usermanual-hecs/hecs_03_0043.html)。
表2安全组规则 
| 方向  | 类型   | 协议和端口   | 源地址                                                        |
|:---|:---|:---|:---|
| 入方向 | IPv4 | ICMP：全部 | 0.0.0.0/0 0.0.0.0/0表示所有IP地址 |
   
 #### 检查防火墙设置
如果云服务器开启了防火墙，需要检查防火墙对Ping规则是否有限制。
**Linux系统云服务器**
1. 执行以下命令查看防火墙状态，以CentOS 7操作系统为例。 **firewall-cmd --state**
   回显信息显示"running"代表防火墙已开启。
   

2. 查看云服务器内部是否有安全规则所限制。 **iptables -L**
   回显信息如[图2]所示说明没有ICMP规则被限制。
   图2查看防火墙规则   
   ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001771709638.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. 如果防火墙状态为"开启"，请执行[4]
4. 检查防火墙对ICMP规则的启用状态。
   1. 在"Windows防火墙"页面，在左侧导航栏选择"高级设置 "。
   
   2. 启用以下规则。 入站规则："文件和打印机共享（回显请求-ICMPv4-In）"
      出站规则："文件和打印机共享（回显请求-ICMPv4-Out）"
      如启用了IPV6请同时启用以下规则：
      入站规则："文件和打印机共享（回显请求-ICMPv6-In）"
      出站规则："文件和打印机共享（回显请求-ICMPv6-Out）"
      图3入站规则   
      ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001771709634.png)
      图4出站规则   
      ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001818269681.png) 
    
 
 #### 检查云服务器是否设置了禁Ping
**Windows**
使用命令行方式开启Ping设置。
1. 打开cmd运行窗口。
2. 执行如下命令开启Ping设置。 **netsh firewall set icmpsetting 8**
   
**Linux**
检查云服务器的内核参数。
1. 检查文件"/etc/sysctl.conf"中配置项"net.ipv4.icmp_echo_ignore_all"的值，0表示允许Ping，1表示禁止Ping。
2. 允许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**"**规则。
1. 查看云服务器对应的子网是否关联了网络ACL。 如[图5]显示具体的网络ACL名称说明已关联网络ACL。
   图5网络ACL   
   ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001771709646.png) 
2. 单击网络ACL名称查看网络ACL的状态。
   图6网络ACL开启状态   
   ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001818429645.png) 
3. 若"网络ACL"为"开启"状态，需要添加ICMP放通规则进行流量放通。
   图7ACL添加ICMP规则   
   ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001771709642.png)
   ![](https://support.huaweicloud.com/hecs_faq/public_sys-resources/note_3.0-zh-cn.png)
   需要注意"网络ACL"的默认规则是丢弃所有出入方向的包，若关闭"网络ACL"后，其默认规则仍然生效。
   
 
 #### 检查网络是否正常
1. 检查本地网络，使用相同区域主机进行Ping测试。 使用在相同区域的云服务器去Ping没有Ping通的弹性公网IP，如果可以正常Ping通说明虚拟网络正常，请排除本地网络故障后重新Ping测试。
   
2. 检查是否链路故障。 链路拥塞、链路节点故障、服务器负载高等问题均可能引起执行Ping命令时出现丢包或时延过高的问题。
   具体检查操作请参考"[ping不通或丢包时如何进行链路测试？](https://support.huaweicloud.com/trouble-ecs/zh-cn_topic_0191526703.html)"。
   
 
 #### 检查云服务器路由配置（多网卡场景）
一般操作系统的默认路由优先使用主网卡，如果出现使用扩展网卡导致网络不通现象通常是路由配置问题。
- 如果云服务器配置了多网卡，请确认云服务器内默认路由是否存在。
  1. 登录云服务器，执行如下命令，查看是否存在默认路由。 **ip route**
     图8查看默认路由   
     ![](https://support.huaweicloud.com/hecs_faq/zh-cn_image_0000001771549954.png) 
  
  2. 若没有该路由，执行如下命令，添加默认路由。 **ip route add default via XXXX** **dev eth0**
     ![](https://support.huaweicloud.com/hecs_faq/public_sys-resources/note_3.0-zh-cn.png)
     XXXX表示网关IP。
     
   
 
- 如果云服务器配置了多网卡，且弹性公网IP绑定在非主网卡上，需要在云服务器内部配置策略路由来实现非主网卡的通信。 详细操作请参考ECS常见问题：[如何为配置了多网卡的弹性云服务器配置策略路由？](https://support.huaweicloud.com/vpc_faq/vpc_faq_0079.html)
  
 #### 检查域名解析（域名Ping不通场景）
如果弹性公网IP可以Ping通，域名无法Ping通，可能是域名没有备案或者域名解析的问题导致。
1. 检查域名备案。 备案是中国大陆的一项法规，网站的域名和服务器IP需要进行备案，备案成功后您的域名才可以指向服务器开通访问。
   - 如果您使用中国大陆节点服务器提供互联网信息服务，需要先在服务器提供商处提交备案申请，备案成功后域名才可以指向服务器开通访问。[如何备案？](https://beian.huaweicloud.com/)
   
   - 如果您使用的是中国大陆地区以外的服务器（包括中国港澳台及其他国家、地区）提供互联网信息服务，无需备案。
    
2. 检查域名解析。 如果域名已备案，但未正确配置域名解析也可能会导致域名无法Ping通。
   您可以DNS服务控制台查看域名解析详情。
   
3. 检查DNS服务器配置。 如果ping 域名显示找不到主机可能是DNS服务器速度慢，导致的访问卡顿，建议您参考ECS案例：[弹性云服务器访问中国大陆外网站时加载缓慢怎么办？](https://support.huaweicloud.com/trouble-ecs/zh-cn_topic_0138914423.html)进行优化。
   
 
