青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
夜月琉璃Lv46   
OSPF故障排查及OSPF邻居关系建立失败的几种常见情况     
部分内容借用自:

图文并茂解释OSPF邻居关系建立失败的几种常见情况(太实用了!) (360doc.com)

(5条消息) 网络故障排查:OSPF故障排查_小小小糖果人的博客-CSDN博客_ospf路由inactive


一、故障排查

=============================================================================

1、检查OSPF邻居状态

     1.1首先查看两端OSPF邻居状态是否正常,正常情况下DRother之间的邻居关系应该稳定在2-way状态,非DRother之间的邻居关系应该稳定在Full状态。


<Huawei> display ospf 1 peer brief
                                                                                
         OSPF Process 1 with Router ID 1.1.1.1                             
                  Peer Statistic Information                                   
 -------------------------------------------------------------------            
 Area Id         Interface                  Neighbor id      State              
 0.0.0.0         GigabitEthernet1/0/0       3.3.3.3          Full                
 -------------------------------------------------------------------  
 Total Peer(s):     1

    1.2 确认OSPF及邻居两端OSPF参数匹配


          1.2.1 确认接口启动了OSPF


<Huawei> display ospf interface
          OSPF Process 1 with Router ID 192.168.1.1
                  Interfaces
 
 Area: 0.0.0.0        (MPLS TE not enabled)
 IP Address      Type         State    Cost  Pri   DR              BDR
 192.168.1.2     Broadcast    DR       1     1     192.168.1.2     192.168.1.3
 
 Area: 0.0.0.1        (MPLS TE not enabled)
 IP Address      Type         State    Cost  Pri   DR              BDR
 172.16.0.1      Broadcast    DR       1     1     172.16.0.1      172.16.0.2

          1.2.2 确认邻居两端OSPF参数相匹配


                  1.2.2.1 OSPF区域是否匹配


                  1.2.2.2 OSPF区域认证是否匹配


                  1.2.2.3 两端OSPF接口上计时器设定值是否匹配


                  1.2.2.4 两端OSPF接口类型是否匹配


                  1.2.2.5 广播网络中两端接口子网掩码是否相同


                  1.2.2.6 NBMA网络是否指定邻居


    1.3 确认邻接关系的两端接口没有设置为静默端口,当设置为静默端口,它将不能发送OSPF Hello报文,因此OSPF邻居关系无法形成。


<Huawei>display current-configuration configuration ospf
 
ospf 1
 silent-interface GigabitEthernet 1/0/1
    area 0.0.0.0s
     network 10.10.1.0 0.0.0.255
network 10.10.4.0 0.0.0.255
    area 0.0.0.1
network 10.10.2.0 0.0.0.255

    1.4 查看OSPF路由表是否存在相应路由


<Huawei> display ospf routing
         OSPF Process 1 with Router ID 10.2.2.9                                
                  Routing Tables                                                
                                                                                
 Routing for Network                                                            
 Destination        Cost  Type       NextHop         AdvRouter       Area       
 10.12.12.0/24      1     Transit    10.12.12.10     10.2.2.9        0.0.0.1    
 10.13.13.0/24      1     Stub       10.13.13.1      10.2.2.9        0.0.0.0    
 10.11.11.0/24      2     Transit    10.12.12.11     10.0.0.1        0.0.0.1    
 
 Routing for ASEs
 Destination        Cost      Type       Tag      NextHop         AdvRouter
 10.0.0.0/8         1         Type2      1        10.12.12.11     10.0.0.1
 
 Total Nets: 4
 Intra Area: 3  Inter Area: 0  ASE: 1  NSSA: 0

    1.5 查看OSPF路由表未发现响应路由信息,请首先确认路由信息是否在OSPF中正确发布,对于未进行发布的路由请修改配置将路由正确发布。


<Huawei>display current-configuration configuration ospf
 
ospf 1
    area 0.0.0.0s
     network 10.10.1.0 0.0.0.255
network 10.10.4.0 0.0.0.255
    area 0.0.0.1
network 10.10.2.0 0.0.0.255

    1.6 确认OSPF LSDB数据库中是否存在路由计算所需的正确LSA信息。


          1.6.1 区域内的LSDB有: router lsa ,network lsa (广播网络)显示OSPF链路状态数据库中Router LSA的相关信息。


