文档首页/ 虚拟私有云 VPC/ 快速入门/ 通过VPC快速搭建IPv4/IPv6双栈网络
更新时间:2024-10-25 GMT+08:00

通过VPC快速搭建IPv4/IPv6双栈网络

您可以参考以下操作,通过虚拟私有云 (VPC)和弹性云服务器 (ECS)快速搭建一个同时具有IPv4和IPv6地址段的云上私有网络。同时,还可以通过弹性公网IP (EIP)和共享带宽,实现IPv4和IPv6公网通信需求。

本示例的IPv4/IPv6双栈网络架构如图1所示,网络安全通过安全组Sg-A来防护,放通特定流量,拦截其他流量。网络通信需求和安全组配置说明如下:
图1 IPv4/IPv6双栈网络架构图(VPC/EIP)
  1. 客户通过本地PC(IPv4地址为10.1.0.7,IPv6地址为2002:20::44)远程登录ECS-A01执行操作,入方向需要分别针对IPv4和IPv6地址,放通以下流量:
    • 规则A01和规则A02:使用ping命令验证ECS-A01网络连通性的流量
    • 规则A03和规则A04:假如ECS-A01为Linux操作系统,放通远程登录ECS-A01的流量
    • 规则A05和规则A06:假如ECS-A01为Windows操作系统,放通远程登录ECS-A01的流量
    • 规则A07和规则A08:安全组内ECS内网网络互通的流量
  2. 安全组内的ECS-A01可以访问公网网络,出方向需要分别针对IPv4和IPv6地址,放通ECS-A01访问公网的流量。

使用须知

  • 当前IPv4/IPv6双栈网络暂不收费,后续定价会根据运营商收费策略的变化进行调整。
  • IPv6功能目前仅在部分区域公测,具体公测区域请参见功能总览中“IPv4/IPv6双栈”功能的发布区域。申请公测权限后,才可以体验IPv6功能。
  • 弹性云服务器ECS部分规格支持IPv6网络,只有选择支持IPv6的ECS,才可以使用IPv4/IPv6双栈网络。
    在ECS控制台,单击“购买弹性云服务器”,进入购买页面查看ECS规格列表。当ECS规格列表中包含“IPv6”参数,且取值为“是”时,表示该规格的ECS支持IPv6网络。
    图2 ECS规格列表
  • 本示例网络规划仅供您参考,虚拟私有云和子网一旦创建完成,将无法修改网段,您需要根据具体的业务需求提前规划VPC的数量、子网的数量和IP网段划分等。

    具体请参见虚拟私有云和子网规划建议

操作流程

操作步骤

说明

准备工作

使用云服务前,您需要注册华为账号并开通华为云、完成实名认证、为账户充值。

步骤一:创建VPC和子网

创建一个IPv4网段的VPC,并从VPC中划分一个子网。
  • VPC IPv4网段:192.168.0.0/16
  • 子网IPv4网段:192.168.0.0/24
  • 子网IPv6网段:系统自动分配IPv6地址,本示例为2407:c080:1200:2075::/64

步骤二:购买ECS

基于已有的VPC和子网,购买一个ECS,并配置安全组等参数。

步骤三:购买EIP并绑定至ECS(IPv4公网通信)

购买EIP,并将EIP绑定至ECS,则ECS可以通过IPv4类型的EIP地址实现公网通信。

步骤四:购买共享带宽并添加ECS的IPv6网卡(IPv6公网通信)

购买共享带宽,并在共享带宽中添加ECS IPv6网卡,则ECS可以通过IPv6类型的IP地址实现公网通信。

步骤五:验证IPv4和IPv6网络通信情况

验证ECS的IPv4和IPv6通信情况:
  1. 验证通过客户的本地PC,使用ECS-A01的IPv4地址(EIP)和IPv6地址可以登录ECS。
  2. 验证ECS-A01的IPv4和IPv6公网通信情况。

准备工作

在创建VPC和ECS等资源之前,请先注册华为账号并开通华为云、完成实名认证、为账户充值。请保证账户有足够的资金,以免创建资源失败。

  1. 注册华为账号并开通华为云,完成实名认证。
    如果您已有一个华为账号,请跳到下一个任务。如果您还没有华为账号,请执行以下操作。
    1. 注册华为账号并开通华为云
    2. 参考实名认证,完成个人或企业账号实名认证。
  2. 为账户充值。

    您需要确保账户有足够金额,充值方式请参见账户充值

