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:
Parece que alguien estaba paranoico porque un cliente no estaba recibiendo su DHCP a tiempo.
Edite este archivo
/etc/dhcp/dhclient.conf
y configúrelotimeout
en un valor razonable, comoEl valor predeterminado de 300 segundos es demasiado alto. El valor de reemplazo sugerido de 15 fue probado y funciona bien.
fuente
Entonces en tu
/etc/network/interfaces
, cambia esto:a esto:
Esto iniciará la interfaz
eth0
cuando 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.fuente
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:
Luego cambie la línea
TimeoutStartSec=5min
al valor que elija. Guarde el archivo presionando Ctrl+ oy luego Ctrl+ x.Finalmente, reinicia el demonio:
fuente