Ubuntu 16.04 - el arranque del sistema espera diciendo "Elevar interfaces de red"


42

Tengo un sistema Ubuntu 16.04 con dos interfaces: eth0 configurado con DHCP y eth1 configurado con direcciones IP estáticas.

El archivo / etc / network / interfaces tiene la siguiente configuración

# 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

El problema es que cuando el servidor DHCP no está disponible en el enlace eth0 o si el enlace eth0 está inactivo, el sistema se bloquea durante 5 minutos, lo que ralentiza significativamente el proceso de arranque.

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

Intenté reducir el tiempo en el archivo /etc/systemd/system/network-online.target.wants/networking.service que hace que el sistema arranque más rápido sin esperar el servicio de red, sin embargo, no puede cargar las interfaces virtuales en eth1.

¿Hay alguna forma más limpia de permitir que el sistema arranque sin configuración de red completa en la interfaz eth0 y aún cargar toda la configuración de red estática en eth1?



Respuestas:


51

Parece que alguien estaba paranoico porque un cliente no estaba recibiendo su DHCP a tiempo.

Edite este archivo /etc/dhcp/dhclient.confy configúrelo timeouten un valor razonable, como

timeout 15

El valor predeterminado de 300 segundos es demasiado alto. El valor de reemplazo sugerido de 15 fue probado y funciona bien.


3
Gracias. Labing DNS / DHCP en este momento y las esperas de 5 minutos me estaban matando.
Ashley Hughes

1
Ubuntu tiene una serie de configuraciones predeterminadas impares. Ha sido interesante ...
William T Froggard

Wow, esto será realmente útil en otras configuraciones.
David Tabernero M.

1
Esto no funciona en Ubuntu 18, pero esta respuesta sí.
xinthose

Después de todos estos años todavía es válido para mí :)
Wajih

27

Entonces en tu /etc/network/interfaces, cambia esto:

# The primary network interface
auto eth0
iface eth0 inet dhcp

a esto:

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

Esto iniciará la interfaz eth0cuando el kernel detecte un evento de conexión en caliente desde la interfaz (es decir, cuando conecte un cable), en lugar de iniciarlo en el arranque.


1
Este enfoque funciona bien en hardware físico pero falla en entornos virtualizados (vmware y virtualbox probados). Parece que el núcleo virtualizado no genera eventos adecuados.
dtoubelis

Este enfoque también solucionó mis problemas después de instalar un nuevo adaptador de red 10G en una caja que anteriormente solo tenía 1G incorporado. Ubuntu pudo ver la tarjeta y cargar los controladores, pero el arranque se detuvo a la espera de Raise Network Interfaces. Ajustar el nombre del dispositivo desde eth0 en consecuencia lo reparó.
Joseph Jaramillo

2

Como se menciona en el apartado, puede cambiar el valor de tiempo de espera para elevar la interfaz de red (si se está ejecutando systemd):

Abra una ventana de terminal e ingrese el comando:

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

Luego cambie la línea TimeoutStartSec=5minal valor que elija. Guarde el archivo presionando Ctrl+ oy luego Ctrl+ x.

Finalmente, reinicia el demonio:

sudo systemctl daemon-reload

44
Generalmente es una mala idea iniciar un programa GUI usando sudo ... He modificado su respuesta para utilizar herramientas que se comporten un poco mejor.
Charles Green

Esta es la respuesta correcta para mí. Mi computadora no siempre está conectada a la red durante el arranque. No quiero esperar 5 minutos para que Ubuntu lo resuelva.
Yitz

2
Me encantaría saber quién es el idiota que pensó que un tiempo de espera de 5 minutos era una "buena idea".
Clayton Dukes
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.