最佳实践:阿里云VPC、ECS支持IPv6啦!
2023年12月6日,《中国云计算与大数据》杂志发布声明称,在这一重要历史节点上,该平台将为企业客户推出全面支持IPv6网络架构的解决方案
阿里云的专有网络VPC与云服务器ECS以其核心地位为基础,在2018年11月底推出了双栈版本的VPC与ECS,并已进入外测阶段
那么如何在阿里云拥有IPv4/IPv6双栈VPC、双栈ECS呢,请看下文详解。
操作概览

操作详情
(一)VPC开通IPv6
您已获得阿里云IPv6使用权限,请点击此处申请公测资格
进入阿里云**专有网络VPC控制台** 并将区域设置为“华北5(呼和浩特)”。

说明:目前VPC双栈、ECS双栈仅限于阿里云中国站华北5(呼和浩特)地区覆盖。其他更多地域即将上线支持VPC IPv6、ECS IPv6功能,请广大用户持续关注。
1.2、点击创建专有网络 ,在右滑页面按照提示进行操作。

创建专有网络的同时,您还需要创建一个交换机。
该设备的IPv6地址配置允许用户在最后8位进行个性化设置,在输入字段中任意设置0至255之间的数值(其中此数值将被视为该IPv6地址的最后8位)

在 VPC 的列表页面 进行访问 刚才创建 的 IPv6/IPv4 双层结构 VPC

另外一种方式是访问详细信息页面,以查看您之前创建的IPv6与IPv4双栈配置的交换机详细信息页面。

(二)为ECS实例分配IPv6地址
2.1、在已开通了IPv6的交换机列表页,进入并选择并配置ECS实例。

2.2、在ECS购买页面过滤支持IPv6的规格

下一步
下一步
按照ECS平台的指引进行操作,首先需要配置镜像系统以及存储数据盘设置。单击【下一步
2.3、在ECS购买页面网络和安全组 页面选择为ECS实例免费分配IPv6地址 。

然后按ECS购买页面的提示完成ECS的购买。
2.4、前往 ECS实例列表页 ,单击对应的ID号码,并打开该页面后进行操作。在 配置信息 一栏中可查看系统为 ECS 分配的 IPv6 地址。

(三)IPv6安全组设置
完成之后创建 ECS 的安全组出方向,默认允许所有类型的访问(包括支持了 IPv4 和 IPv6 地址段),您可以根据需求设置安全组以指定 IPv6 地址段的入方向访问策略。
本示例中,为了便于演示,安全组将允许任意IPv6地址段访问ECS。
在ECS详情页左侧导航栏中进行操作时,请先选择 本实例安全组 ,然后,在安全组列表页面点击 配置规则 按钮。


点击右上角的添加安全组规则 ,为ECS实例IPv6地址段设置安全组规则。


如下图所示,ECS实例的入方向对任意IPv6地址段进行放行。

(四)ECS实例配置IPv6服务和IPv6地址
在IPv6公测期间,默认情况下不会自动为ECS实例分配IPv6地址。您可以使用提供的工具来设置ECS实例的IPv6服务及其静态IP地址。
您也可以手工配置IPv6服务(Windows / Linux)、及配置静态IPv6地址(Windows/ Linux)
本文采用手工方式配置Linux的IPv6服务及静态IPv6地址。
为ECS实例配置IPv6服务
4.1、首先为已创建的ECS实例设置IPv6服务配置。由于ECS操作系统基于Linux,在进行远程访问时需依次进行以下步骤:先是登录到指定IP地址对应的端口,请确保使用正确的用户名和密码;然后在控制台中输入相应的命令来完成后续的操作任务。
运行 vi /etc/default/grub,删除内核参数 ipv6.disable=1 后保存退出。
运行 vi /boot/grub/grub.cfg,删除内核参数 ipv6.disable=1 后保存退出。
然后重启实例。
启动 vi /etc/modprobe.d/disable_ipv6.conf,并设置选项为 options ipv6 disable=0。

运行 vi /etc/sysctl.conf,做如下修改:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

运行 sysctl -p 使配置生效。
4.2 执行 ip addr | grep inet6 指令,并检查 ECS 实例的 IPv6 地址信息是否就绪。如上图所示,配置好的 IPv6 服务已就绪

为ECS实例配置静态IPv6地址
4.3、运行 curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/
获取ECS实例的mac地址如下图:

注:ECS的mac地址也可通过控制台进行查看。如下图所示

