OSPF过滤
首先需要复习一个点:
ACL最终隐含规则不同:
如果acl匹配的是流量,则默认是运行所有
如果acl匹配的是路由,则默认是拒绝所有
OSPF过滤:
1.路由过滤
1.LSA可以正常学习,但是不会使用LSA计算路由
[AR1]acl 2000
[AR1-acl-basic-2000]rule 5 deny source 3.3.3.3 0
[AR1-acl-basic-2000]rule 10 permit
[AR1]ospf 1
[AR1-ospf-1]filter-policy 2000 import
该命令针对所有携带路由信息的LSA,只要你携带路由信息不管你是几类LSA
[只影响路由的计算不影响泛洪]
这样查路由是查不到路由的。
在设备上执行AR3的3.3.3.3/32路由过滤
1.AR2设备(ABR)执行过滤
相当于是area 1 ,1类LSA的过滤,AR2不会在转换为3类LSA在区域0 泛洪了
2.AR1设备执行过滤
AR1可以收到3类LSA,但是不能计算路由信息
AR4可以收到3类LSA,可以计算路由信息1. 先看 3 类 LSA 的传递流程(类比 “发纸条”)
- AR2(ABR 路由器) 是 “写纸条的人”:它把 area 1 里 AR3 的 3.3.3.3/32 路由,转换成 3 类 LSA(纸条),然后发给 area 0 里的邻居(AR1 和 AR4)。
- AR1 和 AR4 是 “收纸条的人”:只要和 AR2 邻居关系正常,都会先收到这张 “3 类 LSA 纸条”。
2. 收到纸条后,AR1 和 AR4 做了不同的事(类比 “处理纸条”)
- AR4:收到纸条后,默认会 “相信纸条内容,把地址记到小本本(路由表)里”—— 所以能计算路由,后续可以用这个路由转发数据。
- AR1:收到纸条后,被我们加了 “特殊规则”—— 虽然收到了纸条(3 类 LSA),但故意 “不把地址记到小本本(路由表)里”,所以不计算路由。
3. 关键区别:“收纸条” 和 “用纸条” 是两步
第一步:收纸条(3 类 LSA 传递)
AR2 会平等地把 3 类 LSA 发给所有 area 0 的邻居(AR1、AR4),这一步和设备是谁无关,只看邻居关系。第二步:用纸条(路由计算)
收到纸条后,设备会 “自己决定要不要把地址记下来”:
- AR4 没被限制,正常记录 → 能计算路由。
- AR1 被配置了过滤 → 不记录 → 不计算路由。
[AR1]ospf 1
[AR1-ospf-1]filter-policy 2000 export
该命令针对外部路由(5类LSA)发布时执行过滤(在ASBR上执行)
2.LSA过滤
1.3类LSA不能正常学习(即过滤3类LSA)
[AR1]acl 2000
[AR1-acl-basic-2000]rule 5 deny source 3.3.3.3 0
[AR1-acl-basic-2000]rule 10 permit
[AR2]ospf 1
第一种方式:
[AR2-ospf-1]area 1
[AR2-ospf-1-area-0.0.0.1]filter 2000 export
第二种方式:
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.1]filter 2000 import
站在area1的视角下他是发送3类,站在area0的视角下他是接受3类
发出是export,接受是import
3.LSA过滤
1.LSA不能正常学习
在接口上发出LSA时来执行过滤
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ospf filter-lsa-out summary
在0/0/1接口发出LSA时,执行3类LSA的过滤
被过滤的设备要重启OSPF的进程,才能实现对应的现象(reset ospf process)