<HUAWEI> display ospf lsdb router
          OSPF Process 1 with Router ID 1.1.1.1
                          Area: 0.0.0.0
                  Link State Database
 
  Type      : Router
  Ls id     : 2.2.2.2
  Adv rtr   : 2.2.2.2
  Ls age    : 52
  Len       : 48
  Options   :  E
  seq#      : 80000006
  chksum    : 0xbf5a
  Link count: 2
     Link ID: 1.2.1.2
     Data   : 1.2.1.2
     Link Type: TransNet
     Metric : 1
     Link ID: 2.2.2.2
     Data   : 255.255.255.255
     Link Type: StubNet
     Metric : 0
     Priority : Medium
   

# 显示OSPF链路状态数据库中Network LSA的相关信息。
 
<HUAWEI> display ospf 1 lsdb network 1.1.1.1
          OSPF Process 1 with Router ID 1.1.1.1
                          Area: 0.0.0.0
                  Link State Database
 
  Type      : Network
  Ls id     : 10.1.1.1
  Adv rtr   : 1.1.1.1
  Ls age    : 167
  Len       : 32
  Options   :  E
  seq#      : 80000002
  chksum    : 0x3408
  Net mask  : 255.255.255.0
 
  Attached Router    2.2.2.2
  Attached Router    1.1.1.1
          

          1.6.2 区域间的LSDB有: Summary lsa , adv Rtr的Router LSA


# 显示OSPF链路状态数据库中Network Summary LSA的相关信息。
 
<HUAWEI> display ospf 1 lsdb summary 10.2.1.0
          OSPF Process 1 with Router ID 1.1.1.1
                    Area: 0.0.0.0
                  Link State Database
 
  Type      : Sum-Net
  Ls id     : 10.2.1.0
  Adv rtr   : 2.2.2.2
  Ls age    : 419
  Len       : 28
  Options   :  E
  seq#      : 80000001
  chksum    : 0x1d21
  Net mask  : 255.255.255.0
  Tos 0  metric: 1       
  Priority  : Medium

          1.6.3 区域外的LSDB有: ASE LSA,adv Rtr的Router LSA


# 显示OSPF链路状态数据库中ASBR Summary LSA的相关信息。
 
<HUAWEI> display ospf 1 lsdb asbr 2.2.2.2
          OSPF Process 1 with Router ID 1.1.1.1
                    Area: 0.0.0.2
                  Link State Database
 
  Type      : Sum-Asbr
  Ls id     : 2.2.2.2
  Adv rtr   : 1.1.1.1
  Ls age    : 90
  Len       : 28
  Options   :  E
  seq#      : 80000001
  chksum    : 0xec62
  Tos 0  metric: 1
显示OSPF链路状态数据库中AS-external LSA的相关信息。
 
<HUAWEI> display ospf 100 lsdb ase 10.10.1.0
          OSPF Process 1 with Router ID 1.1.1.1
                  Link State Database
 
  Type      : External
  Ls id     : 10.10.1.0
  Adv rtr   : 2.2.2.2
  Ls age    : 569
  Len       : 36
  Options   :  E
  seq#      : 80000002
  chksum    : 0x90d0
  Net mask  : 255.255.255.0
  TOS 0  Metric: 1
  E type    : 2
  Forwarding Address : 0.0.0.0
  Tag       : 1
  Priority  : Medium

          1.6.4 外部路由通过区域间学习的LSDB有: ASE LSA, ADV Router Asbr Sumarry LSA


# 显示OSPF链路状态数据库中NSSA External LSA的相关信息。
 
<HUAWEI> display ospf 1 lsdb nssa 10.10.1.0
          OSPF Process 1 with Router ID 1.1.1.1
                    Area: 0.0.0.1
                  Link State Database
 
  Type      : NSSA
  Ls id     : 10.10.1.0
  Adv rtr   : 2.2.2.2
  Ls age    : 521
  Len       : 36
  Options   : None
  seq#      : 80000005
  chksum    : 0x9ea7
  Net mask  : 255.255.255.0
  TOS 0  Metric: 1
  E type    : 2
  Forwarding Address : 10.2.1.2
  Tag       : 1
  Priority  : Medium

    1.7 导致OSPF数据库中LSA异常或者缺失的原因主要包括如下几种情况,需要从相关的配置或规划角度进行修正。


          1.7.1 骨干区域被分割,导致LSA缺失


          1.7.2  虚连接配置错误,导致LSA缺失


          1.7.3   Router ID冲突,导致LSA震荡


    1.8 外部路由携带FA地址确认FA路由为有效路由,ospf必须能够通过区域内或区域间路由到达该FA地址,否则该该外部地址不会加入OSPF路由表。


