文档

基于多个VPN网关建立高可用的IPsec-VPN连接(负载分担)

更新时间:

如果本地数据中心拥有多个本地网关设备(本地网关设备上均拥有公网IP地址),您可以使用其中的2个本地网关设备分别与阿里云专有网络VPC(Virtual Private Cloud)建立IPsec-VPN连接,每个IPsec-VPN连接关联不同的VPN网关,实现本地数据中心与VPC之间链路的高可用,同时实现流量的负载分担。

场景示例

本文以下图场景为例。某企业在中国杭州拥有一个本地数据中心,在阿里云华东1(杭州)地域拥有一个VPC,VPC中已使用云服务器ECS(Elastic Compute Service)部署了应用。现在企业希望本地数据中心可以加密访问VPC中的应用,且希望本地数据中心和VPC之间拥有多条连接,实现上云链路的高可用。

企业本地数据中心中拥有多个本地网关设备,本地网关设备上均拥有公网IP地址,企业可以使用其中的2个本地网关设备分别与VPC建立IPsec-VPN连接,每个IPsec-VPN连接关联不同的VPN网关,在实现本地数据中心加密访问VPC中应用的同时,实现上云链路的高可用以及流量的负载分担。

重要

本场景流量传输说明如下:

  • 本地数据中心可以分别通过两个VPN网关学习到VPC的路由,本地数据中心去往VPC的流量可以同时通过这两个VPN网关进行传输,实现流量的负载分担。在其中一个VPN网关不可用时,当前VPN网关下的流量默认会自动通过另一个VPN网关进行传输,实现链路的高可用。

  • VPC可以分别通过两个VPN网关学习到本地数据中心的路由,但是VPC默认仅通过一个VPN网关(系统优先选择实例ID较小的VPN网关)转发从VPC去往本地数据中心的流量,在当前VPN网关不可用后,才会通过另一个VPN网关转发流量(系统自动切换),因此VPC去往本地数据中心的流量可以通过两个VPN网关实现链路的高可用,但不支持负载分担。

IPsec连接高可用-多VPN网关

网络规划

网络功能规划

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

  • 购买2个公网网络类型的VPN网关实例,本地数据中心通过公网和VPC之间建立IPsec-VPN连接。

  • 创建2个IPsec连接,每个IPsec连接关联不同的VPN网关实例。

  • 2个VPN网关实例均开启BGP路由传播功能,同时每个IPsec连接使用BGP动态路由和本地网关设备建立IPsec-VPN连接,简化路由配置。

    重要
    • 如果要实现本场景,2个IPsec-VPN连接必须使用BGP动态路由协议,2个IPsec连接需配置相同的BGP AS号,2个本地网关设备也需配置相同的BGP AS号,否则系统无法实现路由自动切换。

    • 目前仅部分地域的VPN网关实例支持配置BGP动态路由协议。关于地域的详细信息, 请参见支持BGP动态路由功能的地域

网段规划

重要

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

资源

网段及IP地址

VPC

主网段:172.16.0.0/16

  • 交换机1网段:172.16.10.0/24

  • 交换机2网段:172.16.20.0/24

  • ECS实例IP地址:172.16.10.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

本地网关设备

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

  • 本地网关设备1的公网IP地址:118.XX.XX.20

  • 本地网关设备2公网IP地址:120.XX.XX.40

本地网关设备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

本地数据中心

待和VPC互通的网段:192.168.0.0/24

准备工作

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

  • 您已经在阿里云华东1(杭州)地域创建了一个VPC,并使用ECS部署了相关业务。具体操作,请参见搭建IPv4专有网络
  • 确保本地数据中心的本地网关设备支持IKEv1和IKEv2协议,支持这两种协议的本地网关设备均可以和阿里云VPN网关建立IPsec-VPN连接。
  • 您已经了解VPC中的ECS实例所应用的安全组规则,并确保安全组规则允许本地数据中心的网关设备访问云上资源。具体操作,请参见查询安全组规则添加安全组规则

配置流程

IPsec连接高可用-多VPN网关-配置流程

步骤一:创建VPN网关

