Всякий раз, когда я перезагружаю свой сервер Ubuntu, таблица маршрутизации неверна для маршрута по умолчанию. В таблице маршрутизации правильно указан 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
В противном случае сервер не сможет подключиться к Интернету.
Откуда этот .254? Его нет в моем / etc / network / interfaces или где-либо в / etc / iproute2. Сервер имеет единый интерфейс Ethernet со статическим адресом. Мой / 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