【HCIP学习】重发布和路由策略-二、路由过滤:

时间:2024-04-25 07:57:47

定义:路由器在发布或者接收消息时,可能需要对路由信息进行过滤。

作用:控制路由的传播与生成;节省设备和链路资源消耗,保护网络安全。

举例:学习汇总后的路由,而不学习汇总时的明细路由

路由过滤方法:

常用的路由过滤工具:

   (1)静默接口:

在RIP协议中,静默接口不发送路由更新

在OSPF协议中,静默接口不发送OSPF协议报文

(2)  ACL:

通过ACL抓取流量,缺陷:只能匹配数字特征,不能匹配掩码特征,导致匹配不精确;

(3) 地址前缀列表:

匹配IP地址前缀,即目的网络地址和掩码长度--精确匹配;

注:如果所有表项为deny模式,则任何路由都不能通过该过滤列表。这种情况下,需要在多条deny模式的表项后定义一个允许规则:

permit 0.0.0.0 less-equal 32表项,允许其它所有IPV4路由信息通过

  (4)filter-policy(过滤策略)

通过与ACL、地址前缀列表结合使用,  filter-policy可以对路由信息进行过滤

 filter-policy过滤接收路由(以RIP为例)

 filter-policy过滤接收路由,对进入RIP路由表的路由进行过滤(RIP),特点:既影响做策略的本机上的RIP路由表,又影响下游路由器的RIP表

 filter-policy过滤发送路由(RIP),特点:不影响做策略的本机上的RIP路由表,但影响下游路由器的RIP表

总结:通过与ACL、地址前缀列表结合使用,  filter-policy可以对路由信息进行过滤

  

filter-policy过滤接收路由(以OSPF为例)

(1)特点:影响本机及下游路由器的OSPF表的学习,过滤本机及下游路由器的LSDB表中的LSA,在协议视图下配置进方向

方法2:在传入区域的区域视图下配置出方向,不影响本机ospf表的学习,但影响下游路由器ospf表的学习,过滤本机及下游路由器的LSDB表中的LSA

路由过滤总结:

利用路由过滤可控制路由在网络内传播

ACL和地址前缀列表可用于路由信息的识别、筛选

地址前缀列表比ACL更加灵活

可利用  filter-policy工具在RIP、OSPF、IS-IS等协议内过滤路由

(5)route-policy---路由策略
1、概念:

控制层流量 --- 路由协议传递路由信息产生的流量

数据层流量 --- 设备访问目标地址时产生的流量

2、定义:

为了改变网络流量所经过的途径而修改路由信息的技术------控制层流量

3、作用:

     路由过滤;

     修改路由属性;

4、做路由策略的思路:
(1)抓取流量

通过ACL实现;

通过前缀列表(ip prefix)实现;

(2)做策略:对流量进行修改或者不转发

练习1:

前缀匹配列表:

 ip ip-prefix aa permit 10.1.1.0 24

route-policy policy_a  permit node 10

    if-match   ip-prefix aa

    apply cost 100

练习2:

匹配ACL:

acl 2002

rule permit source 10.2.2.0 0.0.0.255

route-policy policy_a  permit node 20

    if-match  acl 2002

    apply tag 20

练习3:route-policy policy_a  deny node 30

某个节点中没有写任何的if-match,则表示匹配所有路由,都会被拒绝掉

没有写任何的apply,则不对任何路由进行属性修改

练习4:

route-policy policy_a  deny node 30

 if-match  acl 2002

apply cost 30

思考apply cost 30有意义吗?

匹配规则:

(1)路由信息到达时,检查是否配置了路由策略,如果配置,则进入节点匹配;否则放行;

(2)检查路由策略第一个节点的if-match条件,匹配则检查节点动作是permit还是deny,如果是permit则进一步检查apply子句,有apply子句则执行路由属性修改并放行。没有apply子句则不修改属性并放行;如果是deny则不能通过。如果没有匹配该节点的if-match条件,则检查下一个节点

(3)最后一个节点仍不匹配,则拒绝该路由信息通过。

基本配置:

a.创建一个route-policy节点

route-policy route-policy-name { permit | deny } node node编号

节点之间的关系是“或”的关系,如果通过了其中一个节点,就意味着通过该路由策略,不再对其他节点进行匹配

b.配置if-match语句,使用if-match命令可定义匹配条件,所匹配的对象是路由信息的一些属性,例如路由的目的网络地址或掩码长度、度量值、标记或下一跳IP地址等

节点的匹配规则表:

练习1:if-match语句之间是“与”的关系,需要同时满足要求。

route-policy aaa permit node 10

if-match  acl 2000

if-match  acl 2001

练习2:

acl 2000

rule permit source 192.168.1.0 0.0.0.255

acl 2001

rule permit source 192.168.2.0 0.0.0.255

route-policy aaa permit node 10

if-match  acl 2000

if-match  acl 2001

不可能有一条路由同时满足这两个acl,两个acl之间毫无交集。所以练习2这个路由策略写的毫无意义。

c.配置apply 语句,执行语句

在 Route-Policy的节点视图下,使用apply命令指定需执行的动作,这些动作主要是对所匹配的路由的某些属性进行修改

apply执行动作表

设置路由的度量值:apply cost  cost

设置OSPF的度量值类型:apply cost-type { type-1 / type-2 }

设置路由的标记:apply tag tag

注:一个节点中可以不包含任何 apply语句,此时该节点只被用于执行路由过滤,而不用于设置路由的属性

5、注意事项

route-policy用于路由过滤,不用配置空节点;

route-policy仅用于属性修改,需要配置空节点;

route-policy能够配置的位置:

         IGP路由引入时;

         BGP宣告时;

         BGP路由引入;

         BGP邻接关系上;

6、route-policy的应用

(1)用route-policy来控制路由接收和发布时的属性

(2)用route-policy来控制路由的引入