说明 由于IPv4网络地址资源的有限性,在IPv4环境中,网络工程师经常需要花费大量时间和精力去解决地址冲突等问题。相比之下,引入IPv6网段后,不仅因其庞大的地址空间解决了网络地址资源的限制问题,还消除了众多接入设备连接互联网时所面临的障碍。
 使用限制
IPv6网关支持的地域
说明 IPv6 网关(IPv6 Gateway)是VPC的一个IPv6流量网关。默认申请的IPv6地址只具备IPv6私网通信能力,您可以通过在IPv6网关中为IPv6地址开通IPv6公网带宽,使其具备公网通信能力。详细信息,请参见IPv6网关。
 | 区域 | 地域 | 
| 中国 | 华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华东6(福州-本地地域)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、华东5(南京-本地地域)、华中1(武汉-本地地域) | 
| 亚太 | 菲律宾(马尼拉)、新加坡、日本(东京)、韩国(首尔)、印度尼西亚(雅加达)、马来西亚(吉隆坡)、泰国(曼谷) | 
| 欧洲与美洲 | 美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)、英国(伦敦) | 
不支持IPv6的ECS实例规格族
- 密集计算型实例规格族ic5 
- 内存型实例规格族se1 
- 大数据型实例规格族d1 
- 本地SSD型实例规格族i2g,本地SSD型实例规格族i1 
- 高主频计算型实例规格族hfc5,高主频通用型实例规格族hfg5 
- 通用型弹性裸金属服务器实例规格族ebmg5,内存网络增强型弹性裸金属服务器实例规格族ebmr5s 
- 上一代共享型实例规格族xn4、n4、mn4、e4 
- 高主频型超级计算集群实例规格族scch5 
- GPU计算型实例规格族gn5 
ECS实例可分配的IPv6地址数量限制
单台ECS实例可分配的IPv6地址数量取决于实例可绑定的弹性网卡和单张网卡可分配的IPv6地址数量:
配置步骤
步骤二: 分配IPv6地址
为ECS实例分配IPv6地址,以使其能够通过IPv6协议与其他实例或外部网络进行通信。
为已有实例分配IPv6地址
- 访问ECS控制台-实例。 
- 在页面左侧顶部,选择目标资源所在的资源组和地域。  
 
- 找到目标ECS实例,点击进入实例详情页。在全部操作中选择。  
 
- 在管理辅助私网IP对话框中,按照界面提示分配IPv6地址。  
 
- 单击确定。 
新建实例时分配IPv6地址
创建实例时,需要注意以下信息(其他配置说明,请参见自定义购买实例): 
- 网络及可用区:选择已开通IPv6的专有网络和交换机。 
- 实例:点击查看更多规格参数,筛选出支持IPv6的实例规格,并选择一个实例规格。 
  
 
- 带宽和安全组:单击弹性网卡|IPv6(选填),然后选中免费分配 IPv6 地址。  
 
分配完成后,您可以通过ECS管理控制台查看IP地址详情。具体操作,请参见IP地址。
步骤三: 配置IPv6地址
将IPv6地址配置到云服务器的网卡上,以使镜像操作系统内部识别并生效IPv6。
- 部分镜像支持自动配置并识别IPv6地址,通过以下步骤确认您的ECS实例操作系统是否已经识别了IPv6地址。 - Linux实例- 远程连接Linux实例。 - 具体操作,请参见使用Workbench登录Linux实例。 
- 执行- ip -6 addr show或者- ifconfig命令。
 - 如果返回信息如下图所示(一个全局单播地址和一个链路本地地址),则表示已成功识别IPv6地址,可以跳过此配置IPv6的步骤,如果没有,请继续执行以下操作。 
 
  
 - Windows实例- 远程连接Windows实例。 - 具体操作,请参见使用Workbench终端连接登录Windows实例(RDP)。 
- 打开命令行工具,执行- ipconfig命令
 - 如果返回信息如下图所示(一个全局单播地址和一个链路本地地址),则表示已成功识别IPv6地址,可以跳过此配置IPv6的步骤,如果没有,请继续执行以下操作。 
 
  
 
- 配置IPv6地址。 
 - 重要 - 自动配置IPv6地址方式需安装云助手;若您的实例不支持或不方便安装云助手,请通过手动方式配置IPv6地址。 
 
