三台路由器,一条静态路由都没配错,ping 依然不通

1 阅读4分钟

那天晚上我在 Packet Tracer 里搭了个小实验:五台设备串起来,PC0 接 R0,R0 接 R1,R1 接 R3,R3 接 PC1。两端我把静态路由都配上了,中间那台故意不配,打算看包是不是走到中间就断。

三台路由器 show ip route 查完,该有的静态路由都在,接口全 up,PC 的 IP 和网关也都对。我从 PC0 ping PC1——不通。反过来也不通。

那一刻最难受的不是"不通",是我不知道该怀疑谁。

这种感觉我熟:球机装好了、网线插上了、指示灯亮着,平台上看不到画面。 你不能上去拔线重来,你得知道断在哪一段。

一、我一开始以为它缺"自己是谁",这是错的

中间那台路由器一开始不通,我以为它缺的是"不知道自己是谁"。

后来发现不是。 它两个口都配了地址,身份是完整的。它缺的是另外两件事:

  • 要发给谁 —— 目标网段在哪
  • 交给谁 —— 下一跳的地址

所以一台路由器要正常转发,得知道三件事:

要知道什么例子
我是谁各个网口上配的地址
要发给谁目标网段,比如 10.3.3.0/24
交给谁下一跳地址,比如 10.0.12.2

三件事缺一件,包就到不了。

补完中间那台,三台表里都有路了:

R0(最左):S 10.3.3.0/24 via 10.0.12.2    ← 有
R1(中间):S 10.1.1.0/24 via ... 两条都补上了
R3(最右):S 10.1.1.0/24 via 10.0.23.2    ← 有

包每走一跳,都要那一跳自己知道下一跳是谁。 路由器不转发"我邻居知道的",它只认"我自己表里的"——哪怕邻居就在旁边、哪怕它清楚。

还有个我没想明白的:我以为 ARP 包过三台路由器要减 3 个 TTL,后来才知道广播根本不出本段。这个不是我发现的,是别人指出来我才反应过来的。

二、两端各 ping 一次,把断点夹出来

补完路由还是不通。按理说配置已经没问题了 —— 那问题在哪?

我一开始的思路错了。 我在想要不要 tracert 一下看断在哪。但 tracert 给的是一整条路径,我要的是"断在第几段"。

后来我换了最笨的办法:从两头各 ping 一次网关。

PC0 → ping 10.0.12.2   ✅ 通
PC1 → ping 10.0.23.2   ❌ 不通

一通一不通,断点立刻出来了:在 PC1 这一侧。

这招在现场更常用。两头都亮、中间不亮——摄像机那头 ping 得通交换机、交换机 ping 不到平台侧,那问题就在交换机到平台那一段,不用整条链路排查。

三、show arp 查不到对端,我才发现地址配在了错的接口上

断点锁定在 PC1 侧,下一步要看这台路由器认不认识对端。

Router3# show arp
Internet  10.0.23.3    ARPA   GigabitEthernet0/1   ← 路由器,正常
Internet  10.3.3.1     ARPA   GigabitEthernet0/0   ← 自己

表里根本没有 PC1(10.3.3.10)。

查不到,意味着它俩从没在这个口上通过话。 线插着、灯亮着、状态是 up,但从没有一次真正对话。

最后我打开拓扑图才看明白:

Router3 的 Gi0/1 接的是 PC1,可我把 PC 侧的地址 10.3.3.1 配在了 Gi0/0 上。 Gi0/0 接的其实是路由器,不是电脑。

接口地址配在了错的端口上。

插错了照样有灯亮 —— 这是最容易错、也最不敢承认的一步。因为现场两个口都开着、都在同一台设备上,摄像机插 A 口还是 B 口、VLAN 挂哪个段,全凭手感。

改完就通了:TTL=125,tracert 四跳,Trace complete。

四、我能带去现场的排障顺序

现在我遇到任何"不通",会按这个顺序来。四条命令全是只读的,不动配置。

顺序敲什么看什么
1show ip route配置对不对,目标网段在不在
2两端各 ping 一次断在哪一段
3show ip interface brief口起来没有
4show arp认不认识对端设备

第 2 步最有用 —— 两边各夹一次,比一次猜到底快得多。

第 4 步最能打脸 —— 前面三条全显示"正常",第 4 条才告诉你它其实不认识对端。

五、我记住的一句话

接口 up,只证明你插了线、开了口。它不证明线的另一头是谁。

我在现场干了几年,习惯用"通不通"两个字判断所有问题:灯亮就是通,灯不亮就是断。

网络教我的是第三种状态 —— 线是通的,但对端不在你以为的那个地方。

附:还没搞明白的地方

ping 网关我拿到 TTL=253,ping 自己拿到 127,ping 过了三台路由器的终点拿到 125。

127 和 125 我想明白了(包每过一跳减 1),但 253 这个数我到现在还不知道是怎么来的。

先记下来,等搞懂了再补。