建立多条公网IPsec-VPN连接实现流量的负载分担

本文介绍如何在本地数据中心IDC(Internet Data Center)和专有网络VPC(Virtual Private Cloud)之间建立多条公网IPsec-VPN连接,组成ECMP(Equal-Cost Multipath Routing)链路实现本地IDC和VPC之间流量的负载分担。

场景示例

2024-08-14_15-42-12

本文以上图场景为例。某企业在中国杭州拥有一个本地IDC,在阿里云华东2(上海)地域拥有一个VPC实例,VPC实例中已通过云服务器ECS(Elastic Compute Service)部署了相关业务。企业希望本地IDC可以通过VPN网关产品加密上云,实现和VPC实例之间的相互通信,同时希望本地IDC和VPC实例之间可以通过多条加密隧道互相通信,多条加密隧道组成ECMP链路,实现流量的负载分担。

企业可以在本地IDC和阿里云之间建立多条IPsec-VPN连接,实现本地IDC加密上云,然后通过云企业网产品将多条IPsec-VPN连接和VPC实例连接起来,多条IPsec-VPN连接加入云企业网后可以自动组成ECMP链路,实现本地IDC和VPC实例之间的相互通信以及流量的负载分担。

网络规划

网络功能规划

在本文场景中使用的网络功能如下:

  • 通过互联网在本地IDC和阿里云之间建立IPsec-VPN连接,即IPsec连接的网关类型公网

  • IPsec连接绑定的资源类型需为云企业网,以实现多条IPsec-VPN连接组成ECMP链路。

  • IPsec连接和本地IDC之间使用BGP动态路由协议。

网段规划

说明

在您规划网段时,请确保本地IDC和VPC之间要互通的网段没有重叠。

资源

网段及IP地址

VPC

主网段:10.0.0.0/16

  • 交换机1网段:10.0.0.0/24,位于可用区F

  • 交换机2网段:10.0.1.0/24,位于可用区G

  • ECS实例IP地址:10.0.0.1,ECS实例位于交换机1下

IPsec连接

BGP配置:

  • IPsec连接1:隧道网段为169.254.10.0/30,本端BGP地址为169.254.10.1,本端自治系统号为65531

  • IPsec连接2:隧道网段为169.254.11.0/30,本端BGP地址为169.254.11.1,本端自治系统号为65531

  • IPsec连接3:隧道网段为169.254.12.0/30,本端BGP地址为169.254.12.1,本端自治系统号为65531

本地网关设备

本地网关设备公网IP地址:

  • 本地网关设备1:11.XX.XX.1

  • 本地网关设备2:11.XX.XX.2

  • 本地网关设备3:11.XX.XX.3

本地网关设备BGP配置:

  • 本地网关设备1:隧道网段为169.254.10.0/30,本端BGP地址为169.254.10.2,本端自治系统号为65530

  • 本地网关设备2:隧道网段为169.254.11.0/30,本端BGP地址为169.254.11.2,本端自治系统号为65530

  • 本地网关设备3:隧道网段为169.254.12.0/30,本端BGP地址为169.254.12.2,本端自治系统号为65530

本地IDC

待和VPC互通的网段:

  • 192.168.0.0/24

  • 192.168.1.0/24

  • 192.168.2.0/24

准备工作

在开始配置前,请确保您已完成以下操作:

  • 您已经在阿里云华东2(上海)地域创建了一个VPC实例,并使用ECS部署了相关业务。具体操作,请参见搭建IPv4专有网络

  • 您已经创建了云企业网实例,并在华东1(杭州)和华东2(上海)地域分别创建了企业版转发路由器。具体操作,请参见创建云企业网实例创建转发路由器实例

    重要

    创建转发路由器实例时,需为转发路由器实例配置转发路由器地址段,否则IPsec连接无法成功绑定转发路由器实例。

    如果您已经创建了转发路由器实例,您可以单独为转发路由器实例添加转发路由器地址段。具体操作,请参见添加转发路由器地址段

  • 您已经了解VPC中ECS实例所应用的安全组规则,并确保安全组规则允许本地IDC和ECS实例互相通信。具体操作,请参见查询安全组规则添加安全组规则

配置流程

IPsec连接绑定TR最佳实践-公网-流程图

步骤一:创建用户网关

在建立IPsec-VPN连接前,您需要先创建用户网关,将本地网关设备的信息注册至阿里云上。

  1. 登录VPN网关管理控制台

  2. 在左侧导航栏,选择网间互联 > VPN > 用户网关

  3. 在顶部菜单栏,选择用户网关的地域。

    VPN网关产品不支持建立跨境的IPsec-VPN连接,因此在您选择用户网关所属的地域时,需遵循就近原则,即选择离您本地IDC最近的阿里云地域。本文中选择华东1(杭州)

    关于跨境连接和非跨境连接的更多信息,请参见非跨境连接

  4. 用户网关页面,单击创建用户网关

  5. 创建用户网关面板,根据以下信息进行配置,然后单击确定

    请根据以下配置在华东1(杭州)地域分别创建3个用户网关,其余配置项保持默认状态。更多信息,请参见创建和管理用户网关

    配置项

    配置项说明

    用户网关1

    用户网关2

    用户网关3

    名称

    输入用户网关的名称。

    本文输入Customer-Gateway1

    本文输入Customer-Gateway2

    本文输入Customer-Gateway3

    IP地址

    输入阿里云侧待连接的本地网关设备的公网IP地址。

    本文输入本地网关设备1的公网IP地址11.XX.XX.1

    本文输入本地网关设备2的公网IP地址11.XX.XX.2

    本文输入本地网关设备3的公网IP地址11.XX.XX.3

    自治系统号

    输入本地网关设备使用的BGP AS号。

    本文输入65530

