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]displaycurrent-configuration # sysnameRouter1 # interfaceSerial1/0/1 link-protocolppp ipaddress10.1.1.1255.255.255.0 # interfaceNULL0 # interfaceLoopBack1 ipaddress100.1.1.1255.255.255.0 # aaa authentication-schemedefault # authorization-schemedefault # accounting-schemedefault # domaindefault # # ospf1 import-routedirect import-routestatic area0.0.0.0 network10.1.1.00.0.0.255 # user-interfacecon0 user-interfacevty04 user-interfacevty1620 # return
步骤 2 依次在RouterA、RouterB和RouterC上执行display ospf peer命令,检查OSPF邻居是否正确建立,结果显示邻居正确建立。
以RouterB的显示为例。
[RouterB]displayospfpeer OSPFProcess1withRouterID10.1.1.2 Neighbors Area0.0.0.0interface10.1.1.2(Serial1/0/1)'sneighbors RouterID:100.1.1.1Address:10.1.1.1 State:FullMode:NbrisMasterPriority:1 DR:NoneBDR:NoneMTU:0 Deadtimerduein31sec Neighborisupfor00:20:49 AuthenticationSequence:[0] Neighbors Area0.0.0.0interface20.1.1.1(Serial1/0/2)'sneighbors RouterID:200.1.1.1Address:20.1.1.2 State:FullMode:NbrisMasterPriority:1 DR:NoneBDR:NoneMTU:0 Deadtimerduein33sec Neighborisupfor00:18:35 AuthenticationSequence:[0]
步骤 3 比较display current-configuration命令下RouterB和RouterC上的配置信息,在area0中RouterB的入接口和出接口都对100.1.1.0/24网段进行了过滤,而对RouterC并未进行此配置。
具体RouterB显示:
# aclnumber2000 rule5denysource100.1.1.00.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]displayiprouting-table RouteFlags:R-relay,D-downloadtofib ------------------------------------------------------------------------------ RoutingTables:Public Destinations:10Routes:10 Destination/MaskProtoPreCostFlagsNextHopInterface 10.1.1.0/24OSPF103124D20.1.1.1Serial1/0/1 10.1.1.2/32O_ASE1501D20.1.1.1Serial1/0/1 20.1.1.0/24Direct00D20.1.1.2Serial1/0/1 20.1.1.1/32Direct00D20.1.1.1Serial1/0/1 20.1.1.2/32Direct00D127.0.0.1InLoopBack0 100.1.1.0/24O_ASE1501D20.1.1.1Serial1/0/0 127.0.0.0/8Direct00D127.0.0.1InLoopBack0 127.0.0.1/32Direct00D127.0.0.1InLoopBack0 200.1.1.0/24Direct00D200.1.1.1LoopBack1 200.1.1.1/32Direct00D127.0.0.1InLoopBack0
配置过路由过滤后的路由表显示为:
[RouterC]displayiprouting-table RouteFlags:R-relay,D-downloadtofib ------------------------------------------------------------------------------ RoutingTables:Public Destinations:7Routes:7 Destination/MaskProtoPreCostFlagsNextHopInterface 20.1.1.0/24Direct00D20.1.1.2Serial1/0/1 20.1.1.1/32Direct00D20.1.1.1Serial1/0/1 20.1.1.2/32Direct00D127.0.0.1InLoopBack0 127.0.0.0/8Direct00D127.0.0.1InLoopBack0 127.0.0.1/32Direct00D127.0.0.1InLoopBack0 200.1.1.0/24Direct00D200.1.1.1LoopBack1 200.1.1.1/32Direct00D127.0.0.1InLoopBack0
没有了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网段路由。
转载请注明:IT运维空间 » 运维技术 » 路由器故障:OSPF路由过滤无效
发表评论