Networking

無法添加靜態路由:SIOADDRT:網路不可達

  • July 5, 2021

幾天來,我一直在努力解決這個問題:我的 ifconfig 是:

eth0      Link encap:Ethernet  HWaddr 00:50:56:BB:XX:XX
         inet addr:192.168.36.132  Bcast:192.168.37.255  Mask:255.255.254.0

eth1      Link encap:Ethernet  HWaddr 00:50:56:BB:XX:XX
         inet addr:116.xx.xx.xx    Bcast:116.xx.xx.xx    Mask:255.255.255.192

當我嘗試添加靜態路由以退出 eth0 時,出現以下錯誤:

servername-test:/ # route add -net 10.248.12.0 netmask 255.255.255.240 gw 192.168.36.254 dev eth0 
SIOCADDRT: Network is unreachable

我的預設網關是:

servername-test:~ # netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
116.xx.xx.xx    0.0.0.0         255.255.255.192 U         0 0          0 eth1
192.168.238.0   192.168.36.254  255.255.255.0   UG        0 0          0 eth0
192.168.239.0   192.168.36.254  255.255.255.0   UG        0 0          0 eth0
192.168.36.0    192.168.36.254  255.255.254.0   UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         116.xx.xx.xx    0.0.0.0         UG        0 0          0 eth1

ip route list輸出

116.66.240.64/26 dev eth1 proto kernel scope link src 116.xx.xx.xx 
192.168.238.0/24 via 192.168.36.254 dev eth0 
192.168.239.0/24 via 192.168.36.254 dev eth0 
192.168.36.0/23 via 192.168.36.254 dev eth0
169.254.0.0/16 dev eth0 scope link 
127.0.0.0/8 dev lo scope link 
default via 116.xx.xx.xx dev eth1

您尚未聲明192.168.36.0/23本地連結,儘管您為其分配了地址,但您的路由中似乎沒有列出本地連結路由。

192.168.36.0    192.168.36.254  255.255.254.0   UG        0 0          0 eth0
192.168.36.0/23 via 192.168.36.254 dev eth0

相反,它的聲明192.168.36.0/23應該傳遞給網關192.168.36.254,根據路由表的其餘部分,從技術上講,網關似乎不是鄰居(核心不知道如何到達192.168.36.254)。

應該沒有分配網關,192.168.36.0/23因為根據您的 IP 地址192.168.36.132/23,它可能意味著是連結本地範圍(鄰居通過 ARP 直接響應)。

應該有一個這樣的條目:

192.168.36.0    0.0.0.0  255.255.254.0   U        0 0          0 eth0
192.168.36.0/23 dev eth0 scope link

要修復,您需要刪除網關聲明192.168.36.0/23並替換為以下條目:

ip route add 192.168.36.0/23 dev eth0

引用自:https://serverfault.com/questions/581159