本文介绍在边界路由器VBR(Virtual border router)和私网IPsec-VPN连接使用BGP动态路由的情况下如何实现物理专线私网流量加密传输。
背景信息
开始操作前,建议您先了解加密物理专线私网流量原理。更多信息,请参见加密物理专线私网流量。
场景示例
本文以下图场景为例。某企业在杭州拥有一个本地数据中心IDC(Internet Data Center),在阿里云华东1(杭州)地域拥有一个VPC,VPC中使用云服务器ECS(Elastic Compute Service)部署了相关服务。因业务发展本地IDC需要连接上云,基于一些安全合规要求企业需要使用物理专线和转发路由器实现本地IDC与VPC间的私网互通,同时为了降低数据泄露风险,防止企业机密数据被内部或外部人员窃取、篡改,企业希望通过物理专线传输的流量均加密后再传输至阿里云。
在本地IDC与VPC实现私网互通的情况下,企业可以在本地网关设备与转发路由器之间建立私网IPsec-VPN连接,私网IPsec-VPN连接可以加密经过物理专线的流量,满足企业网络安全的高要求。
网络规划
如果您需要自行为本地IDC和相关网络实例规划网段,需确保要互通的网段之间没有重叠。
路由机制说明
为实现物理专线私网流量加密传输,需要确保本地IDC和VPC之间的互访流量优先通过私网IPsec-VPN连接传输,而非通过物理专线传输。本文通过控制路由来实现该目标:
流量从VPC去往本地IDC:
转发路由器可以分别通过VBR实例和私网IPsec-VPN连接学习到本地IDC的路由,根据转发路由器路由优先级,默认通过VBR实例学习到的路由更优,此机制会导致VPC去往本地IDC的流量优先通过物理专线传输,无法实现加密。
本文通过宣告不同子网掩码的本地IDC网段来规避该问题。本地网关设备向VBR实例宣告本地IDC网段时,需要宣告大网段(即子网掩码较短);向私网IPsec-VPN连接宣告本地IDC网段时,需要宣告小网段(即子网掩码较长)。
例如本地IDC的网段为192.168.0.0/16,本地IDC中与VPC互通的客户端网段为192.168.20.0/24,则本地网关设备向VBR实例宣告本地IDC网段192.168.0.0/16;向私网IPsec-VPN连接宣告具体的客户端网段192.168.20.0/24。这样可以确保转发路由器通过私网IPsec-VPN连接学习到路由更优,VPC访问客户端的流量优先通过私网IPsec-VPN连接加密传输。
流量从本地IDC去往VPC:
本地IDC可以同时通过VBR实例和私网IPsec-VPN连接学习到VPC实例的路由,本文在转发路由器侧通过配置路由策略调整路由优先级来确保本地IDC去往VPC的流量优先通过私网IPsec-VPN连接传输。
当前路由机制也可以确保私网IPsec-VPN连接中断后,本地IDC与VPC依旧可以通过物理专线和转发路由器实现私网互通,只是流量不再被加密。
基础网段规划
配置目标 | 网段规划 | IP地址 |
VPC |
|
|
VBR | 10.0.0.0/30 |
|
本地IDC | 客户端网段:192.168.20.0/24 | 客户端地址:192.168.20.6 |
本地网关设备网段:
|
|
BGP网段规划
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.6.0/30和169.254.169.252/30。一个IPsec连接下两条隧道的隧道网段不能相同。
资源 | 隧道 | BGP隧道网段 | BGP IP地址 | BGP AS号(本端自治系统号) |
IPsec连接实例 | 隧道1 | 169.254.10.0/30 | 169.254.10.1 | 65534 |
隧道2 | 169.254.20.0/30 | 169.254.20.1 | ||
本地网关设备 | 隧道1 | 169.254.10.0/30 | 169.254.10.2 | 65530 |
隧道2 | 169.254.20.0/30 | 169.254.20.2 |
准备工作
您已经在阿里云华东1(杭州)地域创建了VPC并使用ECS部署了相关服务。具体操作,请参见搭建IPv4专有网络。
请检查本地网关设备,确保本地网关设备支持标准的IKEv1和IKEv2协议,以便和阿里云建立私网IPsec-VPN连接。关于本地网关设备是否支持标准的IKEv1和IKEv2协议,请咨询本地网关设备厂商。
操作步骤
步骤一:通过物理专线和转发路由器实现IDC与VPC私网互通
第1步:部署物理专线
部署物理专线将本地IDC连接至阿里云。
创建物理专线。
创建VBR实例。
登录高速通道管理控制台。
在左侧导航栏,单击边界路由器(VBR)。
在顶部菜单栏,选择华东1(杭州)地域。
VBR实例的地域需和物理专线所属地域相同。
在边界路由器(VBR)页面,单击创建边界路由器。
在创建边界路由器面板,根据以下信息进行配置,然后单击确定。
以下仅列举本文强相关的配置项,其余配置项保持默认状态。更多信息,请参见创建和管理边界路由器。
配置项
说明
名称
本文输入VBR。
物理专线接口
本文选择独享专线类型,然后选择已创建的物理专线接口。
VLAN ID
本文输入0。
阿里云侧IPv4互联IP
本文输入10.0.0.1。
客户侧IPv4互联IP
本文输入10.0.0.2。
IPv4子网掩码
本文输入255.255.255.252。
为VBR实例配置BGP组。
在边界路由器(VBR)页面,单击VBR实例ID。
在边界路由器实例详情页面,单击BGP组页签。
在BGP组页签下,单击创建BGP组,并根据以下信息进行BGP组配置,然后单击确定。
以下仅列举本文强相关的配置项。更多信息,请参见配置和管理BGP。
名称:输入VBR-BGP。
Peer AS号:输入本地网关设备的自治系统号65530。
本端AS号:输入VBR实例使用的BGP AS号65534。
为VBR实例配置BGP邻居。
在边界路由器实例详情页面,单击BGP邻居页签。
在BGP邻居页签下,单击创建BGP邻居。
在创建BGP邻居面板,配置BGP邻居信息,然后单击确定。
BGP组:选择VBR-BGP。
BGP邻居IP:输入BGP邻居的IP地址。本文输入本地网关设备连接物理专线的接口的IP地址10.0.0.1。
在本地网关设备配置BGP路由。
说明本文以思科防火墙ASA(软件版本9.19.1)作为配置示例。不同软件版本的配置命令可能会有所差异,操作时请根据您的实际环境查询对应文档或咨询相关厂商。更多本地网关设备配置示例,请参见本地网关设备配置示例。
以下内容包含的第三方产品信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
ciscoasa> enable Password: ******** #输入进入enable模式的密码。 ciscoasa# configure terminal #进入配置模式。 ciscoasa(config)# #思科防火墙已完成了接口配置,并已开启接口。以下为本文的接口配置示例。 ciscoasa(config)# show running-config interface ! interface GigabitEthernet0/0 #连接VBR的接口。 nameif VBR #GigabitEthernet0/0接口名称。 security-level 0 ip address 10.0.0.1 255.255.255.252 #GigabitEthernet0/0接口配置的IP地址。 ! interface GigabitEthernet0/2 #连接本地IDC的接口。 nameif private #GigabitEthernet0/2接口名称。 security-level 100 #指定连接本地IDC的接口的security-level低于对接阿里云的接口。 ip address 192.168.50.215 255.255.255.0 #GigabitEthernet0/2接口配置的IP地址。 ! interface GigabitEthernet0/3 #对接私网IPsec-VPN隧道1的接口 nameif VPN-IP1 #GigabitEthernet0/3接口名称。 security-level 0 ip address 192.168.10.136 255.255.255.0 #GigabitEthernet0/3接口配置的私网IP地址。 ! interface GigabitEthernet0/4 #对接私网IPsec-VPN隧道2的接口 nameif VPN-IP2 #GigabitEthernet0/4接口名称。 security-level 0 ip address 192.168.40.159 255.255.255.0 #GigabitEthernet0/4接口配置的私网IP地址。 ! #配置prefix-list和route-map prefix-list VBR permit 192.168.0.0/16 route-map VBR permit 10 match ip address prefix-list VBR #配置BGP路由 router bgp 65530 #开启BGP路由协议,并配置本地IDC的自治系统号。本文为65530。 bgp router-id 10.0.0.1 #BGP路由器ID,本文设置为10.0.0.1。 address-family ipv4 unicast neighbor 10.0.0.2 remote-as 65534 #与VBR实例建立BGP邻居关系。 neighbor 10.0.0.2 activate #激活BGP邻居。 neighbor 10.0.0.2 route-map VBR out #对VBR仅宣告大段路由。 network 192.168.0.0 mask 255.255.0.0 #宣告本地IDC的网段,建议宣告大网段。 exit-address-family ! #配置去往本地IDC客户端的路由。 route private 192.168.0.0 255.255.0.0 192.168.50.216
重要对VBR实例宣告本地IDC网段时,建议宣告大网段,以确保后续转发路由器通过私网IPsec-VPN连接学习的本地IDC网段比当前宣告的网段更明细,路由优先级更高。
第2步:配置转发路由器
本地IDC通过物理专线连接至阿里云后,开始配置转发路由器,通过转发路由器实现本地IDC与VPC间的私网互通。
在创建云企业网实例对话框选择单独创建,然后自定义云企业网实例名称,其余配置项保持默认状态。
在华东1(杭州)地域创建一个转发路由器实例,用于连接VBR实例和VPC实例。其余配置项保持默认状态。
创建VPC连接。
在云企业网实例详情页面的
页签,找到华东1(杭州)地域的转发路由器实例,在操作列单击创建网络实例连接。在连接网络实例页面,根据以下信息进行配置,然后单击确定创建,将VPC实例连接至转发路由器。
以下仅列举本文强相关的配置项,其余配置项保持默认状态。更多信息,请参见使用企业版转发路由器创建VPC连接。
配置项
说明
实例类型
选择专有网络(VPC)。
地域
选择华东1(杭州)。
连接名称
自定义名称为VPC-Attachment。
网络实例
选择VPC。
交换机
在转发路由器支持的可用区选择交换机实例。
本文选择交换机2和交换机3。在支持多可用区的地域,需在至少2个可用区中各选择一个交换机实例。推荐使用未承载业务的交换机创建VPC连接。
高级配置
使用默认路由配置,即开启三种高级配置。
单击继续创建连接,返回连接网络实例页面。
创建VBR连接。
在连接网络实例页面,根据以下信息进行配置,然后单击确定创建,将VBR实例连接至转发路由器。以下仅列举本文强相关的配置项,其余配置项保持默认状态。更多信息,请参见使用企业版转发路由器创建VBR连接。
配置项
配置项说明
实例类型
选择边界路由器(VBR)。
地域
选择华东1(杭州)。
连接名称
自定义名称为VBR-Attachment。
网络实例
选择VBR。
高级配置
使用默认路由配置,即开启三种高级配置。
第3步:测试私网连通性
完成上述配置后,本地IDC与VPC间已经实现私网互通,您可以通过以下步骤测试私网连通性。
登录VPC中的ECS1实例。具体操作,请参见ECS远程连接操作指南。
执行ping命令,访问本地IDC网段下的任意一台客户端。
ping <本地IDC客户端IP地址>
如上图所示,如果ECS1可以收到响应报文,则表示本地IDC与VPC间已实现私网互通。
步骤二:加密物理专线私网流量
本地IDC与VPC实现私网互通后,您可以在本地网关设备与转发路由器间建立私网网络类型的IPsec-VPN连接,然后通过路由配置,引导本地IDC与VPC之间的流量通过私网IPsec-VPN连接进行传输,实现加密物理专线私网流量。
第1步:建立私网IPsec-VPN连接
为转发路由器添加转发路由器地址段10.10.10.0/24。具体操作,请参见创建转发路由器后添加地址段。
转发路由器地址段用于为IPsec连接分配网关IP地址,以便建立私网IPsec-VPN连接。转发路由器地址段不能与本地IDC、VPC中要参与网络互通的网段冲突。
创建2个用户网关,将本地网关设备的2个VPN IP地址和BGP AS号注册至阿里云。
- 登录VPN网关管理控制台。
在左侧导航栏,选择
。在用户网关页面,单击创建用户网关。
在创建用户网关面板,根据以下信息进行配置,然后单击确定。
以下仅列举本文强相关的配置项,其余配置项保持默认状态。更多信息,请参见创建和管理用户网关。
用户网关1
名称:定义用户网关名称为Customer-Gateway1。
IP地址:输入本地网关设备的VPN IP地址1192.168.10.136。
自治系统号:输入本地网关设备的BGP AS号65530。
用户网关2
名称:定义用户网关名称为Customer-Gateway2。
IP地址:输入本地网关设备的VPN IP地址2192.168.40.159。
自治系统号:输入本地网关设备的BGP AS号65530。
创建IPsec连接。
在左侧导航栏,选择 。
在IPsec连接页面,单击绑定云企业网。
在创建IPsec连接(CEN)页面,根据以下信息配置IPsec连接,然后单击确定。
以下内容仅列举本文强相关的配置项,其余配置项保持默认状态。更多信息,请参见创建和管理IPsec连接(双隧道模式)。
配置项
IPsec连接
IPsec连接名称
定义为IPsec连接。
地域
选择待绑定的转发路由器所属的地域。
IPsec连接创建完成后所属地域与转发路由器地域相同。
网关类型
选择私网。
绑定云企业网
选择本账号绑定。
云企业网实例ID
选择已创建的云企业网实例。
系统将会一并展示云企业网实例在该地域创建的转发路由器实例ID和转发路由器地址段,IPsec连接将会被绑定至该转发路由器。
路由模式
本文使用目的路由模式,后续通过路由控制传输的流量。
启用BGP
开启BGP功能。
本端自治系统号
输入IPsec连接的BGP AS号65534。
Tunnel 1
用户网关
关联Customer-Gateway1。
预共享密钥
fddsFF111****。
重要IPsec连接及其对端网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。
加密配置
除以下参数外,其余配置项保持默认值。
IKE配置的DH分组选择group14。
IPsec配置的DH分组选择group14。
说明您需要根据本地网关设备的支持情况选择加密配置参数,确保IPsec连接和本地网关设备的加密配置保持一致。
BGP配置
隧道网段:输入169.254.10.0/30。
本端BGP地址:输入169.254.10.1。
Tunnel 2
用户网关
关联Customer-Gateway2。
预共享密钥
fddsFF222****。
加密配置
除以下参数外,其余配置项保持默认值。
IKE配置的DH分组选择group14。
IPsec配置的DH分组选择group14。
说明您需要根据本地网关设备的支持情况选择加密配置参数,确保IPsec连接和本地网关设备的加密配置保持一致。
BGP配置
隧道网段:输入169.254.20.0/30。
本端BGP地址:输入169.254.20.1。
高级配置
使用默认路由配置,即开启所有高级配置选项。
IPsec连接创建完成后,您可以在IPsec连接详情页面查看IPsec连接的网关IP地址,IPsec连接将使用这2个网关IP地址与本地网关设备建立私网IPsec-VPN连接。
返回IPsec连接页面,找到创建的IPsec连接,在操作列单击生成对端配置。
对端配置是指需要在IPsec连接对端添加的VPN配置。本文场景中您需要将这些配置添加在本地网关设备上。
在IPsec连接配置对话框,复制配置并保存在您的本地,用于后续配置本地网关设备。
配置本地网关设备。
创建IPsec连接后,您需要在本地网关设备上添加VPN配置,使本地网关设备与阿里云之间成功建立私网IPsec-VPN连接。
完成上述配置后,本地网关设备已经可以与阿里云成功建立私网IPsec-VPN连接,但BGP邻居尚未建立成功。您可以在阿里云IPsec连接实例详情页面查看私网IPsec-VPN连接状态。如果您的环境中未成功建立私网IPsec-VPN连接,请尝试自助排查问题。具体操作,请参见IPsec-VPN自助诊断。
第2步:配置路由
私网IPsec-VPN连接创建完成后,本地IDC与VPC之间的流量依旧是通过物理专线传输,还未进行加密。需要添加相关路由使本地IDC与VPC之间的流量通过私网IPsec-VPN连接进行传输。
在本地网关设备上添加BGP路由配置。
#配置prefix-list和route-map prefix-list VPN permit 192.168.10.0/16 prefix-list VPN permit 192.168.20.0/16 prefix-list VPN permit 192.168.40.0/16 route-map VPN permit 10 match ip address prefix-list VPN #添加BGP配置,使本地网关设备与IPsec连接建立BGP邻居关系 router bgp 65530 address-family ipv4 unicast neighbor 169.254.10.1 remote-as 65534 #指定BGP邻居,即阿里云侧隧道1的IP地址。 neighbor 169.254.10.1 activate #激活BGP邻居。 neighbor 169.254.10.1 route-map VPN out #对隧道1仅宣告明细路由。 neighbor 169.254.20.1 remote-as 65534 #指定BGP邻居,即阿里云侧隧道2的IP地址。 neighbor 169.254.20.1 activate #激活BGP邻居。 neighbor 169.254.20.1 route-map VPN out #对隧道2仅宣告明细路由。 maximum-paths 5 #提升BGP ECMP等价路由条目数量。 network 192.168.10.0 mask 255.255.255.0 #宣告本地IDC的网段,该网段需比对VBR实例宣告的网段更明细。 network 192.168.20.0 mask 255.255.255.0 network 192.168.40.0 mask 255.255.255.0 exit-address-family
重要对私网IPsec-VPN连接宣告本地IDC网段时,需确保该网段比对VBR实例宣告的本地IDC网段更明细,以确保转发路由器通过私网IPsec-VPN连接学习到的本地IDC的路由更优。
为转发路由器添加自定义路由条目。
上述路由配置完成后,私网IPsec-VPN连接会中断,需要在转发路由器路由表中添加去往本地网关设备VPN IP地址的明细路由,下一跳指向VBR实例,重新建立私网IPsec-VPN连接。
保持在转发路由器路由表页签,单击路由条目页签,然后单击创建路由条目。
在添加路由条目对话框,配置路由条目信息,然后单击确定。
配置项
网段1
网段2
目的地址CIDR
输入本地网关设备VPN IP地址1192.168.10.136/32。
输入本地网关设备VPN IP地址2192.168.40.159/32。
是否为黑洞路由
选择否。
下一跳连接
选择VBR-Attachment。
在转发路由器路由表下添加第1个路由策略。
本地IDC将通过VBR实例和私网IPsec-VPN连接同时学习到VPC的网段,为确保云下去往云上的流量优先通过私网IPsec-VPN连接进入VPC,您需要在转发路由器中配置路由策略,使VBR实例向本地IDC发布的VPC的网段的优先级低于私网IPsec-VPN连接向本地IDC发布的VPC网段的优先级。
登录云企业网管理控制台。
在云企业网实例页面,找到已创建的云企业网实例,单击目标实例ID。
在云企业网实例详情页面,单击华东1(杭州)地域的转发路由器ID。
在转发路由器详情页面,单击转发路由器路由表页签,然后单击路由策略。
在路由策略页签,单击添加路由策略。根据以下信息配置路由策略,然后单击确定。
以下内容仅列举本文强相关的配置项,其余配置项保持默认状态。更多信息,请参见路由策略。
配置项
路由策略
策略优先级
输入30。
关联路由表
保持默认值。
生效方向
选择出地域网关。
匹配条件
目的实例ID列表:VBR实例ID。
路由前缀:输入172.16.10.0/24和172.16.20.0/24,并选择精确匹配。
策略行为
选择允许。
添加策略值
本文选择追加AS Path,并输入65525、65526、65527,降低VBR实例向本地IDC发布的VPC网段的优先级。
在转发路由器路由表下添加第2个路由策略,拒绝私网IPsec-VPN连接向本地IDC传播本地网关设备VPN IP地址的路由,防止路由环路。
策略优先级:本文输入40。
关联路由表:保持默认值。
生效方向:选择出地域网关。
匹配条件:
目的实例ID列表:IPsec连接实例ID。
路由前缀:选择精确匹配,输入本地网关设备VPN IP地址192.168.10.136/32、192.168.40.159/32。
策略行为:选择拒绝。
步骤三:验证加密效果
完成上述配置后,如果您可以在IPsec连接详情页面查看到流量传输监控数据,则证明物理专线的私网流量已经过加密处理。
登录VPC中的ECS1实例。执行ping命令,持续访问本地IDC网段下的任意一台客户端。
ping <本地IDC客户端IP地址> -s 1000 -c 10000
-s 1000
:指定发送1000字节的数据包。-c 10000
:持续发送10000个请求包。
登录VPN网关管理控制台。
在顶部状态栏处,选择华东1(杭州)地域。
在左侧导航栏,选择
。在IPsec连接页面,找到已创建的IPsec连接,单击IPsec连接ID。
在IPsec连接详情页面查看流量传输监控数据。