创建策略路由后,VPN网关实例将基于流量的源IP地址和目的IP地址匹配策略路由,然后根据流量匹配到的策略路由转发流量。
前提条件
配置策略路由前,VPN网关实例下需已创建了IPsec连接。具体操作,请参见创建和管理IPsec连接(单隧道模式)或创建和管理IPsec连接(双隧道模式)。
使用限制
不支持添加目标网段为0.0.0.0/0的策略路由。
请勿添加目标网段为100.64.0.0/10、100.64.0.0/10下的子网段或者包含100.64.0.0/10网段的策略路由,该类策略路由会导致控制台无法显示IPsec连接的状态或者导致IPsec连接协商失败。
策略路由的优先级高于目的路由以及BGP路由。
策略路由匹配原则
当前新创建的VPN网关实例支持为策略路由配置策略优先级。如果您已经购买的VPN网关实例不支持为策略路由配置策略优先级,关于策略路由的匹配规则请参见策略路由匹配规则(不包含策略优先级)。
推荐您对VPN网关实例进行升级,升级后的VPN网关实例默认支持为策略路由配置策略优先级。具体操作,请参见升级VPN网关。
策略路由匹配规则(包含策略优先级)
VPN网关在转发流量时,按照以下规则为流量匹配策略路由:
系统默认按照策略路由的策略优先级从高到低(策略优先级数字越小,优先级越高)逐条匹配策略路由,然后按照匹配到策略路由转发流量。
如果VPN网关实例配置了主备策略路由,仅生效的策略路由参与匹配过程,不生效的策略路由不会参与匹配过程。主备策略路由生效规则说明如下:
如果系统检测到主策略路由关联的IPsec连接是连通的(IPsec连接协商成功且健康检查正常),则主策略路由生效,备策略路由不生效。
如果系统检测到主策略路由关联的IPsec连接不通(IPsec连接协商失败或者IPsec连接协商成功但健康检查异常)但备策略路由关联的IPsec连接是连通的,则备策略路由生效,主策略路由不生效。
如果系统检测到主策略路由和备策略路由关联的IPsec连接均不通,则系统默认主策略路由生效,备策略路由不生效。
如果流量匹配到了多条策略优先级相同的策略路由,则系统会按照策略路由的顺序逐条匹配路由,一旦能够匹配到策略路由,立即按照当前策略路由转发流量。
策略路由的顺序由策略路由被下发至系统的时间决定。通常是先配置的策略路由被优先下发至系统,但当前情况无法完全保证,因此有可能存在后配置的策略路由被优先下发至系统,造成后配置的策略路由的优先级高于先配置的策略路由的优先级。
策略路由配置建议
为确保流量按照您期望的路径进行转发,在配置策略路由时,建议您为每条策略路由配置不同的策略优先级以保证流量仅可匹配到一条策略路由。
如果VPN网关实例需要配置主备策略路由,则主备策略路由建议配置相同的策略优先级。
策略路由匹配规则示例
如上图所示,本地IDC_1通过IPsec连接1和VPC_1互通,本地IDC_2通过IPsec连接2和VPC_1互通。本地IDC_1待互通网段为192.168.1.0/24和192.168.2.0/24,本地IDC_2待互通网段为192.168.5.0/24,VPC_1待互通网段为172.16.0.0/16。
在配置策略路由时,您首先配置了VPC_1去往本地IDC_2的路由,然后将VPC_1去往本地IDC_1的路由的目标网段聚合为192.168.0.0/21进行配置,两条策略路由的策略优先级相同。配置完成后,策略路由并未按照您的配置顺序被下发至系统,导致策略路由表各策略路由条目的顺序发生了变化,如下表所示。
策略路由顺序 | 策略路由的策略优先级 | 策略路由被下发至系统的时间 | 目标网段 | 源网段 | 下一跳 |
1 | 10 | 2022-12-01:12:01:01 | 192.168.0.0/21 | 172.16.0.0/16 | IPsec连接1 |
2 | 10 | 2022-12-01:12:01:02 | 192.168.5.0/24 | 172.16.0.0/16 | IPsec连接2 |
上表中“策略路由被下发至系统的时间”由系统后台自动记录,在VPN网关管理控制台并不显示,此处仅作示例使用。
由于两条策略路由的策略优先级相同,VPN网关在转发VPC_1去往本地IDC_2的流量时,会按照策略路由的顺序逐条匹配路由,经系统分析VPC_1去往本地IDC_2的流量可以匹配上顺序为1的策略路由,则VPC_1去往本地IDC_2的流量会通过IPsec连接1被转发至本地IDC_1中。
在上述场景中策略路由被下发至系统的时间不可控,导致策略路由未按照期望的顺序进行排列,进而导致流量未按照期望的路径进行转发。为了避免上述现象,在配置策略路由时,建议您为策略路由配置不同的策略优先级,以确保流量仅可匹配到一条策略路由,不受策略路由顺序的影响。
在本示例中,建议您配置如下表所示的策略路由,虽然顺序为1的策略路由被先下发至系统,但是顺序为1的策略路由的策略优先级较低,VPN网关在转发VPC_1去往本地IDC_2的流量时,流量会优先匹配到顺序为2的策略路由,流量会按照期望的路径被转发至本地IDC_2。
策略路由顺序 | 策略路由的策略优先级 | 策略路由被下发至系统的时间 | 目标网段 | 源网段 | 下一跳 |
1 | 20 | 2022-12-01:12:01:01 | 192.168.0.0/21 | 172.16.0.0/16 | IPsec连接1 |
2 | 10 | 2022-12-01:12:01:02 | 192.168.5.0/24 | 172.16.0.0/16 | IPsec连接2 |
策略路由匹配规则(不包含策略优先级)
在VPN网关转发流量时,不按照最长掩码匹配规则匹配策略路由,VPN网关会按照策略路由的顺序逐条匹配路由,一旦能够匹配到策略路由,立即按照当前策略路由转发流量。
策略路由的顺序由策略路由被下发至系统的时间决定。通常是先配置的策略路由被优先下发至系统,但当前情况无法完全保证,因此有可能存在后配置的策略路由被优先下发至系统,造成后配置的策略路由的优先级高于先配置的策略路由的优先级。
如果VPN网关实例配置了主备策略路由,仅生效的策略路由参与匹配过程,不生效的策略路由不会参与匹配过程。主备策略路由生效规则说明如下:
如果系统检测到主策略路由关联的IPsec连接是连通的(IPsec连接协商成功且健康检查正常),则主策略路由生效,备策略路由不生效。
如果系统检测到主策略路由关联的IPsec连接不通(IPsec连接协商失败或者IPsec连接协商成功但健康检查异常)但备策略路由关联的IPsec连接是连通的,则备策略路由生效,主策略路由不生效。
如果系统检测到主策略路由和备策略路由关联的IPsec连接均不通,则系统默认主策略路由生效,备策略路由不生效。
策略路由配置建议
为确保流量按照您期望的路径进行转发,在您配置策略路由时,请尽量添加精确的策略路由以保证流量仅可匹配到一条策略路由。
策略路由匹配规则示例
如上图所示,本地IDC_1通过IPsec连接1和VPC_1互通,本地IDC_2通过IPsec连接2和VPC_1互通。本地IDC_1待互通网段为192.168.1.0/24和192.168.2.0/24,本地IDC_2待互通网段为192.168.5.0/24,VPC_1待互通网段为172.16.0.0/16。
在配置策略路由时,您首先配置了VPC_1去往本地IDC_2的路由,然后将VPC_1去往本地IDC_1的路由的目标网段聚合为192.168.0.0/21进行配置,配置完成后,策略路由并未按照您的配置顺序被下发至系统,导致策略路由表各策略路由条目的顺序发生了变化,如下表所示。
策略路由顺序 | 策略路由被下发至系统的时间 | 目标网段 | 源网段 | 下一跳 |
1 | 2022-12-01:12:01:01 | 192.168.0.0/21 | 172.16.0.0/16 | IPsec连接1 |
2 | 2022-12-01:12:01:02 | 192.168.5.0/24 | 172.16.0.0/16 | IPsec连接2 |
VPN网关在转发VPC_1去往本地IDC_2的流量时,会按照策略路由的顺序逐条匹配路由,经系统分析VPC_1去往本地IDC_2的流量可以匹配上顺序为1的策略路由,则VPC_1去往本地IDC_2的流量会通过IPsec连接1被转发至本地IDC_1中。
在上述场景中由于策略路由被下发至系统的时间不可控,导致策略路由未按照期望的顺序进行排列,进而导致流量未按照期望的路径进行转发。为了避免上述现象,在配置策略路由时,建议您尽量配置精确的策略路由,以确保流量仅可匹配到一条策略路由,不受策略路由顺序的影响。
在本示例中,建议您配置如下表所示的策略路由,VPN网关在转发VPC_1去往本地IDC_2的流量时,流量仅会匹配到顺序为2的策略路由,流量会按照期望的路径被转发至本地IDC_2。
策略路由顺序 | 策略路由被下发至系统的时间 | 目标网段 | 源网段 | 下一跳 |
1 | 2022-12-01:12:01:01 | 192.168.1.0/24 | 172.16.0.0/16 | IPsec连接1 |
2 | 2022-12-01:12:01:02 | 192.168.5.0/24 | 172.16.0.0/16 | IPsec连接2 |
3 | 2022-12-01:12:01:03 | 192.168.2.0/24 | 172.16.0.0/16 | IPsec连接1 |
上表中“策略路由被下发至系统的时间”由系统后台自动记录,在VPN网关管理控制台并不显示,此处仅作示例使用。
添加策略路由
登录VPN网关管理控制台。
在顶部菜单栏,选择VPN网关实例的地域。
在VPN网关页面,单击目标VPN网关实例ID。
在VPN网关实例详情页面单击策略路由表页签,然后单击添加路由条目。
在添加路由条目面板,根据以下信息配置策略路由,然后单击确定。
配置
说明
目标网段
输入要访问的本地数据中心的网段。
源网段
输入VPN网关实例关联的VPC侧的网段。
下一跳类型
选择IPsec连接。
下一跳
选择需要建立IPsec-VPN连接的IPsec连接。
发布到 VPC
选择是否将新添加的路由发布到VPC中。
是(推荐):将新添加的路由发布到VPC中。系统仅会将路由发布至VPC系统路由表中,而不会发布至VPC自定义路由表中。
如果VPC自定义路由表中需要包含该路由,请您手动添加。具体操作,请参见添加自定义路由条目到自定义路由表。
否:不发布新添加的路由到VPC中。
选择否后,您需要手动在VPC系统路由表和自定义路由表中添加本地数据中心的网段,下一跳指向VPN网关实例,否则VPC将无法通过IPsec-VPN连接访问该网段下的资源。
重要如果您在策略路由表和目的路由表创建了目标网段相同的路由条目,并且这两条路由条目被发布到同一个到VPC中,当您在策略路由表下撤销发布该路由条目时,目的路由表下的该路由条目也会被同时撤销发布。
权重
说明仅支持单隧道模式IPsec-VPN连接的VPN网关实例支持配置权重值。如果您的场景需要配置主备链路,推荐您升级IPsec-VPN连接为双隧道模式。双隧道模式的IPsec-VPN连接默认拥有主备两条链路,无需通过权重值指定主备链路。
选择策略路由的权重值。
在您使用同一个VPN网关实例搭建主备IPsec-VPN连接的场景中,您可以通过配置策略路由的权重值来指定主链路和备链路,权重值为100的策略路由默认为主链路,权重值为0的策略路由默认为备链路。主策略路由和备策略路由的源网段和目标网段需相同。
您可以通过为IPsec连接配置健康检查来自动探测链路的连通性,在主链路不通的情况下,系统自动将流量切换至备链路进行传输,实现上云链路的高可用。关于IPsec连接健康检查的更多信息,请参见健康检查。
100(主)(默认值):表示当前策略路由关联的IPsec连接为主链路。
0(备):表示当前策略路由关联的IPsec连接为备链路。
重要在您指定主备链路时,主策略路由和备策略路由的源网段和目标网段需相同。
对于在2023年10月12日后未进行过升级的VPN网关实例,如果您需要配置主备策略路由,请确保每个网段均指定了主备链路,如果某个网段仅配置了一条链路,则可能导致其他网段主备链路切换失败。
您可以通过升级VPN网关实例或升级IPsec-VPN连接为双隧道模式规避该问题。对于在2023年10月12日后升级的VPN网关实例或新建的VPN网关实例不存在该问题。
指定主备链路后,如果您需要修改主链路的权重值,需先将备链路删除,待主链路修改完成后,再重新配置备链路。如果您需要修改备链路的权重值,也需先删除主链路,待备链路修改完成后再重新配置主链路。
策略优先级
选择策略路由的优先级。取值范围:1~100。默认值:10。
添加策略路由时,如果系统提示路由冲突,请参见在VPN网关实例下添加路由时系统提示路由重复等报错时怎么办?。
发布策略路由
在您创建IPsec连接时,您可以选择路由模式。如果您选择了感兴趣流模式,在IPsec连接创建完成后,系统会自动为您的VPN网关创建策略路由,路由是未发布状态。您可以执行本操作,将路由发布到VPC中,系统仅会将路由发布至VPC系统路由表中,而不会发布至VPC自定义路由表中。
如果VPC自定义路由表中需要包含该路由,请您手动添加。具体操作,请参见添加自定义路由条目到自定义路由表。
登录VPN网关管理控制台。
在顶部菜单栏,选择VPN网关实例的地域。
在VPN网关页面,单击目标VPN网关实例ID。
在VPN网关实例详情页面单击策略路由表页签,找到目标路由条目,在操作列单击发布。
在发布路由对话框,单击确定。
目标路由发布后,您可以单击撤销发布,撤销已经发布的路由。
重要如果您在策略路由表和目的路由表创建了目标网段相同的路由条目,并且这两条路由条目被发布到同一个到VPC中,当您在策略路由表下撤销发布该路由条目时,目的路由表下的该路由条目也会被同时撤销发布。
编辑策略路由
添加策略路由后,您可以修改策略路由的权重值和策略优先级。
登录VPN网关管理控制台。
在顶部菜单栏,选择VPN网关实例的地域。
在VPN网关页面,单击目标VPN网关实例ID。
在VPN网关实例详情页面单击策略路由表页签,找到目标路由条目,在操作列单击编辑。
在编辑面板,修改策略路由的权重值和策略优先级,然后单击确定。
删除策略路由
登录VPN网关管理控制台。
在顶部菜单栏,选择VPN网关实例的地域。
在VPN网关页面,单击目标VPN网关实例ID。
在VPN网关实例详情页面单击策略路由表页签,找到目标路由条目,在操作列单击删除。
在删除路由条目对话框,单击确定。
通过调用API配置策略路由
支持通过阿里云 SDK(推荐)、阿里云 CLI、Terraform、资源编排等工具调用API配置和管理策略路由。相关API说明,请参见:
CreateVpnPbrRouteEntry:创建策略路由。
DeleteVpnPbrRouteEntry:删除策略路由。
ModifyVpnPbrRouteEntryWeight:修改策略路由的权重值。
ModifyVpnPbrRouteEntryPriority:修改策略路由的策略优先级。
ModifyVpnPbrRouteEntryAttribute:修改策略路由的权重值和策略优先级。
DescribeVpnPbrRouteEntries:查询已配置的策略路由。