У меня есть система 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?
Ответы:
Кажется, кто-то был параноидален из-за того, что клиент вовремя не получил DHCP.
Отредактируйте этот файл
/etc/dhcp/dhclient.conf
и установитеtimeout
разумное значение, напримерЗначение по умолчанию 300 секунд слишком велико. Предложенное значение замены 15 было проверено и работает нормально.
источник
Итак, по вашему
/etc/network/interfaces
, измените это:к этому:
Это запустит интерфейс,
eth0
когда ядро обнаружит событие горячего подключения от интерфейса (т. Е. Когда вы подключите кабель), вместо запуска его при загрузке.источник
Как указано в, вы можете изменить значение тайм-аута для повышения сетевого интерфейса (если работает
systemd
):Откройте окно терминала и введите команду:
Затем измените строку
TimeoutStartSec=5min
на выбранное вами значение. Сохраните файл, нажав Ctrl+, oа затем Ctrl+ x.Наконец, перезапустите демон:
источник