步骤一:创建VPC和子网

  1. 进入创建虚拟私有云页面
  2. 在“创建虚拟私有云”页面,根据界面提示配置虚拟私有云参数。

    本示例中需要创建一个VPC和一个子网,并为子网开启IPv6功能。

    图3 虚拟私有云
    图4 子网设置
    表1 虚拟私有云参数说明

    参数

    示例

    说明

    区域

    中国-香港

    请您选择靠近业务的区域,VPC需要和ECS、EIP位于同一个区域内。

    VPC创建完成后不支持修改该参数。

    名称

    VPC-A

    请您按需设置VPC名称。

    VPC创建完成后支持修改该参数。

    IPv4网段

    192.168.0.0/16

    VPC的IPv4地址范围,建议您从以下网段中选择:
    • 10.0.0.0~10.255.255.255(掩码范围可选8~24)
    • 172.16.0.0~172.31.255.255(掩码范围可选12~24)
    • 192.168.0.0~192.168.255.255(掩码范围可选16~24)

    VPC创建完成后不支持修改该参数。

    企业项目

    default

    请您将VPC加入已有的企业项目内,支持按企业项目维度管理资源。

    VPC创建完成后不支持修改该参数。

    高级配置 > 标签

    无需配置

    请您按需为VPC绑定标签,标签可用来分类和标识资源。

    VPC创建完成后支持修改该参数。

    高级配置 > 描述

    无需配置

    请您按需设置VPC的描述信息。

    VPC创建完成后支持修改该参数。

    表2 子网参数说明

    参数

    示例

    说明

    可用区

    可用区4

    一个区域内分为多个可用区,不同可用区之间物理隔离,内网互通。请您任意选择一个可用区,一个VPC的多个子网可以位于不同可用区,不影响通信。

    ECS可以和VPC子网位于不同可用区,比如位于可用区1的云服务器,可以使用可用区3的子网。

    子网创建完成后不支持修改该参数。

    当前仅在部分区域支持选择子网“可用区”,实际以控制台显示为准。

    子网名称

    Subnet-A01

    请您按需设置子网名称。

    子网创建完成后支持修改该参数。

    子网IPv4网段

    192.168.0.0/24

    子网的IPv4地址范围,子网网段需要从VPC的IP网段中划分。

    子网创建完成后不支持修改该参数。

    子网IPv6网段

    开启

    是否自动为子网分配IPv6地址,开启IPv6功能后,系统将会自动为子网分配IPv6地址。

    子网创建完成后支持修改该参数。

    关联路由表

    默认

    创建VPC时会创建一个默认路由表,子网自动关联至默认路由表。

    默认路由表中已预置系统路由,确保同一个VPC内不同子网之间的网络互通。

    子网创建完成后支持修改该参数。

    高级配置 > 网关

    192.168.0.1

    子网的网关,建议您保持系统默认。

    子网创建完成后不支持修改该参数。

    高级配置
    • DNS服务器地址
    • 域名
    • NTP服务器地址
    • IPv4 DHCP租约时间

    无需配置

    此处的参数均是为VPC中的ECS实例配置,本示例保持系统默认或者置空,无需配置。

    子网创建完成后支持修改该参数。

    高级配置 > 标签

    无需配置

    请您按需为子网绑定标签,标签可用来分类和标识资源。

    子网创建完成后支持修改该参数。

    高级配置 > 描述

    无需配置

    请您按需设置子网的描述信息。

    子网创建完成后支持修改该参数。

  3. 参数设置完成后,单击“立即创建”。

    返回VPC列表页面,可以查看到已创建的VPC-A。

