全部产品
Search
文档中心

云服务器 ECS:配置ECS实例的IPv6地址

更新时间:Jan 23, 2024

默认情况下,您在新建ECS实例时只分配IPv4地址,不分配IPv6地址。如需使用IPv6地址并通过IPv6地址进行通信时,您需要配置IPv6地址。本文介绍如何配置ECS实例的IPv6地址。

前提条件

  • 为新建实例分配IPv6地址时,需确保实例所在的VPC和交换机已经开通IPv6网段。更多信息,请参见VPC开通IPv6交换机开通IPv6

  • 为已有实例分配IPv6地址时:

    • 实例支持IPv6。关于实例规格是否支持IPv6属性的更多信息,请参见实例规格族

    • 实例的网络类型为专有网络VPC,且VPC和交换机已经开通IPv6网段。更多信息,请参见VPC开通IPv6交换机开通IPv6

    • 实例的状态为运行中已停止

操作步骤

使用IPv6的流程图如下所示:

image

步骤1:搭建IPv6 VPC

在配置ECS实例的IPv6地址前,您需要先搭建IPv6 VPC为ECS实例提供IPv6网络通信环境。

默认情况下,专有网络使用IPv4寻址协议。您可以根据需要开通IPv6寻址协议。关于IPv6地址的更多信息,请参见IP地址概述

步骤2:分配IPv6地址

在配置ECS实例的IPv6地址前,您需要为ECS实例分配IPv6地址,使其能够通过IPv6协议与其他实例或外部网络进行通信。

场景一:为已有实例分配IPv6地址

说明

如果您已在EventBridge、云监控中设置了IP事件通知以获取IPv6地址分配操作的结果,本操作结束后,您将会收到IPv6地址分配完成事件通知。您可以基于通知内容获取分配IPv6地址操作相关的信息(例如弹性网卡ID、IPv6地址等),并实现自动化处理。具体操作,请参见订阅ECS系统事件通知云服务器ECS事件私网IPv6地址分配完成事件通知

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 选择已创建的ECS实例,在操作列下选择icon1 > 网络和安全组 > 管理辅助私网IP

  5. 管理辅助私网IP对话框中,单击IPv6地址右侧的分配新IP

  6. 选择IPv6地址的分配方式。

    • 不设置:系统自动分配一个新的IPv6地址。

    • 手动填写:需要您手动补全IPv6地址。

  7. 单击确定

场景二:为新建实例分配IPv6地址

创建实例的具体步骤,请参见自定义购买实例。在选择配置时,您需要注意以下几点:

  • 基础配置页面,筛选出支持IPv6的实例规格,并选择一个实例规格。

  • 网络和安全组页面:

    1. 选择已开通IPv6的专有网络和交换机。

    2. 选中免费分配 IPv6 地址

  • 确认订单页面,确认已分配的IPv6地址。

分配完成后,您可以通过ECS管理控制台查看IP地址详情。具体操作,请参见查看IP地址

(可选)步骤3:开通IPv6公网带宽

默认云服务器的IPv6地址仅具有私网通信能力,若您想要通过该IPv6地址访问公网或被公网访问,则需开通IPv6公网带宽。

  1. 登录专有网络管理控制台

  2. 在左侧导航栏,选择公网访问 > IPv6网关

  3. 在顶部菜单栏处,选择IPv6网关的地域。
  4. IPv6网关页面,根据实例的专有网络ID找到对应IPv6网关,然后单击IPv6网关ID。

  5. 在IPv6网关的详情页面,单击IPv6公网带宽页签,找到目标IPv6地址,然后在操作列单击开通公网带宽

  6. IPv6公网带宽(后付费)页面,根据以下信息配置公网带宽,然后单击立即购买并完成支付。

    参数

    描述

    流量

    选择公网带宽的计费类型。

    公网带宽支持按固定带宽计费按使用流量计费两种计费类型。更多信息,请参见计费说明

    带宽

    根据需要调整公网带宽的带宽峰值。

    计费周期

    公网带宽的计费周期。有Day(按天)Hour(按小时)两种计费周期。

    当公网带宽选择按固定带宽计费时,计费周期为Day(按天),当公网带宽选择按使用流量计费时,计费周期为Hour(按小时)

步骤4:配置IPv6地址

您需要通过工具或手动配置方式将IPv6地址配置到云服务器的网卡上,使镜像操作系统内部识别并生效IPv6。

下面分别介绍Linux云服务器和Windows云服务器如何配置IPv6地址。

说明

