我一直抨击我的头靠在墙上几天试图弄清楚这一点:我的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连接本地,尽pipe你有一个地址分配给它,没有链路本地路由出现在你的路由列出。
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的网关声明,并用下面的条目replace:
ip route add 192.168.36.0/23 dev eth0
(Qouting)Whevener将添加默认路由,需要指定度量值1并执行route add命令:
执行以下命令在HPUX中添加默认路由:
#route add default 192.168.178.1 1 add net default: gateway 192.168.178.1
默认路由被添加。
根据这个http://expertisenpuru.com/1-easy-command-to-add-default-route-in-hpux/