Ubuntu 16.04 - завантаження системи чекає, кажучи "Підняти мережеві інтерфейси"


42

У мене є система 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?


1
Це може допомогти: ubuntuforums.org/showthread.php?t=2323253
Шахта

Відповіді:


51

Здається, хтось був параноїком щодо того, що клієнт не отримав DHCP вчасно.

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

timeout 15

Значення за замовчуванням 300 секунд занадто велике. Запропоноване значення заміни 15 було протестовано і працює чудово.


3
Дякую. Лабораторія DNS / DHCP на даний момент, і 5 хвилин очікування вбивали мене.
Ешлі Хьюз

1
Ubuntu має декілька непарних конфігурацій за замовчуванням. Цікаво було ...
Вільям Т Фроггард

О, це буде дуже корисно в подальших конфігураціях.
Девід Табернеро М.

1
Це не працює на Ubuntu 18, але ця відповідь є .
xinthose

Після всіх цих років це все ще діє для мене :)
Wajih

27

Тож у своєму /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коли ядро ​​виявить подію гарячої підключення з інтерфейсу (тобто, коли ви підключаєте кабель), а не запускає його під час завантаження.


1
Цей підхід добре працює на фізичному обладнанні, але він не спрацьовує у віртуалізованому середовищі (випробуваний vmware та virtualbox). Схоже, віртуалізоване ядро ​​не генерує належних подій.
dououbelis

Цей підхід також вирішив мої проблеми після встановлення нового мережевого адаптера 10G у вікні, в якому раніше був лише вбудований 1G. Ubuntu змогла побачити драйвери для карт та завантаження, але завантаження постійно затримувало очікування підключення мережевих інтерфейсів. Відрегулювавши ім'я пристрою з eth0, відповідно зафіксував його.
Джозеф Джарамілло

2

Як зазначено в цьому документі, ви можете змінити значення тайм-ауту для підвищення мережевого інтерфейсу (якщо він працює systemd):

Відкрийте вікно терміналу та введіть команду:

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

Потім змініть рядок TimeoutStartSec=5minна вибране вами значення. Збережіть файл, натиснувши Ctrl+, oа потім Ctrl+ x.

Нарешті, перезапустіть демон:

sudo systemctl daemon-reload

4
Зазвичай погана ідея запускати програму GUI, використовуючи sudo ... Я змінив вашу відповідь, щоб використовувати інструменти, які ведуть себе трохи краще.
Чарльз Грін

Це правильна відповідь для мене. Мій комп'ютер не завжди підключений до мережі під час завантаження. Я не хочу чекати 5 хвилин, поки Ubuntu зрозуміє це.
Іцц

2
Мені б хотілося знати, хто такий ідіот, що думка про 5-хвилинний тайм-аут була "хорошою ідеєю".
Клейтон Герцог
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.