步骤二:购买ECS

  1. 进入购买弹性云服务器页面。
  2. 在“购买弹性云服务器”页面,根据界面提示配置弹性云服务器参数。
    本示例中,ECS的网络配置详情如下:
    • 网络:选择已创建的虚拟私有云和子网,VPC-A和Subnet-A01。

      并选择“自动分配IPv6地址”,则ECS会拥有IPv4和IPv6两个地址。

      图5 网络
    • 安全组:新建一个安全组Sg-A,并添加入方向和出方向规则。您在创建安全组的时候,系统会自动添加部分规则,您需要根据实际情况进行检查修改,确保表3中的规则均已正确添加。
      图6 安全组入方向
      图7 安全组出方向
      表3 安全组Sg-A规则说明

      方向

      策略

      类型

      协议端口

      源地址/目的地址

      描述

      入方向

      允许

      IPv4

      TCP: 22

      源地址:10.1.0.7/32

      针对IPv4,放通安全组内ECS的SSH(22)端口,用于通过本地PC (10.1.0.7/32)远程登录Linux ECS。

      入方向

      允许

      IPv6

      TCP: 22

      源地址:2002:20::44/128

      针对IPv6,放通安全组内ECS的SSH(22)端口,用于通过本地PC (2002:20::44/128)远程登录Linux ECS。

      入方向

      允许

      IPv4

      TCP: 3389

      源地址:10.1.0.7/32

      针对IPv4,针对IPv4,放通安全组内ECS的RDP(3389)端口,用于通过本地PC (10.1.0.7/32)远程登录Windows ECS。

      入方向

      允许

      IPv6

      TCP: 3389

      源地址:2002:20::44/128

      针对IPv6,放通安全组内ECS的RDP(3389)端口,用于通过本地PC (2002:20::44/128)远程登录Windows ECS。

      入方向

      允许

      IPv4

      ICMP: 全部

      源地址:0.0.0.0/0

      针对IPv4,放通安全组内ECS的ICMP(全部)端口,用于外部通过ping命令测试ECS的网络连通性。

      入方向

      允许

      IPv6

      ICMPV6: 全部

      源地址:::/0

      针对IPv6,放通安全组内ECS的ICMP(全部)端口,用于外部通过ping命令测试ECS的网络连通性。

      入方向

      允许

      IPv4

      全部

      源地址:当前安全组Sg-A

      针对IPv4,用于安全组内ECS之间网络互通。

      入方向

      允许

      IPv6

      全部

      源地址:当前安全组Sg-A

      针对IPv6,用于安全组内ECS之间网络互通。

      出方向

      允许

      IPv4

      全部

      目的地址:0.0.0.0/0

      针对IPv4,用于安全组内ECS访问外部,允许流量从安全组内ECS流出。

      出方向

      允许

      IPv4

      全部

      目的地址:::/0

      针对IPv6,用于安全组内ECS访问外部,允许流量从安全组内ECS流出。

    • 弹性公网IP:选择“暂不购买”。
      图8 弹性公网IP

    ECS的其他配置请您按需选择,具体可请参见自定义购买ECS

  3. 参数设置完成后,单击“立即购买”。

    返回ECS列表页面,可以查看到已创建的ECS-A01。

  4. 创建ECS完成后,需要您登录至ECS内,确认当前ECS是否已成功获取到IPv6地址。
    • Windows公共镜像默认已开启IPv6动态获取功能,无需额外配置。
    • Linux公共镜像开启动态获取IPv6功能时,需要先判断是否支持IPv6协议栈,再判断是否已开启动态获取IPv6功能。

      目前,所有Linux公共镜像均已支持IPv6协议栈。并且Ubuntu 16操作系统已默认开启动态获取IPv6功能,即Ubuntu 16操作系统无需额外配置,其他Linux公共镜像需要执行开启动态获取IPv6的操作。

    如果您的镜像不支持自动分配IPv6地址,或者自动获取IPv6地址失败,您需要参考动态获取IPv6地址执行配置,否则ECS无法通过IPv6地址进行通信。

步骤三:购买EIP并绑定至ECS(IPv4公网通信)

