Networking
無法添加靜態路由:SIOADDRT:網路不可達
幾天來,我一直在努力解決這個問題:我的 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