Ubuntu 16.04 - загрузка системы ожидает сообщения "Поднимите сетевые интерфейсы"

У меня есть система Ubuntu 16.04 с двумя интерфейсами - eth0, настроенный с DHCP, и eth1, настроенный со статическими IP-адресами.

Файл / etc / network / interfaces имеет следующую конфигурацию

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# The Secondary network interface
auto eth1
iface eth1 inet static
address 10.10.1.10
netmask 255.255.255.0
dns-nameservers 74.82.42.42 4.2.2.2

## Virtual Interfaces for virtual hosts
auto eth1:11
iface eth1:11 inet static
address 10.10.1.11
netmask 255.255.255.0

auto eth1:12
iface eth1:12 inet static
address 10.10.1.12
netmask 255.255.255.0

auto eth1:13
iface eth1:13 inet static
address 10.10.1.13
netmask 255.255.255.0

Проблема в том, что, когда DHCP-сервер недоступен по ссылке eth0 или ссылка eth0 не работает, система зависает на 5 минут, что значительно замедляет процесс загрузки.

violet@ubuntu-xenial:~$ systemd-analyze blame
      5min 241ms networking.service
          1.529s nmbd.service
          1.524s winbind.service

Я попытался сократить время в файле /etc/systemd/system/network-online.target.wants/networking.service, который ускоряет загрузку системы, не дожидаясь сетевой службы, однако не загружает виртуальные интерфейсы на eth1.

Есть ли более чистый способ загрузки системы без полной конфигурации сети на интерфейсе eth0 и загрузки статической конфигурации сети на eth1?

3 ответа

Кажется, кто-то был параноидален из-за того, что клиент вовремя не получил DHCP.

Редактировать этот файл /etc/dhcp/dhclient.conf и установить timeout до разумного значения, как

timeout 15

Значение по умолчанию 300 секунд слишком велико. Предложенное значение замены 15 было проверено и работает нормально.

Так в вашем /etc/network/interfacesизмените это:

# The primary network interface
auto eth0
iface eth0 inet dhcp

к этому:

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Это запустит интерфейс eth0 когда ядро ​​обнаруживает событие горячего подключения от интерфейса (т. е. когда вы подключаете кабель) вместо запуска его при загрузке.

Как указано в, вы можете изменить значение тайм-аута для повышения сетевого интерфейса (если работает systemd):

Откройте окно терминала и введите команду:

sudo nano /etc/systemd/system/network-online.target.wants/networking.service

Затем измените строку TimeoutStartSec=5min на значение, которое вы выбираете. Сохраните файл, нажав Ctrl+o, а затем Ctrl+x.

Наконец, перезапустите демон:

sudo systemctl daemon-reload
Другие вопросы по тегам