38策略路由配置38.1理解策略路由38.1.1策略路由概述策略路由(PBR:Policy-Based Routing)提供了一种比基于目的地址进行路由转发更加灵活的数据包路由转发机制。
策略路由可以根据IP/IPv6报文源地址、目的地址、端口、报文长度等内容灵活地进行路由选择。
现有用户网络,常常会出现使用到多个ISP(Internet Server Provider,Internet服务提供商)资源的情形,不同ISP申请到的带宽不一;同时,同一用户环境中需要对重点用户资源保证等目的,对这部分用户不能够再依据普通路由表进行转发,需要有选择的进行数据报文的转发控制,因此,策略路由技术即能够保证ISP资源的充分利用,又能够很好的满足这种灵活、多样的应用。
IP/IPv6策略路由只会对接口接收的报文进行策略路由,而对于从该接口转发出去的报文不受策略路由的控制;一个接口应用策略路由后,将对该接口接收到的所有包进行检查,不符合路由图任何策略的数据包将按照普通的路由转发进行处理,符合路由图中某个策略的数据包就按照该策略中定义的操作进行转发。
一般情况下,策略路由的优先级高于普通路由,能够对IP/IPv6报文依据定义的策略转发;即数据报文先按照IP/IPv6策略路由进行转发,如果没有匹配任意一个的策略路由条件,那么再按照普通路由进行转发。
用户也可以配置策略路由的优先级比普通路由低,接口上收到的IP/IPv6报文则先进行普通路由的转发,如果无法匹配普通路由,再进行策略路由转发。
用户可以根据实际情况配置设备转发模式,如选择负载均衡或者冗余备份模式,前者设置的多个下一跳会进行负载均衡,还可以设定负载分担的比重;后者是应用多个下一跳处于冗余模式,即前面优先生效,只有前面的下一跳无效时,后面次优的下一跳才会生效。
用户可以同时配置多个下一跳信息。
策略路由可以分为两种类型:一、对接口收到的IP报文进行策略路由。
该类型的策略路由只会对从接口接收的报文进行策略路由,而对于从该接口转发出去的报文不受策略路由的控制;二、对本设备发出的IP报文进行策略路由。
该类型策略路由用于控制本机发往其它设备的IP报文,对于外部设备发送给本机的IP报文则不受该策略路由控制。
38.1.2策略路由基本概念/特性38.1.2.1策略路由应用过程应用策略路由,必须先创建路由图,然后在接口上应用该路由图。
一个路由图由很多条策略组成,每条策略都有对应的序号(Sequence),序号越小,该条策略的优先级越高。
每条策略又由一条或者多条match语句以及对应的一条或者多条set语句组成。
match语句定义了IP/IPv6报文的匹配规则,set语句定义了对符合匹配规则的IP/IPv6报文处理动作。
在策略路由转发过程,报文依优先级从高到底依次匹配,只要匹配前面的策略,就执行该策略对应的动作,然后退出策略路由的执行。
IP策略路由使用IP标准或者扩展ACL作为IP报文的匹配规则,IPv6策略路由使用IPv6扩展ACL 作为IPv6报文的匹配规则。
IPv6策略路由对于同一条策略最多只能配置一个match ipv6 address。
38.1.2.2路由图策略匹配模式在配置路由图时,可以指定每一条策略的匹配模式为permit或者deny,其意义如下:●permit:指定该策略的匹配模式为允许模式,即当报文满足该策略的match规则时,会对该IP/IPv6报文应用相应的set规则;如报文不满足策略的所有match规则,报文将会使用该路由图的下一条策略进行匹配。
●deny:指定该策略的匹配模式为拒绝模式,即当报文满足该节点的所有match语句时,不对该IP/IPv6报文执行策略转发而是执行普通的路由转发。
IP/IPv6报文按照路由图中每一条策略的优先级由高到低依次进行匹配,只要匹配了前面的策略就执行相应的动作并退出策略转发流程;如果IP/IPv6报文不能匹配路由图中的任何策略,那么将会对IP/IPv6报文执行普通的路由转发。
38.1.2.3下一跳规则概念当前策略路由提供了set {ip | ipv6} next-hop、set {ip | ipv6} default next-hop两条转发规则。
后面两条为设置缺省下一跳和出接口。
这两条规则的意义如下:●set {ip | ipv6} next-hop:配置策略路由下一跳IP/IPv6地址,优先级比普通路由高,从接口上收到的匹配match规则的IP/IPv6报文将优先转发到set {ip | ipv6} next-hop所指定的下一跳,而不管该IP/IPv6报文在路由表中的实际选路结果和策略路由指定的下一跳是否一致。
●set {ip | ipv6} default next-hop:该命令指定的策略路由的优先级比普通路由的低,但是比默认路由高。
从接口上收到的匹配match规则的IP/IPv6报文,如果该报文在路由表中选路失败或者选到默认路由,那么IP/IPv6报文将转发到该命令指定的下一跳。
上述前两条规则指定的下一跳必须是直连的,否则不会生效;如果下一跳不是直连的,策略路由的效果相当于没有配置该命令。
上述两条命令的优先级顺序为:set {ip | ipv6} next-hop > 网络路由/主机路由> set {ip | ipv6} default next-hop >缺省路由。
这两条命令能够支持同时配置,但只有高优先级的生效。
38.1.2.4策略路由下一跳负载均衡模式一个路由图Sequence中能够配置多个下一跳,多个下一跳之间能够实现两种负载均衡模式:●冗余备份模式,支持优先生效,失效接管的模式,多个下一跳之间同一时刻只有一个下一跳生效。
⏹ 前面的下一跳R1失效会自动切换到下一个下一跳R2,当R1重新恢复生效时,会再自动再切换回R1; ⏹ 当存在多个下一跳,如R1/R2/R3等,删除R1再添加R1时,会在后面添加,如R2/R3/R1,次之的R2生效。
● 负载均衡模式,多个下一跳之间基于流进行负载分担。
下一跳为出接口形式,对这个功能不支持。
1、锐捷产品上一个接口最多只能配置一个路由图,在同一个接口上多次配置路由图会相互覆盖,即后配置的生效。
2、策略路由子路由图(route-map sequence)中最多只能配置一个IPV6 ACL 。
3、如果配置的子路由图中只有next-hop 而没有配置ACL ,则等价于所有报文都匹配;如果子路由图中只有ACL 而没有next-hop 则匹配的报文普通转发;如果子路由图中即没有ACL 也没有next-hop ,则等价所有报文普通转发。
4、策略路由如果配置了ACL ,但是该ACL 不存在,等价所有报文都匹配;如果配置了ACL ,但是其中没有任何ACE ,相当于匹配到了驱动添加的deny any 条目,不会从下一个子路由图的ACL 开始匹配;5、交换机上,ACE 的deny 选项行为,执行普通转发;并且为了满足策略路由的匹配顺序,deny any any 行为是跳到下个IPV6 ACL 开始匹配。
6、交换机上,配置了PBR 功能,会对发往本机的报文同时生效,如果用户希望发往本机的IP/IPv6报文不使用策略路由,则用户需要在PBR 规则中在IP/IPV6 ACL 前面手工添加“deny 设备IP/IPv6地址”的ACE 。
7、工作在冗余备份模式下时,匹配路由子图的策略规则的IP 报文转发到该路由子图中第一个解析的下一跳;如果所有的下一跳都未解析,则匹配策略规则的IP 报文被丢弃;如果第一个下一跳原先未解析后来解析了,则匹配策略规则IP 报文的转发将切换到第一个下一跳。
PBR 与BFD 联动功能请参见锐捷《BFD 配置》,《配置BFD 命令》。
38.1.3 策略路由使用BFD 功能策略路由与BFD 联动,可以避免在配置的策略路由不可达的情况下,路由选路不会选择该策略路由作为转发路径。
如果存在备份路由转发路径,将可以快速地切换到该备份转发路径。
38.1.4 工作原理策略路由,首先需要定义一个路由图,用于指定报文转发到哪儿去的策略;路由图是一组语句组成,可以定义为“Permit ”和“Deny ”行为;其次,使用set 语句控制报文转发行为。
报文转发控制是通过在PBR 路由图中定义一组set 语句实现;依序使用每一个set 语句进行报文转发;每一个语句都不会参考前面或者后面的语句。
最后,需要将待用PBR设置在报文的是入口。
如果设置在出口,则PBR不生效,按普通路由转发。
38.2缺省配置下表用来描述策略路由的缺省配置。
38.3配置策略路由以下章节描述配置IP/IPV6 PBR的功能基本过程:⏹< href="Cap1.htm#_配置项1" target="b">(必选)配置IP策略路由⏹< href="Cap1.htm#_配置IPV6接口策略路由_1" target="b">(必选)配置IPV6策略路由⏹< href="Cap1.htm#_设备本地应用策略路由" target="b">(可选)配置设备负载均衡模式⏹< href="Cap1.htm#_配置项2" target="b">(可选)查看配置和状态显示38.3.1配置IPv4策略路由应用策略路由,必须要指定策略路由使用的路由图,并且要创建该路由图。
一个路由图由很多条策略组成,每条策略都有对应的序号(Sequence),序号越小,该条策略的优先级越高。
每条策略又由一条或者多条match语句以及对应的一条或者多条set语句组成。
match语句定义了IP报文的匹配规则,set语句定义了对符合匹配规则的IP报文处理动作。
在策略路由转发过程,报文依优先级从高到底依次匹配,只要匹配前面的策略,就执行该策略对应的动作,然后退出策略路由的执行。
策略路由提供了两种类型的match语句,分别是match len和match ip address,match length以IP报文的长度作为匹配的标准,match ip address以ACL作为IP报文匹配的标准。
对于同一条策略,只能配置一个match len,但是可以配置多个match ip address。
如果在同一条策略中既指定match length又指定match ip address,那么只有同时满足两个匹配规则的IP报文才会执行该策略中set规则指定的动作。
策略路由提供了两种类型的set语句:第一类用于修改IP报文的QoS字段包括set ip tos、set ip precedence、set ip dscp;第二类用于控制IP报文转发,包括set vrf、set ip nexthop、set ip default nexthop、set interface、set default interface。