本文为您介绍在边界路由器VBR(Virtual border router)和私网VPN网关运行BGP动态路由协议的场景下,如何通过私网VPN网关(以下简称VPN网关)实现私网流量加密通信。
背景信息
在您应用本方案前,建议您先了解私网加密通信原理和配置方案说明。更多信息,请参见方案概述。
场景示例
本文以上图场景为例。某企业在杭州拥有一个本地IDC,在阿里云华东1(杭州)地域拥有一个VPC1,VPC1中使用云服务器ECS(Elastic Compute Service)部署了相关服务。因业务发展,企业计划使用物理专线和云企业网实现本地IDC和VPC1的相互通信。同时,为了提高企业网络的安全性,企业希望本地IDC和VPC1之间的流量可以经过加密后再进行传输。
在本地IDC已和VPC1实现私网通信的情况下,企业可以在VPC1中创建私网VPN网关,与本地网关设备建立IPsec连接,同时为VBR实例和VPN网关配置BGP动态路由协议,实现私网流量的加密传输。
准备工作
使用私网VPN网关前,请先向客户经理申请使用权限或者提交工单申请使用权限。
您需要为本地IDC和网络实例规划网段,需确保要互通的网段之间没有重叠。本示例网段规划如下:
配置目标
网段规划
IP地址
VPC1
主网段: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
本示例中客户侧指本地网关设备。
自治系统号:45104
VBR实例的自治系统号默认为45104,且不支持修改。
本地IDC
主网段:192.168.0.0/16
子网段1:192.168.0.0/24
子网段2:192.168.1.0/24
客户端地址:192.168.1.1
本地网关设备
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(杭州)地域创建了VPC1并使用ECS部署了相关服务。具体操作,请参见创建和管理专有网络。
请确保VPC1在华东1(杭州)地域企业版转发路由器支持的可用区中均拥有至少2个交换机实例,2个交换机实例分布在不同的可用区且每个交换机实例拥有一个空闲的IP地址,以便后续云企业网连接VPC1。更多信息,请参见创建VPC连接。
在本示例中,VPC1中包含2个交换机实例,交换机1位于可用区H,交换机2位于可用区I。交换机2用于部署ECS,交换机1仅用于后续关联VPN网关。
说明在您创建VPC实例时,建议您在VPC实例中单独创建一个交换机实例用于后续关联VPN网关,以便交换机实例可以分配私网IP地址至VPN网关。
请检查本地网关设备,确保本地网关设备支持标准的IKEv1和IKEv2协议,以便和阿里云VPN网关建立连接。关于本地网关设备是否支持标准的IKEv1和IKEv2协议,请咨询本地网关设备厂商。
您已经了解VPC1中的ECS实例所应用的安全组规则以及本地IDC中客户端所应用的访问控制规则,并确保ECS实例的安全组规则以及本地IDC客户端的访问控制规则允许本地IDC客户端与VPC1中的ECS实例互通。具体操作,请参见查询安全组规则和添加安全组规则。
配置流程
步骤一:部署物理专线
您需要部署物理专线将本地IDC连接至阿里云。
创建物理专线。
您需要在华东1(杭州)地域申请一条物理专线。具体操作,请参见创建和管理独享专线连接或共享专线连接概述。
本示例选择创建独享专线连接。
创建VBR实例。
登录高速通道管理控制台。
在左侧导航栏,单击边界路由器(VBR)。
在顶部状态栏,选择待创建的VBR实例的地域。
本示例选择华东1(杭州)地域。
在边界路由器(VBR)页面,单击创建边界路由器。
在创建边界路由器面板,根据以下信息进行配置,然后单击确定。
下表仅列举本示例强相关的配置项。如果您想要了解更多信息,请参见创建和管理边界路由器。
配置项
说明
账号类型
本示例选择当前账号。
名称
本示例输入VBR。
物理专线接口
VLAN ID
本示例输入201。
说明请确保VBR的VLAN ID与本地网关设备接口(物理专线连接的接口)划分的VLAN ID一致。
设置VBR带宽值
选择VBR实例的带宽峰值。
阿里云侧IPv4互联IP
本示例输入10.0.0.2。
客户侧IPv4互联IP
本示例输入10.0.0.1。
IPv4子网掩码
本示例输入255.255.255.252。
为VBR实例配置BGP组。
在边界路由器(VBR)页面,单击目标VBR实例ID。
在边界路由器实例详情页面,单击BGP组页签。
在BGP组页签下,单击创建BGP组,并根据以下信息进行BGP组配置,然后单击确定。
下表仅列举本示例强相关的配置项。如果您想要了解更多信息,请参见配置和管理BGP。
名称:输入BGP组的名称。本示例输入VBR-BGP。
Peer AS号:输入本地网关设备的自治系统号。本示例输入65530。
为VBR实例配置BGP邻居。
在边界路由器实例详情页面,单击BGP邻居页签。
在BGP邻居页签下,单击创建BGP邻居。
在创建BGP邻居面板,配置BGP邻居信息,然后单击确定。
BGP组:选择要加入的BGP组。
本示例选择VBR-BGP。
BGP邻居IP:输入BGP邻居的IP地址。
本示例输入本地网关设备连接物理专线的接口的IP地址10.0.0.1。
为本地网关设备配置BGP路由协议。
以下配置示例仅供参考,不同厂商的设备配置命令可能会有所不同。具体命令,请咨询相关设备厂商。
router bgp 65530 //开启BGP路由协议,并配置本地IDC的自治系统号。本示例为65530。 bgp router-id 10.0.0.1 //BGP路由器ID,本示例设置为10.0.0.1。 bgp log-neighbor-changes neighbor 10.0.0.2 remote-as 45104 //和VBR实例建立BGP邻居关系。 ! address-family ipv4 network 192.168.0.0 mask 255.255.0.0 //宣告本地IDC的网段。 neighbor 10.0.0.2 activate //激活BGP邻居。 exit-address-family !
步骤二:配置云企业网
您需要将VPC1和VBR连接至云企业网,连接后,本地IDC和VPC1可通过云企业网实现私网互通。
创建云企业网实例。
登录云企业网管理控制台。
在云企业网实例页面,单击创建云企业网实例。
在创建云企业网实例对话框,根据以下信息进行配置,然后单击确认。
名称:输入云企业网实例的名称。
本示例输入CEN。
描述:输入云企业网实例的描述信息。
本示例输入CEN-for-test-private-VPN-Gateway。
连接VPC实例。
在基本信息页签的VPC区域,单击图标。
在连接网络实例页面,根据以下信息进行配置,然后单击确定创建。
配置项
说明
实例类型
选择待连接的网络实例类型。
本示例选择专有网络(VPC)。
地域
选择待连接的网络实例所在的地域。
本示例选择华东1(杭州)。
转发路由器
系统自动在该地域下创建转发路由器实例。
资源归属UID
选择待连接的网络实例所属的账号类型。
本示例选择同账号。
付费方式
本示例保持默认值按量付费。
按量计费规则,请参见计费说明。
连接名称
输入网络实例连接的名称。
本示例输入VPC1-test。
网络实例
选择待连接的网络实例。
本示例选择VPC1。
交换机
在转发路由器支持的可用区选择交换机实例。
如果企业版转发路由器在当前地域仅支持一个可用区,则您需要在当前可用区选择一个交换机实例。
如果企业版转发路由器在当前地域支持多个可用区,则您需要在至少2个可用区中各选择一个交换机实例。在VPC和企业版转发路由器流量互通的过程中,这2个交换机实例可以实现可用区级别的容灾。
推荐您在每个可用区中都选择一个交换机实例,以减少流量绕行,体验更低传输时延以及更高性能。
更多信息,请参见创建VPC连接。
高级配置
系统默认帮您选中以下三种高级功能。
自动关联至转发路由器的默认路由表
开启本功能后,VPC连接会自动关联至转发路由器的默认路由表,转发路由器通过查询默认路由表转发VPC实例的流量。
自动传播系统路由至转发路由器的默认路由表
开启本功能后,VPC实例会将自身的系统路由传播至转发路由器的默认路由表中,用于网络实例的互通。
自动为VPC的所有路由表配置指向转发路由器的路由
开启本功能后,系统将在VPC实例的所有路由表内自动配置10.0.0.0/8、172.16.0.0/12、192.168.0.0/16三条路由条目,其下一跳均指向VPC连接,用于引导VPC实例的IPv4流量进入转发路由器。转发路由器默认不向VPC实例传播路由。
本示例保持默认值。
连接VBR实例。
在连接网络实例页面,根据以下信息进行配置,然后单击确定创建。
配置项
配置项说明
实例类型
选择待连接的网络实例类型。
本示例选择边界路由器(VBR)。
地域
选择待连接的网络实例所在的地域。
本示例选择华东1(杭州)。
转发路由器
系统自动显示当前地域已创建的转发路由器实例。
资源归属UID
选择待连接的网络实例所属的账号类型。
本示例选择同账号。
连接名称
输入网络实例连接的名称。
本示例输入VBR-test。
网络实例
选择待连接的网络实例。
本示例选择VBR。
高级配置
系统默认帮您选中以下三种高级功能。
自动关联至转发路由器的默认路由表
开启本功能后,VBR连接会自动关联至转发路由器的默认路由表,转发路由器通过查询默认路由表转发VBR实例的流量。
自动传播系统路由至转发路由器的默认路由表
VBR实例会将自身的系统路由传播至转发路由器的默认路由表中,用于网络实例的互通。
自动发布路由到VBR
开启本功能后,系统自动将VBR连接关联的转发路由器路由表中的路由发布到VBR实例中。
本示例保持默认值。
步骤三:部署VPN网关
完成上述步骤后,本地IDC和VPC1之间可以实现私网互通,但在通信过程中,信息未经过加密。您还需要在VPC1中部署VPN网关,与本地网关设备建立IPsec连接,才能实现私网流量加密通信。
创建VPN网关。
登录VPN网关管理控制台。
在顶部菜单栏,选择VPN网关的地域。
VPN网关的地域需和待关联的VPC实例的地域相同。本示例选择华东1(杭州)地域。
在VPN网关页面,单击创建VPN网关。
在购买页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。
配置项
说明
实例名称
输入VPN网关的名称。
本示例输入VPN网关1。
地域
选择VPN网关所属的地域。
本示例选择华东1(杭州)。
网关类型
选择VPN网关的类型。
本示例选择普通型。
网络类型
选择VPN网关的网络类型。
本示例选择私网。
隧道
系统直接展示当前地域IPsec-VPN连接支持的隧道模式。
专有网络
选择VPN网关待关联的VPC实例。
本示例选择VPC1。
虚拟交换机
从VPC1中选择一个交换机实例。
IPsec-VPN连接的隧道模式为单隧道时,您仅需要指定一个交换机实例。
IPsec-VPN连接的隧道模式为双隧道时,您需要指定两个交换机实例。
IPsec-VPN功能开启后,系统会在两个交换机实例下各创建一个弹性网卡ENI(Elastic Network Interfaces),作为使用IPsec-VPN连接与VPC流量互通的接口。每个ENI会占用交换机下的一个IP地址。
说明系统默认帮您选择第一个交换机实例,您可以手动修改或者直接使用默认的交换机实例。
创建VPN网关实例后,不支持修改VPN网关实例关联的交换机实例,您可以在VPN网关实例的详情页面查看VPN网关实例关联的交换机、交换机所属可用区以及交换机下ENI的信息。
虚拟交换机2
从VPC1中选择第二个交换机实例。
IPsec-VPN连接的隧道模式为单隧道时,无需配置该项。
带宽峰值
选择VPN网关的带宽峰值。单位:Mbps。
流量
VPN网关的计费方式。默认值:按流量计费。
更多信息,请参见计费说明。
IPsec-VPN
私网类型的VPN网关仅支持IPsec-VPN功能。
本示例保持默认值,即开启IPsec-VPN功能。
购买时长
VPN网关的计费周期。默认值:按小时计费。
服务关联角色
单击创建关联角色,系统自动创建服务关联角色AliyunServiceRoleForVpn。
VPN网关使用此角色来访问其他云产品中的资源,更多信息,请参见AliyunServiceRoleForVpn。
若本配置项显示为已创建,则表示您的账号下已创建了该角色,无需重复创建。
返回VPN网关页面,查看已创建的VPN网关并记录VPN网关的私网IP地址,用于后续IPsec连接的配置。
刚创建好的VPN网关的状态是准备中,约1~5分钟会变成正常状态。正常状态表明VPN网关完成了初始化,可以正常使用。
创建用户网关。
在左侧导航栏,选择 。
在用户网关页面,单击创建用户网关。
在创建用户网关面板,根据以下信息进行配置,然后单击确定。
以下内容仅列举本示例强相关的配置项及示例值。如果您想要了解更多信息,请参见创建和管理用户网关。
名称:输入用户网关的名称。
本示例输入Customer-Gateway。
IP地址:输入VPN网关待连接的本地网关设备的VPN IP地址。
本示例输入192.168.0.251。
自治系统号:输入本地网关设备的自治系统号。
本示例输入65530。
创建IPsec连接。
在左侧导航栏,选择 。
在IPsec连接页面,单击创建IPsec连接。
在创建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实例的自治系统号需一致,以便后续做路由控制。
健康检查
本示例保持默认配置。
IPsec连接创建成功后,在创建成功对话框,单击确定。
开启VPN网关的BGP路由自动传播功能。
开启BGP路由自动传播功能后,在VPN网关与本地网关设备成功建立BGP邻居的情况下,VPN网关会将学习到的本地IDC的网段传播至VPC1中,同时也会将VPC1中系统路由表下的系统路由传播至本地网关设备。
在左侧导航栏,选择
。在VPN网关页面,找到VPN网关1,在路由自动传播列开启路由自动传播功能。
下载本地网关设备的IPsec连接配置。
在左侧导航栏,选择 。
在IPsec连接页面,找到IPsec连接1,在操作列单击下载对端配置。
将下载的IPsec连接配置保存在您本地客户端。
在本地网关设备中添加VPN配置、BGP配置和静态路由。
依据下载的IPsec连接配置,在本地网关设备中完成VPN配置,并在本地网关设备上添加BGP配置和静态路由。
以下配置示例仅供参考,不同厂商的设备配置命令可能会有所不同。具体命令,请咨询相关设备厂商。
登录本地网关设备的命令行配置界面。
执行以下命令,配置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 !
执行以下命令,配置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 !
执行以下命令,配置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 !
执行以下命令,配置transform。
crypto ipsec transform-set TSET esp-aes esp-sha-hmac mode tunnel exit !
执行以下命令,配置IPsec Profile,并调用transform、pfs和ikev2 profile。
crypto ipsec profile alicloud set transform-set TSET set pfs group2 set ikev2-profile alicloud exit !
执行以下命令,配置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 !
执行以下命令,配置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 !
执行以下命令,配置静态路由。
ip route 10.0.0.167 255.255.255.255 10.0.0.2 //引导从本地IDC去往云上VPN网关的流量进入物理专线。
步骤四:配置云上路由和路由策略
完成上述配置后,本地网关设备和VPN网关之间已经可以基于私网连接建立加密通信通道了。您还需要为云上网络实例配置路由和路由策略,引导云上和云下流量通信时进入加密通信通道。
为VPC1添加自定义路由条目。
登录专有网络管理控制台。
在左侧导航栏,单击路由表。
在顶部状态栏处,选择路由表所属的地域。
本示例选择华东1(杭州)地域。
在路由表页面,找到目标路由表,单击路由表实例ID。
本示例找到VPC1的系统路由表。
在路由条目列表页签下单击自定义路由条目页签,然后单击添加路由条目。
在添加路由条目面板,配置以下信息,然后单击确定。
配置项
说明
名称
输入自定义路由条目的名称。
目标网段
输入自定义路由条目的目标网段。
本示例选择IPv4网段并输入本地网关设备VPN IP地址192.168.0.251/32。
下一跳类型
选择自定义路由条目的下一跳类型。
本示例选择转发路由器。
转发路由器
选择自定义路由条目的下一跳。
本示例选择VPC1-test。
为VBR实例添加自定义路由条目。
登录高速通道管理控制台。
在左侧导航栏,单击边界路由器(VBR)。
在顶部状态栏处,选择VBR实例的地域。
本示例选择华东1(杭州)地域。
在边界路由器(VBR)页面,单击目标边界路由器的ID。
单击路由条目页签,然后单击添加路由条目。
在添加路由条目面板,根据以下信息配置路由条目,然后单击确定。
在云企业网中配置路由策略。
基于以上步骤的配置,本地IDC将通过VBR实例和VPN网关同时学习到VPC1的网段,为确保云下去往云上的流量优先通过VPN网关加密通道进入VPC1,您需要在云企业网中配置路由策略,使VBR实例向本地IDC发布的VPC1的网段的优先级低于VPN网关向本地IDC发布的VPC1网段的优先级。
登录云企业网管理控制台。
在 区域,找到转发路由器实例,单击实例ID。
在转发路由器实例详情页面,单击转发路由器路由表页签,然后单击路由策略页签。
在路由策略页签,单击添加路由策略。在添加路由策略页面,根据以下信息进行配置,然后单击确定。
下表仅列举本示例强相关的配置项。如果您想要了解更多信息,请参见路由策略概述。
配置项
说明
策略优先级
输入路由策略的优先级。
本示例输入5。
地域
选择路由策略应用的地域。
本示例选择华东1(杭州)。
关联路由表
选择路由策略关联的路由表。
本示例选择当前转发路由器实例的默认路由表。
应用方向
选择路由策略应用的方向。
本示例选择出地域网关。
匹配条件
配置路由策略的匹配条件。
本示例匹配条件如下:
源实例ID列表:输入VPC1实例ID。
目的实例ID列表:输入VBR实例ID。
路由前缀:输入10.0.1.0/24和10.0.0.0/24。
策略行为
选择策略行为。
本示例选择允许。
添加策略值
设置允许通过的路由的优先级。
本示例选择追加AS Path,并输入65525、65526、65527,降低VBR实例向本地IDC发布的VPC1网段的优先级。
步骤五:测试验证
完成上述配置后,本地IDC和VPC1之间已经可以进行私网加密通信。以下内容为您介绍如何测试本地IDC和VPC1之间的私网连通性以及如何验证流量是否经过VPN网关加密。
测试私网连通性。
登录ECS1实例。具体操作,请参见ECS远程连接操作指南。
执行ping命令,访问本地IDC网段下的任意一台客户端,测试本地IDC和VPC1之间的私网连通性。
ping <本地IDC客户端私网IP地址>
如果收到回复报文,则证明本地IDC和VPC1之间已经实现私网互通。
验证加密是否生效。
如果您可以在IPsec连接详情页面查看到流量监控数据,则证明私网流量传输过程已经过加密处理。
登录VPN网关管理控制台。
在顶部状态栏处,选择VPN网关所属的地域。
本示例选择华东1(杭州)地域。
在左侧导航栏,选择 。
在IPsec连接页面,找到在步骤3中创建的IPsec连接,单击IPsec连接ID。
进入IPsec连接详情页面查看流量监控数据。