- (推荐)自动配置IPv6地址- 前提条件- 实例已安装云助手。若未安装,请参见安装云助手Agent。 
- 仅适用于以下操作系统:Alibaba Cloud Linux 2/3、CentOS 6/7/8、Red Hat 6/7、Anolis OS、Fedora、Ubuntu 14/16/18/20、Debian 8/9/10/11、SUSE 11/12/15、OpenSUSE 15/42、FreeBSD 11。 
 
 - 重要 - 配置过程需使用到云助手,可能会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。 
 
- 操作步骤- 远程连接Linux实例。 - 具体操作,请参见使用Workbench登录Linux实例。 
- 执行以下命令配置IPv6地址。 
 - 说明 - 在默认情况下,执行以下命令时会自动校验- ecs-utils-ipv6插件是否已在本地安装,或本地版本是否为最新。若未安装或版本较旧,插件将自动下载最新版本并执行安装。
 
 
- sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6
 
 - 手动配置(Linux)- 远程连接Linux实例。 - 具体操作,请参见使用Workbench登录Linux实例。 
- 执行- ip addr | grep inet6或者- ifconfig | grep inet6命令,检查实例是否已开启IPv6服务。
 - 如果未返回- inet6相关内容:表示实例未开启IPv6服务,请开启IPv6服务。
 - 如何开启IPv6服务? - Alibaba Cloud Linux 2/3- 执行以下命令,修改- /etc/sysctl.conf配置文件。
 - vi /etc/sysctl.conf
 
- 按- i键进入编辑模式,找到如下内容,将内容末尾数值- 1替换为- 0。
 - net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
 
- 如果需要开启指定网络接口,修改信息示例如下。 - net.ipv6.conf.eth0.disable_ipv6 = 0
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
- 执行以下命令,验证- /etc/sysctl.conf配置信息是否与initramfs中的- /etc/sysctl.conf存在差异。
 - diff -u /etc/sysctl.conf <(lsinitrd -f /etc/sysctl.conf)
 
 - 说明 - Alibaba Cloud Linux 2配置了initramfs(initram file system)。如果initramfs中的- /etc/sysctl.conf文件与IPv6的配置文件- /etc/sysctl.conf存在差异,系统可能会生效新的配置,与您需求的配置混淆。
 
 
- 若两个配置文件存在差异,执行以下命令,重新生成- initramfs。
 - sudo dracut -v -f
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
- 执行- ip addr | grep inet6或者- ifconfig | grep inet6命令,验证是否已成功开启IPv6。
 - 若系统返回- inet6相关内容,则表示IPv6服务已成功开启。
 
 - CentOS 6/7- 执行以下命令,修改- /etc/modprobe.d/disable_ipv6.conf配置文件。
 - vi /etc/modprobe.d/disable_ipv6.conf
 - 按- i键进入编辑模式,将- options ipv6 disable=1修改为- options ipv6 disable=0。
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,修改- /etc/sysconfig/network配置文件。
 - vi /etc/sysconfig/network
 - 按- i键进入编辑模式,将- NETWORKING_IPV6=no修改为- NETWORKING_IPV6=yes。
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- (可选)依次执行以下命令,重新加载IPv6模块。 
 - 说明 - 若您的操作系统为CentOS 6,则需要执行该步骤。否则,跳过该步骤。 
 
- modprobe ipv6 -r
modprobe ipv6
lsmod | grep ipv6
 - 若系统返回以下内容,表明IPv6模块已经成功加载。 - ipv6                  xxxxx  8
 
 - 说明 - 返回内容第三列参数值不能为 0,否则您需要重新设置IPv6服务。 
 
