Amazon AWS EC2 已分配 IPv6 地址却无法联通问题解决方法

小助手读文章 00:00 / 00:00

时至今日,AWS 全站服务启用 IPv6 地址以来也已经有 1 年有余,但仍然需要人工介入方可分配 IPv6 地址,鉴于 GCP、Azure 等等厂商都尚未全部支持 IPv6 来说,再给 AWS 一段时间优化还是可以接受的。

不过今天我们要说的问题,不是如何获得 IPv6 地址,而是分配了 IPv6 地址,却不能使用的问题。

获取 IPv6 地址可以参考:

问题

AWS EC2 实例在控制台里已经分配了 IPv6 地址,通过 ifconfig 命令可以看到已经有 IPv6 地址,但 ping 非本地 IPv6 地址均出现 connect: Network is unreachable 错误;或没有看到 IPv6 地址,且 ping 出现 No route to host 错误。

分析

实测发现,在相同 VPC 下创建的 Ubuntu18.04 及 Windows Server 2008R2 EC2 实例,相同操作可以正常分配到 IPv6 地址,且可以正常进行 IPv6 通信,故可以大致确定,问题应当出在 CentOS7 系统本身。但我们又发现,其他如 VultrCloudCone 等主机商,同样是 CentOS7,相同的内核,却可以正常使用 IPv6 通信。故此问题基本确定,EC2 CentOS7 环境下无法正常使用 IPv6 通信,是出在 AWS CentOS7 镜像上。

经查阅资料,其实 AWS 已经确认了该问题的存在,但并没有从镜像上解决问题,基于我们自己创建的 EC2 实例,确定以下方法可以解决 IPv6 不能使用的问题。

通过 SSH 等方式连接到 EC2 实例,然后使用 vim 等工具创建新文件:

vim /etc/cloud/cloud.cfg.d/99-custom-networking.cfg

在文件中输入以下配置:

network:
  version: 1
  config:
  - type: physical
    name: eth0
    subnets:
      - type: dhcp
      - type: dhcp6

然后重启 EC2 实例,正常情况下启动后就可以发现 CentOS7 系统 IPv6 地址已经分配到了,且可以正常通信了。

PS:说到底,其实还是没有严格按照 《EC2 启用 IPv6 步骤》操作~~


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 awscentosamazonipv6ec2 的文章

 本文最后更新于 2019/03/15 10:05:02,可能因经年累月而与现状有所差异

 引用转载请注明: VirCloud's Blog > 系统 > Amazon AWS EC2 已分配 IPv6 地址却无法联通问题解决方法