若您选择自动配置IPv6地址的方式,您需要确保ECS实例具有公网访问能力,以便下载ecs-util-ipv6工具。

Linux 云服务器

自动配置IPv6地址(推荐)

ecs-util-ipv6工具可以为已分配IPv6地址的ECS实例一键配置IPv6地址,也可以为未分配IPv6地址的ECS实例一键清理IPv6配置。

说明

ecs-util-ipv6工具的使用限制如下:

  • ecs-util-ipv6工具仅适用于VPC类型实例,依赖实例元数据服务,使用前请勿将网络禁用或者将相关出口IP端口(100.100.100.200:80)禁用。详情请参见实例元数据

  • ecs-util-ipv6工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。

以下操作以CentOS系统为例,介绍如何自动配置IPv6地址。

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,下载ecs-util-ipv6工具。

    wget https://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/rhel/ecs-utils-ipv6

    各操作系统的ecs-util-ipv6工具下载地址如下表所示:

    系列

    发行版

    下载地址

    RHEL

    • CentOS 5/6/7/8

    • Red Hat 5/6/7

    • Anolis OS

    • Fedora

    • Alibaba Cloud Linux 2/3

    下载地址

    Debian

    • Ubuntu 14/16/18/20

    • Debian 8/9/10/11

    下载地址

    SLES

    • SUSE 11/12/15

    • OpenSUSE 15/42

    下载地址

    FreeBSD

    FreeBSD 11

    下载地址

  3. 使用管理员权限执行以下命令,运行ecs-util-ipv6工具。

    chmod +x ./ecs-utils-ipv6
    ./ecs-utils-ipv6
  4. (可选)如果镜像版本为Ubuntu 14版本的公共镜像,则您需重启ECS实例才能生效。具体操作,请参见重启实例

    说明

    如果当前ECS实例已绑定IPv6地址,则会自动配置;否则会自动清理原有IPv6地址配置。

    • 您可以执行以下相关命令,去开启、禁用ECS实例的IPv6地址、自动配置(默认)和手动配置网卡的IPv6地址。

      ./ecs-utils-ipv6                 #默认可不带参数,自动配置多网卡多IPv6
      ./ecs-utils-ipv6 --enable    #开启IPv6
      ./ecs-utils-ipv6 --disable    #禁用IPv6
      ./ecs-utils-ipv6 --static <网卡名称>      #自动配置网卡IPv6
      ./ecs-utils-ipv6 --static <网卡名称> <IPv6地址> <子网前缀长度> <IPv6网关>     #手动配置网卡IPv6,支持多IPv6,请用""包含,多个IPv6用空格隔开
      说明

      请将上述命令中的<网卡名称><IPv6地址><子网前缀长度><IPv6网关>替换为实际内容。

    • 对于需要自动化配置IPv6实例的需求,例如大批量配置,建议您使用云助手或者实例自定义数据配合脚本的方式来调用。更多信息,请参见云助手实例自定义数据。以下为适用于RHEL系列的Bash Shell脚本示例。

      #!/bin/sh
      install_dir=/usr/sbin
      install_path="$install_dir"/ecs-utils-ipv6
      if [ ! -f "$install_path" ]; then
          tool_url="http://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/rhel/ecs-utils-ipv6"
          # download the tool
          if ! wget "$tool_url" -O "$install_path"; then
              echo "[Error] download tool failed, code $?"
              exit "$?"
          fi
      fi
      # chmod the tool
      if ! chmod +x "$install_path"; then
          echo "[Error] chmod tool failed, code $?"
          exit "$?"
      fi
      # run the tool
      "$install_path"

