Ubuntu 16.04 - L'initialisation du système attend de dire «Augmenter les interfaces réseau»

43

J'ai un système Ubuntu 16.04 avec deux interfaces - eth0 configuré avec DHCP et eth1 configuré avec des adresses IP statiques.

Le fichier / etc / network / interfaces a la configuration suivante

# 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

Le problème est que, lorsque le serveur DHCP n'est pas disponible sur le lien eth0 ou si le lien eth0 est en panne, le système se bloque pendant 5 minutes, ce qui ralentit considérablement le processus de démarrage.

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

J'ai essayé de réduire le temps dans /etc/systemd/system/network-online.target.wants/networking.service qui accélère le démarrage du système sans attendre le service réseau, mais ne parvient pas à charger les interfaces virtuelles sur eth1.

Existe-t-il un moyen plus simple de laisser le système démarrer sans configuration réseau complète sur l'interface eth0 tout en chargeant la configuration réseau statique sur eth1?

jana
la source
.. ou ceci: askubuntu.com/questions/203157/…
ElHeineken

Réponses:

53

Il semble que quelqu'un était paranoïaque à propos d'un client qui ne reçoit pas son DHCP à temps.

Éditez ce fichier /etc/dhcp/dhclient.confet définissez-le timeoutsur une valeur raisonnable, telle que

timeout 15

La valeur par défaut de 300 secondes est beaucoup trop élevée. La valeur de remplacement suggérée de 15 a été testée et fonctionne bien.

boutch55555
la source
3
Merci. Labos DNS / DHCP pour le moment et les 5 minutes d'attente me tuaient.
Ashley Hughes
1
Ubuntu a un certain nombre de configurations impaires par défaut. C'est intéressant ...
William T Froggard le
Wow, cela sera vraiment utile dans d'autres configurations.
David Tabernero M.
1
Cela ne fonctionne pas sur Ubuntu 18, mais cette réponse fonctionne.
xinthose
Après toutes ces années, il est toujours valable pour moi :)
Wajih le
28

Donc, dans votre /etc/network/interfaces, changez ceci:

# The primary network interface
auto eth0
iface eth0 inet dhcp

pour ça:

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

Cela démarrera l'interface eth0lorsque le noyau détectera un événement hotplug à partir de l'interface (c'est-à-dire lorsque vous branchez un câble), au lieu de le démarrer au démarrage.

Jonathan Walter
la source
1
Cette approche fonctionne bien sur le matériel physique mais échoue dans les environnements virtualisés (vmware et virtualbox essayé). Il semble que le noyau virtualisé ne génère pas les événements appropriés.
dtoubelis
Cette approche a également corrigé mes problèmes après l’installation d’une nouvelle carte réseau 10G dans un boîtier qui n’avait auparavant que la fonctionnalité 1G intégrée. Ubuntu a été capable de voir la carte et de charger les pilotes, mais le démarrage n'a pas tardé à attendre que Raise Network Interfaces soit installé. Ajuster le nom de périphérique à partir de eth0 en conséquence le corrige.
Joseph Jaramillo
2

Comme indiqué dans, vous pouvez modifier la valeur de délai d'attente pour la remontée de l'interface réseau (le cas échéant systemd):

Ouvrez une fenêtre de terminal et entrez la commande suivante:

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

Puis changez la ligne TimeoutStartSec=5minen une valeur que vous choisissez. Enregistrez le fichier en appuyant sur Ctrl+ opuis sur Ctrl+ x.

Enfin, redémarrez le démon:

sudo systemctl daemon-reload
Mike
la source
4
C'est généralement une mauvaise idée de démarrer un programme graphique en utilisant sudo ... J'ai modifié votre réponse pour utiliser des outils qui se comportent un peu mieux.
Charles Green
C'est la bonne réponse pour moi. Mon ordinateur n'est pas toujours connecté au réseau au démarrage. Je ne veux pas attendre 5 minutes pour Ubuntu à comprendre cela.
Yitz
2
J'aimerais savoir qui est cet idiot et qui pensait qu'un délai de 5 minutes était une "bonne idée".
Clayton Dukes