<HUAWEI> display ospf 100 lsdb ase 10.10.1.0
          OSPF Process 1 with Router ID 1.1.1.1
                  Link State Database
 
  Type      : External
  Ls id     : 10.10.1.0
  Adv rtr   : 2.2.2.2
  Ls age    : 569
  Len       : 36
  Options   :  E
  seq#      : 80000002
  chksum    : 0x90d0
  Net mask  : 255.255.255.0
  TOS 0  Metric: 1
  E type    : 2
  Forwarding Address : 0.0.0.0
  Tag       : 1
  Priority  : Medium
 
<HUAWEI> display ospf routing
          OSPF Process 1 with Router ID 4.4.4.4
                   Routing Tables
 
 Routing for Network
 Destination        Cost  Type       NextHop         AdvRouter       Area
 172.16.1.0/24      4     Inter-area 192.168.2.1     2.2.2.2         0.0.0.2
 172.17.1.0/24      1     Transit    172.17.1.1      4.4.4.4         0.0.0.2
 192.168.0.0/24     2     Inter-area 192.168.2.1     2.2.2.2         0.0.0.2
 192.168.1.0/24     3     Inter-area 192.168.2.1     2.2.2.2         0.0.0.2
 192.168.2.0/24     1     Stub       192.168.2.2     4.4.4.4         0.0.0.2
 
 Routing for ASEs
 Destination    Cost      Type       Tag         NextHop         AdvRouter
 10.0.0.0/8     1         Type2      1           192.168.2.1     1.1.1.1
 
 Total Nets: 6
 Intra Area: 2  Inter Area: 3  ASE: 1  NSSA: 0

    1.9 查看OSPF路由是否加入全局路由表,只有加入到全局路由表的路由才能指导数据包的转发,并需要确保该路由为最优路由。


<HUAWEI> display ip routing-table 1.1.1.1 32 verbose
Route Flags: R - relay, D - download
to fib
---------------------------------------------------------------
Routing Table : Public
Summary Count : 1
 
 
Destination: 1.1.1.1/32
     Protocol: Static          Process ID: 0
   Preference: 60                    Cost: 0
      NextHop: 2.2.2.2          Neighbour: 0.0.0.0
        State: Active Adv GotQ        Age: 02h17m46s
          Tag: 0                 Priority: 0
        Label: NULL               QoSInfo: 0x0
 RelayNextHop: 192.168.12.1     Interface: Ethernet0/2/0
     TunnelID: 0x0                  Flags: RD
BkNextHop: 24.24.24.241   BkInterface: GigabitEthernet6/0/2
Routing Table: 该路由所在的实例名,“Public”特指公网实例
Summary Count:命令行中前缀的路由的条数
Destination:路由的目的地址以及掩码长度
Protocol:路由协议名称
Process ID:路由所在的进程ID
Preference:路由协议的优先级
Cost:路由开销
NextHop:路由的下一跳。对于需要迭代的路由,这是原始下一跳。
Neighbour:邻居
State:路由的状态。包括如下几种:
Active:活跃的路由
Invalid:无效的路由
Inactive:非活跃的路由
NoAdv:不允许发布的路由
Adv:可以发布的路由
Del:即将被删除的路由
GotQ:迭代成功的路由
WaitQ:尚未迭代成功的路由
Stale:带Stale标记的路由,在GR中使用
Age:路由生成后的持续时间
Tag:路由标识
Label:MPLS分配的标签
QosInfo:Qos信息
RelayNextHop:迭代下一跳
Interface:出接口
TunnelID:隧道ID
Flags:路由标记。包括:
R:表示该路由是迭代路由
D:表示该路由成功下发到FIB表
BkNextHop:备份下一跳
BkInterface:备份出接口


OSPF邻居关系建立失败的几种常见情况

=============================================================================


Image

这里以此拓扑图为基础,来演示几种常见OSPF邻居建立不起来的情况,物理层面的不在此范围内,比如光衰问题,网线老化等。


