OSPF路由过滤

文章目录

        • 分发列表
        • 前缀列表
          • 针对ospf
        • area x range xx not-advertise
        • route-map
        • 补充 Track

分发列表

  • 分发列表–是一种操作路由表显示路由条目 使用时不太推荐,有局限性(本路由器过滤的路由不会影响下游路由器)
  • distribute-list分发列表是用于控制路由更新的一个工具,只能过滤路由信息,不能过滤LSA。(所以说对距离矢量路由协议比较适用,如:RIP、EIGRP。 像OSPF 链路状态路由协议,IN方向(影响本地路由表,但LSDB里是有的),OUT方向不起作用; 但对本地始发路由可以过滤,原因是通过路由的重分发,而不是LSA传递。)
  • 过滤方式不是针对哪个接口的In,而是针对是否要写入核心路由表,而且该命令只会干掉核心路由表,但是LSA依然会存储在路由器的ram里面.
  • 什么是核心路由表,就是自己的show ip route 显示的路由表,这种方法在OSPF中,算是比较粗暴的方法,只能自己干自己。对别人不起做作。

案例(单一路由环境下-ospf)
OSPF路由过滤_第1张图片
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router ospf 1
R2(config-router)# distribute-list 1 in fa0/0
注意这时候,首先在R2的路由表里,3.0的路由就被干掉了。注意,这时候实际上,area内OSPF路由器产生的LSA已经是装载到了R2的OSPF database之中,而在R2从OSPF database中计算路由,并准备将路由条目装载进路由表之前,in方向的分发列表发生作用了,将3.0的路由过滤掉了,因此R2的路由表中,是没有3.0的OSPF路由的。但是,虽然R2自己路由表里没3.0路由,这不妨碍R2将相关LSA泛洪给R3,因此,R3仍然是有1.0、2.0、3.0以及12.0的OSPF路由的。

案例(单一路由环境下-OSPF out方向分发列表)
OSPF路由过滤_第2张图片
分发列表,部署在OSPF这样的链路状态路由协议中,如果要用out方向,则只能用在这样的场合。如上图,在R1上部署,R1使用重发布直连的方式引入这三条外部路由,那么out方向的分发列表,只能在R1上部署,且对这三条路由产生作用。
R1(config)# access-list 1 deny 192.168.3.0
R1(config)# access-list 1 permit any
R1(config)# router ospf 1
R1(config-router)# redistribute connected subnets
R1(config-router)# network 192.168.12.1 0.0.0.0 area 0
R1(config-router)# distribute-list 1 out
上述配置实现后,R1将过滤掉3.0路由。

前缀列表

prefix-list:专门用于抓取控制层面流量–只能为发布列表、route-map服务;

  • 前缀列表的可控性比访问列表高得多,支持增量修改,更为灵活

  • 判断路由前缀与前缀列表中的前缀是否匹配

  • 前缀列表包含序列号,从最小的开始匹配,默认序列为8,以5增加可以使用序号插入

  • 如果前缀不与前缀列表中的任何条目匹配,将被拒绝

    • A 类:0 开头的 0 0000000
      B 类:10 开头的 10 000000
      C 类:110 开头的 110 00000
  • /24 24 是长度 既前面 24 位固定

  • 用 Le ge 定义掩码,如果没有 ge 和 le 则网络掩码就是/后面的数字
    规则:len < ge-value <= le-value

  • 匹配规则:至上而下逐一匹配,上条匹配按上条执行,不查看小条;末尾隐含拒绝所有;

r3(config)#ip prefix-list xx permit 1.1.1.0/23
r3(config)#ip prefix-list xx permit 2.2.2.0/24 le 30 掩码范围 24-30
r3(config)#ip prefix-list xx permit 3.3.3.0/24 ge 30 掩码范围 30-32
r3(config)#ip prefix-list xx permit 4.4.4.0/24 ge 25 le 30 25-30

  • 默认路由既缺省路由
    主机路由掩码是 32 位

r3(config)#ip prefix-list xx permit 0.0.0.0/0 ge 32 匹配所有的主机路由
r3(config)#ip prefix-list xx permit 0.0.0.0/1 ge 8 le 8 匹配所有的 A 类地址
r3(config)#ip prefix-list xx permit 128.0.0.0/2 ge 16 le 16 匹配所有 B 类地址
r3(config)#ip prefix-list xx permit 192.0.0.0/3 ge 24 le 32 匹配所有 C 类及 C 类子网
r3(config)#ip prefix-list xx seq 12 deny 9.9.9.0/24
也可以随意删除条目;
r3(config)#ip prefix-list xx permit 0.0.0.0/0 le 32 允许所有

针对ospf
  • Router(config-router)# area area-id filter-list prefix prefix-list-name in
    用来在ABR上作summary lsa过滤,如果是骨干区域(非骨干区域),就阻止从该区域转换到其他非骨干区域(骨干区域)符合特定条件的summary lsa生成,过滤彻底。
  • Router(config-router)# area area-id filter-list prefix prefix-list-name out

area x range xx not-advertise

  • 汇总和明细都不通告来过滤明细路由(明细都不通告)
  • 用来在ABR上summary lsa做过滤,如果是骨干区域(非骨干区域),就防止从该区域转换到其他非骨干区域(骨干区域)符合特定条件的summary lsa生成,类似filter-policy export(area)命令的作用,但又有点区别,该命令只对本区域的区域内路由作过滤不对区域间路由做过滤。(原因是:这条命令是聚合命令,目前我们VRP和IOS的聚合命令的实现是只对本区域的路由做聚合而不对区域间路由做聚合,所以说abr-summary not-advertise这条命令实际只是对本区域的区域内路由起过滤作用。)

OSPF路由过滤_第3张图片

  • 对应IOS命令为:Router(config-router)#area 10 range 1.1.1.0 255.255.255.0 no-advertise
    在R2上配置abr-summary过滤1.1.1.1/32的summary lsa。
    [R2-ospf-1-area-0.0.0.100]abr-summary 1.1.1.1 255.255.255.255 not-advertise
    配置后在R3上查看lsa,发现已经没有了1.1.1.1的lsa信息。

route-map

OSPF路由过滤_第4张图片
在R2上做route-map拒绝R1的192.168.10.0/24和192.168.11.0/24.

access-list 101 permit ip 192.168.10.0 0.0.0.255 any
access-list 101 permit ip 192.168.11.0 0.0.0.255 any //抓流量
route-map ccie deny 10 小动作拒绝
match ip address 101 匹配acl101
route-map ccie permit 20 大动作空表允许所有流量
redistribute rip metric-type 1 subnets route-map ccie //重发布时调用route-map

补充 Track

track 1 ip sla 1 //定义一个track监控,监控的对象是lsa探针
Ip sla 1 /定义一个sla探针
Ip sla auto dsicovery
Icmp-echo 10.1.13.3 定义一个ping探针
Ip sla schedule 1 life forever start-time now 设置探针生效时间和开始时间
Ip route 10.10.1.1 255.255.255.255 10.3.1.3 track 1 //如果track1监控成功那么路由生效,否则失效。

你可能感兴趣的:(网络基础)