执行curl命令以访问该URL路径中的子路径:http://192.168.1.1:8888/24h-mac-grid-periodic-updates/group-mac-filtering-filter-periodic-updates/group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering-filter-periodic-updates-group-mac-filtering滤镜组更新周期性更新周期性更新周期性更新周期性更新周期性更新周期性更新周期性更新周期性更新周期性更新周期性更新滤镜组过滤器过滤器过滤器过滤器过滤器过滤器过滤器过滤器过滤器过滤器过滤器filter_periodicity filter_periodicity filter_periodicity filter_periodicity filter_periodicity filter_periodicity filter_periodicity filter_periodicity filter_periodicity filter_periodicity group_maccache group_maccache group_maccache group_maccache group_maccache group_maccache group_maccache group_maccache group_maccache group_maccache mac address mac address mac address mac address mac address mac address mac address mac address mac address mac address mac address mac address mac address(mac) ip v6网关
获取ECS实例的IPv6网关地址,用上面获取的mac地址替换命令中的[mac]。
如本示例中执行如下:
curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/00:16:3e:00:3c:60/ipv6-gateway
获取IPv6网关地址如下图:

4、使用vi命令启动编辑器后,在终端窗口输入以下命令:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
以打开网络卡配置文件
您需要将 eth0 网卡标识符 替换为 网络的实际标识符
在文件内容底部添加以下配置:
interface eth0
description 实际网卡描述
...
$
IPV6INIT=yes
IPV6ADDR=IPv6地址/子网前缀长度
IPV6_DEFAULTGW= IPv6网关地址
本示例中,即执行如下命令
IPV6INIT=yes
IPV6ADDR=2408:4004:1e0:d01:490d:7903:6cc9:9f2f/64
IPV6_DEFAULTGW=2408:4004:1e0:d01:ffff:ffff:ffff:fff7

4.6、重新启动网络服务:通过执行 service network restart 或 systemic command restart network 来实现
4.7、通过ifconfig命令,查看ECS实例的IPv6地址

(五)创建IPv6公网带宽
为ECS指定的IPv6地址预设默认公网带宽为0Mbps,意味着该IPv6地址仅支持VPC私网通信权限,无法连接到互联网
此外,请您访问该 IPv6 网关的管理界面,并为其指定 IPv6 地址开通公有 IPv6 端口。
通过控制台界面操作 VPC 开通 IPv6 时
5.1、 访问该 IPv6 网关控制台网页地址 https://vpc.console.aliyun.com/ipv6/cn-huhehaote/ipv6s ,可以查看 VPC开通 IPv6 时系统自动创建的免费版 IPv6 网关信息。单击 IPv6 网关实例 ID 标签以进入管理界面。

在左侧导航栏中点击IPv6公网带宽后,在该页面中可以看到当前VPC下的所有实例的IPv6地址。请从该列表中选择一个需要开通该服务的IPv6地址并继续下一步操作。然后点击右侧弹出窗口中的开通公网带宽 按钮以完成配置。

5.3、进入IPv6公网带宽的计费页面,在线根据需求选择合适的公网计费方式和对应的带宽峰值参数设置后,请完成支付并完成下单操作

在IPv6地址列表下方单击刷新按钮即可显示已开通的 IPv6 公 twins带宽信息,并非所有具备 IPv6 公 twins带宽的 IPv6 地址都拥有 IPv6 通信权限

此时
(六)验证ECS实例公网通信能力
首先通过远程登录访问刚创建的ECS实例,并在上面执行以下操作:尝试连接具备IPv6地址的网站以验证该实例是否支持IPv6连通性。

6.2、搭建简单web服务,验证是否可以被IPv6终端访问,

通过IPv6终端进行访问,访问结果如下,访问成功。

(七)高阶功能:使ECS实例只具备IPv6公网仅主动出能力
为确保网络安全性,请确保 ECS 的 IPv6 地址仅允许其主动连接至互联网,并避免由互联网的 IPv6 终端主动发起与您 IPv6 地址的连接;同时建议设置相应的 IPv6 公网属性为仅允许主动输出权限。
注

在右滑页面选择需要设置IPv6公网仅主动出权限的ECS实例,单击确定 。

在仅主动出规则的列表页,可以看到刚才创建的仅主动出规则。如下图

7.2、通过登录IPv6终端访问第(六)步配置了Web服务的ECS实例,并验证仅启用主动出规则时的情况是否有效

但可接入ECS实例,并可正常进行 IPv6 地址对应的网络资源访问。即便启用主动出口配置也只能完成部分流量转发任务。

有用链接
IPv6网关充当了网络转换层节点,在网络流量管理中起到了关键作用。
该设备支持IPv6配置(跳转至帮助文档)
