我无法使用 OSPF 协议 ping 其他路由器,为什么?

(我想你的设置是这样的)
您的 OSPF 邻接没有出现,因为 R1 和 R2 之间面对的接口上的 IP 地址不在同一子网中。
一旦您使用同一子网中的两个 IP 地址(如上图所示),您将在 R1 和 R2 之间建立 IP 连接,并且可以建立您的 OSPF 邻接:
路由器 R1
!
interface GigabitEthernet0/0
ip address 72.40.42.1 255.255.254.0
duplex full
speed 1000
media-type gbic
negotiation auto
!
interface GigabitEthernet1/0
ip address 72.40.40.1 255.255.254.0
negotiation auto
!
<...>
!
router ospf 1
router-id 1.1.1.1
network 72.40.40.0 0.0.1.255 area 0
network 72.40.42.0 0.0.1.255 area 0
!
路由器 R2
!
interface GigabitEthernet0/0
ip address 72.40.43.1 255.255.254.0
duplex full
speed 1000
media-type gbic
negotiation auto
!
interface GigabitEthernet1/0
ip address 72.40.46.1 255.255.254.0
negotiation auto
!
<...>
!
router ospf 1
router-id 2.2.2.2
network 72.40.42.0 0.0.1.255 area 0
network 72.40.46.0 0.0.1.255 area 0
!
(请注意 72.40.42.1/23 和 72.40.43.1/23 在同一个子网中) << 如上所述,这是关键点
你的 OSPF 现在出现了:
R1#sh ip ospf nei
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:38 72.40.43.1 GigabitEthernet0/0
R1#
和
R2#sh ip ospf nei
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/BDR 00:00:37 72.40.42.1 GigabitEthernet0/0
R2#
您可以通过 ping 来检查 OSPF 学习网络的可达性:
R2#ping 72.40.40.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 72.40.40.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/32/48 ms
关键是 R1 和 R2 之间链路上的 IP 地址必须在同一子网中(或者您需要配置静态路由或其他不太优雅的技巧)。否则,R1 将无法知道如何到达 R2,反之亦然。
正如 Ron 之前提到的,您的路由器之间没有公共网络,每个接口都在一个单独的网络上,原因是您在每个接口上配置的通配符掩码使您可以选择将接口放在相同的网络上仅使用第一个八位字节 (.255) 的网络无法更改第二个八位字节 (.1)。您可以通过使用不同的通配符掩码(例如 0.0.8.255)来解决这个问题,在这里 ping 可以工作,并且您的所有接口都将在同一网络上,但您将失去路由器的好处,该路由器将 2 个不同的网络分开 更好的做法是更改接口上的 IP 地址,并使两个连接的接口在同一网络上。
如果这些是您仅有的两台路由器,那么您就会遇到问题:没有可供这些路由器进行通信的公共网络。路由器之间需要一个公共网络才能与 IP 通信,更不用说与使用 IP 的协议(例如 OSPF)通信了。如果这些路由器上的 FastEthernet 端口作为路由器之间的唯一链路连接到另一台路由器,则 OSPF 永远不会形成邻居关系。
A 连接到 R1 B 连接到 R2 但是,R1 还必须连接到 R2 才能 ping 成功。

