通过BGP路由方式实现私网流量加密通信

当您需要实现私网流量加密通信时,您可以先创建专线网关ECR连接VBR和云上VPC,再通过创建VPN网关与VBR运行BGP动态路由来实现。

场景示例

本示例以下图场景为示例,某企业在杭州拥有一个本地IDC,在阿里云华东1(杭州)地域拥有一个VPC,VPC中使用云服务器ECS部署了相关服务。因业务发展,企业计划使用物理专线和专线网关ECR实现本地IDC和VPC的相互通信。同时,为了提高企业网络的安全性,企业希望本地IDC和VPC之间的流量可以经过加密后再进行传输。

在本地IDC已和VPC实现私网通信的情况下,企业可以在VPC中创建私网VPN网关,与本地网关设备建立IPsec连接,同时为VBR实例和VPN网关配置BGP动态路由协议,实现私网流量的加密传输。

image

准备工作

  • 私网VPN网关正在邀测中,您已经向您的客户经理申请使用权限。

  • 您需要为本地IDC和网络实例规划网段,需确保要互通的网段之间没有重叠。本示例网段规划如下:

    配置目标

    网段规划

    IP地址

    VPC

    • 主网段:10.0.0.0/16

    • 交换机1所属的子网段:10.0.0.0/24

    • 交换机2所属的子网段:10.0.1.0/24

    • ECS1:10.0.1.1

    • ECS2:10.0.1.2

    VBR

    10.0.0.0/30

    • VLAN ID:201

    • 阿里云侧IPv4互联IP:10.0.0.2/30

    • 客户侧IPv4互联IP:10.0.0.1/30

      本示例中客户侧指本地网关设备。

    ECR

    -

    自治系统号:45104

    本地IDC

    • 10.0.0.0/30

    • 192.168.0.0/24

    • VPN IP地址:192.168.0.251

      VPN IP地址是指本地网关设备上待与阿里云VPN网关建立IPsec连接的接口的IP地址。

    • 与物理专线连接的接口IP地址:10.0.0.1

    • 自治系统号:65530

  • 您已经在阿里云华东1(杭州)地域创建了VPC并使用ECS部署了相关服务。具体操作,请参见创建和管理专有网络

    在本示例中,VPC中包含2个交换机实例,交换机1位于可用区H,交换机2位于可用区I。交换机2用于部署ECS,交换机1仅用于后续关联VPN网关。

    说明

    在您创建VPC实例时,建议您在VPC实例中单独创建一个交换机实例用于后续关联VPN网关,以便交换机实例可以分配私网IP地址至VPN网关。

  • 请检查本地网关设备,确保本地网关设备支持标准的IKEv1和IKEv2协议,以便和阿里云VPN网关建立连接。关于本地网关设备是否支持标准的IKEv1和IKEv2协议,请咨询本地网关设备厂商。

  • 您已经了解VPC中的ECS实例所应用的安全组规则以及本地IDC中客户端所应用的访问控制规则,并确保ECS实例的安全组规则以及本地IDC客户端的访问控制规则允许本地IDC客户端与VPC中的ECS实例互通。具体操作,请参见查询安全组规则添加安全组规则

配置流程

image

步骤一:部署物理专线

您需要部署物理专线将本地IDC连接至阿里云。

  1. 创建物理专线。

    您需要在华东1(杭州)地域申请一条物理专线。具体操作,请参见创建和管理独享专线连接共享专线连接概述

    本示例选择创建独享专线连接

  2. 创建VBR实例。

    1. 登录高速通道管理控制台

    2. 在左侧导航栏,单击边界路由器(VBR)

    3. 在顶部状态栏,选择待创建的VBR实例的地域。

      本示例选择华东1(杭州)地域。

    4. 边界路由器(VBR)页面,单击创建边界路由器

    5. 创建边界路由器面板,根据以下信息进行配置,然后单击确定

      下表仅列举本示例强相关的配置项。如果您想要了解更多信息,请参见创建和管理边界路由器

      配置项

      说明

      账号类型

      本示例选择当前账号

      名称

      本示例输入VBR。

      物理专线接口

      本示例选择独享专线类型,然后选择在步骤1中创建的物理专线接口。

      VLAN ID

      本示例输入0。

      设置VBR带宽值

      选择VBR实例的带宽峰值。

      阿里云侧IPv4互联IP

      本示例输入10.0.0.2。

      客户侧IPv4互联IP

      本示例输入10.0.0.1。

      IPv4子网掩码

      本示例输入255.255.255.252。

  3. 为VBR实例添加自定义路由条目将本地IDC的网段发布至阿里云。

    1. 边界路由器(VBR)页面,单击VBR实例ID。

    2. 单击路由条目页签,然后单击添加路由条目

    3. 添加路由条目面板,根据以下信息进行配置,然后单击确定

      配置项

      说明

      下一跳类型

      选择物理专线接口

      目标网段

      输入本地IDC的网段。

      本示例输入192.168.0.0/16。

      下一跳

      选择步骤1中创建的物理专线接口。

  4. 配置本地网关设备。

    您需要在本地网关设备上配置以下路由条目,引导本地IDC访问VPC的流量进入物理专线。

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

    ip route 10.0.0.0 255.255.0.0 10.0.0.2

