OSPF路由过滤无效的故障解决步骤如下:
网络环境
在图中所示的组网图中配置OSPF,在RouterA、RouterB和RouterC三台路由器之间运行OSPF路由协议,均在area0中,RouterA的借口IP地址为10.1.1.1/24,RouterB接口serial1/0/1的IP地址为10.1.1.2/24,接口2的IP地址为20.1.1.1/24,RouterC的接口IP地址为20.1.1.2/24。Loopback口的地址分别为100.1.1.1/24和200.1.1.1/24。在RouterA上,引入直连路由和静态路由到OSPF,其中静态路由中包含网段100.1.1.0/24。在B上,对网段100.1.1.0/24配置了OSPF的路由过滤策略,要求在路由器B、C上,不学习100.1.1.0/24网段的路由
OSPF过滤路由组网图
配置完成后,在路由器C的路由表里依然有100.1.1.0/24网段的路由
故障分析
步骤 1 分别在RouterA、RouterB和RouterC上执行display current-configuration命令,检查数据配置信息,发现配置信息正确。
具体以RouterA的显示信息为例。
[RouterA] display current-configuration
#
sysname Router1
#
interface Serial1/0/1
link-protocol ppp
ip address 10.1.1.1 255.255.255.0
#
interface NULL0
#
interface LoopBack1
ip address 100.1.1.1 255.255.255.0
#
aaa
authentication-scheme default
#
authorization-scheme default
#
accounting-scheme default
#
domain default
#
#
ospf 1
import-route direct
import-route static
area 0.0.0.0
network 10.1.1.0 0.0.0.255
#
user-interface con 0
user-interface vty 0 4
user-interface vty 16 20
#
return
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
步骤 2 依次在RouterA、RouterB和RouterC上执行display ospf peer命令,检查OSPF邻居是否正确建立,结果显示邻居正确建立。
以RouterB的显示为例。
[RouterB] display ospf peer
OSPF Process 1 with Router ID 10.1.1.2
Neighbors
Area 0.0.0.0 interface 10.1.1.2(Serial1/0/1)'s neighbors
Router ID: 100.1.1.1 Address: 10.1.1.1
State: Full Mode:Nbr is Master Priority: 1
DR: None BDR: None MTU: 0
Dead timer due in 31 sec
Neighbor is up for 00:20:49
Authentication Sequence: [ 0 ]
Neighbors
Area 0.0.0.0 interface 20.1.1.1(Serial1/0/2)'s neighbors
Router ID: 200.1.1.1 Address: 20.1.1.2
State: Full Mode:Nbr is Master Priority: 1
DR: None BDR: None MTU: 0
Dead timer due in 33 sec
Neighbor is up for 00:18:35
Authentication Sequence: [ 0 ]
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
步骤 3 比较display current-configuration命令下RouterB和RouterC上的配置信息,在area0中RouterB的入接口和出接口都对100.1.1.0/24网段进行了过滤,而对RouterC并未进行此配置。
具体RouterB显示:
#
acl number 2000
rule 5 deny source 100.1.1.0 0.0.0.255
#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
步骤 4 对RouterC在area0重新配置对100.1.1.0/24网段路由过滤,然后执行display ip routing-table命令,发现没有了100.1.1.0/24网段的路由。
以RouterC的显示为例。
未在area0重新配置对100.1.1.0/24网段路由过滤时,display ip routing-table命令下的显示信息为:
[Router3] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.1.0/24 OSPF 10 3124 D 20.1.1.1 Serial1/0/1
10.1.1.2/32 O_ASE 150 1 D 20.1.1.1 Serial1/0/1
20.1.1.0/24 Direct 0 0 D 20.1.1.2 Serial1/0/1
20.1.1.1/32 Direct 0 0 D 20.1.1.1 Serial1/0/1
20.1.1.2/32 Direct 0 0 D 127.0.0.1 InLoopBack0
100.1.1.0/24 O_ASE 150 1 D 20.1.1.1 Serial1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
200.1.1.0/24 Direct 0 0 D 200.1.1.1 LoopBack1
200.1.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
配置过路由过滤后的路由表显示为:
[RouterC] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
20.1.1.0/24 Direct 0 0 D 20.1.1.2 Serial1/0/1
20.1.1.1/32 Direct 0 0 D 20.1.1.1 Serial1/0/1
20.1.1.2/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
200.1.1.0/24 Direct 0 0 D 200.1.1.1 LoopBack1
200.1.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
没有了100.1.1.0/24网段的路由,故障排除。
在对路由器配置信息进行仔细分析后,得出以下结论:
路由器上配置的OSPF路由过滤策略,只能对本机路由生效。
对于100.1.1.0/24网段,在通过B路由器的OSPF协议传递到路由器C的过程中,是以LSA的形式存在,不是以具体路由的形式存在,因此,在B路由器上配置的OSPF策略无法使这个网段信息不传递给C。
最终的解决方案就是在路由器C上,配置对100.1.1.0/24网段的OSPF路由策略,此路由策略,在通过LSA计算路由表的过程中生效,检查路由器C的路由表,无100.1.1.0/24网段路由,问题解决。
----结束
处理步骤
在RouterC上配置完成接口配置和OSPF基础配置之后,执行以下操作。
步骤 1 执行命令system-view,进入系统视图。
步骤 2 执行命令acl integer-number,进入acl视图。
步骤 3 执行命令rule deny source ip-address mask ,配置过滤指定网段的路由。
步骤 4 在系统视图下执行命令ospf [ process-id ],进入OSPF进程视图。
步骤 5 执行命令filter-policy { acl-number | ip-prefix ip-prefix-name } import,配置对接收的路由进行过滤。
步骤 6 执行命令return退回到用户视图,执行命令save,保存对配置的修改。
----结束
完成上述操作后,在RouterB和RouterC上均看不到100.1.1.0/24网段的路由信息。
案例总结
路由器上配置的OSPF路由过滤策略,只能对本机路由生效。
对于某一特性的X网段,在通过B路由器的OSPF协议传递到路由器C的过程中,是以LSA的形式存在,不是以具体路由的形式存在,因此,在B路由器上配置的OSPF策略无法使这个网段信息不传递给C。因此在路由器C上,须配置对X网段的OSPF路由策略,此路由策略,在通过LSA计算路由表的过程中生效,检查C 路由器的路由表,才无X网段路由。
【编辑推荐】