为什么我不能在直连网络上 ping 下一跳路由器?

网络工程 思科 路由
2021-07-09 22:52:11

我有以下场景:

  1. 我正在使用两个 Cisco 1941 路由器
  2. 网络 A 连接到 Router1 (192.168.10.0/24)(千兆连接)
  3. 网络 C 连接到路由器 2 (192.168.20.0/24)(千兆连接)
  4. 网络 B 连接 Router1 和 Router2 (192.168.30.0/30)(串行连接)
  5. 路由表中没有添加任何条目(除了为直接连接的网络自动添加的条目)
  6. 没有设置最后的网关。

难度:

  • 我可以从网络 A ping 到路由器 1 (192.168.10.1, 192.168.30.1) 上的两个接口
  • 尽管网络 B 已作为直接连接的网络自动添加到路由器 1 上的路由表中,但我无法从网络 A ping 网络 B 上的路由器 2 接口 (192.168.30.2)。
  • 我可以让它工作的唯一方法是将最后的网关添加到 Router1。

我的问题:

由于网络 B 是路由器 1 上的直连路由,为什么我只能 ping(从网络 A)路由器 1 在网络 B 上的接口,而不能 ping 路由器 2 在网络 B 上的接口?

2个回答

为什么我只能(从网络 A)ping 网络 B 上的路由器 1 的接口,而无法 ping 网络 B 上的路由器 2 的接口?

因为 R2 不知道如何到达 NetA。这就是路由协议的目的:允许路由器相互告知它们可以到达的网络。

如果不想运行路由协议,请在 R2 上添加静态路由:

ip route 192.168.10.0 255.255.255.0 192.168.30.1

路由 101

路由是单向的。A->BB->A是不同的路径。对于接收来自交通,它不必知道什么一个(不考虑反欺骗措施)


在这种情况下,Net-A 中的机器将向 Router1 发送流量——假设这是它们的默认路由。Router1 可以转发到连接的 Net-B 中的 Router2。但是,Router2 不知道 Net-A,因此无处发送任何回复。

Router1#show ip route
...
Gateway of last resort is not set

C    192.168.10.0/24 is directly connected, FastEthernet0/0
     192.168.30.0/30 is subnetted, 1 subnets
C       192.168.30.0 is directly connected, Serial1/0

Router2#show ip route
...
Gateway of last resort is not set

C    192.168.20.0/24 is directly connected, FastEthernet0/0
     192.168.30.0/30 is subnetted, 1 subnets
C       192.168.30.0 is directly connected, Serial1/0

从 Net-A 到 Router2 的 ping 将具有 src:192.168.10.x/dst:192.168.30.2。回复有src:192.168.30.2/dst:192.168.10.x,但是Router2没有到192.168.10.x的路由。

每个路由器都需要了解其对等体以外的网络。
(路由器1) ip route 192.168.20.0 255.255.255.0 192.168.30.2
(路由器2 )ip route 192.168.10.0 255.255.255.0 192.168.30.1