步骤二:配置专线网关ECR

您需要将VPC和VBR实例连接至专线网关ECR,连接后,本地IDC和VPC可以通过专线网关ECR实现私网互通。

  1. 创建专线网关ECR实例。

    1. 登录高速通道管理控制台

    2. 在左侧导航栏,单击专线网关,然后在专线网关页面,单击创建专线网关

    3. 创建专线网关对话框,根据以下信息进行配置,选中我已阅读并知晓计费规则,然后单击确定

      配置

      说明

      名称

      输入专线网关的名称。

      本示例输入ECR。

      ASN

      输入专线网关的ASN号。

      本示例输入45104。

      描述

      输入专线网关的描述信息。

      本示例输入ECR-for-test-private-VPN-Gateway。

  2. 连接VPC实例。

    1. 登录高速通道管理控制台

    2. 在左侧导航栏,单击专线网关,然后在专线网关页面,单击步骤1创建的专线网关实例。

    3. VPC页签,单击关联VPC

    4. 关联VPC对话框,根据以下信息进行配置,然后单击确定

      配置

      说明

      资源归属

      选择VPC所属地账号类型。

      本示例选择同账号

      地域

      选择目标VPC所在的地域。

      本示例选择华东1(杭州)

      VPC ID

      选择目标VPC实例ID。

      本示例选择VPC的实例ID。

  3. 连接VBR实例。

    1. 登录高速通道管理控制台

    2. 在左侧导航栏,单击专线网关,然后在专线网关页面,单击步骤1创建的专线网关实例。

    3. VBR页签,单击添加VBR

    4. 添加VBR对话框,根据以下信息进行配置,然后单击确定

      配置

      说明

      资源归属

      选择VBR所属地账号类型。

      本示例选择同账号

      地域

      选择VBR资源所属的地域。

      本示例选择华东1(杭州)

      网络实例

      选择目标VBR实例。

      本示例选择VBR。

步骤三:部署VPN网关