手动配置IPv6地址(Alibaba Cloud Linux 2/3操作系统)

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行ip addr | grep inet6或者ifconfig | grep inet6命令,检查实例是否已开启IPv6服务。

    说明

    Alibaba Cloud Linux 2镜像在aliyun_2_1903_64_20G_alibase_20190829.vhd及之前的版本未开启IPv6,从aliyun_2_1903_x64_20G_alibase_20200221.vhd版本开始默认开启IPv6服务。

    • 如果返回inet6相关内容,表示实例已成功开启IPv6服务。您可以跳过下文开启IPv6服务的步骤,直接配置IPv6地址。

    • 如果未返回inet6相关内容,表示实例未开启IPv6服务,请根据下文开启IPv6服务。

  3. 开启IPv6服务。

    1. 执行以下命令,修改/etc/sysctl.conf配置文件。

      vi /etc/sysctl.conf
    2. i键进入编辑模式,找到如下内容,替换内容末尾数值10

      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
    3. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    4. 执行以下命令,验证/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
    5. 执行以下命令,重启实例使配置生效。

      reboot
    6. 执行ifconfig命令,判断是否已开启IPv6。

      若系统返回网络配置信息包含以下信息,表示IPv6已开启。

      inet6 <以fe80::开头的单播地址>
      inet6 <ECS实例的IPv6地址>
  4. 手动配置IPv6地址。

    1. 执行以下命令,修改网卡配置文件。

      说明

      eth0为网卡标识符,请您将eth0替换成实际的标识符。

      vi /etc/sysconfig/network-scripts/ifcfg-eth0
    2. i键进入编辑模式,在文件中根据实际信息添加以下配置。

      DHCPV6C=yes
      IPV6INIT=yes
    3. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    4. 执行以下命令,重启实例使配置生效。

      reboot

手动配置IPv6地址(其他操作系统)

