Ubuntu 16.04 - l'avvio del sistema attende che dice "Aumenta le interfacce di rete"


43

Ho un sistema Ubuntu 16.04 con due interfacce: eth0 configurato con DHCP e eth1 configurato con indirizzi IP statici.

Il file / etc / network / interfaces ha la seguente configurazione

# 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

Il problema è che quando il server DHCP non è disponibile sul collegamento eth0 o se il collegamento eth0 è inattivo, il sistema si blocca per 5 minuti, rallentando notevolmente il processo di avvio.

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

Ho provato a ridurre il tempo nel file /etc/systemd/system/network-online.target.wants/networking.service che rende l'avvio del sistema più veloce senza attendere il servizio di rete, tuttavia, che non riesce a caricare le interfacce virtuali su eth1.

Esiste un modo più pulito per consentire l'avvio del sistema senza la configurazione di rete completa sull'interfaccia eth0 e caricare comunque tutta la configurazione di rete statica su eth1?


1
Questo può essere d'aiuto: ubuntuforums.org/showthread.php?t=2323253
mio

Risposte:


53

Sembra che qualcuno sia paranoico sul fatto che un client non ottenga il suo DHCP in tempo.

Modifica questo file /etc/dhcp/dhclient.confe impostalo timeoutsu un valore ragionevole, ad esempio

timeout 15

Il valore predefinito di 300 secondi è troppo alto. Il valore di sostituzione suggerito di 15 è stato testato e funziona bene.


3
Grazie. Labing DNS / DHCP al momento e l'attesa di 5 minuti mi stavano uccidendo.
Ashley Hughes,

1
Ubuntu ha un numero di configurazioni predefinite dispari. È stato interessante ...
William T Froggard,

Caspita, questo sarà davvero utile in ulteriori configurazioni.
David Tabernero M.

1
Questo non funziona su Ubuntu 18, ma questa risposta funziona.
Xinthose,

Dopo tutti questi anni è ancora valido per me :)
Wajih,

28

Quindi, nel tuo /etc/network/interfaces, cambia questo:

# The primary network interface
auto eth0
iface eth0 inet dhcp

a questa:

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

Questo avvierà l'interfaccia eth0quando il kernel rileva un evento hotplug dall'interfaccia (cioè quando si collega un cavo), invece di avviarlo all'avvio.


1
Questo approccio funziona bene su hardware fisico ma non riesce in ambienti virtualizzati (provato vmware e virtualbox). Sembra che il kernel virtualizzato non generi eventi corretti.
dtoubelis,

Questo approccio ha anche risolto i miei problemi dopo aver installato una nuova scheda di rete 10G in una scatola che in precedenza aveva solo 1G integrato. Ubuntu è stato in grado di vedere la scheda e caricare i driver, ma l'avvio è rimasto bloccato in attesa di Raise Network Interfaces. La regolazione del nome del dispositivo da eth0 lo ha corretto di conseguenza.
Joseph Jaramillo,

2

Come indicato in, è possibile modificare il valore di timeout per aumentare l'interfaccia di rete (se in esecuzione systemd):

Apri una finestra del terminale e inserisci il comando:

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

Quindi cambia la linea TimeoutStartSec=5minin un valore che scegli. Salvare il file premendo Ctrl+ oe quindi Ctrl+ x.

Infine, riavvia il demone:

sudo systemctl daemon-reload

4
Generalmente è una cattiva idea avviare un programma GUI usando sudo ... Ho modificato la tua risposta per utilizzare strumenti che si comportano un po 'meglio.
Charles Green,

Questa è la risposta corretta per me. Il mio computer non è sempre collegato alla rete all'avvio. Non voglio aspettare 5 minuti affinché Ubuntu lo capisca.
Yitz

2
Mi piacerebbe sapere chi è l'idiota che ha pensato che un timeout di 5 minuti fosse una "buona idea".
Clayton Dukes,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.