44 votes

Ubuntu 16.04 - le démarrage du système attend en disant "Raise network interfaces"

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

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

# L'interface réseau de bouclage
auto lo
iface lo inet loopback

# L'interface réseau principale
auto eth0
iface eth0 inet dhcp

# L'interface réseau secondaire
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

## Interfaces virtuelles pour les hôtes virtuels
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 inactif, le système se bloque pendant 5 minutes, ralentissant 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 le fichier /etc/systemd/system/network-online.target.wants/networking.service ce qui permet au système de démarrer plus rapidement sans attendre le service réseau, cependant, cela échoue à charger les interfaces virtuelles sur eth1.

Y a-t-il un moyen plus propre de permettre au système de démarrer sans une configuration réseau complète sur l'interface eth0 et d'encore charger toute la configuration réseau statique sur eth1?

57voto

boutch55555 Points 1166

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

Modifiez ce fichier /etc/dhcp/dhclient.conf et définissez timeout sur une valeur raisonnable, comme

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.

29voto

Jonathan Walter Points 391

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

# L'interface réseau primaire
auto eth0
iface eth0 inet dhcp

à ceci :

# L'interface réseau primaire
allow-hotplug eth0
iface eth0 inet dhcp

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

2voto

Mike Points 21

Comme indiqué dans vous pouvez modifier la valeur de temporisation pour le démarrage de l'interface réseau (si systemd est en cours d'exécution):

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

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

Ensuite, changez la ligne TimeoutStartSec=5min par une valeur de votre choix. Enregistrez le fichier en appuyant sur Ctrl+o puis Ctrl+x.

Enfin, redémarrez le démon :

sudo systemctl daemon-reload

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X