CentOS、Debian、Ubuntu、Fedora等操作系统请完成以下操作,手动配置IPv6地址:

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行ip addr | grep inet6或者ifconfig | grep inet6命令,检查实例是否已开启IPv6服务。

    说明

    CentOS 8、Debian 10及以上版本、Ubuntu 18及以上版本等操作系统已默认开启IPv6服务。

    • 如果返回inet6相关内容,表示实例已成功开启IPv6服务。您可以跳过下文开启IPv6服务的步骤,直接配置IPv6地址。

    • 如果未返回inet6相关内容,表示实例未开启IPv6服务,请根据下文开启IPv6服务。

  3. 开启IPv6服务。

    操作系统

    操作步骤

    CentOS 6/7

    1. 执行以下命令,修改/etc/modprobe.d/disable_ipv6.conf配置文件。

      vi /etc/modprobe.d/disable_ipv6.conf
      1. i键进入编辑模式,将options ipv6 disable=1修改为options ipv6 disable=0

      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    2. 执行以下命令,修改/etc/sysconfig/network配置文件。

      vi /etc/sysconfig/network
      1. i键进入编辑模式,将NETWORKING_IPV6=no修改为NETWORKING_IPV6=yes

      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    3. (可选)依次执行以下命令,重新加载IPv6模块。

      说明

      若您的操作系统为CentOS 6,则需要执行该步骤。否则,跳过该步骤。

      modprobe ipv6 -r
      modprobe ipv6
      lsmod | grep ipv6

      若系统返回以下内容,表明IPv6模块已经成功加载。

      ipv6                  xxxxx  8
      说明

      返回内容第三列参数值不能为 0,否则您需要重新设置IPv6服务。

    4. 执行以下命令,修改/etc/sysctl.conf配置文件。

      vi /etc/sysctl.conf
      1. i键进入编辑模式,找到如下内容,替换内容末尾数值10

        #net.ipv6.conf.all.disable_ipv6 = 1
        #net.ipv6.conf.default.disable_ipv6 = 1
        #net.ipv6.conf.lo.disable_ipv6 = 1
      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    5. 执行以下命令,使配置生效。

      sysctl -p

    Debian 8/9

    1. 执行以下命令,修改/etc/default/grub配置文件。

      vi /etc/default/grub
      1. i键进入编辑模式,删除ipv6.disable=1内容。

      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    2. 执行以下命令,修改/boot/grub/grub.cfg配置文件。

      vi /boot/grub/grub.cfg
      1. i键进入编辑模式,删除ipv6.disable=1内容。

      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    3. 重启Linux实例。具体操作,请参见重启实例

    4. 执行以下命令,修改/etc/sysctl.conf配置文件。

      vi /etc/sysctl.conf
      1. i键进入编辑模式,找到如下内容,替换内容末尾数值10

        net.ipv6.conf.all.disable_ipv6 = 0
        net.ipv6.conf.default.disable_ipv6 = 0
        net.ipv6.conf.lo.disable_ipv6 = 0
      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    5. 执行以下命令,使配置生效。

      sysctl -p
    • Ubuntu 14/16

    • OpenSUSE 42

      说明

      OpenSUSE 42开启服务后,无需再手动配置,即可获取IPv6地址。

    1. 执行以下命令。修改vi /etc/sysctl.conf配置文件。

      vi /etc/sysctl.conf
      1. i键进入编辑模式,找到如下内容,替换内容末尾数值10

        net.ipv6.conf.all.disable_ipv6 = 0
        net.ipv6.conf.default.disable_ipv6 = 0
        net.ipv6.conf.lo.disable_ipv6 = 0
      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    2. 执行以下命令,使配置生效。

      sysctl -p

    FreeBSD 11

    1. 执行以下命令,修改/etc/rc.conf配置文件。

      vi /etc/rc.conf
      1. i键进入编辑模式,添加ipv6_activate_all_interfaces="YES"内容。

      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    2. 执行以下命令,重启网络使配置生效。

      /etc/netstart restart

    SUSE 11/12

    说明

    SUSE 11/12开启服务后,无需再手动配置,即可获取IPv6地址。

    1. 执行以下命令,修改/etc/modprobe.d/50-ipv6.conf配置文件。

      vi /etc/modprobe.d/50-ipv6.conf
      1. i键进入编辑模式,删除install ipv6 /bin/true内容。

      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    2. 执行以下命令。修改vi /etc/sysctl.conf配置文件。

      vi /etc/sysctl.conf
      1. i键进入编辑模式,找到如下内容,替换内容末尾数值10

        net.ipv6.conf.all.disable_ipv6 = 0
        net.ipv6.conf.default.disable_ipv6 = 0
        net.ipv6.conf.lo.disable_ipv6 = 0
      2. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    3. 执行以下命令,使配置生效。

      sysctl -p
  4. 手动配置IPv6地址。

    操作系统

    操作步骤

    • CentOS 6/7

    • Red Hat 6/7

    • Almalinux

    • Rocky Linux

    下述操作以centos_6_10_x64_20G_alibase_20201120.vhd、centos_7_9_x64_20G_alibase_20211227.vhd为例:

    1. 执行以下命令,修改网卡配置文件。

      说明

      eth0为网卡标识符,请您将eth0替换成实际的标识符。

      vi /etc/sysconfig/network-scripts/ifcfg-eth0
    2. i键进入编辑模式,在文件中根据实际信息添加以下配置。

      DHCPV6C=yes
      IPV6INIT=yes
    3. 修改完成后按Esc键退出编辑模式,输入:wq后按下回车键,保存并退出。

    4. 执行以下命令,重启实例使配置生效。

      reboot

    CentOS 8

    下述操作以centos_8_5_x64_20G_alibase_20211228.vhd为例:

    1. 确认网卡配置文件是否包含IPV6INIT=yesDHCPV6C=yes两项内容。如果包含直接进行下一步操作,如果未包含需先手动添加。

      vi /etc/sysconfig/network-scripts/ifcfg-eth0

      eth0为网卡标识符,您需要修改成实际的标识符。修改完成后,保存并退出。

    2. 禁用cloud-init修改/etc/sysconfig/network-scripts/目录下网卡文件的能力。

      说明

      分配IPv6地址后无需手动配置,但重启之后可能丢失,因此需要禁用cloud-init修改网卡文件的能力。

      1. 执行vi /etc/cloud/cloud.cfg打开网卡配置文件。

        vi /etc/cloud/cloud.cfg
      2. Example datasource config内容前添加以下信息:

        network:
          config: disabled

        修改完成后,保存并退出。

    3. 执行reboot重启实例。

    Ubuntu 14

    以ubuntu_14_0405_64_20G_alibase_20170824.vhd为例:

    1. 执行vi /etc/sysctl.conf打开网卡配置文件。在文件中修改以下信息:

      #net.ipv6.conf.all.disable_ipv6 = 1
      #net.ipv6.conf.default.disable_ipv6 = 1
      #net.ipv6.conf.lo.disable_ipv6 = 1
      net.ipv6.conf.all.disable_ipv6 = 0
      net.ipv6.conf.default.disable_ipv6 = 0
      net.ipv6.conf.lo.disable_ipv6 = 0

      修改完成后,保存并退出。

    2. 执行vi /etc/network/interfaces打开网卡配置文件,在文件中根据实际信息添加以下信息:

      iface eth0 inet6 dhcp

      eth0为网卡标识符,您需要修改成实际的标识符。修改完成后,保存并退出。

    3. 执行reboot重启实例。

    • Ubuntu 16

    • Debian 8/9/10/11

    以debian_9_13_x64_20G_alibase_20211227.vhd、debian_10_11_x64_20G_alibase_20211227.vhd、debian_11_2_x64_20G_alibase_20211227.vhd 、ubuntu_16_04_x64_20G_alibase_20211028.vhd为例:

    1. 执行vi /etc/network/interfaces打开网卡配置文件,在文件中根据实际信息添加以下信息:

      iface eth0 inet6 dhcp

      eth0为网卡标识符,您需要修改成实际的标识符。修改完成后,保存并退出。

    2. 执行reboot重启实例。

    Ubuntu 18/20

    以ubuntu_18_04_x64_20G_alibase_20211227.vhd、ubuntu_20_04_x64_20G_alibase_20211227.vhd为例:

    1. 禁用cloud-init修改/etc/sysconfig/network-scripts/目录下网卡文件的能力。

      说明

      分配IPv6地址后无需手动配置,但重启之后可能丢失,因此需要禁用cloud-init修改网卡文件的能力。

      1. 执行vi /etc/cloud/cloud.cfg打开网卡配置文件。

        vi /etc/cloud/cloud.cfg
      2. Example datasource config内容前添加以下信息:

        network:
          config: disabled

        修改完成后,保存并退出。

    2. 执行reboot重启实例。

    • Anolis OS 7.9/8.4

    • CentOS Stream

    • Fedora

    以anolisos_7_9_x64_20G_rhck_alibase_20220110.vhd、anolisos_8_4_x64_20G_rhck_alibase_20211008.vhd、centos_stream_8_x64_20G_alibase_20211227.vhd、fedora_34_1_x64_20G_alibase_20211028.vhd为例:

    1. 确认网卡配置文件是否包含IPV6INIT=yesDHCPV6C=yes两项内容。如果包含无需再做任何操作,如果未包含需先手动添加。

      vi /etc/sysconfig/network-scripts/ifcfg-eth0

      eth0为网卡标识符,您需要修改成实际的标识符。修改完成后,保存并退出。

    2. 执行reboot重启实例。

    FreeBSD 11

    以freebsd_11_4_x64_30G_alibase_20210319.vhd为例:

    1. 执行vi /etc/rc.conf命令,打开网卡配置文件,在文件中根据实际信息添加以下信息:

      ipv6_enable="YES"
      ipv6_ifconfig_vtnet0="<IPv6地址> <子网前缀长度>"
    2. 继续在文件中修改以下信息,修改完成后,保存并退出。

      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"
    3. 执行reboot命令,重启实例。

