无法ping通ECS实例IPv6地址的排查方法

无法pingECS实例IPv6地址的原因较多,您可以参考本文进行排查。

问题现象

ECS实例开通IPv6地址之后,无法使用ping -6命令连通ECS实例的IPv6地址。

问题原因

导致无法pingECS实例IPv6地址的原因可能有以下几点:

  • ECS实例开通IPv6地址后未正确配置。

  • ECS实例的安全组配置错误。

  • IPv6未开通公网带宽,没有公网通信能力。

步骤一:检查ECS实例的IPv6地址相关配置是否正确

  1. 通过VNC远程登录Linux实例。关于如何远程登录,请参见通过VNC远程连接登录Linux实例

  2. 执行以下命令,查看并记录ECS服务器的MAC地址。

    curl http://100.100.100.200/latest/meta-data/mac && echo
  3. 执行以下命令,获取ECS服务器的IPv6地址、IPv6网关、IPv6地址段的元数据信息。

    说明

    [$MAC_ID]为上一步获取的ECS服务器的MAC地址。

    curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/ipv6s && echo \n && curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/ipv6-gateway && echo \n && curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/vswitch-ipv6-cidr-block && echo \n

    系统显示类似如下。 image.png

  4. 执行以下命令,查看ECS服务器的IPv6地址与元数据的IPv6地址是否存在不一致的情况。

    说明

    本文中网卡信息以eth0网卡为例,现场以实际环境为准。

    ifconfig eth0

    系统显示类似如下,确认不存在显示不一致的情况。若存在显示不一致的情况,请重新参照配置IPv6地址的步骤进行配置。 image (1).png

  5. 执行以下命令,查看ECS服务器的IPv6网关与元数据的IPv6网关是否存在不一致的情况

    route -6 -ne | grep ::/0

    系统显示类似如下,确认不存在显示不一致的情况,若存在显示不一致的情况,请重新参照配置IPv6地址的步骤进行配置。 Dingtalk_20201015114016.jpg

  6. 执行以下命令,查看ECS服务器的IPv6地址段与元数据的IPv6地址段是否存在不一致的情况

     route -6 -ne | grep eth0

    系统显示类似如下,确认不存在显示不一致的情况,若存在显示不一致的情况,请重新参照配置IPv6地址的步骤进行配置。 Dingtalk_20201015141202.jpg

步骤二:检查安全组相关配置

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择网络与安全 > 安全组

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 找到目标安全组,在操作列中,单击管理规则

  5. 在安全组详情页,找到访问规则区域,选择入方向出方向

    对于ping命令,您需要设置允许协议类型全部ICMP(IPv6),并且设置授权对象为相应的IPv6地址段的规则,例如:2001:db8:1234:1a00::***。如果缺少相关安全组规则,请参见添加安全组规则进行修改。

步骤三:检查IPv6网关是否开通了公网带宽

默认云服务器的IPv6地址仅具有私网通信能力,若您想要通过该IPv6地址访问公网或被公网访问,则需执行开通IPv6公网带宽的步骤。

步骤四:确认IPv6地址的连通性是否正常

测试IPv6的公网连通性步骤

说明

测试IPv6的网络连通性时,您需要确保服务端与客户端都支持并配置了IPv6。

ping -6 aliyun.com

系统返回信息如下图所示,表示网络连接正常。ping -6

说明

在此示例中,网站aliyun.com已支持IPv6,当您的ECS实例配置完成后,即可通过IPv6访问aliyun.com。

测试IPv6的私网连通性步骤

说明

测试IPv6的网络连通性时,您需要确保服务端与客户端都支持并配置了IPv6。在此示例中,两台ECS实例互相访问的前提是您的ECS01实例与ECS02实例均已配置了IPv6。

ECS01实例中执行ping6 <ECS02 IPv6私网地址>命令,ping6ECS02实例的IPv6地址,测试私网通信是否正常。

如果能接收到回复报文,表示通信正常。经测试,ECS01实例到ECS02实例的IPv6私网通信正常。pingecs02

ECS02实例中执行ping6命令,pingECS01实例的IPv6地址,测试私网通信是否正常。

如果能接收到回复报文,表示通信正常。经测试,ECS02实例到ECS01实例的IPv6私网通信正常。pingecs01

相关文档