Cisco IOS OSPF邻居关系不能正常建立原因和解决
稍微对ospf的trouble shooting 总结了一下,有参考也有自己的心得。 (1)接口上没有激活ospf 就是在network语句的时候没有匹配清楚,比如配置了错误的反掩码不对,在show ip ospf interface的时候不会显示你希望激活的接口 使用show ip ospf interface来验证,这时候的邻居表是空的>R2#show ip ospf neighborR2# (2)物理层或者是数据链路层协议down. 使用show ip int brief 或者是 show int type nomber会导致ospf packet 封装失败。 (3)建立邻居的接口被passive掉R2#show ip ospf interface Ethernet 0Ethernet0 is up, line protocol is upInternet Address 131.108.1.2/24, Area 0Process ID 1, Router ID 131.108.1.2, Network Type BROADCAST, Cost: 10Transmit Delay is 1 sec, State DR, Priority 1Designated Router (ID) 131.108.1.2, Interface address 131.108.1.2No backup designated router on this networkTimer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5No Hellos (Passive interface)Neighbor Count is 0, Adjacent neighbor count is 0Suppress hello for 0 neighbor(s)(4)OSPF的hello组播地址被ACL BlockR1#interface Ethernet0ip address 131.108.1.1 255.255.255.0ip access-group 100 in!access-list 100 permit tcp any anyaccess-list 100 permit udp any anyaccess-list 101 permit ip 131.108.1.0 0.0.0.255 host 224.0.0.5R2#interface Ethernet0ip address 131.108.1.2 255.255.255.0ip access-group 100 in!access-list 100 permit tcp any anyaccess-list 100 permit udp any anyaccess-list 101 permit ip 131.108.1.0 0.0.0.255 host 224.0.0.5R2#debug ip packet 101 detailIP packet debugging is on (detailed) for access list 101IP: s=131.108.1.2 (Ethernet0), d=224.0.0.5, len 68, access denied, proto=89这时候的邻居关系是INITR2#show ip ospf neighborNeighbor ID Pri State Dead Time Address Interface131.108.2.1 1 INIT/- 00:00:33 131.108.1.1 Ethernet0R1#show access-list 101Extended IP access list 101 permit ip 131.108.1.0 0.0.0.3 host 224.0.0.5 (8 matches)R1#debug ip packet 101 detailIP packet debugging is on (detailed) for access list 101R1#IP: s=131.108.1.1 (local), d=224.0.0.5 (Ethernet0), len 60, sending broad/multicast,proto=89IP: s=131.108.1.2 (Ethernet0), d=224.0.0.5, len 82, access denied, proto=89IP: s=131.108.1.1 (local), d=224.0.0.5 (Ethernet0), len 60, sending broad/multicast,proto=89IP: s=131.108.1.2 (Ethernet0), d=224.0.0.5, len 82,access denied, proto=89 (5)在broadcast链路上的子网掩码不匹配 (6)Hello/dead 间隔不匹配 (7)认证方式或者是认证密码不匹配 使用debug ip ospf adj 来查看,可以自己使用不同的情况来验证(8)两台路由器处于不同的AREAR1#debug ip ospf adjOSPF adjacency events debugging is onR1#OSPF: Rcv pkt from 131.108.1.2, Ethernet0, area 0.0.0.0 mismatch area 0.0.0.1 in the headerR2#show log%OSPF-4-ERRRCV: Received invalid packet: mismatch area ID, from backbone area must be virtual-link but not found from 131.108.1.1, Ethernet0 (9)Stub/transit/NSSA 区域类型不匹配 这个是经常不小心会被忘记的。-v-R1#debug ip ospf adjOSPF adjacency events debugging is onR1#OSPF: Rcv hello from 131.108.0.1 area 1 from Ethernet0 131.108.1.2OSPF: Hello from 131.108.1.2 with mismatched Stub/Transit area option bitR1#debug ip ospf adjOSPF adjacency events debugging is onR1#OSPF: Rcv hello from 131.108.0.1 area 1 from Ethernet0 131.108.1.2OSPF: Hello from 131.108.1.2 with mismatched NSSA option bit (10)使用secondary IP来建立OSPF adjacencyR2#interface FastEthernet0/0ip address 131.108.1.2 255.255.255.0 secondaryip address 131.108.4.2 255.255.255.0R1#interface Ethernet0ip address 131.108.1.1 255.255.255.0R2#debug ip ospf adjOSPF adjacency events debugging is onR2#OSPF: Rcv pkt from 131.108.1.1, FastEthernet0/0, area 0.0.0.1 : src not on the same network (11)OSPF网络类型不匹配 (P-TO-P 和P-TO-M网络类型在hello时间间隔相同的情况下可以建立full关系,但是会缺少一条路由) 可以做一下相关使用验证 (12)NBMA (Frame Relay, X.25, SMDS, and so on)网络类型上没有手动指定neighbor ip 地址 邻居一直都是ATTEMPT状态 (13)在Router 两边的frame-relay map/dialer map语句声明中缺少了broadcast参数(14)接口两边的MTU 不匹配 在cisco ios 12.0.3中加入了对mtu的检测,而低于这个版本的ios会忽略mtu检测,需要查看router 的ios version,debug ip ospf adj的结果是发现有大量的dbd重传,出现loading的原因就是一边的router需要对mtu进行检测,而一边忽略。R2#debug ip ospf adjOSPF adjacency events debugging is onR2#OSPF: Retransmitting request to 131.108.2.1 on Serial0OSPF: Database request to 131.108.2.1OSPF: sent LS REQ packet to 131.108.1.1, length 12OSPF: Retransmitting request to 131.108.2.1 on Serial0解决方法是接口命令:mtu 4470而不是:ip mtu 4470这时候的状态是 loading 。R2#show ip ospf neighborNeighbor ID Pri State Dead Time Address Interface131.108.2.1 1 LOADING/- 00:00:37 131.108.1.1 Serial0 还有一种mtu不匹配的情况是邻居关系是EXSTART,因为两边的mtu都需要检测,而mtu大小又不匹配.R2#show ip ospf neighborNeighbor ID Pri State Dead Time Address Interface131.108.2.1 1 EXSTART/- 00:00:33 131.108.1.1 Serial0R1#debug ip ospf adjOSPF: Retransmitting DBD to 131.108.1.2 on Serial0.1OSPF: Send DBD to 131.108.1.2 on Serial0.1 seq 0x1E55 opt 0x2 flag 0x7 len 32OSPF: Rcv DBD from 131.108.1.2 on Serial0.1 seq 0x22AB opt 0x2 flag 0x7 len 32 mtu 1500state EXSTARTOSPF: Nbr 131.108.1.2 has larger interface MTU (15)在broadcast网络上需要选举dr,而这时候两边的优先级又都是0 (16)在Asynchronous Interfaces上的OSPF邻居关系R1#interface Async1 description ASYNC LINE TO R2 ip address 131.108.1.1 255.255.255.0 encapsulation ppp async mode dedicated dialer in-band dialer map ip 131.108.1.2 name Router2 broadcast dialer-group 1 ppp authentication chapR2#interface Async1 description ASYNC LINE TO R1 ip address 131.108.1.2 255.255.255.0 encapsulation ppp async mode dedicated dialer in-band dialer map ip 131.108.1.1 name Router2 broadcast dialer-group 1 ppp authentication chap 解决方法是在两个使用async default routing 或者asyn dynamic routing 接口命令 (15)两个路由器的Router id相同,ospf的master和slave关系不能确定R2#debug ip ospf adjOSPF: Retransmitting DBD to 131.108.2.1 on Serial0OSPF: Send DBD to 131.108.2.1 on Serial0 seq 0x793 opt 0x2 flag 0x7 len 32OSPF: Rcv DBD from 131.108.2.1 on Serial0 seq 0x25F7 opt 0x2 flag 0x7 len 32 mtu 0 stateEXSTARTOSPF: First DBD and we are not SLAVE (16)因为router接口的物理问题而导致的 ospf packet checksum错误,接着就重传的问题。R2#show log%OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 131.108.1.1, Serial0%OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 131.108.1.1, Serial0R2#debug ip ospf adjOSPF adjacency events debugging is onR2#OSPF: Retransmitting request to 131.108.2.1 on Serial0OSPF: Database request to 131.108.2.1OSPF: sent LS REQ packet to 131.108.1.1, length 12OSPF: Retransmitting request to 131.108.2.1 on Serial0
搜索更多相關主題的帖子:
IOS OSPF ospf Cisco 邻居