购买EIP,并将EIP绑定至ECS,则ECS可以通过IPv4类型的EIP地址实现公网通信。

  1. 进入购买弹性公网IP页面。
  2. 在“购买弹性公网IP”页面,根据界面提示配置弹性公网IP参数。

    请您按需选择EIP的配置参数,具体可请参见购买弹性公网IP

  3. 参数设置完成后,单击“立即购买”。

    返回EIP列表页面,可以查看到已创建的EIP-A。

  4. 在EIP列表中,单击EIP-A所在行的操作列下的“绑定”。

    弹出“绑定弹性公网IP”对话框。

  5. 在对话框中,选择ECS-A01,并单击“确定”,将EIP-A绑定至ECS-A01。

    返回EIP列表中,在“已绑定实例”列下,可查看到已绑定的ECS-A01。

步骤四:购买共享带宽并添加ECS的IPv6网卡(IPv6公网通信)

购买共享带宽,并在共享带宽中添加ECS IPv6网卡,则ECS可以通过IPv6类型的IP地址实现公网通信。

  1. 进入购买共享带宽页面。
  2. 在“购买共享带宽”页面,根据界面提示配置共享带宽参数。

    请您按需选择EIP的配置参数,具体可请参见购买共享带宽

  3. 参数设置完成后,单击“立即购买”。

    返回共享带宽列表页面,可以查看到已创建的Bandwidth-A。

  4. 在共享带宽列表中,单击Bandwidth-A所在行的操作列下的“添加公网IP”。

    弹出“添加公网IP”对话框。

  5. 根据以下说明设置参数,并单击“确定”,将ECS-A01的IPv6网卡添加到共享带宽Bandwidth-A中。
    • 公网IP:选择“IPv6网卡”。
    • 所属VPC:选择ECS所在的VPC,本示例为VPC-A。
    • 子网:选择ECS所在的VPC,本示例为Subnet-A01。
    • IPv6网卡:选择ECS的IPv6网卡,本示例选择ECS-A01的网卡。

步骤五:验证IPv4和IPv6网络通信情况

  1. 分别验证使用ECS-A01的IPv4地址(EIP)和IPv6地址是否可以登录ECS-A01。

    弹性云服务器有多种登录方法,具体请参见登录弹性云服务器

    以使用PuTTY工具远程登录ECS-A01为例:
    • 验证IPv4地址登录:Host Name (or IP address)中输入ECS-A01的EIP地址,本示例为1.95.44.XX。
    • 验证IPv6地址登录:Host Name (or IP address)中输入ECS-A01的IPv6地址,本示例为2407:XXX:e857。
    图9 PuTTY配置
  2. 执行以下命令,分别验证ECS-A01的IPv4和IPv6公网通信情况。
    • 验证IPv4公网访问情况:

      ping IPv4公网IP地址或者域名

      命令示例:

      ping support.huaweicloud.com

      回显类似如下信息,表示ECS-A01的IPv4公网通信正常。
      [root@ecs-a01 ~]# ping support.huaweicloud.com
      PING hcdnw.cbg-notzj.c.cdnhwc2.com (203.193.226.103) 56(84) bytes of data.
      64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=1 ttl=51 time=2.17 ms
      64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=2 ttl=51 time=2.13 ms
      64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=3 ttl=51 time=2.10 ms
      64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=4 ttl=51 time=2.09 ms
      ...
      --- hcdnw.cbg-notzj.c.cdnhwc2.com ping statistics ---
      4 packets transmitted, 4 received, 0% packet loss, time 3004ms
      rtt min/avg/max/mdev = 2.092/2.119/2.165/0.063 ms
    • 验证IPv6公网通信情况:

      ping6 IPv6公网地址

      假设2002:20::45是一个公网IP地址,命令示例如下:

      ping6 2002:20::45

      回显类似如下信息,表示ECS-A01的IPv6公网通信正常。
      [root@ecs-a01 ~]# ping6 2002:20::45
      PING 2002:20::45(2002:20::45) from 2002:20::45 : 56 data bytes
      64 bytes from 2002:20::45: icmp_seq=1 ttl=64 time=0.770 ms
      64 bytes from 2002:20::45: icmp_seq=2 ttl=64 time=0.295 ms
      64 bytes from 2002:20::45: icmp_seq=3 ttl=64 time=0.245 ms
      ^C
      --- 2002:20::45 ping statistics ---
      3 packets transmitted, 3 received, 0% packet loss, time 2080ms
      rtt min/avg/max/mdev = 0.245/0.436/0.770/0.237 ms