- 执行以下命令,修改- /etc/sysctl.conf配置文件。
 - vi /etc/sysctl.conf
 - 按- i键进入编辑模式,找到如下内容,替换内容末尾数值- 1为- 0。
 - net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,使配置生效。 - sudo sysctl -p
 
 - Debian 8/9- 执行以下命令,修改- /etc/default/grub配置文件。
 - vi /etc/default/grub
 - 按- i键进入编辑模式,删除- ipv6.disable=1内容。
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,修改- /boot/grub/grub.cfg配置文件。
 - vi /boot/grub/grub.cfg
 - 按- i键进入编辑模式,删除- ipv6.disable=1内容。
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 重启Linux实例。具体操作,请参见重启实例。 
- 执行以下命令,修改- /etc/sysctl.conf配置文件。
 - vi /etc/sysctl.conf
 - 按- i键进入编辑模式,找到如下内容,替换内容末尾数值- 1为- 0。
 - net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,使配置生效。 - sudo sysctl -p
 
 - Ubuntu 14/16、OpenSUSE 42- 执行以下命令。修改- vi /etc/sysctl.conf配置文件。
 - vi /etc/sysctl.conf
 - 按- i键进入编辑模式,找到如下内容,替换内容末尾数值- 1为- 0。
 - net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,使配置生效。 - sysctl -p
 
 - FreeBSD 11- 执行以下命令,修改- /etc/rc.conf配置文件。
 - vi /etc/rc.conf
 - 按- i键进入编辑模式,添加- ipv6_activate_all_interfaces="YES"内容。
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,重启网络使配置生效。 - /etc/netstart restart
 
 - SUSE 11/12- 执行以下命令,修改- /etc/modprobe.d/50-ipv6.conf配置文件。
 - vi /etc/modprobe.d/50-ipv6.conf
 - 按- i键进入编辑模式,删除- install ipv6 /bin/true内容。
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令。修改- vi /etc/sysctl.conf配置文件。
 - vi /etc/sysctl.conf
 - 按- i键进入编辑模式,找到如下内容,替换内容末尾数值- 1为- 0。
 - net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
 
- 执行以下命令,使配置生效。 - sysctl -p
 
 
- 如果返回- inet6相关内容:表示实例已开启IPv6服务,请配置IPv6地址。
 
 
- 配置IPv6地址。 - Alibaba Cloud Linux 2/3、CentOS 6/7、Red Hat 6/7- 执行以下命令,修改网卡配置文件。 - vi /etc/sysconfig/network-scripts/ifcfg-eth0
 - eth0:需要替换为实际网卡接口名称。修改完成后,保存并退出。
 
- 按- i键进入编辑模式,在文件中根据实际信息添加以下配置。
 - DHCPV6C=yes
IPV6INIT=yes
 
- 修改完成后按- Esc键退出编辑模式,输入- :wq后按下回车键,保存并退出。
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 - CentOS 8- 确认网卡配置文件是否包含- IPV6INIT=yes和- DHCPV6C=yes两项内容。如果包含直接进行下一步操作,如果未包含需先手动添加。
 - vi /etc/sysconfig/network-scripts/ifcfg-eth0
 - eth0为网卡标识符,您需要修改成实际的标识符。修改完成后,保存并退出。
 
- 禁用cloud-init修改- /etc/sysconfig/network-scripts/目录下网卡文件的能力。
 
 - 说明 - 分配IPv6地址后无需手动配置,但重启之后可能丢失,因此需要禁用cloud-init修改网卡文件的能力。 
 
- 执行- vi /etc/cloud/cloud.cfg打开网卡配置文件。
 - vi /etc/cloud/cloud.cfg
 
- 在- Example datasource config内容前添加以下信息:
 - network:
  config: disabled
 - 修改完成后,保存并退出。 
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 - Debian 8/9/10/11、Ubuntu 16- 执行- vi /etc/network/interfaces打开网卡配置文件,在文件中根据实际信息添加以下内容:
 - iface eth0 inet6 dhcp
 - eth0:需要替换为实际网卡接口名称。修改完成后,保存并退出。
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 - Ubuntu 18/20- 禁用cloud-init修改- /etc/sysconfig/network-scripts/目录下网卡文件的能力。
 
 - 说明 - 分配IPv6地址后无需手动配置,但重启之后可能丢失,因此需要禁用cloud-init修改网卡文件的能力。 
 
- 执行- vi /etc/cloud/cloud.cfg打开网卡配置文件。
 - vi /etc/cloud/cloud.cfg
 
- 在- Example datasource config内容前添加以下信息:
 - network:
  config: disabled
 - 修改完成后,保存并退出。 
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 - Ubuntu 14 - 执行- vi /etc/network/interfaces打开网卡配置文件,在文件中根据实际信息添加以下内容:
 - iface eth0 inet6 dhcp
 - eth0:需要替换为实际网卡接口名称。修改完成后,保存并退出。
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 - FreeBSD 11- 执行- vi /etc/rc.conf命令,打开网卡配置文件,在文件中根据实际信息添加以下内容:
 - ipv6_enable="YES"
ipv6_ifconfig_vtnet0="<IPv6地址> <子网前缀长度>"
 - vtnet0:需要替换为实际网卡接口名称。修改完成后,保存并退出。
 
- 继续在文件中修改以下信息,修改完成后,保存并退出。 - ip6addrctl_enable="YES"
ipv6_activate_all_interfaces="YES"
ipv6_network_interfaces="auto"
 - 修改完成后,配置文件内容示例如下: - hostname="Aliyun"
