最佳实践:阿里云VPC、ECS支持IPv6啦!

1,152 阅读7分钟

12月6日,阿里云宣布为企业提供全栈IPv6解决方案

阿里云专有网络VPC、云服务器ECS,作为阿里云的核心产品,也于2018年11月底上线双栈VPC、双栈ECS,目前正在对外公测中。

那么如何在阿里云拥有IPv4/IPv6双栈VPC、双栈ECS呢,请看下文详解。

操作概览

topo

操作详情

(一)VPC开通IPv6

前提:您已经获取阿里云IPv6使用资格,点我申请公测资格

1.1、登录阿里云专有网络VPC控制台,地域选择“华北5(呼和浩特)”

topo

说明:当前VPC双栈、ECS双栈,只在阿里云中国站华北5(呼和浩特)地域开服。更多地域即将支持VPC IPv6、ECS IPv6功能,敬请期待。

1.2、点击创建专有网络,在右滑页面按照提示进行操作。

topo

topo

创建专有网络的同时,您还需要创建一个交换机。

交换机的IPv6网段支持用户自定义后8比特位,您可以在输入框输入0-255范围内的任意数字(十进制0-255对应交换机IPv6网段的后8比特位)。

topo

1.3、创建完成后,您可以在VPC的列表页查看刚才创建的IPv6/IPv4 双栈VPC。
topo

也可以控制台交换机列表页查看刚才创建的IPv6/IPv4双栈交换机。
topo

(二)为ECS实例分配IPv6地址

2.1、在已经开通了IPv6的交换机列表页,点击购买-ECS实例

topo

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

topo

按ECS购买页面提示选择镜像系统和存储数据盘。点击下一步:网络和安全组”

2.3、在ECS购买页面网络和安全组页面选择为ECS实例免费分配IPv6地址

topo

然后按ECS购买页面的提示完成ECS的购买。

2.4、返回ECS实例列表页,点击ECS的ID,进入ECS管理页面进行查看。在配置信息可以看到系统为ECS分配的IPv6地址

topo

topo

(三)IPv6安全组设置

创建ECS完成后,ECS的安全组出方向默认允许所有访问(包含IPv4地址段和IPv6地址段),您可以根据需要,配置安全组授权指定IPv6地址段的入方向访问策略。

本示例中,为了便于演示,安全组将允许任意IPv6地址段访问ECS。

在ECS详情页的左侧导航栏,选择本实例安全组。然后再安全组的列表页点击配置规则

topo

topo

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

topo

topo

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

topo

(四)ECS实例配置IPv6服务和IPv6地址

IPv6公测中,默认不会为ECS实例配置IPv6地址,您可以通过工具为实例配置IPv6服务及IPv6静态地址。

您也可以手工配置IPv6服务(Windows / Linux)、及配置静态IPv6地址(Windows/ Linux

本文采用手工方式配置Linux的IPv6服务及静态IPv6地址。

为ECS实例配置IPv6服务

4.1、先为上面创建的ECS实例配置IPv6服务,因为ECS为Linux,远程连接ECS实例后,分别执行如下操作

运行 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=1 修改为 options ipv6 disable=0

topo

运行 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

topo

运行 sysctl -p 使配置生效。

4.2 运行 ip addr | grep inet6 ,查看ECS实例的IPv6地址是否已经生效。如下图所示,配置的IPv6服务已经生效。

topo

为ECS实例配置静态IPv6地址

4.3、运行 curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/

获取ECS实例的mac地址如下图:

topo

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

topo

4.4、运行 curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/[mac]/ipv6-gateway

获取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网关地址如下图:

topo

4.5、运行 vi /etc/sysconfig/network-scripts/ifcfg-eth0 打开网卡配置文件,eth0 为网卡标识符,您需要修改成实际的标识符。在文件中根据实际信息添加以下配置:

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

topo

4.6、重启网络服务:运行 service network restart 或 systemctl restart network

4.7、通过ifconfig命令,查看ECS实例的IPv6地址

topo

(五)创建IPv6公网带宽

为ECS分配的IPv6地址,其默认IPv6公网带宽为0Mbps,即该IPv6地址只具备VPC私网通信权限,不能与互联网进行通信。

如果您需要ECS实例通过IPv6地址与互联网进行通信,您还需要登录IPv6网关控制台,为指定的IPv6地址开通IPv6公网带宽。

控制台执行VPC开通IPv6时,系统将为您自动创建一个免费版的IPv6网关,IPv6网关是VPC管理IPv6公网流量的出入口。(点我查看更多IPv6网关信息

5.1、 登录IPv6网关控制台,可以看到VPC开通IPv6时系统自动创建的免费版IPv6网关。点击IPv6网关实例ID进入管理页面。

topo

5.2、左侧导航栏选择IPv6公网带宽,在这个页面,可以看到当前VPC下面所有实例的IPv6地址。选择要开通IPv6公网带宽的IPv6地址,点击开通公网带宽

topo

5.3、在IPv6公网带宽的购买页面,选择您需要的公网计费方式和带宽峰值,点击立即购买

topo

在IPv6地址列表下面点击刷新,就可以看到已开通的IPv6公网带宽信息,有IPv6公网带宽的IPv6地址具备IPv6公网通信权限。

topo

此时,ECS实例可通过IPv6地址访问互联网,也可以被互联网指定的IPv6终端主动访问。

(六)验证ECS实例公网通信能力

6.1、远程登录上面创建的ECS实例,先ping具备ipv6地址的网站,验证ECS的IPv6连通性。

topo

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

topo

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

topo

(七)高阶功能:使ECS实例只具备IPv6公网仅主动出能力

为了安全考虑,您需要ECS经IPv6地址只能主动访问互联网,而不需要被互联网IPv6终端主动发起对您IPv6地址的连接,您还可以进一步设置IPv6公网仅主动出权限。

7.1、登录IPv6网关控制台,可以看到VPC开通IPv6时系统自动创建的免费版IPv6网关。点击IPv6网关实例ID进入管理页面。左侧导航栏选择仅主动出规则,在这个页面,点击创建仅主动出规则

topo

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

topo

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

topo

7.2、登录ipv6终端访问第(六)步搭建了web服务的ECS实例,验证仅主动出规则是否生效

topo

但登录ECS实例,访问有IPv6地址的网站,依然可以成功访问,仅主动出规则生效。

topo

有用链接

什么是IPv6网关

VPC开启IPv6

交换机开启IPv6

管理IPv6公网带宽

管理出公网规则

ECS实例配置IPv6地址

ECS 支持 IPv6 啦,快来尝鲜吧~

IPv6 VPC|ECS公测申请