每当我重新启动 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
那么这里发生了什么?
答案1
NetworkManager 仍在配置接口,因为managed=true
设置在/etc/NetworkManager/NetworkManager.conf
要禁用 NetworkManager 并改用/etc/network/interfaces
,请managed=false
在/etc/NetworkManager/NetworkManager.conf