路由策略与策略路由

本篇我们来简单介绍一下路由策略与策略路由。这两个词看上去很像,但是有着完全不同的内在原理。本文
假设大家已经熟悉各种路由协议的配置方法,如果不是很熟悉,可以参考本站往期的文章进行一下温习,比
如:OSPF、IS-IS、BGP等等。我们主要以下图的拓扑为例,对路由策略和策略路由进行配置讲解。 基本配置要求: 1、R1上创建L0-L3四个环回口,并且引入OSPF。 2、R2上OSPF和ISIS双向路由引入。 3、BGP使用R2作为RR,解决BGP路由黑洞问题。 4、ISIS内部只允许收到R1 L0的环回口的地址。 5、R6上创建一个环回口。 6、R1的所有环回口都能和R6的环回口通信。 7、要求的通信路径如下: 去:R1-->R2-->R4-->R5-->R6 回:R6-->R5-->R4-->R2-->R1
基本配置
首先我们先配置好基本的配置,配置OSPF、IS-IS、BGP。基本配置这里不再演示,以R2为例,下面是R2的
基本配置。 isis 1 is-level level-2 cost-style wide network-entity 20.0000.0002.0001.00 # interface GigabitEthernet0/0/0 ip address 10.1.2.2 255.255.255.0 isis enable 1 # interface GigabitEthernet0/0/1 ip address 10.2.3.2 255.255.255.0 isis enable 1 # interface GigabitEthernet0/0/2 ip address 10.2.4.2 255.255.255.0 isis enable 1 # interface LoopBack0 ip address 192.168.4.1 255.255.255.0 # bgp 100 router-id 2.2.2.2 peer 10.1.2.1 as-number 100 peer 10.2.3.3 as-number 100 peer 10.2.4.4 as-number 100 # ipv4-family unicast undo synchronization peer 10.1.2.1 enable peer 10.2.3.3 enable peer 10.2.3.3 reflect-client peer 10.2.4.4 enable peer 10.2.4.4 reflect-client # ospf 1 router-id 2.2.2.2 import-route isis 1 area 0.0.0.0 network 10.1.2.0 0.0.0.255 network 192.168.4.0 0.0.0.255 #
路由策略
路由策略(Routing-Policy)主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括
可达性)来改变网络流量所经过的路径。路由协议在发布、接收和引入路由信息时,根据实际组网需求实
施一些策略,以便对路由信息进行过滤和改变路由属性。路由策略的作用包括: ● 过滤路由信息的手段。 ● 发布路由信息时只发送部分信息。 ● 接收路由信息时只接收部分信息。 ● 进行路由引入时引入满足特定条件的信息支持等值路由。 ● 设置路由协议引入的路由属性。 策略相关的五种过滤器: ● 路由策略(Routing-Policy) 设定匹配条件,属性匹配后进行设置,由if-match和apply字句组成。 ● 访问列表(access-list) 用于匹配路由信息的目的网段地址或下一跳地址,过滤不符合条件的路由信息。 ● 前缀例表(prefix-list) 匹配对象为路由信息的目的地址或直接作用于路由器对象(gateway)。 ● 自治系统路径信息访问列表(aspath-list) 仅用于BGP协议,匹配BGP路由信息的自治系统路径域。 ● 团体属性列表(community-list) 仅用于BGP协议,匹配BGP路由信息的自治系统团体域。 路由策略与过滤器的关系: ● 在路由引入(import-route)时使用routing policy。 ▲ routing policy由一系列的if-match子句和apply子句组成 ▲ 匹配AS-path时使用AS-path list ▲ 匹配Community时使用Community list ▲ 匹配IP address时使用IP Prefix和Access list ● 在路由发布(export)和路由接收(import)时使用地址前缀列表(IP Prefix)和访问控制列表
(Access Control List) ▲ 接收时:IP Prefix、Access list和Gateway(特定路由器) ▲ 发布时:IP Prefix和Access list
路由策略配置演示
如前所示,在我们的拓扑中,有如下两条要求,在前面R2的基本配置中大家应该会注意到,我们只在OSPF
中引入了IS-IS,IS-IS中并没有引入OSPF,主要就是为了接下来进行演示。 ● ISIS内部只允许收到R1 L0的环回口的地址。 ● 要求的通信路径如下: 去:R1-->R2-->R4-->R5-->R6 回:R6-->R5-->R4-->R2-->R1 1、首先看一下如何满足ISIS内部只允许收到R1 L0的环回口的地址这条要求,首先们创建一条ACL规则
允许R1 L0的网段通过,命令如下: acl number 2000 rule 0 permit source 192.168.0.0 0.0.0.255 2、接下来我们创建一条路由策略,命名为“import-l0”,策略是如果与ACL 2000匹配,就允许通过。 route-policy import-l0 permit node 10 if-match acl 2000 3、在ISIS中配置引入OSPF路由,并执行前面创建的路由策略。 isis 1 import-route ospf 1 route-policy import-l0 4、配置完成后,在R2上查看OSPF和ISIS的routing table并进行对比,可以看到ISIS只引入了R1 L0的
路由条目,说明路由策略生效了。
策略路由
策略路由PBR(Policy-Based Routing)是一种依据用户制定的策略进行路由选择的机制。名子看起来有
一些深奥,其实说穿了就是改一改Next Hop IP让我们可以对Routing Table的结果作出人工干预,控制
某些Traffic的路由方向。普通的报文转发是依据报文的目的地址查询转发表来实现的,策略路由是一种依
据用户制定的策略进行路由选择的机制,与单纯依照IP报文的目的地址查找路由表进行转发不同,可应用于
安全、负载分担等目的。 策略路由支持基于ACL包过滤、地址长度等信息,为活地指定路由。而ACL报文过滤则可以根据报文的源IP、
目的IP、协议、端口号、优先级、TOS、时间段、VPN等各种丰富的信息将报文分类,然后控制将这些报文
按照不同的路由转发出去。 策略路由的分类: ● 接口策略路由 ▲ 接口策略路由只对转发的报文起作用,对本地产生的报文(比如本地的ping报文)不起作用。而本地策
略路由只对本地产生的报文起作用,对转发的报文不起作用。 ▲ 接口策略路由配置在接口视图下。 ● 本地策略路由 ▲ 本地产生的报文的策略路由配置在系统视图下。 ▲ 注意:组播策略路由只支持转发的报文,不对路由器本机产生的报文进行策略路由。 策略路由的匹配项: 匹配项就是if-match语句,根据这些匹配项将报文按照某个规则进行分类,分为满足规则和不满足规则两类。 ● 只有满足所有的if-match,才算匹配,既各匹配条件是与的关系。 ● “匹配退出,不匹配继续”的原则,即只要任意一个节点满足匹配,则不再继续往下匹配,如果不匹配则继
续匹配下一个节点。
策略路由的操作项:
操作项就是apply语句,也就是满足匹配项的报文将怎么处理、从哪个接口转发出去。
转发接口的优先级:
下表中只针对单播报文,不包括组播报文,当配置有优先级高的策略,则优先级低的配置将被忽略。单播策
略路由可以同时配置两个下一跳或者设置两个出接口,报文转发采用负载分担的方式进行。
报文匹配的其它策略
1、如果只添加一个节点而没有任何匹配项和设置操作项,则所有报文都匹配,不再继续往下匹配。但是策略
路由的统计数字不改变。 2、如果添加一个节点,只有匹配项,没有设置操作项,由进行匹配,但不执行相应的操作,不再继续往下
匹配。但是策略路由的统计数字不改变。 3、如果添加一个节点,没有匹配项,有设置操作项,由所有报文都匹配,根据permit/deny执行相关的操
作,不于继续往下匹配。但是策略路由的统计数字改变。 4、如果匹配项中使用的ACL根本不存在,则缺省是不匹配任何报文的。 5、当直接出接口指定为本地的以太网接口、子接口、Virtual-Template接口时,虽然从指定接口转发,但
不能正常通信,因为这几个接口是广播域,不能确定下一跳,因此必须指定为下一跳。 6、当配置deny的节点时,对于单播策略路由来说,节点的apply命令行等于没有配置,数据包将走正常单播
路由表转发,因此没有deny的调试信息以及相应的统计信息。对于组播策略路由来说,有deny的调试信息以
及相应的统计信息。
策略路由配置演示
1、接下来看一下通信路径的那条要求,从要求中要以看了来,我们要将R2和R5的流量人为的都指向R4,不让
其有机会从R3走。首先们在R2上创建一条ACL规则,这里原地址将R1上四个环回口的地址包括在内,目的地址
就是R6上的环回口地址,规则为permit,也就是允许通过。这里就是定义ACL匹配目的源地址。 acl number 3001 rule 5 permit ip source 192.168.0.0 0.0.255.255 destination 114.114.114.0 0.0.0.255 2、然后创建traffic classifier和traffic behavior,traffic classifier命名为"rdt",这里就是要
定义需要重定向的数据流分类。 traffic classifier rdt operator or if-match acl 3001 3、创建traffic behavior,这里同样命名为“rdt”,这里就是定义流量行为将R2的流量重定向到R4的
G0/0/0的接口地址。 traffic behavior rdt redirect ip-nexthop 10.2.4.4 4、绑定流策略。 traffic policy rdt classifier rdt behavior rdt 5、配置完成后,在R1上通过tracert命令验证流量路径,可以看到流量是从R4通过的。
6、现在R1到R6的路径已经通过R4走了,但是回来的路径还不一定是不是从R4走,也有可能从R3走,所以我
们还要在R5上配置策略路由。配置地方法是一样的,这里就不再重复演示了。 7、配置完成后,从R6上进行验证,确认流量经过R4到达R1。
策略路由与路由策略的区别
● 策略路由与路由策略是两个不同的概念,应用领域不同。
● 策略路由主要是控制报文的转发。
  ▲ 既可以不按照路由表进行报文的转发,因为一般报文的转发要通过查找转发表,而配上策略路由后就
不用管转发表了,可以随心所欲将报文从转发出去了。 ● 路由策略主要控制路由信息的引入、发布、接收。 ▲ 引入:控制哪些路由信息引到路由协议中,哪些路由不引入,主要是针对某种路由协议,是否允许其
它路由信息引进来。 ▲ 发布:控制哪些发布出去,哪些不发布了去,通过同一种路由协议发布出去。 ▲ 接收:控制哪些接收,哪些丢弃。

发表评论