sshd_enable="YES"
dumpdev="NO"
ipv6_enable="YES"
ip6addrctl_enable="YES"
ip6addrctl_policy="ipv4_prefer"
ipv6_activate_all_interfaces="YES"
ipv6_network_interfaces="auto"
ifconfig_lo0="inet 127.0.0.1      netmask 255.0.0.0"
ifconfig_vtnet0="inet 192.168.XX.XX netmask 255.255.255.0"
ipv6_ifconfig_vtnet0="2001:XXXX:4:4:4:4:4:4 prefixlen 64"
defaultrouter="192.168.XX.XX"
hostname="freebsd"
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 - Anolis OS 7.9/8.4、CentOS Stream、Fedora- 确认网卡配置文件是否包含- IPV6INIT=yes和- DHCPV6C=yes两项内容。如果包含无需再做任何操作,如果未包含需先手动添加。
 - vi /etc/sysconfig/network-scripts/ifcfg-eth0
 - eth0:需要替换为实际网卡接口名称。修改完成后,保存并退出。
 
- 重启ECS实例使配置生效。具体操作,请参见重启实例。 
 
 - 手动配置(Windows)- 远程连接Windows实例。 - 具体操作,请参见使用Workbench终端连接登录Windows实例(RDP)。 
- 打开命令行工具,执行- ipconfig命令,检查实例是否已开启IPv6服务。
 - 如果未返回- inet6相关内容:表示实例未开启IPv6服务,请开启IPv6服务。
 - 如何开启IPv6服务? - 选择。 
- 单击当前网络连接名,打开状态界面,再单击属性。 
- 选中Internet 协议版本 6 (TCP/IPv6)。 - Windows Server 2008/2012/2016/2019/2022的操作步骤如下:  - 检查IPv6协议这一行是否被选中。如果没有选中则需要先选中,然后单击确定。 
- Windows Server 2003的操作步骤如下:  - 根据IPv6协议是否存在,执行不同操作。 - 存在IPv6协议: - 选中Internet 协议版本 6 (TCP/IPv6),再单击确定。 
 - 不存在IPv6协议: - 在本地连接属性页面,单击安装,在网络组件类型页面单击。 
- 在选择网络协议页面,选择完成安装。 
- 选中Internet 协议版本 6 (TCP/IPv6),再单击确定。 
 
 
 
- 如果返回- inet6相关内容:表示实例已开启IPv6服务,请配置IPv6地址。
 
 
- 配置IPv6地址。 - 在实例详情页,获取已生成的IPv6地址。 
- 配置IPv6地址。 - Windows Server 2008/2012/2016的操作步骤如下:  - 选择。 
- 单击当前网络连接名,打开状态界面,再单击属性。 
- 选择。 
- 选中使用以下IPv6地址,并填入IPv6地址、子网前缀长度和IPv6网关,单击确定。 
- (可选)绑定多个IPv6地址:在Internet 协议版本 6(TCP/IP)属性界面,单击高级打开高级设置界面,单击添加做批量处理。完成后单击确定。 
 
- Windows Server 2003的操作步骤如下:  - 选择,查看当前网络连接名,假设为本地连接 2。 
- 在Windows系统桌面使用- Win+R组合键打开运行对话框,并输入- cmd命令,然后单击确定,打开命令行工具。
 
- 添加IPv6地址。  - 单个IPv6地址执行以下命令: 
- netsh interface ipv6 add address "本地连接 2" <IPv6 地址>
 
- 多个IPv6地址执行以下命令: 
- netsh interface ipv6 add address "本地连接 2" <IPv6 地址 1>
netsh interface ipv6 add address "本地连接 2" <IPv6 地址 2>
 
 
- 执行以下命令,添加默认路由。 
- netsh interface ipv6 add route ::/0 "本地连接 2" <IPv6 网关>
 
 
 
 
 
- (条件必选)如果您的ECS实例运行的是Linux系统,请执行此步骤;否则,可跳过此操作。 - 执行以下命令,查看实例是否安装了多网卡配置工具。 - ls /sbin/eni-ifscan
 - 若返回信息如下图,则表示实例预装了多网卡配置工具,您需要修改多网卡配置工具的- eni-function文件。
 
 - 说明 - 如果Linux实例预装了多网卡配置工具,由于该工具默认不支持IPv6,将导致Linux系统内的IPv6网卡无法自动识别,实例重启后系统无法获取IPv6地址。 
 
 
 - 如何修改- eni-function文件
 - 执行以下命令,修改- eni-function文件。
 - vim /etc/eni_utils/eni-function 
 
