Debian 无法添加静态路由:SIOADDRT:网络不可达

Debian 无法添加静态路由:SIOADDRT:网络不可达

我一直想自己解决这个问题,但几乎不可能……问题是我有两台 PC 在同一个网络上,一台运行 Windows(192.168.61.100),另一台运行 Debian(192.168.61.200)。我向运行 W 的 PC 添加了一条静态路由(route add -p 192.168.0.0 mask 255.255.255.0 192.168.60.254),我可以从 192.168.61.100 完美地 ping 通 IP 地址为 192.168.0.170 的 PC,反之亦然。当我尝试向运行 Debian 的 PC 添加相同的静态路由时,问题出现了,当我尝试这样做时,我得到了: root@satv:/home/satv# route add -net 192.168.0.0 netmask 255.255.255.0 gw 1​​92.168.60.254 SIOCADDRT:网络不可达以下是一些有用的东西:

是否配置

eth0      Link encap:Ethernet  HWaddr 1c:1b:0d:c0:a8:89  
          inet addr:192.168.61.200  Bcast:192.168.61.255  Mask:255.255.255.0
          inet6 addr: fe80::1e1b:dff:fec0:a889/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2965 errors:0 dropped:165 overruns:0 frame:0
          TX packets:1389 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:234251 (228.7 KiB)  TX bytes:131929 (128.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:172 (172.0 B)  TX bytes:172 (172.0 B)

路线-n

Kernel IP routing table Destination     Gateway         Genmask        Flags Metric Ref    Use Iface
0.0.0.0         192.168.61.254  0.0.0.0         UG    0      0        0 eth0
192.168.61.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

IP 路由列表

default via 192.168.61.254 dev eth0 
192.168.61.0/24 dev eth0  proto kernel  scope link  src 192.168.61.200 

网络状态监测

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.61.254  0.0.0.0         UG        0 0          0 eth0
192.168.61.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

显然我需要从 192.168.61.200 ping 192.168.0.170,反之亦然。有人能帮我吗?我已经为此工作了好几天,我非常绝望……提前谢谢大家。

答案1

您尝试在路由中添加的下一跳与您尝试配置路由的计算机不在同一子网中。

也就是说,192.168.61.200网络掩码255.255.255.0仅涵盖从192.168.61.1到的地址192.168.61.254,并且您必须使用该网络中的地址作为下一跳。

也许您的 Windows 计算机有不同的网络掩码也覆盖192.168.16.0/24网络。

答案2

您的路线有些奇怪,而且看起来这正是错误消息所反映的内容。

即,我认为这SIOCADDRT: Network is unreachable具体与网关地址有关,以及如何没有可以到达该地址的路由(本地链接)。

网络实际上应该是/23( 192.168.60.0/23,即192.168.60.0-192.168.61.255) 而不是配置的 吗/24?或者为什么机器应该192.168.61.0/24使用其网络之外的东西作为网关地址?

您很可能能够强迫routeip route做 Windows 显然做过的事情route,假设它们实际上具有相同的网络掩码(隐式地假装有一条路由说 192.168.61.254 是本地链接),或者如果没有,只需先添加这条路由,但在我看来,您可能想直接解决更根本的奇怪问题。

相关内容