策略路由是在路由表已经产生的情况下,不按照现有的路由表进行转发,从更多的维度(入接口、源安全区域、源/目的IP地址、用户、服务、应用)来决定报文如何转发,根据用户制定的策略进行路由选择的机制。
策略路由通常应用于多出口组网中,如下图所示,FW作为出口网关,存在两个网络出口:
ISP1:上网速度快,但付费较高。
ISP2:价格低廉,但网速比较慢。
通过策略路由,可以实现下述功能,用户可以根据需要进行选配。
基于用户的选路:指定用户/用户组只能通过指定的链路访问互联网。例如,用户组A权限高,享受快速网络,可以通过链路ISP1访问互联网,用户组B权限低,通过链路ISP2访问互联网。
基于应用、协议类型的选路。例如,配置语音与视频等应用走带宽高线路,数据应用走带宽小的线路。
策略路由是由匹配条件和动作组成的,FW收到流量后,对流量的属性进行识别,并将流量的属性与策略路由的匹配条件进行匹配。如果所有条件都匹配,则此流量成功匹配策略路由。流量匹配策略路由后,设备将会执行策略路由的动作。
匹配条件可以将要做策略路由的流量区分开来。其中:
源安全区域和入接口是互斥的必选项,二者必须配置其中一项。
源地址/目的地址、用户、服务、应用、时间段、DSCP优先级均为可选,如果不选,默认为any,表示该策略路由与任意报文匹配。
表1策略路由的匹配条件
匹配条件 | 作用 |
入接口/源安全区域 | 指定接收流量的接口或者流量发出的安全区域。 |
源地址/目的地址 | 指定流量发出/去往的地址,取值可以是地址、地址组、域名组。 |
用户 | 指定流量的所有者,代表了“谁”发出的流量。取值可以是“用户”、“用户组”或“安全组”。 源地址和用户都表示流量的发出者,两者配置一种即可。一般情况下源地址适用于IP地址固定或企业规模较小的场景;用户适用于IP地址不固定且企业规模较大的场景。 |
服务 | 指定流量的协议类型或端口号。如果希望识别指定协议类型或端口号的流量,可以在创建策略路由规则时将服务作为匹配条件。 |
应用 | 指定流量的应用类型。通过应用FW能够区分使用相同协议和端口号的不同应用程序,使网络管理更加精细。 如果希望实现不同应用协议的数据通过不同的链路转发,可以在创建策略路由规则时将应用作为匹配条件。 |
时间段 | 指定策略路由生效的时间段。如果希望策略路由规则仅在特定时间段内生效,可以在创建策略路由规则时将时间段作为匹配条件。 |
DSCP优先级 | 指定流量的DSCP优先级。如果想要匹配不同优先级的流量,可以在创建策略路由规则时将DSCP优先级作为匹配条件。 |
每条策略路由中包含多个匹配条件,各个匹配条件之间是“与”的关系,报文的属性与各个条件必须全部匹配,才认为该报文匹配这条规则。
一个匹配条件中如果可以配置多个值,多个值之间是“或”的关系,报文的属性只要匹配任意一个值,就认为报文的属性匹配了这个条件。
策略路由列表默认是按照配置顺序排列的,越先配置的策略路由规则位置越靠前,优先级越高。策略路由从策略列表顶端开始逐条向下匹配,如果流量匹配了某个策略路由,将不再进行下一个策略的匹配。
如果策略路由配置的所有匹配条件都匹配,则此流量成功匹配该策略路由规则,并执行策略路由的动作。策略路由的动作包括:
转发:按照策略路由转发。根据出接口的不同类型,又分为:
单出口:把报文发送到指定的下一跳设备或者从指定出接口发送报文。
多出口:利用智能选路功能,从多个出接口中选择一个出接口发送报文。
转发其他虚拟系统:按照策略路由将流量转发至其他虚拟系统。
不做策略路由,按照现有的路由表进行转发。
某企业主要分为市场部和研发部两个部门,如下图所示,FW位于企业网出口,该企业部署了两条接入Internet的链路ISP-A、ISP-B。ISP-A上网速度快、网络速度稳定但费用较高,ISP-B上网费用低廉,但是网速相对慢一些。
需求如下:
市场部对网速要求比较高,通过链路ISP-A访问Internet。
研发部对网速要求不高,通过链路ISP-B来访问Internet。
操作步骤
1. 配置接口IP地址和安全区域,完成网络基本参数配置。
选择“网络 > 接口”,配置接口IP地址,并将接口加入安全区域。
GigabitEthernet 0/0/2 | |
安全区域 | untrust |
IP地址 | 10.10.1.1/24 |
GigabitEthernet 0/0/3 | |
安全区域 | trust |
IP地址 | 10.1.1.1/24 10.1.2.1/24 |
GigabitEthernet 0/0/4 | |
安全区域 | untrust |
IP地址 | 10.20.1.1/24 |
2. 配置Trust区域和Untrust区域之间的安全策略,允许企业内网用户访问外网资源。假设内部用户网段为10.1.1.0/24和10.1.2.0/24。
选择“策略 > 安全策略 > 安全策略”,单击“新建安全策略”。
名称 | policy_sec_trust_untrust |
源安全区域 | trust |
目的安全区域 | untrust |
源地址/地区 | 10.1.1.0/24 10.1.2.0/24 |
动作 | 允许 |
3. 配置IP-Link功能,检测链路状态。
a. 选择“系统 > 高可靠性 > IP-Link”,开启“IP-Link功能”。
b. 在“IP-Link列表”,单击“新建”,按如下参数配置。
4. 创建策略路由“pbr_1”和“pbr_2”,从Trust区域接收的属于市场部的报文发送到下一跳10.10.1.2,从Trust区域接收的属于研发部的报文发送到下一跳10.20.1.2。
选择“网络 > 路由 > 智能选路”,单击“智能选路策略”页签,在“策略路由列表”区域,单击“新建”。