😘1. 路由引入时过滤
可以通过引入路由时使用路由策略来过滤掉不想要的路由
在ASBR上配置,能够直接不产生对应的5类LSA
import [外部自治系统] route-policy [路由策略名] //引入时考虑路由策略
例如我现在要过滤掉从ISIS区域引入的3.3.4.4
[ABSR的OSPF进程下]import isis 1 route-policy I2O //引入时考虑路由策略I2Oroute-policy I2O permit node 10 //创建路由策略if-match acl 2000 //匹配到acl2000时触发acl 2000 //创建ACL 2000rule deny source 3.3.4.4 0.0.0.0 //禁止3.3.4.4rule prime //通过其他所有
😆2. OSPF进程下的LSA过滤
需要过滤的设备不是发出路由源头只能被动接受这条路由,我们可以通过不计算这条LSA来实现过滤,也就是在路由计算时进行过滤。
[OSPF进程下] filter-policy [acl号\acl名\前缀列表] [import\export]
命令最后能够选择import和export
import:代表我们目前说的方法,当收到LSA后计算路由时不进行计算,但依然存在于LSDB中,如果这个路由器是普通路由器,这条命令只能过滤掉本路由器路由表的路由,也会继续向下传递该LSA,如果是ABR或者ASBR因为他们属于矢量传递,需要自己路由表中存在才会传递,所以如果ABR/ASBR中使用本方法过滤,则不会向后继续传递LSA
export:是一种过滤掉5类LSA的命令,效果和路由引入时过滤一样,都是连5类LSA都不产生,也不会继续向下传递,因为仅对5类LSA有效所以只能应用在ASBR上,其他路由器无效
例如我想过滤掉,外部引入的路由3.3.4.4
(普通路由器仅在本路由器下有效)
[OSPF进程下] filter-policy 2001 import
acl 2001rule deny source 3.3.4.4 0.0.0.0
🤭3. 区域下过滤
主要用于区域间的路由过滤,也只对3类LSA有效,只能在ABR上生效
[区域下] filter [acl号\acl名\前缀列表] [import\export]
import:代表其他区域发来特定路由的LSA不发进本区域,其他区域能收到只有配置了import的区域收不到
export:代表不让本区域的特定路由的LSA从ABR发出,也就是本区域特定路由的LSA其他区域接受不到
例如不让区域1的3.3.4.4传播到其他区域
[Router-ospf-1-area-1] filter 2002 export
acl 2002rule deny source 3.3.4.4rule prime
🤓4. 接口下LSA的过滤
对比路由引入时过滤、OSPF进程下的LSA过滤的export的一刀切,接口下过滤能够灵活的控制所有类型的LSA不从哪个接口发出
她会产生LSA,但从接口发送给邻居的时候实施过滤
所有路由器、所有接口都能够生效,只有这种方法才能够过滤1、2类LSA
[接口下] OSPF filter-lsa-out [all/ase/nssa/summary] acl [acl号]
all:全部类型LSA
ase:5类LSA
nssa:7类LSA
summary:3类LSA
假如ASBR 0口接区域0、1口接区域1,我们不想他引入的3.3.4.4路由传入区域1
int gi 0/0/1ospf filter-lsa-out ase acl 2003
acl 2002rule deny source 3.3.4.4rule prime
😉5. 汇总时的过滤
在进行路由汇总时接not-advertise进行过滤
[区域下] abr-summary/asbr-summary [ip地址] [反掩码] not-advertise
将整个汇总网段全部过滤
abr就是针对3类,asbr就是针对5类
假如现在不让区域0的3.3.0.0网段传播到别的区域
[area 0] abr-summary 3.3.0.0 0.0.255.255 not-advertise
总结来说:
针对3类、5类过滤,不管是方法1、2、3本质上都是在ABR、ASBR上阻止相应类型LSA的产生,属于一刀切,谁都收不到
方法1(5类):[OSPF进程下] import [外部自治系统] route-policy [路由策略名] //引入时考虑路由策略
方法2(5类):[OSPF进程下] filter-policy [acl号\acl名\前缀列表] export
方法3(3类):[区域下] filter [acl号\acl名\前缀列表] [import\export]