在建立IPsec-VPN连接前,您需要先创建2个VPN网关,并为VPN网关开启IPsec-VPN功能。

  1. 登录VPN网关管理控制台
  2. 在顶部菜单栏,选择VPN网关的地域。

    VPN网关的地域需和待关联的VPC实例的地域相同。本文选择华东1(杭州)地域。

  3. VPN网关页面,单击创建VPN网关
  4. 在购买页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。

    请根据以下信息在华东1(杭州)地域分别创建2个VPN网关。

    配置项

    说明

    VPN网关1

    VPN网关2

    实例名称

    输入VPN网关的名称。

    本文输入VPN网关1

    本文输入VPN网关2

    地域和可用区

    选择VPN网关所属的地域。

    本文选择华东1(杭州)

    本文选择华东1(杭州)

    网关类型

    选择VPN网关的类型。

    本文选择普通型

    本文选择普通型

    网络类型

    选择VPN网关的网络类型。

    本文选择公网

    本文选择公网

    隧道

    系统直接展示当前地域支持的IPsec-VPN连接的隧道模式。

    本文保持默认值。

    本文保持默认值。

    VPC

    选择VPN网关待关联的VPC实例。

    本文选择在准备工作中创建的VPC。

    本文选择在准备工作中创建的VPC。

    虚拟交换机

    从VPC实例中选择一个交换机实例。

    • IPsec-VPN连接的隧道模式为单隧道时,您仅需要指定一个交换机实例。
    • IPsec-VPN连接的隧道模式为双隧道时,您需要指定两个交换机实例。
    说明
    • 系统默认帮您选择第一个交换机实例,您可以手动修改或者直接使用默认的交换机实例。
    • 创建VPN网关实例后,不支持修改VPN网关实例关联的交换机实例,您可以在VPN网关实例的详情页面查看VPN网关实例关联的交换机以及交换机所属可用区的信息。

    从VPC实例中选择一个交换机实例。

    从VPC实例中选择一个交换机实例。

    虚拟交换机2

    从VPC实例中选择第二个交换机实例。

    IPsec-VPN连接的隧道模式为单隧道时,无需配置该项。

    从VPC实例中选择第二个交换机实例。

    从VPC实例中选择第二个交换机实例。

    带宽规格

    选择VPN网关的带宽峰值。单位:Mbps。

    请根据您的实际需求选择带宽峰值。

    请根据您的实际需求选择带宽峰值。

    IPsec-VPN

    选择是否开启IPsec-VPN功能。

    本文保持默认值,即开启IPsec-VPN功能。

    本文保持默认值,即开启IPsec-VPN功能。

    SSL-VPN

    选择是否开启SSL-VPN功能。

    本文保持默认值,即关闭SSL-VPN功能。

    本文保持默认值,即关闭SSL-VPN功能。

    计费周期

    选择购买时长。

    您可以选择是否自动续费:

    • 按月购买:自动续费周期为1个月。

    • 按年购买:自动续费周期为1年。

    请根据您的实际需求选择带宽购买时长。

    请根据您的实际需求选择带宽购买时长。

    服务关联角色

    VPN网关使用AliyunServiceRoleForVpn角色来访问其他云产品中的资源,更多信息,请参见AliyunServiceRoleForVpn

    单击创建关联角色,系统自动创建服务关联角色AliyunServiceRoleForVpn。

    若本配置项显示为已创建,则表示您的账号下已创建了该角色,无需重复创建。

    单击创建关联角色,系统自动创建服务关联角色AliyunServiceRoleForVpn。

    若本配置项显示为已创建,则表示您的账号下已创建了该角色,无需重复创建。

  5. 返回VPN网关页面,查看已创建的VPN网关。

    创建VPN网关后,其状态是准备中,约1~5分钟会变成正常状态。正常状态表明VPN网关已经完成了初始化,可以正常使用。

    VPN网关名称

    VPN网关公网IP地址

    VPN网关1

    47.XX.XX.48

    VPN网关2

    47.XX.XX.224