完成上述步骤后,本地IDC和VPC之间可以实现私网互通,但在通信过程中,信息未经过加密。您还需要在VPC中部署VPN网关,与本地网关设备建立IPsec连接,才能实现私网流量加密通信。

  1. 创建VPN网关。

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

    2. 在顶部菜单栏,选择VPN网关的地域。

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

    3. VPN网关页面,单击创建VPN网关

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

      配置项

      说明

      实例名称

      输入VPN网关的名称。

      本示例输入VPN网关1

      地域和可用区

      选择VPN网关所属的地域。

      本示例选择华东1(杭州)

      网关类型

      选择VPN网关的类型。

      本示例选择普通型

      网络类型

      选择VPN网关的网络类型。

      本示例选择私网

      隧道

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

      VPC

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

      本示例选择VPC。

      虚拟交换机

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

      • IPsec-VPN连接的隧道模式为单隧道时,您仅需要指定一个交换机实例。

      • IPsec-VPN连接的隧道模式为双隧道时,您需要指定两个交换机实例。

      说明
      • 系统默认帮您选择第一个交换机实例,您可以手动修改或者直接使用默认的交换机实例。

      • 创建VPN网关实例后,不支持修改VPN网关实例关联的交换机实例,您可以在VPN网关实例的详情页面查看VPN网关实例关联的交换机以及交换机所属可用区的信息。

      虚拟交换机2

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

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

      带宽规格

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

      IPsec-VPN

      私网类型的VPN网关仅支持IPsec-VPN功能。

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

      计费周期

      选择购买时长。

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

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

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

      VPN网关的计费周期。默认值:按小时计费。

      服务关联角色

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

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

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

    5. 返回VPN网关页面,查看已创建的VPN网关并记录VPN网关的私网IP地址,用于后续IPsec连接的配置。

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

  2. 创建用户网关。

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

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

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

      以下内容仅列举本示例强相关的配置项及示例值。如果您想要了解更多信息,请参见创建和管理用户网关

      • 名称:输入用户网关的名称。

        本示例输入Customer-Gateway

      • IP地址:输入VPN网关待连接的本地网关设备的VPN IP地址。

        本示例输入192.168.0.251

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

        本示例输入65530

  3. 创建IPsec连接。

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

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

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

      以下内容仅列举本示例强相关的配置项及示例值。如果您想要了解更多信息,请参见创建和管理IPsec连接(单隧道模式)

      配置项

      配置项说明

      名称

      输入IPsec连接的名称。

      本示例输入IPsec连接1

      VPN网关

      选择已创建的VPN网关实例。

      本示例选择VPN网关1。

      用户网关

      选择已创建的用户网关实例。

      本示例选择Customer-Gateway。

      路由模式

      选择路由模式。

      本示例选择目的路由模式

      立即生效

      选择是否立即生效。

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

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

      本示例选择

      预共享密钥

      输入预共享密钥。

      如果不输入该值,系统默认生成一个16位的随机字符串。

      重要

      本地网关设备的预共享密钥需和IPsec连接的预共享密钥一致。

      本示例输入fddsFF123****

      加密配置

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

      BGP配置

      本示例开启BGP配置。各配置项如下:

      • 隧道网段:输入IPsec隧道的网段。

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

        本示例输入169.254.10.0/30

      • 本端BGP地址:输入VPN网关侧的BGP IP地址。

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

        本示例输入169.254.10.1,则本地IDC侧的BGP IP地址为169.254.10.2

      • 本端自治系统号:输入VPN网关侧的自治系统号。默认值:45104。

        本示例使用默认值45104。

        重要

        如果VBR实例和VPN网关均运行BGP动态路由协议,VPN网关侧的自治系统号和VBR实例的自治系统号需一致,以便后续做路由控制。

      健康检查

      本示例保持默认配置。

    4. IPsec连接创建成功后,在创建成功对话框,单击确定

  4. 开启VPN网关的BGP路由自动传播功能。

    开启BGP路由自动传播功能后,在VPN网关与本地网关设备成功建立BGP邻居的情况下,VPN网关会将学习到的本地IDC的网段传播至VPC中,同时也会将VPC中系统路由表下的路由传播至本地网关设备。

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

    2. VPN网关页面,找到VPN网关1,在操作列选择更多 > 开启路由自动传播

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

  5. 下载本地网关设备的IPsec连接配置。

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

    2. IPsec连接页面,找到IPsec连接1,在操作列单击下载对端配置

      将下载的IPsec连接配置保存在您本地客户端。

  6. 在本地网关设备中添加VPN配置、BGP配置和静态路由。

    依据下载的IPsec连接配置,在本地网关设备中完成VPN配置,并在本地网关设备上添加BGP配置和静态路由。

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

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

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

      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。

      crypto ikev2 keyring alicloud
      peer alicloud
      address 10.0.0.167               //配置云上VPN网关的私网IP地址,本示例为10.0.0.167。
      pre-shared-key fddsFF123****     //配置预共享密钥,本示例为fddsFF123****。
      exit
      !
    4. 执行以下命令,配置ikev2 profile。

      crypto ikev2 profile alicloud
      match identity remote address 10.0.0.167 255.255.255.255    //匹配云上VPN网关的私网IP地址,本示例为10.0.0.167。
      identity local address 192.168.0.251    //本地IDC的VPN IP地址,本示例为192.168.0.251。
      authentication remote pre-share   //认证对端的方式为PSK(预共享密钥的方式)。
      authentication local pre-share    //认证本端的方式为PSK。
      keyring local alicloud            //调用密钥串。
      exit
      !
    5. 执行以下命令,配置transform。

      crypto ipsec transform-set TSET esp-aes esp-sha-hmac
      mode tunnel
      exit
      !
    6. 执行以下命令,配置IPsec Profile,并调用transform、pfs和ikev2 profile。

      crypto ipsec profile alicloud
      set transform-set TSET
      set pfs group2
      set ikev2-profile alicloud
      exit
      !
    7. 执行以下命令,配置IPsec隧道。

      interface Tunnel100
      ip address 169.254.10.2 255.255.255.252    //配置本地IDC的隧道地址,本示例为169.254.10.2。
      tunnel source GigabitEthernet1
      tunnel mode ipsec ipv4
      tunnel destination 10.0.0.167              //隧道对端的云上VPN网关私网IP地址,本示例为10.0.0.167。
      tunnel protection ipsec profile alicloud
      no shutdown
      exit
      !
      interface GigabitEthernet1                 //配置与云上VPN网关建立IPsec连接的接口IP地址。
      ip address 192.168.0.251 255.255.255.0
      negotiation auto
      !
    8. 执行以下命令,配置BGP路由协议。

      重要

      为了引导VPC去往云下的流量进入VPN网关加密通信通道,在确保通信正常的情况下,您需要在本地网关设备的BGP路由协议中宣告比本地IDC网段更明细的路由。

      例如,本示例中本地IDC的网段为192.168.0.0/16,则在本地网关设备的BGP路由协议中宣告的网段需比该网段小,本示例本地网关设备的BGP路由协议宣告的网段为192.168.1.0/24

      router bgp 65530                         //开启BGP路由协议,并配置本地IDC的自治系统号。本示例为65530。
      neighbor 169.254.10.1 remote-as 45104    //配置BGP邻居的AS号,本示例为云上VPN网关的自治系统号45104。
      neighbor 169.254.10.1 ebgp-multihop 10   //配置EBGP跳数为10。  
      !
      address-family ipv4
      network 192.168.1.0 mask 255.255.255.0   //宣告本地IDC的网段,本示例配置为192.168.1.0/24。
      neighbor 169.254.10.1 activate           //激活BGP邻居。
      exit-address-family
      !
    9. 执行以下命令,配置静态路由。

      ip route 10.0.0.167 255.255.255.255 10.0.0.2  //引导从本地IDC去往云上VPN网关的流量进入物理专线。

