最佳实践:阿里云VPC、ECS支持IPv6啦!
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静态地址。
您也可以手工配置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

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

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地址的网站,依然可以成功访问,仅主动出规则生效。

有用链接
最佳实践:阿里云VPC、ECS支持IPv6啦!的更多相关文章
- 探索云数据库最佳实践 阿里云开发者大会数据库专场邀你一起Code up!
盛夏.魔都.科技 三者在一起有什么惊喜? 7月24日,阿里云峰会·上海——开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享数据库.云原生.开源大数据等领域的技术干货,共同探讨前沿科技趋势, ...
- 配置阿里云ECS支持IPv6,解决苹果app审核失败问题
前几天iOS的App提交给苹果审核没通过,给出的原因是:该应用在 IPv6 的环境下无法使用.检查发现:阿里云优化过的系统没有启用IPv6协议,需要配置启用一下,但是只单独启用IPv6也是无法直接提供 ...
- 使用OpenVPN连通管理多个阿里云VPC网络
这篇文章比较长,将从需求.思路.原理.架构.实施步骤.细节分析.高可用等几个方面来讲述OpenVPN的使用,如果看到很熟悉的内容或者不感兴趣的部分,请您跳过. 需求 公司网络环境更换,导致原来连接阿里 ...
- 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的
在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...
- 新购阿里云服务器ECS创建之后无法ssh连接的问题处理
作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 问题描述 由于原服务器将要到期,因此趁着阿里云搞促销活动重新购买了一 ...
- 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...
- 阿里云(ECS)Centos服务器LNMP环境搭建
阿里云( ECS ) Centos7 服务器 LNMP 环境搭建 前言 第一次接触阿里云是大四的时候,当时在校外公司做兼职,关于智能家居项目的,话说当时俺就只有一个月左右的 php 后台开发经验(还是 ...
- 阿里云服务器 ECS Ubuntu系统安装配置
1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示 ...
- 阿里云VPC绑定EIP实现SNAT
阿里云VPC需要了解的几个问题 什么是VPC 虚拟私有网络(Virtual Private Network),能够帮助用户基于阿里云构建出一个隔离的网络环境.用户可以完全掌控自己的虚拟网络,包括选择自 ...
随机推荐
- codeforces863F Almost Permutation 费用流
题目传送门 题意: 构造出一个数列,数字在$1~n$的范围内,要求$\sum_{i=1}^n count(i)^{2}$最小,$count(i)$的意思是数列中i出现的次数.并且数列要满足两种类型的 ...
- Oracle数据库中文乱码问题解决
1.查看服务器端编码select userenv('language') from dual;我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK 2.执行语句 select * f ...
- PyCharm Change Font Size
file->settings->colors&fonts-> save as (save the current scheme as your own)-> font- ...
- C#中ArrayList 、Array与、string、string[]数组的相关转换
一.ArrayList 与 string.string[]数组的转换 1.ArrayList 转换为 string[] : ArrayList list = new ArrayList(); list ...
- MaxCompute新功能发布
2018年Q3 MaxCompute重磅发布了一系列新功能. 本文对主要新功能和增强功能进行了概述. 实时交互式查询:Lightning on MaxCompute 生态兼容:Spark on Max ...
- 微信小程序截取字符串
我这里用的 str.substring(star,end)第一个参数代表开始位置,第二个参数代表结束位置的下一个位置;若参数值为负数,则将该值转为0;两个参数中,取较小值作为开始位置,截取出来的字符串 ...
- C++ STL(一)介绍及string
STL: C++标准模板库的简称,它是C++的一部份.标准C++库的所有的标识符都是在一个名为std的命名空间中定义的 在使用STL中相关模板时,需要包含相关头文件,然后using namespace ...
- Linux命令篇-服务器查看日志(续)
此文是继上文如何在服务器看日志的续集.之所以我觉得自己很菜,是因为我的周围都是大佬,他们都是值得我学习的对象. 通常大家看日志,无非两种,一是more命令,一是tail命令,其中的过程要么是翻页查看, ...
- NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))
NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...
- java Logger 类
package org.rx.common; import org.slf4j.LoggerFactory; import java.util.Collections; import java.uti ...