重要

在配置完IPv6地址后,如果Linux实例预装了多网卡配置工具,由于该工具默认不支持IPv6,需要手动修改多网卡配置工具的eni-function文件。若不进行修改,将导致Linux系统内的IPv6网卡无法自动识别,从而在实例重启后系统无法获取IPv6地址。

  1. 执行以下任一命令,查看是否安装了多网卡配置工具。

    • ls /sbin/eni-ifscan
    • systemctl cat eni.service

    若系统返回信息如下图,则表示实例预装了多网卡配置工具,您需要继续完成下述操作。

    image

  2. 执行以下命令,修改eni-function文件。

    vim /etc/eni_utils/eni-function 
  3. i键进入编辑模式,修改以下字段信息。

    • 修改前:

      IPV6INIT=no

      image

    • 修改后:

      IPV6INIT=yes
      DHCPV6C=yes

      image

  4. Esc键退出编辑模式,输入:wq后按Enter键,保存并退出。

Windows 云服务器

自动配置IPv6地址(推荐)

ecs-util-ipv6能为已分配IPv6地址的ECS实例一键配置IPv6地址,或者为没有分配IPv6地址的ECS实例一键清理IPv6配置。

使用限制如下:

  • ecs-util-ipv6工具仅适用于VPC类型实例,依赖实例元数据服务,使用前请勿将网络禁用或者将相关出口IP端口(100.100.100.200:80)禁用。更多信息,请参见ECS实例元数据概述

  • ecs-util-ipv6工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。

  1. 远程连接Windows实例。

    具体操作,请参见通过密码认证登录Windows实例

  2. 下载与系统版本相对应的ecs-util-ipv6到目标系统。

  3. 使用管理员权限运行ecs-utils-ipv6.exe

    重要

    如果当前ECS已绑定IPv6地址,则会自动配置;否则会自动清理原有IPv6地址配置。

对于需要自动化配置IPv6实例的需求,例如大批量配置,建议您使用云助手或者实例自定义数据配合脚本的方式来调用。更多信息,请参见云助手概述ECS实例自定义数据概述。以下为PowerShell脚本示例,适用于Windows Server 2003/2008/2012/2016/2019/2022(64位)系统。

#powershell
$install_dir="C:\Windows\system32"
$install_path = "$install_dir\ecs-utils-ipv6.exe"