1

接口未宣告到OSPF进程

R1关键配置如下:

#

interface GigabitEthernet0/0/0

 ip address 12.1.1.1 255.255.255.0 

#

ospf 1 

 area 0.0.0.1 

  network 1.1.1.1 0.0.0.0 

  network 12.1.1.1 0.0.0.0 

#

return

[R1-ospf-1]


R2关键配置如下:

#

interface GigabitEthernet0/0/0

 ip address 12.1.1.2 255.255.255.0 

#

#

ospf 1 

 area 0.0.0.0 

  network 2.2.2.2 0.0.0.0 

  network 24.1.1.2 0.0.0.0 

 area 0.0.0.1 

  network 12.1.1.2 0.0.0.0 

 area 0.0.0.2 

  network 23.1.1.2 0.0.0.0 

#


Image


现象:R1的OSPF邻居表为空。


原因:大家回顾一下,我们学OSPF时,有提到报文类型,是不是有个Hello包,那回顾一下,Hello是干嘛用的?  不管你学到什么P,什么E,不管你是不是大神级别,初心一定不能忘!忘了就没法玩了。Hello是用于建立和维护邻接关系。 本实例中,R2没有把G0/0/0的接口IP宣告到OSPF进程中的区域中,那么意思就是该接口也没有参与到OSPF进程,就不会去发Hello包。R2的G0/0/0不发hello包,R1就不会收到,没有收,怎么握手,怎么建立OSPF邻居呢 是吧~


解决办法:R2的接口宣告到OSPF进程中的区域1下。


Image


检查:

Image


2

接口虽然参与到OSPF进程了但被静默了

Image

R1关键配置不变,如上。

R2关键配置如下:

#

interface GigabitEthernet0/0/0

 ip address 12.1.1.2 255.255.255.0 

#

#

ospf 1 

  silent-interface GigabitEthernet0/0/0

 area 0.0.0.0 

  network 2.2.2.2 0.0.0.0 

  network 24.1.1.2 0.0.0.0 

 area 0.0.0.1 

  network 12.1.1.2 0.0.0.0 

 area 0.0.0.2 

  network 23.1.1.2 0.0.0.0 

#


Image


现象:R1的OSPF邻接表为空,R2对应接口也宣告到OSPF进程了。


原因:R2的OSPF进程下,使用了silent-interface命令用来禁止G0/0/0接口接收和发送OSPF报文。OSPF报文都不能发,更何况是Hello包了,所以邻居也就无法建立了。


解决办法:删除silient-interface命令即可。


Image

检查:

Image


3

广播网络中,OSPF进程反掩码写错了。

  R1关键配置不变,如例1。

R2关键配置如下:

#

interface GigabitEthernet0/0/0

 ip address 12.1.1.2 255.255.255.0 

#

#

ospf 1 

 area 0.0.0.0 

  network 2.2.2.2 0.0.0.0 

  network 24.1.1.2 0.0.0.0 

 area 0.0.0.1 

  network 12.1.0.0 0.0.0.255 

 area 0.0.0.2 

  network 23.1.1.2 0.0.0.0 

#


现象:R1的OSPF邻接表为空


Image


原因:OSPF进程area1宣告的网络掩码写错了,宣告OSPF时,反掩码的0表示精确匹配,255表示不检查。从配置可以看出,OSPF进程精确去查找,将这个12.1.0.x宣告到进程中,但是R2没有哪一个接口属于这个网段的,所以等同于G0/0/0没有宣告到OSPF进程中。


解决办法:要么精确匹配,写4个0,即0.0.0.0,要么修改反掩码为0.0.255.255。


Image


检查:这时就有邻居了。


Image


4

两端的hello间隔和dead间隔时间不匹配

 

R1关键配置不变,如例1。

 R1的hello、dead间隔时间还是默认,没有修改:

Image


  R2关键配置如下,修改了G0/0/0的OSPF hello间隔时间。

Image


Image


R1和R2两端的Hello间隔和dead间隔不一样,会收到如下日志:

Image


抓包查看:

Image


Image

很明显可以看出两端的报文,hello和dead间隔时间不一致,两边设备收到对端hello报文,检查发现不一致,丢弃,于是邻居无法建立。

我们也可以使用display ospf error 更加快速地定位出问题:


Image


