S5720 OSPF进程下做filter-policy导致正常的路由条目没有被加入路由表

发布时间:  2016-11-07 浏览次数:  351 下载次数:  0
问题描述

拓扑如上,SW2 SW3 USG在OSPF AREA0进程下,SW2和USG将其各自的静态路由重分发到OSPF进程下,在SW3上做filter-policy,允许SW2和USG重分发的静态路由加入路由表,但是SW3配置了filter-policy之后,路由表中只能看到USG重分发的路由表项,无法看到SW2上重分发的路由表项。


 

处理过程

1、首先确认在SW3上配置的过滤做法,确认是否有将SW2重分发的路由表项允许加表,做法如下:

ospf 1 router-id 10.8.0.21
filter-policy ip-prefix ACL  import

ip ip-prefix ACL index 10 permit 10.15.0.0 19 greater-equal 19 less-equal 24
ip ip-prefix ACL index 20 permit 10.15.64.0 19
ip ip-prefix ACL index 30 permit 10.200.0.0 16
ip ip-prefix ACL index 40 permit 10.15.105.0 24
ip ip-prefix ACL index 50 permit 10.13.3.0 24
ip ip-prefix ACL index 60 permit 10.10.59.0 24
ip ip-prefix ACL index 70 permit 10.8.0.0 24
ip ip-prefix ACL index 80 permit 10.8.4.0 24
ip ip-prefix ACL index 90 permit 10.8.5.0 24
ip ip-prefix ACL index 100 permit 10.10.16.0 21
ip ip-prefix ACL index 110 permit 10.10.72.0 21
ip ip-prefix ACL index 120 permit 10.10.43.0 24

从配置上看没有问题

2、在SW3上查看关于SW2重分发路由条目的LSA,发现关于此LSA有生成FA地址

3、FA地址生成条件如下:

满足如下所有条件的情况,FA设置为非0.0.0.0:

  • ASBR的下一跳接口路由可达。
  • ASBR的下一跳接口没有被设置为被动接口(也称为silent interface)。
  • ASBR的下一跳接口不是OSPF P2P或P2MP类型的。
  • ASBR的下一跳接口地址落在OSPF协议配置的network命令范围内。

除此之外,其它情况FA都填为0.0.0.0。

继续检查配置,发现SW2的GE0/0/2接口参与了OSPF进程,并且在SW3上的filter-policy中没有允许GE0/0/2接口地址加表。

根因

SW2的GE0/0/2接口参与了OSPF进程导致生成FA表项,并且在做路由过滤时没有放行FA地址。

解决方案

将SW2的GE0/0/2接口取消参与OSPF进程即可

END