在 Ubuntu 14.04 服务器(3.16.0-30)上,我尝试添加默认路由并出现以下错误:
ip route 添加默认通过 172.16.111.99 dev bond0.11 RTNETLINK 回答:网络无法接通
此盒子的地址192.168.11.23
为bond0.11
。我已静态配置以下路由(已编辑为相关子集):
172.16.111.0/24 通过 192.168.11.18 dev bond0.11 192.168.11.0/24 dev bond0.11 proto 内核范围链接 src 192.168.11.23
我可以 ping172.16.111.99
并且这里是traceroute
的输出:
跟踪路由至 172.16.111.99 (172.16.111.99),最多 30 个跳数,60 字节数据包 1 192.168.11.18 0.126毫秒 0.096毫秒 0.081毫秒 2 172.16.111.99 0.149毫秒 0.142毫秒 0.112毫秒
为什么我明明有权访问该网络/主机,却拒绝添加默认路由?我显然做错了什么……
答案1
问题是下一个跳或者网关路由需要与您所连接的网络位于同一网络上。
即,您可以设置默认路由以使用192.168.11.18
。这样系统就会知道如何访问网络172.16.x.x
。
答案2
可能是接口已关闭:
ip link set eno1 up
ip addr add 10.0.0.100 dev dno1
ip route add default via 10.0.0.1 dev dno1
答案3
几天前我在一块嵌入式主板(Vim3)上遇到了这个问题。配置 IP 后添加延迟或为“ip route”添加额外选项都不起作用。经过几个小时的尝试,我找到了解决方案:只需在“ip route add default via 192.168.0.254 dev wlan0”之前添加“ip rule add from all lookup main”,因为我的主板已配置策略路由,因此内核找不到要查找路由的表。