1、故障现像

OSPF database有lsa但是核心表没有路由。

 

2、故障可能原因

1)交换机配置原因,如:配置路由过滤、网络类型不匹配等等。

2)网络环境问题,如:存在更优路由等等。

3)FA地址非0情况下,不是从OSPF学习到的,如果FA非0,那么优选到FA地址 metric最短的路径,而且到FA的路由必须OSPF域内或域间,否则忽略该表项

 

3、故障处理步骤

步骤1:检查交换机配置

·         检查网络类型是否匹配

如果两端邻居网络类型不匹配,可能导致无法正确加载路由表。

·         检查是否配置路由过滤

如果交换机发布列表distribute-list in做了错误的路由过滤,会导致路由无法进入路由表( distribute-list是对提取的路由做控制

·         检查是否开启环路阻止功能

如果开启了环路阻止功能,并且VPN路由中带DN-Bit或着LSA的Route Tag值与本端一样的L3VPN环境中是否符合符合环路阻止要求。

 

步骤2:检查网络环境

·         检查是否存在更优路由

 检查核心路由表中的路由是否比ospf路由更优,即distance比ospf更优,而导致OSPF路由无法写入核心路由表。

·         检查FA地址路由是否可达

当路由器收到一个Type 7转Type5 LSA时,发现路由表中没有通往FA地址(非0)的路由,导致Type 5LSA路由无法写入核心路由表。

可能原因:配置路由过滤(distribute-list in)导致通往FA地址网段的路由被过滤。

步骤3:检查FA地址

OSPF的5类LSA中,FA的地址有2种情况:

1)在OSPF引入外部路由时,若产生的Type 5 LSA的FA地址为0.0.0.0,则其他路由器在计算到达该外部网络时,将考虑如何到达ASBR(即产生该Type 5 LSA的路由器)来计算出外部路由的下一跳地址。

2)在OSPF引入外部路由时,若产生的Type 5 LSA的FA地址不为0,则其他路由器在计算到达该外部网络时,将考虑如何到达该FA地址来计算出外部路由的下一跳地址。

 

若同时满足以下三个条件:

1)引入的这条外部路由,其对应的出接口启用了OSPF;

2)引入的这条外部路由,其对应的出接口未设置为passive-interface;

3)引入的这条外部路由,其对应的出接口的OSPF网络类型为broadcast;

则产生的Type 5 LSA,其FA地址非0,等于该引入的外部路由的下一跳地址;

 

注:如果FA非0,那么优选到FA地址 metric最短的路径,而且到FA的路由必须OSPF域内域间,否则忽略该表项;

综上所述,某条5类LSA如果没有放进路由表中有2种解法方法:

(1)show ip route | in x.x.x.x (FA地址) ,看其地址是域内的还是域间学过来的,如果不是,一定不会放进路由表;

(2)ASBR上,相应的出接口关闭OSPF;

 

4、故障信息搜集

收集log信息(注意时间开关和时间的准确性)提供后台分析。

[设备debug信息、配置、软硬件版本、设备log、操作log]

基础信息收集

show version

show version slots

show run

show log

show ip interface brief

show interface status

show interface counter sum  

show interface counter  rate

show interfaces counters errors

show interfaces counters

show arp counter

show arp

show arp detail

show mac-address-table

show mac-address-table counter

show ip route

show ip route count

show memory

dir

show vlan

show cpu

show cpu-protect mb

show cpu-protect

show cpu-protect slot X  //X代表具体的槽位,如单机8610的4号槽:show cpu-pro slot 4,如VSU中2号机箱4号槽位:show cpu-pro slot 2/4

show cpu-protect slot X  //X代表具体的槽位,如单机8610的4号槽:show cpu-pro slot 4,如VSU中2号机箱4号槽位:show cpu-pro slot 2/4

show spanning-tree

show spanning-tree summary

 

OSPF相关信息收集

show ip ospf

show ip ospf neighbor

show ip ospf interface

show ip ospf border-routers

show ip ospf spf

show ip ospf route count

show ip ospf route

show ip ospf database database-summary

show ip ospf database

show ip ospf database router

show ip ospf database network

show ip ospf database summary

show ip ospf database asbr-summary

show ip ospf database external

show ip ospf database nssa-external

show memory protocols

 

OSPF动态信息收集

注意:DEBUG操作有风险(最坏情况可能需要重启设备才能恢复),需要客户知晓风险并同意后才能收集,建议在低峰期操作(若是核心设备,必须更加慎重评估)!若故障排查还需要抓包,DEBUG和抓包最好同时收集!

1、Ruijie#debug ip ospf route ase

     Ruijie#clear ip ospf ase   // (注意:该命令是隐藏命令)   undebug all关闭调试开关

2、Ruijie#show ip route    //查看路由是否已经有了,若还是没有,继续第3步;否则结束信息收集;

3、Ruijie#debug ip ospf route spf

   在其中一个启用OSPF的接口下配置((config-if)#模式):ip ospf cost 99

   等待10s

   恢复配置:no ip ospf cost (若原来有配置cost,这时候恢复为ip ospf cost xxx,其中xxx为原来配置的值)

   undebug all关闭调试开关

4、Ruijie#show ip route  //查看路由是否已经有了,若还是没有,继续第5步;否则结束信息收集;

5、Ruijie#clear ip ospf process 

6、Ruijie#show ip route   //查看路由是否已经有了。