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