启动时路由表不正确

启动时路由表不正确

每当我重新启动 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

相关内容