步骤二:创建IPsec连接

创建用户网关后,您需要在阿里云侧创建IPsec连接,以便本地IDC和阿里云之间建立IPsec-VPN连接。

  1. 登录VPN网关管理控制台

  2. 在左侧导航栏,选择网间互联 > VPN > IPsec连接

  3. 在顶部菜单栏,选择IPsec连接的地域。

    IPsec连接所属的地域需和用户网关所属的地域一致。本文选择华东1(杭州)

  4. IPsec连接页面,单击创建IPsec连接

  5. 创建IPsec连接页面,根据以下信息配置IPsec连接,然后单击确定

    请根据以下配置信息,在华东1(杭州)地域分别创建3个IPsec连接,其余配置项保持默认状态。更多信息,请参见创建和管理IPsec连接(绑定转发路由器)

    配置项

    配置项说明

    IPsec连接1

    IPsec连接2

    IPsec连接3

    名称

    输入IPsec连接的名称。

    本文输入IPsec连接1

    本文输入IPsec连接2

    本文输入IPsec连接3

    绑定资源

    选择IPsec连接绑定的资源类型。

    本文选择云企业网

    网关类型

    选择IPsec连接的网络类型。

    本文选择公网

    云企业网实例ID

    选择云企业网实例。

    本文选择在准备工作中已创建的云企业网实例。

    转发路由器

    选择IPsec连接待绑定的转发路由器实例。

    系统依据IPsec连接所在的地域自动选择当前地域下的转发路由器实例。

    可用区

    在转发路由器支持的可用区中选择部署IPsec连接的可用区。

    本文选择杭州可用区H

    路由模式

    选择路由模式。

    本文选择目的路由模式

    说明

    在使用BGP动态路由协议的情况下,推荐使用目的路由模式

    立即生效

    选择IPsec连接的配置是否立即生效。取值:

    • :配置完成后立即进行协商。

    • :当有流量进入时进行协商。

    本文选择

    用户网关

    选择IPsec连接关联的用户网关。

    本文选择Customer-Gateway1。

    本文选择Customer-Gateway2。

    本文选择Customer-Gateway3。

    预共享密钥

    输入IPsec连接的认证密钥,用于本地网关设备和IPsec连接之间的身份认证。

    • 密钥长度为1~100个字符,支持数字、大小写英文字母及右侧字符~`!@#$%^&*()_-+={}[]\|;:',.<>/?,不能包含空格。

    • 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。创建IPsec连接后,您可以通过编辑按钮查看系统生成的预共享密钥。具体操作,请参见修改IPsec连接

    重要

    IPsec连接及其对端网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。

    本文输入fddsFF123****

    本文输入fddsFF456****

    本文输入fddsFF789****

    启用BGP

    选择是否开启BGP功能。BGP功能默认为关闭状态。

    本文开启BGP功能。

    本端自治系统号

    输入IPsec连接的自治系统号。

    本文输入65531

    本文输入65531

    本文输入65531

    加密配置

    添加IKE配置、IPsec配置等加密配置。

    除以下参数外,其余配置项保持默认值。

    • IKE配置DH分组选择group14

    • IPsec配置DH分组选择group14

    说明

    您需要根据本地网关设备的支持情况选择加密配置参数,确保IPsec连接和本地网关设备的加密配置保持一致。

    BGP配置

    隧道网段

    输入建立加密隧道时使用的网段。

    隧道网段需要是在169.254.0.0/16内的子网掩码为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30和169.254.169.252/30。

    本文输入169.254.10.0/30

    本文输入169.254.11.0/30

    本文输入169.254.12.0/30

    本端BGP地址

    输入IPsec连接的BGP IP地址。

    该地址为隧道网段内的一个IP地址。

    本文输入169.254.10.1

    本文输入169.254.11.1

    本文输入169.254.12.1

    高级配置

    选择是否启用高级配置,实现IPsec连接路由的自动分发和学习。系统默认启用高级配置。

    本文保持默认值,即开启所有高级配置。

    IPsec连接创建成功后,系统将自动为每个IPsec连接分配一个网关IP地址,用于IPsec连接和本地网关设备之间建立IPsec-VPN连接。您可以在IPsec连接详情页面查看网关IP地址,如下图所示。查看公网IP地址

    本文中,系统为IPsec连接1、IPsec连接2、IPsec连接3分配的网关IP地址如下表所示。

    IPsec连接

    网关IP地址

    IPsec连接1

    120.XX.XX.191

    IPsec连接2

    47.XX.XX.213

    IPsec连接3

    47.XX.XX.161

    说明

    IPsec连接只有绑定转发路由器实例后系统才会为其分配网关IP地址。如果在您创建IPsec连接时,IPsec连接的绑定资源类型为不绑定或者为VPN网关,则系统并不会为其分配网关IP地址。

  6. 返回到IPsec连接页面,找到刚刚创建的IPsec连接,在操作列选择生成对端配置

    请分别下载3个IPsec连接的配置并将配置保存在您的本地电脑,用于后续在本地网关设备中添加VPN配置。

步骤三:配置本地网关设备

创建IPsec连接后,请依据下载的IPsec连接配置以及下述步骤,分别在本地网关设备1、本地网关设备2、本地网关设备3中添加VPN配置和BGP配置,以便本地IDC和阿里云之间建立IPsec-VPN连接。

说明

本文以思科防火墙ASA(软件版本9.19.1)作为配置示例。不同软件版本的配置命令可能会有所差异,操作时请根据您的实际环境查询对应文档或咨询相关厂商。更多本地网关设备配置示例,请参见本地网关设备配置示例

以下内容包含的第三方产品信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

  1. 配置本地网关设备。

    本地网关设备1配置示例

    1. 登录思科防火墙的命令行窗口并进入配置模式。

      ciscoasa> enable
      Password: ********             #输入进入enable模式的密码。
      ciscoasa# configure terminal   #进入配置模式。
      ciscoasa(config)#     
    2. 查看接口配置。

      请确保思科防火墙已完成了接口配置,并已开启接口。以下为本文的接口配置示例。

      #查看本地网关设备1的接口配置
      ciscoasa(config)# show running-config interface
      !
      interface GigabitEthernet0/0                #连接公网的接口。
       nameif outside1                            #GigabitEthernet0/0接口名称。
       security-level 0
       ip address 11.XX.XX.1 255.255.255.255      #GigabitEthernet0/0接口配置的公网IP地址。
      !
      interface GigabitEthernet0/1                #连接本地数据中心的接口。
       nameif private                             #GigabitEthernet0/1接口名称。
       security-level 100                         #指定连接本地数据中心接口(私网接口)的security-level低于公网接口。
       ip address 192.168.50.216 255.255.255.0    #GigabitEthernet0/1接口配置的IP地址。
      !
    3. 为公网接口开启IKEv2功能。

      #在本地网关设备1上添加如下配置
      crypto ikev2 enable outside1 #为本地网关设备1的outside1接口(公网接口)开启IKEv2功能。
    4. 创建IKEv2 Policy,指定IKE阶段认证算法、加密算法、DH分组和SA生存周期,需和阿里云侧保持一致。

      #在本地网关设备1上添加如下配置
      crypto ikev2 policy 10     
       encryption aes             #指定加密算法。
       integrity sha              #指定认证算法。
       group 14                   #指定DH分组。
       prf sha                    #prf和integrity保持一致,阿里云侧prf与认证算法默认保持一致。
       lifetime seconds 86400     #指定SA生存周期。
    5. 创建IPsec proposal和profile,指定思科防火墙侧的IPsec阶段加密算法、认证算法、DH分组和SA生存周期,需和阿里云侧保持一致。

      #在本地网关设备1上添加如下配置
      crypto ipsec ikev2 ipsec-proposal ALIYUN-PROPOSAL    #创建ipsec proposal。
       protocol esp encryption aes                         #指定加密算法,协议使用ESP,阿里云侧固定使用ESP协议。
       protocol esp integrity sha-1                        #指定认证算法,协议使用ESP,阿里云侧固定使用ESP协议。
      crypto ipsec profile ALIYUN-PROFILE                  
       set ikev2 ipsec-proposal ALIYUN-PROPOSAL            #创建ipsec profile并应用已创建的proposal。 
       set ikev2 local-identity address                    #指定本端ID使用IP地址格式,与阿里云侧RemoteId格式保持一致。
       set pfs group14                                     #指定pfs和DH分组。
       set security-association lifetime seconds 86400     #指定基于时间的SA生存周期。
       set security-association lifetime kilobytes unlimited #关闭基于流量的SA生存周期。
    6. 创建tunnel group,指定隧道的预共享密钥,需和阿里云侧保持一致。

      #在本地网关设备1上添加如下配置
      tunnel-group 120.XX.XX.191 type ipsec-l2l                  #指定隧道的封装模式为l2l。
      tunnel-group 120.XX.XX.191 ipsec-attributes             
       ikev2 remote-authentication pre-shared-key fddsFF123****  #指定隧道对端的预共享密钥,即阿里云侧的预共享密钥。
       ikev2 local-authentication pre-shared-key fddsFF123****   #指定隧道本端的预共享密钥,需和阿里云侧的保持一致。
      !
    7. 创建tunnel接口。

      #在本地网关设备1上添加如下配置
      interface Tunnel1                                  #创建隧道接口。
       nameif ALIYUN1
       ip address 169.254.10.2 255.255.255.252           #指定接口的IP地址。
       tunnel source interface outside1                  #指定隧道源地址为公网接口GigabitEthernet0/0。
       tunnel destination 120.XX.XX.191                   #指定隧道目的地址为阿里云侧IPsec连接1的公网IP地址。
       tunnel mode ipsec ipv4
       tunnel protection ipsec profile ALIYUN-PROFILE    #指定隧道应用ipsec profile ALIYUN-PROFILE。
       no shutdown                                       #开启隧道接口。
      !
    8. 配置路由。

      #在本地网关设备1上添加如下配置
      route outside1 120.XX.XX.191 255.255.255.255 192.XX.XX.172   #配置访问阿里云侧IPsec连接1公网IP地址的路由,下一跳为外网地址。
      route private 192.168.0.0 255.255.255.0 192.168.50.215         #配置去往本地数据中心的路由。
      route private 192.168.1.0 255.255.255.0 192.168.50.215
      route private 192.168.2.0 255.255.255.0 192.168.50.215
      
      router bgp 65530
       address-family ipv4 unicast
        neighbor 169.254.10.1 remote-as 65531       #指定BGP邻居,即阿里云侧IPsec连接1的BGP IP地址。
        neighbor 169.254.10.1 ebgp-multihop 255
        neighbor 169.254.10.1 activate              #激活BGP邻居。
        network 192.168.0.0 mask 255.255.255.0        #宣告本地数据中心的网段。
        network 192.168.1.0 mask 255.255.255.0
        network 192.168.2.0 mask 255.255.255.0
       exit-address-family

    本地网关设备2配置示例

    1. 登录思科防火墙的命令行窗口并进入配置模式。

      ciscoasa> enable
      Password: ********             #输入进入enable模式的密码。
      ciscoasa# configure terminal   #进入配置模式。
      ciscoasa(config)#     
    2. 查看接口配置。

      请确保思科防火墙已完成了接口配置,并已开启接口。以下为本文的接口配置示例。

      #查看本地网关设备2的接口配置
      ciscoasa(config)# show running-config interface
      !
      interface GigabitEthernet0/0                #连接公网的接口。
       nameif outside1                            #GigabitEthernet0/0接口名称。
       security-level 0
       ip address 11.XX.XX.2 255.255.255.255      #GigabitEthernet0/0接口配置的公网IP地址。
      !
      interface GigabitEthernet0/1                #连接本地数据中心的接口。
       nameif private                             #GigabitEthernet0/1接口名称。
       security-level 100                         #指定连接本地数据中心接口(私网接口)的security-level低于公网接口。
       ip address 192.168.50.218 255.255.255.0    #GigabitEthernet0/1接口配置的IP地址。
      !
    3. 为公网接口开启IKEv2功能。

      #在本地网关设备2上添加如下配置
      crypto ikev2 enable outside1 #为本地网关设备2的outside1接口(公网接口)开启IKEv2功能。
    4. 创建IKEv2 Policy,指定IKE阶段认证算法、加密算法、DH分组和SA生存周期,需和阿里云侧保持一致。

      #在本地网关设备2上添加如下配置
      crypto ikev2 policy 10     
       encryption aes             #指定加密算法。
       integrity sha              #指定认证算法。
       group 14                   #指定DH分组。
       prf sha                    #prf和integrity保持一致,阿里云侧prf与认证算法默认保持一致。
       lifetime seconds 86400     #指定SA生存周期。
    5. 创建IPsec proposal和profile,指定思科防火墙侧的IPsec阶段加密算法、认证算法、DH分组和SA生存周期,需和阿里云侧保持一致。

      #在本地网关设备2上添加如下配置
      crypto ipsec ikev2 ipsec-proposal ALIYUN-PROPOSAL    #创建ipsec proposal。
       protocol esp encryption aes                         #指定加密算法,协议使用ESP,阿里云侧固定使用ESP协议。
       protocol esp integrity sha-1                        #指定认证算法,协议使用ESP,阿里云侧固定使用ESP协议。
      crypto ipsec profile ALIYUN-PROFILE                  
       set ikev2 ipsec-proposal ALIYUN-PROPOSAL            #创建ipsec profile并应用已创建的proposal。 
       set ikev2 local-identity address                    #指定本端ID使用IP地址格式,与阿里云侧RemoteId格式保持一致。
       set pfs group14                                     #指定pfs和DH分组。
       set security-association lifetime seconds 86400     #指定基于时间的SA生存周期。
       set security-association lifetime kilobytes unlimited #关闭基于流量的SA生存周期。
    6. 创建tunnel group,指定隧道的预共享密钥,需和阿里云侧保持一致。

      #在本地网关设备2上添加如下配置
      tunnel-group 47.XX.XX.213 type ipsec-l2l                  #指定隧道的封装模式为l2l。
      tunnel-group 47.XX.XX.213 ipsec-attributes             
       ikev2 remote-authentication pre-shared-key fddsFF456****  #指定隧道对端的预共享密钥,即阿里云侧的预共享密钥。
       ikev2 local-authentication pre-shared-key fddsFF456****   #指定隧道本端的预共享密钥,需和阿里云侧的保持一致。
      !
    7. 创建tunnel接口。

      #在本地网关设备2上添加如下配置
      interface Tunnel1                                  #创建隧道接口。
       nameif ALIYUN1
       ip address 169.254.11.2 255.255.255.252           #指定接口的IP地址。
       tunnel source interface outside1                  #指定隧道源地址为公网接口GigabitEthernet0/0。
       tunnel destination 47.XX.XX.213                   #指定隧道目的地址为阿里云侧IPsec连接2的公网IP地址。
       tunnel mode ipsec ipv4
       tunnel protection ipsec profile ALIYUN-PROFILE    #指定隧道应用ipsec profile ALIYUN-PROFILE。
       no shutdown                                       #开启隧道接口。
      !
    8. 配置路由。

      #在本地网关设备2上添加如下配置
      route outside1 47.XX.XX.213 255.255.255.255 192.XX.XX.173   #配置访问阿里云侧IPsec连接2公网IP地址的路由,下一跳为外网地址。
      route private 192.168.0.0 255.255.255.0 192.168.50.217         #配置去往本地数据中心的路由。
      route private 192.168.1.0 255.255.255.0 192.168.50.217
      route private 192.168.2.0 255.255.255.0 192.168.50.217
      
      router bgp 65530
       address-family ipv4 unicast
        neighbor 169.254.11.1 remote-as 65531       #指定BGP邻居,即阿里云侧IPsec连接2的BGP IP地址。
        neighbor 169.254.11.1 ebgp-multihop 255
        neighbor 169.254.11.1 activate              #激活BGP邻居。
        network 192.168.0.0 mask 255.255.255.0        #宣告本地数据中心的网段。
        network 192.168.1.0 mask 255.255.255.0
        network 192.168.2.0 mask 255.255.255.0
       exit-address-family

    本地网关设备3配置示例

    1. 登录思科防火墙的命令行窗口并进入配置模式。

      ciscoasa> enable
      Password: ********             #输入进入enable模式的密码。
      ciscoasa# configure terminal   #进入配置模式。
      ciscoasa(config)#     
    2. 查看接口配置。

      请确保思科防火墙已完成了接口配置,并已开启接口。以下为本文的接口配置示例。

      #查看本地网关设备3的接口配置
      ciscoasa(config)# show running-config interface
      !
      interface GigabitEthernet0/0                #连接公网的接口。
       nameif outside1                            #GigabitEthernet0/0接口名称。
       security-level 0
       ip address 11.XX.XX.3 255.255.255.255      #GigabitEthernet0/0接口配置的公网IP地址。
      !
      interface GigabitEthernet0/1                #连接本地数据中心的接口。
       nameif private                             #GigabitEthernet0/1接口名称。
       security-level 100                         #指定连接本地数据中心接口(私网接口)的security-level低于公网接口。
       ip address 192.168.50.213 255.255.255.0    #GigabitEthernet0/1接口配置的IP地址。
      !
    3. 为公网接口开启IKEv2功能。

      #在本地网关设备3上添加如下配置
      crypto ikev2 enable outside1 #为本地网关设备3的outside1接口(公网接口)开启IKEv2功能。
    4. 创建IKEv2 Policy,指定IKE阶段认证算法、加密算法、DH分组和SA生存周期,需和阿里云侧保持一致。

      #在本地网关设备3上添加如下配置
      crypto ikev2 policy 10     
       encryption aes             #指定加密算法。
       integrity sha              #指定认证算法。
       group 14                   #指定DH分组。
       prf sha                    #prf和integrity保持一致,阿里云侧prf与认证算法默认保持一致。
       lifetime seconds 86400     #指定SA生存周期。
    5. 创建IPsec proposal和profile,指定思科防火墙侧的IPsec阶段加密算法、认证算法、DH分组和SA生存周期,需和阿里云侧保持一致。

      #在本地网关设备3上添加如下配置
      crypto ipsec ikev2 ipsec-proposal ALIYUN-PROPOSAL    #创建ipsec proposal。
       protocol esp encryption aes                         #指定加密算法,协议使用ESP,阿里云侧固定使用ESP协议。
       protocol esp integrity sha-1                        #指定认证算法,协议使用ESP,阿里云侧固定使用ESP协议。
      crypto ipsec profile ALIYUN-PROFILE                  
       set ikev2 ipsec-proposal ALIYUN-PROPOSAL            #创建ipsec profile并应用已创建的proposal。 
       set ikev2 local-identity address                    #指定本端ID使用IP地址格式,与阿里云侧RemoteId格式保持一致。
       set pfs group14                                     #指定pfs和DH分组。
       set security-association lifetime seconds 86400     #指定基于时间的SA生存周期。
       set security-association lifetime kilobytes unlimited #关闭基于流量的SA生存周期。
    6. 创建tunnel group,指定隧道的预共享密钥,需和阿里云侧保持一致。

      #在本地网关设备3上添加如下配置
      tunnel-group 47.XX.XX.161 type ipsec-l2l                  #指定隧道的封装模式为l2l。
      tunnel-group 47.XX.XX.161 ipsec-attributes             
       ikev2 remote-authentication pre-shared-key fddsFF789****  #指定隧道对端的预共享密钥,即阿里云侧的预共享密钥。
       ikev2 local-authentication pre-shared-key fddsFF789****   #指定隧道本端的预共享密钥,需和阿里云侧的保持一致。
      !
    7. 创建tunnel接口。

      #在本地网关设备3上添加如下配置
      interface Tunnel1                                  #创建隧道接口。
       nameif ALIYUN1
       ip address 169.254.12.2 255.255.255.252           #指定接口的IP地址。
       tunnel source interface outside1                  #指定隧道源地址为公网接口GigabitEthernet0/0。
       tunnel destination 47.XX.XX.161                   #指定隧道目的地址为阿里云侧IPsec连接3的公网IP地址。
       tunnel mode ipsec ipv4
       tunnel protection ipsec profile ALIYUN-PROFILE    #指定隧道应用ipsec profile ALIYUN-PROFILE。
       no shutdown                                       #开启隧道接口。
      !
    8. 配置路由。

      #在本地网关设备3上添加如下配置
      route outside1 47.XX.XX.161 255.255.255.255 192.XX.XX.174   #配置访问阿里云侧IPsec连接3公网IP地址的路由,下一跳为外网地址。
      route private 192.168.0.0 255.255.255.0 192.168.50.214         #配置去往本地数据中心的路由。
      route private 192.168.1.0 255.255.255.0 192.168.50.214
      route private 192.168.2.0 255.255.255.0 192.168.50.214
      
      router bgp 65530
       address-family ipv4 unicast
        neighbor 169.254.12.1 remote-as 65531       #指定BGP邻居,即阿里云侧IPsec连接3的BGP IP地址。
        neighbor 169.254.12.1 ebgp-multihop 255
        neighbor 169.254.12.1 activate              #激活BGP邻居。
        network 192.168.0.0 mask 255.255.255.0        #宣告本地数据中心的网段。
        network 192.168.1.0 mask 255.255.255.0 
        network 192.168.2.0 mask 255.255.255.0 
       exit-address-family

    完成上述配置后,本地数据中心和阿里云之间可以成功建立IPsec-VPN连接,本地数据中心的路由将会通过BGP动态路由协议传播至IPsec连接的BGP路由表中。

  2. 请根据您的实际网络环境按需在本地数据中心添加路由配置,使本地数据中心客户端去往VPC的流量可以同时通过本地网关设备1、本地网关设备2和本地网关设备3传输。具体命令,请咨询相关设备厂商。

步骤四:创建VPC连接

创建IPsec连接后,IPsec连接会自动绑定至转发路由器实例,您需要在云企业网管理控制台创建VPC连接,将VPC实例也绑定至转发路由器实例上,用于实现本地IDC和VPC之间的相互通信。

  1. 登录云企业网管理控制台
  2. 云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
  3. 基本信息 > 转发路由器页签,找到华东2(上海)地域的转发路由器实例,在操作列单击创建网络实例连接

  4. 连接网络实例页面,根据以下信息进行配置,然后单击确定创建

    请根据以下信息将华东2(上海)的VPC实例连接至转发路由器,其余配置项保持默认状态。更多信息,请参见创建VPC连接

    配置项

    配置项说明

    VPC连接

    实例类型

    选择网络实例类型。

    本文选择专有网络(VPC)

    地域

    选择网络实例所属的地域。

    本文选择华东2(上海)

    转发路由器

    系统自动显示当前地域已创建的转发路由器实例ID。

    资源归属UID

    选择网络实例所属的阿里云账号和当前登录的账号是否为同一个账号。

    本文选择同账号

    付费方式

    VPC连接的付费方式。默认值为按量付费。关于转发路由器的计费规则,请参见计费说明

    连接名称

    输入VPC连接的名称。

    本文输入VPC连接

    网络实例

    选择网络实例。

    本文选择华东2(上海)的VPC实例。

    交换机

    在转发路由器支持的可用区选择交换机实例。

    • 如果转发路由器在当前地域仅支持一个可用区,则您需要在当前可用区选择一个交换机实例。

    • 如果转发路由器在当前地域支持多个可用区,则您需要在至少2个可用区中各选择一个交换机实例。在VPC和转发路由器流量互通的过程中,这2个交换机实例可以实现可用区级别的容灾。

      推荐您在每个可用区中都选择一个交换机实例,以减少流量绕行,体验更低传输时延以及更高性能。

    请确保选择的每个交换机实例下拥有一个空闲的IP地址。如果VPC实例在转发路由器支持的可用区中并没有交换机实例或者交换机实例下没有空闲的IP地址,您需要新建一个交换机实例。 具体操作,请参见创建和管理交换机

    本文在可用区F下选择交换机1、在可用区G选择交换机2。

    高级配置

    选择是否开启所有高级配置选项。系统默认选择开启所有高级配置选项。

    保持默认配置,即开启所有高级配置选项。

步骤五:创建跨地域连接

由于IPsec连接绑定的转发路由器实例和VPC实例绑定的转发路由器实例位于不同的地域,本地IDC和VPC实例之间默认无法通信。您需要在华东1(杭州)和华东2(上海)地域的转发路由器实例之间创建跨地域连接,实现本地IDC和VPC实例之间的跨地域互通。

  1. 云企业网实例页面,找到目标云企业网实例,单击云企业网实例ID。

  2. 基本信息 > 带宽包管理页签,单击设置跨地域带宽

  3. 连接网络实例页面,根据以下信息配置跨地域连接,然后单击确定创建

    请根据以下信息创建跨地域连接,其余配置项保持默认状态。更多信息,请参见创建跨地域连接

    配置项

    说明

    实例类型

    选择跨地域连接

    地域

    选择要互通的地域。

    本文选择华东1(杭州)

    转发路由器

    系统自动显示当前地域下转发路由器的实例ID。

    连接名称

    输入跨地域连接的名称。

    本文输入跨地域连接

    对端地域

    选择要互通的对端地域。

    本文选择华东2(上海)

    转发路由器

    系统自动显示当前地域下转发路由器的实例ID。

    带宽分配方式

    跨地域连接支持以下带宽分配方式:

    • 从带宽包分配:从已经购买的带宽包中分配带宽。

    • 按流量付费:按照跨地域连接实际使用的流量计费。

    本文选择按流量付费

    带宽

    输入跨地域连接的带宽值。单位:Mbps。

    默认链路类型

    使用默认链路类型。

    高级配置

    保持默认配置,即选中全部高级配置选项。

创建跨地域连接后,系统自动完成路由的分发和学习,IPsec连接会通过BGP动态路由协议将VPC实例的路由传播至本地数据中心,同时也会将本地数据中心的路由传播至转发路由器中,实现本地IDC和VPC实例间的网络互通。具体的路由信息,请参见文末路由说明

步骤六:验证测试

创建跨地域连接后,本地IDC和VPC实例间已可以通过3条IPsec-VPN连接实现流量的负载分担。以下内容介绍如何测试网络连通性以及如何验证流量已通过3条IPsec-VPN连接实现负载分担。

  1. 测试网络连通性。

    1. 登录VPC实例下的ECS实例。具体操作,请参见ECS远程连接操作指南

    2. 在ECS实例中执行ping命令,尝试访问本地IDC中的客户端。

      ping <本地IDC客户端的IP地址>

      如果可以收到响应报文,则表示本地IDC和VPC实例之间的网络已连通,可以实现资源互访。

  2. 验证流量的负载分担。

    在本地IDC的多个客户端中持续向ECS实例发送访问请求,如果您可以分别在IPsec连接1、IPsec连接2、IPsec连接3的详情页面查看到流量监控数据,则证明本地IDC和VPC实例之间的流量已通过3条IPsec-VPN连接实现流量的负载分担。

    1. 登录VPN网关管理控制台

    2. 在顶部状态栏处,选择IPsec连接所属的地域。

    3. 在左侧导航栏,选择网间互联 > VPN > IPsec连接

    4. IPsec连接页面,找到目标IPsec连接,单击IPsec连接ID。

      进入IPsec连接详情页面在监控页签下查看流量监控数据。

路由说明

在本文中,创建IPsec连接、创建VPC连接、创建跨地域连接时均采用默认路由配置,默认路由配置下云企业网会自动完成路由的分发和学习以实现本地IDC和VPC实例之间的相互通信。默认路由配置说明如下:

IPsec连接

在创建IPsec连接时直接绑定转发路由器实例,且启用所有高级配置,系统会自动对IPsec连接进行以下路由配置:

  • IPsec连接默认被关联至转发路由器实例的默认路由表,转发路由器实例将通过查询默认路由表转发来自IPsec连接的流量。

  • 您为IPsec连接添加的目的路由或者IPsec连接通过BGP动态路由协议学习到的云下路由,均会被自动传播至转发路由器实例的默认路由表。

  • 转发路由器实例会将默认路由表下的其他路由条目自动传播至IPsec连接的BGP路由表中。

    IPsec连接会通过BGP动态路由协议将学习到的云上路由自动传播至本地IDC中。

VPC实例

创建VPC连接时如果开启所有高级配置,则系统会自动对VPC实例进行以下路由配置:

  • 自动关联至转发路由器的默认路由表

    开启本功能后,VPC连接会自动关联至转发路由器的默认路由表,转发路由器通过查询默认路由表转发VPC实例的流量。

  • 自动传播系统路由至转发路由器的默认路由表

    开启本功能后,VPC实例会将自身的系统路由传播至转发路由器的默认路由表中,用于网络实例的互通。

  • 自动为VPC的所有路由表配置指向转发路由器的路由

    开启本功能后,系统将在VPC实例的所有路由表内自动配置10.0.0.0/8、172.16.0.0/12、192.168.0.0/16三条路由条目,其下一跳均指向VPC连接。

    重要

    如果VPC的路由表中已经存在目标网段为10.0.0.0/8、172.16.0.0/12或192.168.0.0/16的路由条目,则系统无法再自动下发该路由条目,您需要在VPC路由表中手动添加指向VPC连接的路由条目以实现VPC和转发路由器之间的流量互通。

    您可以单击发起路由检查查看网络实例内是否存在上述路由。

跨地域连接

创建跨地域连接时如果开启所有高级配置,则系统会自动对跨地域连接进行以下路由配置:

  • 自动关联至转发路由器的默认路由表

    开启本功能后,跨地域连接将与两个地域的转发路由器的默认路由表建立关联转发关系,两个地域的转发路由器将会通过查询默认路由表转发跨地域间的流量。

  • 自动传播系统路由至转发路由器的默认路由表

    开启本功能后,跨地域连接将与两个地域的转发路由器的默认路由表建立路由学习关系。

  • 自动发布路由到对端地域

    开启本功能后,即允许跨地域连接将本端转发路由器路由表(指与跨地域连接建立关联转发关系的路由表)下的路由自动传播至对端转发路由器的路由表(指与跨地域连接建立路由学习关系的路由表)中,用于网络实例跨地域互通。

路由条目展示

以下内容为您展示本文中转发路由器实例、IPsec连接、VPC实例和本地网关设备的路由条目信息。您可以在阿里云控制台查看对应实例的路由条目信息:

  • 查看转发路由器实例路由条目信息,请参见查看企业版转发路由器路由条目

  • 查看VPC实例路由条目信息,请参见创建和管理路由表

  • 查看IPsec连接的路由条目信息,请进入IPsec连接详情页面:

    1. 登录VPN网关管理控制台

    2. 在顶部状态栏处,选择IPsec连接所属的地域。

    3. 在左侧导航栏,选择网间互联 > VPN > IPsec连接

    4. IPsec连接页面,找到目标IPsec连接,单击IPsec连接ID。

      进入IPsec连接详情页面在BGP路由表页签下查看IPsec连接的路由条目信息。

表1:华东1(杭州)地域转发路由器实例默认路由表的路由条目

目标网段

下一跳

路由类型

10.0.0.0/24

跨地域连接

自动学习

10.0.1.0/24

跨地域连接

自动学习

192.168.0.0/24

VPN连接1(IPsec连接1)

自动学习

192.168.0.0/24

VPN连接2(IPsec连接2)

自动学习

192.168.0.0/24

VPN连接3(IPsec连接3)

自动学习

192.168.1.0/24

VPN连接1(IPsec连接1)

自动学习

192.168.1.0/24

VPN连接2(IPsec连接2)

自动学习

192.168.1.0/24

VPN连接3(IPsec连接3)

自动学习

192.168.2.0/24

VPN连接1(IPsec连接1)

自动学习

192.168.2.0/24

VPN连接2(IPsec连接2)

自动学习

192.168.2.0/24

VPN连接3(IPsec连接3)

自动学习

表2:华东2(上海)地域转发路由器实例默认路由表的路由条目

目标网段

下一跳

路由类型

10.0.0.0/24

VPC连接

自动学习

10.0.1.0/24

VPC连接

自动学习

192.168.0.0/24

跨地域连接

自动学习

192.168.0.0/24

跨地域连接

自动学习

192.168.0.0/24

跨地域连接

自动学习

192.168.1.0/24

跨地域连接

自动学习

192.168.1.0/24

跨地域连接

自动学习

192.168.1.0/24

跨地域连接

自动学习

192.168.2.0/24

跨地域连接

自动学习

192.168.2.0/24

跨地域连接

自动学习

192.168.2.0/24

跨地域连接

自动学习

表3:VPC实例系统路由表的路由条目

目标网段

下一跳

路由类型

10.0.0.0/24

本地

系统

10.0.1.0/24

本地

系统

10.0.0.0/8

VPC连接

自定义

172.16.0.0/12

VPC连接

自定义

192.168.0.0/16

VPC连接

自定义

表4: IPsec连接BGP路由表的路由条目

目标网段

来源说明

IPsec连接1中BGP路由表的路由条目

10.0.0.0/24

从阿里云侧学习来的路由

10.0.1.0/24

从阿里云侧学习来的路由

192.168.0.0/24

从本地IDC侧学习来的路由

192.168.1.0/24

从本地IDC侧学习来的路由

192.168.2.0/24

从本地IDC侧学习来的路由

IPsec连接2中BGP路由表的路由条目

10.0.0.0/24

从阿里云侧学习来的路由

10.0.1.0/24

从阿里云侧学习来的路由

192.168.0.0/24

从本地IDC侧学习来的路由

192.168.1.0/24

从本地IDC侧学习来的路由

192.168.2.0/24

从本地IDC侧学习来的路由

IPsec连接3中BGP路由表的路由条目

10.0.0.0/24

从阿里云侧学习来的路由

10.0.1.0/24

从阿里云侧学习来的路由

192.168.0.0/24

从本地IDC侧学习来的路由

192.168.1.0/24

从本地IDC侧学习来的路由

192.168.2.0/24

从本地IDC侧学习来的路由

表5:本地网关设备学习到的云上路由条目

目标网段

下一跳

本地网关设备1学习到的云上路由条目

10.0.0.0/24

IPsec连接1

10.0.1.0/24

IPsec连接1

本地网关设备2学习到的云上路由条目

10.0.0.0/24

IPsec连接2

10.0.1.0/24

IPsec连接2

本地网关设备3学习到的云上路由条目

10.0.0.0/24

IPsec连接3

10.0.1.0/24

IPsec连接3