if(-not (Test-Path -Path $install_path)){
    # download the tool
    $tool_url = 'http://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/win/64/ecs-utils-ipv6.exe' 
    Invoke-WebRequest -uri $tool_url -OutFile $install_path
    Unblock-File $install_path
}

# run the tool
Start-Process -FilePath "$install_path" -ArgumentList "--noenterkey" -NoNewWindow

手动配置IPv6地址

完成以下操作,手动配置IPv6地址:

  1. 远程连接Windows实例。

    具体操作,请参见通过密码认证登录Windows实例

  2. 检查实例是否已开启IPv6服务。

    1. 在Windows系统桌面使用Win+R组合键打开运行对话框,并输入cmd命令,然后单击确定,打开命令行工具。

    2. 执行ipconfig命令。

      若返回IPv6地址相关内容,表示实例已成功开启IPv6服务。否则,表示IPv6服务未开启,您需要为实例开启IPv6服务。

  3. 开启IPv6服务。

    1. 选择控制面板 > 网络和共享中心 > 网络连接

    2. 单击当前网络连接名,打开状态界面,再单击属性

    3. 选中Internet 协议版本 6 (TCP/IPv6)

      • Windows Server 2008/2012/2016/2019/2022的操作步骤如下:

        检查IPv6协议这一行是否被选中。如果没有选中则需要先选中,然后单击确定

      • Windows Server 2003的操作步骤如下:

        根据IPv6协议是否存在,执行不同操作。

        • 存在IPv6协议:选中Internet 协议版本 6 (TCP/IPv6),再单击确定

        • 不存在IPv6协议:

          1. 在本地连接属性页面,单击安装,在网络组件类型页面单击协议 > 添加

          2. 选择网络协议页面,选择Microsoft TCP/IP 版本 6 > 确定完成安装。

          3. 选中Internet 协议版本 6 (TCP/IPv6),再单击确定

  4. 在实例详情页,获取步骤2:分配IPv6地址中已生成的IPv6地址。

  5. 手动配置IPv6地址。

    • Windows Server 2008/2012/2016的操作步骤如下:

      1. 选择控制面板 > 网络

      2. 单击当前网络连接名,打开状态界面,再单击属性

      3. 选择IPv6协议 > 属性

      4. 选中使用以下IPv6地址,并填入IPv6地址、子网前缀长度和IPv6网关,单击确定

      5. (可选)绑定多个IPv6地址:在Internet 协议版本 6(TCP/IP)属性界面,单击高级打开高级设置界面,单击添加做批量处理。完成后单击确定

    • Windows Server 2003的操作步骤如下:

      1. 选择控制面板 > 网络连接,查看当前网络连接名,假设为本地连接 2

      2. 在Windows系统桌面使用Win+R组合键打开运行对话框,并输入cmd命令,然后单击确定,打开命令行工具。

      3. 添加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>
      4. 执行以下命令,添加默认路由。

        netsh interface ipv6 add route ::/0 "本地连接 2" <IPv6 网关>

步骤5:添加IPv6安全组规则

IPv4和IPv6通信彼此独立,如果当前的安全组规则不能满足业务需求,为了增强网络安全性您需要为ECS实例单独配置IPv6安全组规则。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择网络与安全 > 安全组

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 找到目标安全组,在操作列中,单击配置规则

  5. 在安全组详情页,找到访问规则区域,选择入方向出方向

  6. 添加安全组规则。具体操作,请参见添加安全组规则

    说明

    您需要设置授权对象为IPv6地址段,例如:2001:db8:1234:1a00::***。有关安全组规则更多信息,可参见安全组规则

步骤6:测试IPv6的连通性

当您开通IPv6公网带宽后,您需要测试IPv6的网络连通性,以保证配置的IPv6地址已具备访问公网或被公网访问的能力。

下述示例中,将通过ping -6命令测试ECS实例与aliyun.com的网络连通性。

Linux 云服务器

  1. 远程连接已配置IPv6地址的Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,验证网络连通性。

    ping -6 aliyun.com

    系统返回信息如下图所示,表示网络连接正常。ping -6

Windows 云服务器

  1. 远程连接已配置IPv6地址的Windows实例。

    具体操作,请参见通过密码认证登录Windows实例

  2. 在Windows系统桌面使用Win+R组合键打开运行对话框,并输入cmd命令,然后单击确定,打开命令行工具。

  3. 执行以下命令,验证网络连通性。

    ping -6 aliyun.com

    系统返回信息如下图所示,表示网络连接正常。ping -6