产生或其他OSPF进程时(该缺省路由是活跃的,且本ospf进程及ibgp路由),为了能够将缺省路由通告到整个OSPF域中,必须在ASBR上手动通过命令default-route-advertise [ always ]进行配置,如果没有缺省路由,需要在default-route-advertise命令后加上always参数。配置了permit-calculate-other参数的ME设备仍然计算来自于其他ME设备的缺省路由。
注意:完全处于nssa区域的路由器,即使配置了default-route-advertise always,也不会生成type5缺省路由,只能使用nssa default-route-advertis命令,还要依赖总路由表中有已经生效的缺省路由。原则就是OSPF视图下default-route-advertise命令就是创建type5缺省路由的,而type5路由会受到各种规则限制。nssa default-route-advertise命令就是创建type7缺省路由的(携带P标识),受相应规则限制。
二、内部缺省路由(三类lsa):当ospf区域为stub ,totally stub ,totally nssa 区域时(注意没有nssa区域),与骨干网相连的ABR路由器会产生一条3类lsa,向非骨干区域内通告一条缺省路由。ABR自动下发type3类似的缺省路由,但互相不学习其他ABR发布的缺省路由。 当然不同区域缺省路由的功能时不一样的:
1、Stub区域内传播1,2,3类LSA。并不知道外部引入的路由。缺省路由的目的时通过ABR去往外部网络。 2、Totally stub区域内只能传播1,2类LSA,只知道自己区域内的路由,外部一切信息都无法感知。这时缺省路由是通往外部的唯一桥梁。
3、Totally NSSA与NSSA区域的区别仅在于前者不允许区域间路由即Type3 Network Summary LSAs注入。区域内的路由器通过ABR知道其他区域的路由。ABR会自动产生一条Link State ID为0.0.0.0,网络掩码为0.0.0.0的Summary LSA(Type3 LSA)通告到整个nssa区域内。
三、nssa区域(非total nssa默认不会发布缺省路由)可以在abr上配置nssa default-route-advertise命令,来向nssa区域发布一条type7的缺省路由(注意是只向nssa区域发布,是否需要本地存在一条缺省路由,要看发布路由器的角色是ASBR还是ABR)。如果nssa的abr在ospf视图中直接配置default-route-advertise命令,则同第一条,发布一个type5的缺省路由,该路由无法进入nssa区域。所以如果向nssa区域注入缺省路由,必须使用nssa default-route-advertise命令注入type7缺省路由,或配置为total nssa区域来默认注入type3缺省路由。
在NSSA ABR或者NSSA ASBR上通过命令NSSA default-route-advertise以Type 7 LSA方式注入默认路由到NSSA中:
1、ASBR上必须拥有默认路由 (生成的Type7 LSA携带P标识) 2、ABR上可以没有默认路由 (生成的Type7 LSA不携带P标识)
注:OSPF路由器已经发布了缺省路由LSA,如果收到了其它OSPF路由器发布的相同类型缺省路由LSA(能够进
入LSDB),但收到的默认路由LSA不会参与SPF计算。
VRP5.x:发布缺省路由时不学习本进程其它路由器发布的默认路由,IBGP缺省路由不满足非强制下发条件
LSA的过滤手段:
OSPF的过滤有两种,一种是对路由表的过滤,这种方式只对配置过滤的路由器起作用,不能阻止LSA的泛洪,因此也不能影响其他路由器生成路由,filter-policy import(VRP) /distribute-list in(IOS);另一种是对LSA的过滤,这种方式其实并不是对LSA过滤,只是阻止LSA的生成,没有了LSA,相应也会影响其他同区域或同自治域的路由器。
对路由表的过滤,适用所有运行OSPF的路由器;其他命令都是阻止LSA的生成,只能过滤原本应该是本路由器产生的LSA,这种过滤只能在LSA生成者上做过滤,ASBR是ASE/NSSA LSA的生成者,ABR是SUMMARY LSA的生成者,NSSA区域的ABR是NSSA转ASE的生成者,所以我们很容易想到这种方式的过滤只能在ABR,ASBR和NSSA区域的ABR上。
OSPF中6种过滤方式:
1、filter-policy import(OSPF)
只能用来过滤OSPF有效路由表里的路由,并不能阻止LSA的泛洪。(除此之外,以下的过滤方式均是对LSA的过滤),被过滤的路由在路由表中为inactive状态。对接收的OSPF区域内、区域间和自制系统外部的路由进行过滤。
对应IOS命令为Router(config-router)# distribute-list 1 in/distribute-list prefix 1 in
对应Junos命令为import policy。IOS并不认为这是一种真正的OSPF过滤。 R1路由器上配置两条静态路由,然后import到ospf中。 ip route-static 11.11.11.11 255.255.255.255 NULL0 ip route-static 111.111.111.111 255.255.255.255 NULL0 查看R2的路由表
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask Proto Pre Cost Flags NextHop Interface 11.11.11.11/32 O_ASE 150 1 D 100.0.12.1 Serial0/0/0 111.111.111.111/32 O_ASE 150 1 D 100.0.12.1 Serial0/0/0
然后在R2上配置filter-policy import过滤掉11.11.11.11/32的路由不让其加入到R2的路由表中。 ospf 1
filter-policy ip-prefix huawei import //有LSDB,但该命令阻止该lsdb生成ospf路由 ip ip-prefix huawei index 10 deny 11.11.11.11 32
ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32 配置后查看R2的路由表:
Destination/Mask Proto Pre Cost Flags NextHop Interface 111.111.111.111/32 O_ASE 150 1 D 100.0.12.1 Serial0/0/0 可以看到路由表中已经没有了11.11.11.11/32的路由,但是LSDB中还是有的。 [R2]dis ospf lsdb
OSPF Process 1 with Router ID 2.2.2.2
Type LinkState ID AdvRouter Age Len Sequence Metric External 11.11.11.11 111.111.111.111 200 36 80000001 1 External 111.111.111.111 111.111.111.111 189 36 80000001 1 2、filter-policy export[acl/ip-prefix]/import-route(OSPF)[route-policy]
该命令用来在ASBR上对ASE/NSSA过滤,可以对本台路由器引入而产生的ASE/NSSA LSA做过滤,过滤彻底,所有OSPF域的路由器将不会收到被过滤的ASE/NSSA LSA。
对应IOS命令为Router(config-router)#distribute-list x out [rip]/ redistribute rip route-map
在R1上配置filter-policy export的策略,拒绝11.11.11.11/32的lsa进入到ospf中。 ospf 1
filter-policy ip-prefix huawei export //阻止引入路由生成ase的lsdb import-route static
ip ip-prefix huawei index 10 deny 11.11.11.11 32
ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32 配置后在R1上查看lsdb,发现已经没有了11.11.11.11/32的ase lsa。 [R1]dis ospf lsdb
OSPF Process 1 with Router ID 111.111.111.111
Type LinkState ID AdvRouter Age Len Sequence Metric External 111.111.111.111 1.1.1.1 10 36 80000001 1 R2、R3也同样没有了11.11.11.11/32的ase lsa,当然也无法计算出路由来。 3、asbr-summary not-advertise(OSPF)
该命令用来在ASBR上可以对自身产生的ASE/NSSA做过滤,阻止本路由器产生符合特定条件的ASE/NSSA,以及在NSSA区域的ABR上可以对7转5的LSA做过滤,阻止本路由器根据NSSA产生符合特定条件的ASE。对应IOS命令为Router(config-router)#summary-address 10.0.0.0 255.255.25.0 no advertise
NSSA区域的ABR可以在ABR上对Type7转5的LSA进行二次过滤
在R1上配置[R1-ospf-1]asbr-summary 11.11.11.11 255.255.255.255 not-advertise //阻止asbr发布type5的lsdb,或阻止nssa的abr转换type7的lsdb
解释:对路由进行聚合后,可以阻止明细路由发布,同时由于配置了not-advertise参数,所以聚合路由也不会被发布了,于是达到了过滤效果。
配置后,查看R1的lsab发现已经没有了11.11.11.11/32的ase lsa,其他路由器也没有11.11.11.11/32的ase lsa,同样无法计算出路由,过滤彻底。 [R1-ospf-1]dis ospf lsdb
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 111.111.111.111 1.1.1.1 142 36 80000001 1 对于在ABR上配置7转5时过滤时需要注意以下特性:
ABR全局路由表中只有存在FA地址的路由时,才会将nssa-external转换成external lsa,其他路由器收到这个external的lsa后,还要检查是否有到达fa地址的路由,如果没有,不会参与计算,所以在ABR上如果对fa地址路由(该种过滤无法通过配置suppress-fa来搞定,因为在ABR上根本没有执行nssa-external转external)或lsa进行过滤,都会导致骨干区其他路由器无法计算该路由。如果确实需要进行过滤,那么需要在ABR上配置R2(config-router)#area 100 nssa translate type7 suppress-fa命令。
在上图的组网中,如果想在ABR上做Area 2区域的ASBR地址的LSA过滤,(我司VRP5命令为area视图下abr-summary 100.0.15.0 255.255.255.0 not-advertise,此时在ABR上仍旧有ASBR FA地址的路由和nssa-external路由,该路由器也会将nssa-external lsa转换成external lsa,其他路由器也有external的lsa,但由于没有FA地址的路由,因此该external lsa不会参与计算,无法生成路由)或者(配置distribute-list in过滤掉FA的路由,此时ABR的路由表上由于没有asbr FA地址的路由,也算不出来nssa-external的路由,同