- 按- i键进入编辑模式,将- IPV6INIT=no修改为- IPV6INIT=yes,并添加- DHCPV6C=yes行,修改后保存并退出。
  
 
 
- 验证,当输入- ifconfig或- ipconfig命令返回第一步的结果时即表示配置成功。
 
此时ECS实例已具备IPv6私网通信的能力,可以按如下步骤测试私网连通性。
测试私网连通性
说明 测试IPv6的网络连通性时,您需要确保服务端与客户端都支持并配置了IPv6。在此示例中,两台ECS实例互相访问的前提是您的ECS01实例与ECS02实例均已配置了IPv6。
 在ECS01实例中执行ping6 <ECS02 IPv6私网地址>命令,ping6ECS02实例的IPv6地址,测试私网通信是否正常。
如果能接收到回复报文,表示通信正常。经测试,ECS01实例到ECS02实例的IPv6私网通信正常。
在ECS02实例中执行ping6命令,pingECS01实例的IPv6地址,测试私网通信是否正常。
如果能接收到回复报文,表示通信正常。经测试,ECS02实例到ECS01实例的IPv6私网通信正常。
步骤四: 开通IPv6公网带宽
默认云服务器的IPv6地址仅具有私网通信能力,若您想要通过该IPv6地址访问公网或被公网访问,则需参照如下步骤开通IPv6公网带宽。
- 登录专有网络管理控制台。 
- 在左侧导航栏,选择。 
- 在顶部菜单栏处,选择IPv6网关的地域。
- 在IPv6网关页面,根据实例的专有网络ID找到对应IPv6网关,然后单击IPv6网关ID。 
- 在IPv6网关的详情页面,单击IPv6公网带宽页签,找到目标IPv6地址,然后在操作列单击开通公网带宽。 
- 在IPv6公网带宽(后付费)页面,根据以下信息配置公网带宽,然后单击立即购买并完成支付。 | 参数 | 描述 |  | 流量 | 选择公网带宽的计费类型。 公网带宽支持按固定带宽计费和按使用流量计费两种计费类型。更多信息,请参见计费说明。 |  | 带宽 | 根据需要调整公网带宽的带宽峰值。 |  | 计费周期 | 公网带宽的计费周期。有Day(按天)和Hour(按小时)两种计费周期。 |  
 
开通IPv6公网带宽完成后,即可测试IPv6的公网连通性。
说明 测试IPv6的网络连通性时,您需要确保服务端与客户端都支持并配置了IPv6。
 ping -6 aliyun.com
系统返回信息如下图所示,表示网络连接正常。
说明 在此示例中,网站aliyun.com已支持IPv6,当您的ECS实例配置完成后,即可通过IPv6访问aliyun.com。
 其他操作
添加IPv6安全组规则
IPv4和IPv6通信彼此独立,如果当前的安全组规则不能满足业务需求,为了增强网络安全性您需要为ECS实例单独配置IPv6安全组规则。
如何添加IPv6安全组规则
- 访问ECS控制台-安全组。 
- 在页面左侧顶部,选择目标资源所在的资源组和地域。  
 
- 找到目标安全组,在操作列中,单击管理规则。 
- 在安全组详情页,找到访问规则区域,选择入方向或出方向。 
- 添加安全组规则。具体操作,请参见添加安全组规则。 
 - 说明 - 您需要设置访问来源为IPv6地址段,例如:- 2001:db8:1234:1a00::***。有关安全组规则更多信息,可参见安全组规则。
 
 
 
 
删除已分配的IPv6地址
如果您的ECS实例不需要IPv6地址,您可以删除实例的IPv6地址。删除IPv6地址后,您仍然可以使用IPv4地址。本章节介绍如何通过ECS管理控制台删除IPv6地址。
操作步骤
- 访问ECS控制台-弹性网卡。 
- 在页面左侧顶部,选择目标资源所在的资源组和地域。  
 
- 在弹性网卡页面,选择已绑定至目标实例并分配了IPv6地址的弹性网卡,然后在操作列单击管理弹性网卡IP。 
- 在弹出的管理弹性网卡IP对话框中,单击待删除的目标IPv6地址右侧的 图标。 图标。
 
- 单击确定。