步骤二:创建用户网关

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

  1. 在左侧导航栏,选择网间互联 > VPN > 用户网关
  2. 在顶部菜单栏,选择用户网关的地域。

    说明

    用户网关的地域必须和步骤一:创建VPN网关中创建的VPN网关的地域相同。

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

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

    请根据下表信息创建2个用户网关分别配置不同的公网IP地址。

    配置项

    配置项说明

    用户网关1

    用户网关2

    名称

    输入用户网关的名称。

    本文输入用户网关1

    本文输入用户网关2

    IP地址

    输入用户网关的公网IP地址。

    本文输入本地网关设备的公网IP地址1118.XX.XX.20

    本文输入本地网关设备的公网IP地址2120.XX.XX.40

    自治系统号

    输入本地网关设备的自治系统号。

    本文输入本地网关设备1的自治系统号65530

    本文输入本地网关设备2的自治系统号65530

步骤三:创建IPsec连接

创建用户网关后,您需要创建IPsec连接,VPN网关将通过IPsec连接与本地网关设备建立IPsec-VPN连接。

  1. 在左侧导航栏,选择网间互联 > VPN > IPsec连接
  2. 在顶部菜单栏,选择IPsec连接的地域。

    说明

    IPsec连接的地域必须和步骤一:创建VPN网关中创建的VPN网关的地域相同。

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

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

    请根据下表信息创建2个IPsec连接分别关联不同的VPN网关和用户网关。以下仅列举本文强相关的配置项,其余配置项保持默认值,如果您想要了解更多信息,请参见创建和管理IPsec连接(单隧道模式)

    配置项

    配置项说明

    IPsec连接1

    IPsec连接2

    名称

    输入IPsec连接的名称。

    本文输入IPsec连接1

    本文输入IPsec连接2

    绑定资源

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

    本文选择VPN网关

    VPN网关

    选择已创建的VPN网关。

    本文选择VPN网关1

    本文选择VPN网关2

    用户网关

    选择已创建的用户网关。

    本文选择用户网关1

    本文选择用户网关2

    路由模式

    选择路由模式。

    本文选择目的路由模式

    立即生效

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

    • :配置完成后立即进行协商。
    • :当有流量进入时进行协商。

    本文选择

    预共享密钥

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

    • 密钥长度为1~100个字符,支持数字、大小写英文字母及右侧字符~`!@#$%^&*()_-+={}[]\|;:',.<>/?
    • 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。创建IPsec连接后,您可以通过编辑按钮查看系统生成的预共享密钥。具体操作,请参见修改IPsec连接
    重要 IPsec连接及其对端网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。

    本文输入fddsFF123****

    本文输入fddsFF456****

    加密配置

    添加IKE配置和IPsec配置。

    本文IKE配置版本选择ikev2,其余配置项保持默认配置。

    BGP配置

    选择是否开启BGP配置。

    本文选择开启BGP配置。

    隧道网段

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

    该网段需是一个在169.254.0.0/16网段内,掩码长度为30的网段。

    本文输入169.254.10.0/30

    本文输入169.254.11.0/30

    本端BGP地址

    输入IPsec连接的BGP IP地址。

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

    本文输入169.254.10.1

    本文输入169.254.11.1

    本端自治系统号

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

    本文输入65531

    本文输入65531

    健康检查

    选择是否开启健康检查功能。

    本文保持默认值,即不开启健康检查配置。

  5. 创建成功对话框中,单击确定

  6. 返回至IPsec连接页面,找到目标IPsec连接,在操作列单击下载对端配置

    将IPsec连接1和IPsec连接2的对端配置保存在您的本地,用于后续配置本地网关设备。

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

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

以下配置示例仅供参考,不同厂商的设备配置命令可能会有所不同。具体命令,请咨询相关设备厂商。

  1. 登录本地网关设备的命令行配置界面。

  2. 执行以下命令,配置ikev2 proposal和policy。

    //分别在本地网关设备1、本地网关设备2中添加如下配置
    crypto ikev2 proposal alicloud  
    encryption aes-cbc-128          //配置加密算法,本文为aes-cbc-128。
    integrity sha1                  //配置认证算法,本文为sha1。
    group 2                         //配置DH分组,本文为group2。
    exit
    !
    crypto ikev2 policy Pureport_Pol_ikev2
    proposal alicloud
    exit
    !
  3. 执行以下命令,配置ikev2 keyring。

    //在本地网关设备1中添加如下配置
    crypto ikev2 keyring alicloud
    peer alicloud
    address 47.XX.XX.48              //配置云上VPN网关1的公网IP地址,本文为47.XX.XX.48。
    pre-shared-key fddsFF123****     //配置预共享密钥,本文为fddsFF123****。
    exit
    !
    //在本地网关设备2中添加如下配置
    crypto ikev2 keyring alicloud
    peer alicloud
    address 47.XX.XX.224               //配置云上VPN网关2的公网IP地址,本文为47.XX.XX.224。
    pre-shared-key fddsFF456****     //配置预共享密钥,本文为fddsFF456****。
    exit
    !
  4. 执行以下命令,配置ikev2 profile。

    //在本地网关设备1中添加如下配置
    crypto ikev2 profile alicloud
    match identity remote address 47.XX.XX.48 255.255.255.255    //匹配云上VPN网关1的公网IP地址,本文为47.XX.XX.48。
    identity local address 118.XX.XX.20    //本地网关设备1的公网IP地址,本文为118.XX.XX.20。
    authentication remote pre-share   //认证对端的方式为PSK(预共享密钥的方式)。
    authentication local pre-share    //认证本端的方式为PSK。
    keyring local alicloud            //调用密钥串。
    exit
    !
    //在本地网关设备2中添加如下配置
    crypto ikev2 profile alicloud
    match identity remote address 47.XX.XX.224 255.255.255.255    //匹配云上VPN网关2的公网IP地址,本文为47.XX.XX.224。
    identity local address 120.XX.XX.40    //本地网关设备2的公网IP地址,本文为120.XX.XX.40。
    authentication remote pre-share   //认证对端的方式为PSK(预共享密钥的方式)。
    authentication local pre-share    //认证本端的方式为PSK。
    keyring local alicloud            //调用密钥串。
    exit
    !
                            
  5. 执行以下命令,配置transform。

    //分别在本地网关设备1、本地网关设备2中添加如下配置
    crypto ipsec transform-set TSET esp-aes esp-sha-hmac
    mode tunnel
    exit
    !
  6. 执行以下命令,配置IPsec Profile,并调用transform、pfs和ikev2 profile。

    //分别在本地网关设备1、本地网关设备2中添加如下配置
    crypto ipsec profile alicloud
    set transform-set TSET
    set pfs group2
    set ikev2-profile alicloud
    exit
    !
  7. 执行以下命令,配置IPsec隧道。

    //在本地网关设备1中添加如下配置
    interface Tunnel100
    ip address 169.254.10.2 255.255.255.252    //配置本地网关设备1的隧道地址,本文为169.254.10.2。
    tunnel source GigabitEthernet1
    tunnel mode ipsec ipv4
    tunnel destination 47.XX.XX.48            //配置隧道对端的云上VPN网关1的公网IP地址,本文为47.XX.XX.48。
    tunnel protection ipsec profile alicloud
    no shutdown
    exit
    !
    interface GigabitEthernet1                 //配置与阿里云建立IPsec-VPN连接的接口IP地址。
    ip address 118.XX.XX.20 255.255.255.0
    negotiation auto
    !
    //在本地网关设备2中添加如下配置
    interface Tunnel100
    ip address 169.254.11.2 255.255.255.252    //配置本地网关设备2的隧道地址,本文为169.254.11.2。
    tunnel source GigabitEthernet1
    tunnel mode ipsec ipv4
    tunnel destination 47.XX.XX.224            //配置隧道对端的云上VPN网关2的公网IP地址,本文为47.XX.XX.224。
    tunnel protection ipsec profile alicloud
    no shutdown
    exit
    !
    interface GigabitEthernet1                 //配置与阿里云建立IPsec-VPN连接的接口IP地址。
    ip address 120.XX.XX.40 255.255.255.0
    negotiation auto
    !
                            
  8. 执行以下命令,配置BGP路由协议。

    //在本地网关设备1中添加如下配置
    router bgp 65530                         //开启BGP路由协议,并配置本地数据中心的BGP AS号。本文为65530。
    bgp router-id 169.254.10.2               //BGP路由器ID,本文设置为169.254.10.2。
    bgp log-neighbor-changes
    neighbor 169.254.10.1 remote-as 65531    //配置BGP邻居的AS号,本文为云上IPsec连接1的BGP AS号65531。
    neighbor 169.254.10.1 ebgp-multihop 10   //配置EBGP跳数为10。  
    !
    address-family ipv4
    network 192.168.0.0 mask 255.255.255.0   //宣告本地数据中心的网段,本文配置为192.168.0.0/24。
    neighbor 169.254.10.1 activate           //激活BGP邻居。
    exit-address-family
    !
    //在本地网关设备2中添加如下配置
    router bgp 65530                         //开启BGP路由协议,并配置本地数据中心的BGP AS号。本文为65530。
    bgp router-id 169.254.11.2               //BGP路由器ID,本文设置为169.254.11.2。
    bgp log-neighbor-changes
    neighbor 169.254.11.1 remote-as 65531    //配置BGP邻居的AS号,本文为云上IPsec连接2的BGP AS号65531。
    neighbor 169.254.11.1 ebgp-multihop 10   //配置EBGP跳数为10。  
    !
    address-family ipv4
    network 192.168.0.0 mask 255.255.255.0   //宣告本地数据中心的网段,本文配置为192.168.0.0/24。  
    neighbor 169.254.11.1 activate           //激活BGP邻居。
    exit-address-family
    !
                            
    重要

    配置本地网关设备后,本地网关设备1和本地网关设备2将分别能通过IPsec-VPN连接学习到VPC实例的路由,为确保从本地数据中心去往VPC实例的流量可以通过2个IPsec-VPN连接实现负载分担,请确保要访问VPC实例的客户端或设备能够同时从本地网关设备1和本地网关设备2学习到VPC实例的路由。具体配置命令,请咨询相关设备厂商。

步骤五:开启BGP路由自动传播

您需要为VPN网关开启BGP路由自动传播功能,开启后,VPN网关才会将BGP路由表中的路由传播至VPC的系统路由表中。关于BGP路由的自动传播机制,请参见BGP动态路由宣告原则

请根据以下步骤分别为VPN网关1和VPN网关2开启BGP路由自动传播功能。

  1. 登录VPN网关管理控制台
  2. 在左侧导航栏,选择网间互联 > VPN > VPN网关
  3. 在顶部菜单栏,选择VPN网关实例的地域。
  4. VPN网关页面,找到已创建的VPN网关,在操作列下选择更多 > 开启路由自动传播

  5. 开启路由自动传播对话框,单击确定

    为VPN网关开启BGP路由自动传播功能后,VPC实例将会从VPN网关1和VPN网关2分别学习到本地数据中心的路由。

步骤六:验证测试

完成上述配置后,本地数据中心和VPC之间已经可以通过IPsec-VPN连接相互通信。以下内容介绍如何测试网络连通性以及如何验证流量已通过2个IPsec-VPN连接实现负载分担。

  1. 网络连通性测试。

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

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

      ping <本地数据中心客户端的IP地址>

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

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

    在本地数据中心的多个客户端中持续向ECS实例发送访问请求或者在客户端中使用iPerf3工具持续向ECS实例发送访问请求,如果您可以分别在IPsec连接1和IPsec连接2的详情页面查看到流量监控数据,则证明从本地数据中心去往VPC实例的流量已通过2个IPsec-VPN连接实现了流量的负载分担。关于如何安装、使用iPerf3工具,请参见物理专线网络性能测试方法

    1. 登录VPN网关管理控制台
    2. 在顶部状态栏处,选择IPsec连接所属的地域。
    3. 在左侧导航栏,选择网间互联 > VPN > IPsec连接
    4. IPsec连接页面,找到目标IPsec连接,单击IPsec连接ID。
      进入IPsec连接详情页面在监控页签下查看流量监控数据。
  • 本页导读 (1)
文档反馈