IPsec连接绑定VPN网关后,您需要在VPN网关上配置路由,使VPC发往本地数据中心的流量能够正确转发。
选择路由配置方式
静态路由 vs BGP动态路由
维度 | 静态路由 | BGP动态路由 |
适用场景 | 路由数量少、变更不频繁 | 路由数量多、变更频繁 |
维护成本 | 中,路由变更需手动修改 | 低,路由自动分发和学习 |
前提条件 | 无特殊要求 | VPN网关和本地网关设备均需支持BGP |
静态路由:目的路由 vs 策略路由
如果您选择静态路由,还需选择目的路由或策略路由:
维度 | 目的路由 | 策略路由 |
匹配依据 | 仅目的IP | 源IP + 目的IP |
使用场景 | 通用场景,大多数用户选择此项 | 需要按源网段区分流量路径的场景 |
优先级 | 低于策略路由 | 高于目的路由 |
路由优先级
流量进入VPN网关后,按照如下顺序匹配路由条目:
先匹配策略路由表:在策略路由表内部,不按照最长掩码匹配 ,而是按照策略优先级匹配。
再匹配目的路由表:按照最长掩码匹配。
最后匹配BGP路由表。
静态路由配置
全链路概览
通过VPN网关连通云上VPC和云下IDC时,需要关注3张路由表:
流量方向 | VPC路由表 | VPN网关路由表 | 本地网关设备路由表 |
下云方向 | 两种方式二选一:
| 需手动添加1条路由:
| 确认本地网关设备已存在去往IDC内网网段的路由,若不存在需手动添加。 |
上云方向 | 无需配置。 | 无需配置。 | 需手动添加2条路由: 目标网段都为VPC网段,下一跳分别为IPsec连接的主隧道和备隧道,并为主隧道配置更高的权重。 |
目的路由配置
目的路由根据流量的目的IP地址匹配路由并转发流量。
VPN网关按以下规则匹配目的路由:
最长掩码匹配:流量优先匹配掩码位数最长的路由。例如,同时存在
10.0.0.0/8和10.10.0.0/16两条路由,目的地址为10.10.10.1的流量会匹配10.10.0.0/16。主备路由(仅适用于存量单隧道模式的VPN网关):仅生效的路由参与匹配,不生效的路由不参与。详见主备路由配置。
控制台
添加目的路由
添加前需确保已创建IPsec连接(绑定VPN网关)。
删除目的路由
在目标路由条目的操作列单击删除。
API
API | 说明 |
创建目的路由 | |
发布/撤销VPN路由 | |
删除目的路由 | |
修改权重值(仅存量的单隧道VPN网关) | |
查询目的路由和BGP路由 |
策略路由配置
策略路由根据流量的源IP地址和目的IP地址同时匹配路由并转发流量。策略路由的优先级高于目的路由和BGP路由。
VPN网关按以下顺序匹配策略路由:
策略优先级:数字越小优先级越高,优先匹配。
同优先级:按路由下发系统的时间顺序逐条匹配,命中即停止。
同优先级路由的下发顺序不完全可控。建议为每条策略路由配置不同的策略优先级,确保流量只能匹配到一条路由。
针对存量的单隧道模式的VPN网关,如需配置主备策略路由,主备路由应使用相同的策略优先级。仅生效的策略路由参与匹配过程,不生效的策略路由不会参与匹配过程,详见主备路由配置。
控制台
添加策略路由
添加前需确保已创建IPsec连接(绑定VPN网关)。
编辑策略路由
在目标路由条目的操作列单击编辑,可修改策略优先级或权重(仅存量单隧道模式的VPN网关可修改权重)。
删除策略路由
在目标路由条目的操作列单击删除。
API
API | 说明 |
创建策略路由 | |
删除策略路由 | |
修改权重值 | |
修改策略优先级 | |
修改权重值和策略优先级 | |
查询策略路由 |
发布到VPC路由表
可将手动添加的路由直接发布至VPC系统路由表,无需再去VPC路由表中手动添加路由。
路由仅发布至VPC系统路由表,不会发布至自定义路由表。如需在自定义路由表中添加,请参见添加/删除路由条目。
如果策略路由表和目的路由表中存在目标网段相同的路由,撤销发布其中一条时,另一条也会被同时撤销发布。
控制台
添加目的路由或策略路由时,可直接选择发布到专有网络。
针对已添加的路由条目,可在目标条目的操作列单击发布或撤销发布。
API
调用PublishVpnRouteEntry发布或撤销路由。
使用限制
以下限制适用于目的路由和策略路由:
不支持添加目标网段为
0.0.0.0/0的路由。请勿添加目标网段为
100.64.0.0/10(含其子网段和父网段)的路由,否则会导致IPsec连接状态异常或协商失败。如果系统提示路由冲突,请参见路由重复报错处理。
BGP动态路由配置
BGP(Border Gateway Protocol)动态路由通过在VPN网关和本地数据中心之间建立BGP邻居关系,自动学习和分发路由,无需手动维护。
全链路概览
流量方向 | VPC路由表 | VPN网关路由表 | 本地网关设备路由表 |
下云方向 | 无需配置。 VPN网关开启路由自动传播后,VPC路由表可以自动从VPN网关学习到去往本地IDC的路由。 |
| 需在本地网关设备开启BGP功能: 开启后,自动将本地网段通告给云端,同时自动学习到云上VPC网段。 |
上云方向 | 无需配置。 |
BGP路由宣告原则
入云方向:本地数据中心通过BGP宣告的路由 → 传播到VPN网关 → 自动传播到VPC系统路由表(需开启路由自动传播)
出云方向:VPC系统路由中的系统路由条目 → VPN网关自动学习(需开启路由自动传播) → 通过BGP传播给本地数据中心
配置步骤
配置前,请确保:
VPN网关支持BGP功能:判断VPN网关是否支持BGP。
本地数据中心网关设备支持BGP协议。
控制台
在用户网关中指定本地数据中心ASN
创建用户网关时指定本地数据中心的自治系统号(ASN)。如果已创建的用户网关未指定ASN,需重新创建。具体操作请参见用户网关。
在IPsec连接中启用BGP
创建或编辑IPsec连接时,配置用户网关、启用BGP、本端自治系统号、隧道网段、本端BGP地址。参数的具体说明及操作请参见开启/关闭BGP。
两条隧道的本端自治系统号必须相同,对端BGP AS号建议相同。
IPsec连接的路由模式推荐选择目的路由模式。
开启路由自动传播
在目标VPN网关实例的路由自动传播列开启功能。开启后:
VPN网关自动学习VPC系统路由表中的系统路由。
VPN网关将通过BGP学习到的本地数据中心路由自动传播到VPC系统路由表。
BGP路由仅传播至VPC系统路由表,不会传播至自定义路由表。
确认BGP路由已生效
VPN网关BGP路由表:在VPN网关实例详情页,切换到BGP路由表页签查看。路由来源标记为"CLOUD"(云上路由)或"VPN_BGP"(BGP学习的路由)。
VPC系统路由表:在VPC系统路由表中查看类型为"动态路由"的条目。
API
在用户网关中指定本地数据中心ASN
在IPsec连接中启用BGP
调用CreateVpnConnection创建IPsec连接。
调用ModifyVpnConnectionAttribute修改IPsec连接配置;调用ModifyTunnelAttribute修改隧道配置。
开启路由自动传播
确认BGP路由已生效
调用DescribeVpnRouteEntries查询BGP路由条目。
使用限制
每个VPN网关的BGP路由表支持接收50条路由(可联系客户经理申请提升至200条)。
VPN网关不接收目标网段为
0.0.0.0/0的BGP路由。同一VPN网关下多个IPsec连接启用BGP时,本端自治系统号需相同。
禁止将不同IPsec连接的路由互导。
一个VPC关联多个VPN网关时,VPN网关之间不支持建立BGP邻居关系,且禁止将不同VPN网关的路由互导。
在一个VPC关联多个VPN网关,多个VPN网关均启用BGP动态路由功能的场景下,如果多个VPN网关关联的用户网关相同,则VPN网关下IPsec连接的本端自治系统号需相同,否则可能会产生环路。
多个双隧道模式IPsec连接同时使用BGP时,各连接学习到的路由目标网段不能冲突。
使用物理专线和VPN网关主备接入VPC时,边界路由器和VPN网关配置的本地ASN需一致。
如果VPN网关关联的VPC加入了云企业网,需开启云企业网的路由重叠功能(2019年3月后创建的云企业网默认已开启)。
多个VPC接入同一云企业网时,若各VPC的VPN网关均通过BGP连接到相同的本地数据中心,动态路由可能经CEN传播至其他VPC,造成路由震荡。建议VPN网关改用静态路由。
单隧道模式的VPN网关:请勿传播
100.64.0.0/10(含其子网段和父网段)的路由(可通过升级IPsec-VPN连接为双隧道模式规避)。
附录
路由配置建议
一个VPN网关实例下如果创建了多个IPsec-VPN连接,建议所有IPsec-VPN连接使用相同的路由配置方式,不推荐目的路由、策略路由、BGP动态路由同时使用两种或三种。
配置BGP动态路由时,IPsec连接的路由模式路由模式推荐使用目的路由模式。
判断VPN网关是否支持BGP
新创建的支持双隧道模式IPsec连接的VPN网关,默认支持BGP。
存量VPN网关:调用DescribeVpnGateway 接口,检查
Tag字段中VpnEnableBgp是否为true。不支持时的升级方案:
- 双隧道模式VPN网关:升级 VPN 网关(仅传统型)
- 单隧道模式VPN网关:升级为双隧道模式
主备路由配置
此处内容仅适用于存量单隧道模式的VPN网关。
存量单隧道模式的VPN网关如需配置主备链路,推荐您升级IPsec-VPN连接为双隧道模式。双隧道模式的IPsec-VPN连接默认拥有主备两条链路,无需通过权重值指定主备链路。
若您仍需在单隧道模式下配置主备链路,配置方法为:
主路由权重
100,备路由权重0,目标网段相同(如果是策略路由源网段也要相同),下一跳不同。为IPsec连接配置健康检查(选项位置在“单隧道模式-IPsec连接-隧道配置”)以实现自动切换。
后续若需修改权重,那么修改主路由权重前需先删除备路由,修改完成后再重新创建备路由(反之亦然)。
对于在2023年10月12日后未进行过升级的VPN网关实例,如果您需要配置主备策略路由,请确保每个网段均指定了主备链路,如果某个网段仅配置了一条链路,则可能导致其他网段主备链路切换失败。您可以通过升级 VPN 网关或升级IPsec-VPN连接为双隧道模式规避该问题。对于在2023年10月12日后升级的VPN网关实例或新建的VPN网关实例不存在该问题。
配置完成后,路由生效规则:
主路由关联的IPsec连接
备路由关联的IPsec连接
生效路由
连通(协商成功且健康检查正常)
任意
主路由
不通
连通
备路由
不通
不通
主路由(默认)
实践教程
请参见strongSwan配置示例。