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
步骤 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 ]
步骤 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
- #
步骤 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
配置过路由过滤后的路由表显示为:
- [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
没有了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网段路由。
【编辑推荐】