更新时间:2024-01-15 gmt 08:00

弹性公网ip ping不通?-凯发k8国际娱乐官网入口

问题描述

用户购买hecs后,无法ping通弹性公网ip,或者云服务器ping不通外网。

排查思路

以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。

如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。

图1 弹性公网ip ping不通排查思路
表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。

如果未包含“icmp”规则,添加“icmp”规则。配置安全组规则操作详见配置安全组规则

图2 l实例添加入方向icmp规则
图3 x实例添加入方向icmp规则
表2 安全组规则

方向

类型

协议和端口

源地址

入方向

ipv4

icmp:全部

0.0.0.0/0

0.0.0.0/0表示所有ip地址

检查防火墙设置

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

linux系统云服务器
  1. 执行以下命令查看防火墙状态,以centos 7操作系统为例。

    firewall-cmd --state

    回显信息显示“running”代表防火墙已开启。

  1. 查看云服务器内部是否有安全规则所限制。

    iptables -l

    回显信息如图4所示说明没有icmp规则被限制。

    图4 查看防火墙规则

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

      图5 入站规则
      图6 出站规则

检查云服务器是否设置了禁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。

    图7显示具体的网络acl名称说明已关联网络acl。

    图7 网络acl
  2. 单击网络acl名称查看网络acl的状态。
    图8 网络acl开启状态
  3. 若“网络acl”为“开启”状态,需要添加icmp放通规则进行流量放通。
    图9 acl添加icmp规则

    需要注意“网络acl”的默认规则是丢弃所有出入方向的包,若关闭“网络acl”后,其默认规则仍然生效。

检查网络是否正常

  1. 检查本地网络,使用相同区域主机进行ping测试。

    使用在相同区域的云服务器去ping没有ping通的弹性公网ip,如果可以正常ping通说明虚拟网络正常,请排除本地网络故障后重新ping测试。

  2. 检查是否链路故障。

    链路拥塞、链路节点故障、服务器负载高等问题均可能引起执行ping命令时出现丢包或时延过高的问题。

    具体检查操作请参考“”。

检查云服务器路由配置(多网卡场景)

仅x实例支持此场景,如果您的hecs为l实例或旧版hecs,请忽略此检查项。

一般操作系统的默认路由优先使用主网卡,如果出现使用扩展网卡导致网络不通现象通常是路由配置问题。

  • 如果云服务器配置了多网卡,请确认云服务器内默认路由是否存在。
    1. 登录云服务器,执行如下命令,查看是否存在默认路由。

      ip route

      图10 查看默认路由
    2. 若没有该路由,执行如下命令,添加默认路由。

      ip route add default via xxxx dev eth0

      xxxx表示网关ip。

  • 如果云服务器配置了多网卡,且弹性公网ip绑定在非主网卡上,需要在云服务器内部配置策略路由来实现非主网卡的通信。

    详细操作请参考ecs常见问题:

检查域名解析(域名ping不通场景)

如果弹性公网ip可以ping通,域名无法ping通,可能是域名没有备案或者域名解析的问题导致。

  1. 检查域名备案。

    备案是中国大陆的一项法规,网站的域名和服务器ip需要进行备案,备案成功后您的域名才可以指向服务器开通访问。

    • 如果您使用中国大陆节点服务器提供互联网信息服务,需要先在服务器提供商处提交备案申请,备案成功后域名才可以指向服务器开通访问。
    • 如果您使用的是中国大陆地区以外的服务器(包括中国港澳台及其他国家、地区)提供互联网信息服务,无需备案。
  2. 检查域名解析。

    如果域名已备案,但未正确配置域名解析也可能会导致域名无法ping通。

    您可以dns服务控制台查看域名解析详情。

  3. 检查dns服务器配置。

    如果ping 域名显示找不到主机可能是dns服务器速度慢,导致的访问卡顿,建议您参考ecs案例:进行优化。

分享:

more

网站地图