每当我重新启动 Ubuntu 服务器时,默认路由的路由表都不正确。路由表正确指定了 LAN IP 地址 192.168.124.0/24。所有其他流量应通过 192.168.124.253 的路由器,但默认路由为网关指定 192.168.124.254:
jos@hallway:~$ ip route list
default via 192.168.124.254 dev eth1 proto static
192.168.124.0/24 dev eth1 proto kernel scope link src 192.168.124.101
同样:
jos@hallway:~$ sudo route -n
[sudo] password for jos:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.124.254 0.0.0.0 UG 0 0 0 eth1
192.168.124.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
我必须手动将其更正为 .253,使用:
sudo ip route del default
sudo ip route add default via 192.168.124.253
否则,服务器将无法连接到 Internet。
这个 .254 来自哪里?它不在我的 /etc/network/interfaces 中,也不在 /etc/iproute2 中的任何地方。服务器有一个带有静态地址的以太网接口。我的 /etc/network/interfaces 就是这样的:
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 192.168.124.101
netmask 255.255.255.0
gateway 192.168.124.253
dns-nameservers 192.168.124.253 8.8.8.8 8.8.4.4
我的/etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.124.253
nameserver 192.168.124.253
nameserver 8.8.8.8
nameserver 8.8.4.4
那么这里发生了什么?
NetworkManager 仍在配置接口,因为
managed=true
设置在/etc/NetworkManager/NetworkManager.conf
要禁用 NetworkManager 并改为使用
/etc/network/interfaces
,请managed=false
在/etc/NetworkManager/NetworkManager.conf