Отсутствует маршрут по умолчанию ifup

Один из наших серверов странно ведет себя при подключении к сети при запуске. Мы использовали изменения конфигурации и ifup / ifdown, чтобы попытаться изолировать проблему, с разочаровывающе противоречивыми результатами. У нас есть конфигурация, совместимая с другими серверами, на которых у нас нет этой проблемы. Существенная разница в том, что этот сервер от другого поставщика оборудования, но я не знаю, почему это может вызвать проблему, которая у нас возникла.

Когда мы вызываем интерфейс eth0 с помощью sudo ifup eth0 , связанный интерфейс bond0 и интерфейс vlan bond0.3001 открываются и отображаются правильно настроенными из ifconfig, но маршрут по умолчанию отсутствует.

user@admin1:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.1.0        0.0.0.0         255.255.255.0   U     0      0        0 bond0.3001

Повторяется. пытается вывести интерфейс из строя (используя sudo ifdown bond0 , что кажется самым простым способом вывести из строя всю многослойную конфигурацию с помощью одной команды), а затем выполнить резервное копирование, похоже, никогда правильно добавить маршрут. Однако, если мы отредактируем bond0. 3001 в файле интерфейсов / etc / network / interfaces , он будет часто (но не всегда, argh) вызывать интерфейсы и правильный маршрут по умолчанию.

user@admin1:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.1.1.1        0.0.0.0         UG    0      0        0 bond0.3001
10.1.1.0        0.0.0.0         255.255.255.0   U     0      0        0 bond0.3001

Мы комментировали ввод / вывод "сетевой" строки ниже при редактировании файла с несколько согласованными результатами; когда мы вносим изменения и возвращаем стек интерфейса, маршрут по умолчанию присутствует довольно часто. Когда мы отбрасываем стек интерфейса без внесения изменений, кажется, что в 100% случаев он дает сбой. Добавление маршрута по умолчанию вручную с помощью sudo route add default gw 10.1.1.1 bond0.3001 работало каждый раз, когда мы пытались, но нам нужна система для надежного перезапуска сети.

Вот наша конфигурация:

user@admin1:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
    bond-master bond0
auto eth1
iface eth1 inet manual
    bond-master bond0

# The primary network interface
#Aggregate bond
auto bond0
iface bond0 inet manual
    bond-slaves none
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate 1

auto bond0.3001
iface bond0.3001 inet static
    address 10.1.1.14
    gateway 10.1.1.1
    netmask 255.255.255.0
    #network 10.1.1.0
    broadcast 10.1.1.255
    #post-up route add default gw 10.1.1.1 bond0.3001
    #post-down route del default gw 10.1.1.1 bond0.3001

Еще одна точка данных - при запуске sudo strace -f sudo ifup eth0 , чтобы попытаться увидеть различия, успешная попытка (маршрут по умолчанию создан) занимает больше времени, чем неудачная. (отсутствует маршрут по умолчанию) Это могут быть просто другие запущенные сетевые службы, работающие ниже по течению, которые быстро выходят из строя, когда нет маршрута по умолчанию.

РЕДАКТИРОВАТЬ: возникло подозрение, что виноваты обновления ядра, обновление, которое, казалось, решило проблему для этого сервера, было 3.19 .0-25 до 3.19.0-43. Мы наблюдали подобное поведение на других серверах после обновлений ядра. Вероятно, потребуется дополнительное тестирование конкретных версий ядра, чтобы выявить основную причину.

1
задан 10 November 2016 в 21:06
1 ответ

На этой неделе я столкнулся с этой проблемой, установив стойку с серверами Ubuntu 14.04.3, все они были обновлены до linux-generic-lts-vivid и работают на ядре 3.19.0-43. После нескольких дней работы мы решили проблему, понизив версию ядра до версии 3.16.0-57 (у нас была та же проблема с ядром 3.19.0-2x, которое поставляется с iso сервера 14.04.3 amd64).

apt-get remove linux-generic-lts-vivid -y
apt-get autoremove
apt-get install linux-generic-lts-utopic -y
rm -f /boot/*3.19*
update-grub
reboot

Что касается симптомов, маршруты по умолчанию были добавлены недетерминированно во время загрузки. Мы всегда могли исправить это с помощью ifdown bond0 && ifup p4p2 p5p2 , но, как и вы, нам нужна была сеть для надежной работы при загрузке.

2
ответ дан 3 December 2019 в 20:43

Теги

Похожие вопросы