Image


 解决办法:

 R2的G0/0/0的Hello间隔改回默认,或者R1的G0/0/0 OSPF的Hello间隔也改为20秒。

Image

  

检查:

Image


5

区域ID不一致

  R1关键配置不变,如例1。

  R2关键配置如下:

#

ospf 1 

 area 0.0.0.0 

  network 2.2.2.2 0.0.0.0 

  network 12.1.1.2 0.0.0.0 

  network 24.1.1.2 0.0.0.0 

 area 0.0.0.2 

  network 23.1.1.2 0.0.0.0 

#

return

[R2-ospf-1]


现象也是:R1的OSPF邻居表为空。

Image


分析:

排查错,有时候,如果你不知道该如何入手?建议可以从Hello报文格式来,根据报文格式,检查一下是不是哪些不匹配?

Image


现在我们再来抓包,看一下R1和R2的hello:

R1的hello包如下:

Image

R2的Hello包如下:

Image

很明显可以看出,R1和R2的区域id字段不一致,R1在区域1,R2在区域0,两边区域ID不一致,双方收到对端hello包,发现不一致,握手失败,所以邻居也就无法建立了。

当然,你也可以使用display ospf error来得快一些:

Image


解决办法:

ospf 1 

 area 0.0.0.0 

  network 2.2.2.2 0.0.0.0 

  network 24.1.1.2 0.0.0.0 

 area 0.0.0.1 

  network 12.1.1.2 0.0.0.0 

 area 0.0.0.2 

  network 23.1.1.2 0.0.0.0 

#


检查:

Image


6

认证类型活密码不一致


 R1关键配置如下:

interface GigabitEthernet0/0/0

[R1-GigabitEthernet0/0/0]ospf authentication-mode simple along123

  

R2关键配置如下:

[R2]int g0/0/0

[R2-GigabitEthernet0/0/0]ospf authentication-mode simple along456


现象:R1的OSPF 邻居列表为空,与R2OSPF邻居建立不起来。


分析:

ImageImage


抓包的话,由于是明文,很容易看出密码不一样:

R1:

Image

R2:

Image


7

广播网络中,接口IP掩码写错了


  R1的接口IP如下:

#

interface GigabitEthernet0/0/0

 ip address 12.1.1.1 255.255.255.0 


  R2的接口IP如下:

#

interface GigabitEthernet0/0/0

 ip address 12.1.1.2 255.255.255.128 


OSPF配置均没变化。


现象:R1的OSPF邻居列表为空,建立失败。


分析:从报文的字段去分析,广播网络中会检查掩码,发现不一致,就无法成功建立OSPF邻居,可以使用如下命令快速定位。


Image


Image


Image


Image

解决办法:修改正确的掩码即可。


8

特殊区域类型不匹配,比如stub区域


  R2的OSPF配置如下:

#

ospf 1 

 area 0.0.0.0 

  network 2.2.2.2 0.0.0.0 

  network 24.1.1.2 0.0.0.0 

 area 0.0.0.1 

  network 12.1.1.2 0.0.0.0 

 area 0.0.0.2 

  network 23.1.1.2 0.0.0.0 

  stub 

#

return

[R2-ospf-1]


  R3的OSPF配置如下:

#

ospf 1 

 area 0.0.0.2 

  network 3.3.3.3 0.0.0.0 

  network 23.1.1.3 0.0.0.0 

#

return

[R3-ospf-1]


现象:R2和R3无法建立OSPF邻居关系。


分析:

Image


可知,Hello包里面的option字段不匹配,应该是一边可以支持外部路由,一边不支持外部路由。

Image


咱们,也可以抓个包看看,到底什么情况呢?

Image


再看看R3,

Image

到这来,你应该知道配特殊区域,是需要两端都要配了吧。


解决办法:

将R3也配置为stub

[R3-ospf-1]area 2

[R3-ospf-1-area-0.0.0.2]stub 

[R3-ospf-1-area-0.0.0.2]


验证:

Image

本文章最后由 admin2022-09-29 15:00 编辑
 0  已被阅读了5846次  楼主 2022-09-28 15:35:43
回复列表

回复:OSPF故障排查及OSPF邻居关系建立失败的几种常见情况

桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 3.133.87.156 , 2024-04-27 20:29:38 , Processed in 0.1351 second(s).
Powered by HadSky 8.3.7
知道创宇云安全