12月6日,阿里云宣布为企业提供全栈IPv6解决方案。
阿里云专有网络VPC、云服务器ECS,作为阿里云的核心产品,也于2018年11月底上线双栈VPC、双栈ECS,目前正在对外公测中。
那么如何在阿里云拥有IPv4/IPv6双栈VPC、双栈ECS呢,请看下文详解。
操作概览
操作详情
(一)VPC开通IPv6
前提:您已经获取阿里云IPv6使用资格,点我申请公测资格
1.1、登录阿里云专有网络VPC控制台,地域选择“华北5(呼和浩特)”。
说明:当前VPC双栈、ECS双栈,只在阿里云中国站华北5(呼和浩特)地域开服。更多地域即将支持VPC IPv6、ECS IPv6功能,敬请期待。
1.2、点击创建专有网络,在右滑页面按照提示进行操作。
创建专有网络的同时,您还需要创建一个交换机。
交换机的IPv6网段支持用户自定义后8比特位,您可以在输入框输入0-255范围内的任意数字(十进制0-255对应交换机IPv6网段的后8比特位)。
1.3、创建完成后,您可以在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实例列表页,点击ECS的ID,进入ECS管理页面进行查看。在配置信息可以看到系统为ECS分配的IPv6地址
(三)IPv6安全组设置
创建ECS完成后,ECS的安全组出方向默认允许所有访问(包含IPv4地址段和IPv6地址段),您可以根据需要,配置安全组授权指定IPv6地址段的入方向访问策略。
本示例中,为了便于演示,安全组将允许任意IPv6地址段访问ECS。
在ECS详情页的左侧导航栏,选择本实例安全组。然后再安全组的列表页点击配置规则。
点击右上角的添加安全组规则,为ECS实例IPv6地址段设置安全组规则。
如下图所示,ECS实例的入方向对任意IPv6地址段进行放行。
(四)ECS实例配置IPv6服务和IPv6地址
IPv6公测中,默认不会为ECS实例配置IPv6地址,您可以通过工具为实例配置IPv6服务及IPv6静态地址。
本文采用手工方式配置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
运行 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地址也可通过控制台进行查看。如下图所示
4.4、运行 curl
获取ECS实例的IPv6网关地址,用上面获取的mac地址替换命令中的[mac]。
如本示例中执行如下:
获取IPv6网关地址如下图:
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
4.6、重启网络服务:运行 service network restart 或 systemctl restart network
4.7、通过ifconfig命令,查看ECS实例的IPv6地址
(五)创建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进入管理页面。
5.2、左侧导航栏选择IPv6公网带宽,在这个页面,可以看到当前VPC下面所有实例的IPv6地址。选择要开通IPv6公网带宽的IPv6地址,点击开通公网带宽。
5.3、在IPv6公网带宽的购买页面,选择您需要的公网计费方式和带宽峰值,点击立即购买。
在IPv6地址列表下面点击刷新,就可以看到已开通的IPv6公网带宽信息,有IPv6公网带宽的IPv6地址具备IPv6公网通信权限。
此时,ECS实例可通过IPv6地址访问互联网,也可以被互联网指定的IPv6终端主动访问。
(六)验证ECS实例公网通信能力
6.1、远程登录上面创建的ECS实例,先ping具备ipv6地址的网站,验证ECS的IPv6连通性。
6.2、搭建简单web服务,验证是否可以被IPv6终端访问,
通过IPv6终端进行访问,访问结果如下,访问成功。
(七)高阶功能:使ECS实例只具备IPv6公网仅主动出能力
为了安全考虑,您需要ECS经IPv6地址只能主动访问互联网,而不需要被互联网IPv6终端主动发起对您IPv6地址的连接,您还可以进一步设置IPv6公网仅主动出权限。
7.1、登录IPv6网关控制台,可以看到VPC开通IPv6时系统自动创建的免费版IPv6网关。点击IPv6网关实例ID进入管理页面。左侧导航栏选择仅主动出规则,在这个页面,点击创建仅主动出规则。
在右滑页面选择需要设置IPv6公网仅主动出权限的ECS实例,单击确定。
在仅主动出规则的列表页,可以看到刚才创建的仅主动出规则。如下图
7.2、登录ipv6终端访问第(六)步搭建了web服务的ECS实例,验证仅主动出规则是否生效
但登录ECS实例,访问有IPv6地址的网站,依然可以成功访问,仅主动出规则生效。