步骤四:配置云上路由和路由策略

完成以上配置,本地网关设备和VPN网关之间已经建立了加密通信通道。您还需要为云上网络实例配置路由,引导云上和云下流量通信时进入加密通信通道。

  1. 为VPC添加自定义路由条目。

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

    2. 在左侧导航栏,单击路由表

    3. 在顶部状态栏处,选择路由表所属的地域。

      本示例选择华东1(杭州)地域。

    4. 路由表页面,找到目标路由表,单击路由表实例ID。

      本示例找到VPC的系统路由表。

    5. 路由条目列表页签下单击自定义路由条目页签,然后单击添加路由条目

    6. 添加路由条目面板,配置以下信息,然后单击确定

      配置项

      说明

      名称

      输入自定义路由条目的名称。

      目标网段

      输入自定义路由条目的目标网段。

      本示例选择IPv4网段并输入本地网关设备VPN IP地址192.168.0.251/32

      下一跳类型

      选择自定义路由条目的下一跳类型。

      本示例选择专线网关

      专线网关

      选择自定义路由条目的下一跳。

      本示例选择ECR。

  2. 为VBR实例添加自定义路由条目。

    1. 登录高速通道管理控制台

    2. 在左侧导航栏,单击边界路由器(VBR)

    3. 在顶部状态栏处,选择VBR实例的地域。

      本示例选择华东1(杭州)地域。

    4. 边界路由器(VBR)页面,单击目标边界路由器的ID。

    5. 单击路由条目页签,然后单击添加路由条目

    6. 添加路由条目面板,根据以下信息配置路由条目,然后单击确定

      配置项

      说明

      下一跳类型

      选择物理专线接口

      目标网段

      输入本地网关设备VPN IP地址。

      本示例输入192.168.0.251/32

      下一跳

      选择在步骤1中创建的物理专线接口。

步骤五:测试验证

完成上述配置后,本地IDC和VPC之间已经可以进行私网加密通信。以下内容为您介绍如何测试本地IDC和VPC之间的私网连通性以及如何验证流量是否经过VPN网关加密。

  1. 测试私网连通性。

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

    2. 执行ping命令,访问本地IDC网段下的任意一台客户端,测试本地IDC和VPC之间的私网连通性。

      ping <本地IDC客户端私网IP地址>

      如果收到回复报文,则证明本地IDC和VPC之间已经实现私网互通。

  2. 验证加密是否生效。

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

    2. 在顶部状态栏处,选择VPN网关所属的地域。

      本示例选择华东1(杭州)地域。

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

    4. IPsec连接页面,找到在步骤3中创建的IPsec连接,单击连接ID。

    5. 单击监控页签,查看流量监控数据。