Se está ejecutando un trabajo de inicio para esperar a que se configure la red. Servidor Ubuntu 17.10

40

acabo de instalar el servidor ubuntu en mi computadora portátil y todo funciona bien, excepto por el hecho de que en el arranque si la computadora portátil no está conectada a ethernet o dentro del alcance de mi wi-fi recibo este mensaje "Se está ejecutando un trabajo de inicio para esperar a que la red configurarse "que se mantiene durante unos 2 minutos. Busqué soluciones en línea e intenté:

  • Deshabilitar administrador de red
  • Edite la configuración de tiempo de espera en /etc/systemd/system.conf
  • Deshabilitar systemd.networkd-wait-online.service

Ninguna de estas soluciones funcionó para mí. ¿Alguna solución posible?

vlad27
fuente
Esas son las soluciones. Después de cada cambio, ¿recargó NM / systemd? Solo leen sus archivos de configuración al inicio.
user535733
Sí, usé systemctl daemon-reload, sigue siendo el mismo resultado
vlad27

Respuestas:

40

Utilizar

systemctl disable systemd-networkd-wait-online.service

para deshabilitar el servicio de espera en línea para evitar que el sistema espere en una conexión de red, y use

systemctl mask systemd-networkd-wait-online.service

para evitar que el servicio se inicie si lo solicita otro servicio (el servicio está vinculado a /dev/null).

Mr.Ecco
fuente
¿Qué significa enmascarar en este contexto?
Jaime Hablutzel
Funcionó. :) ¿Puedes describir lo que hemos hecho aquí? Tengo curiosidad.
SD.
3
@SD @ jaime-hablutzel Consulte askubuntu.com/a/816378/445084 para obtener una explicación de systemctl mask. Larga historia corta: enmascarar un servicio lo redirige /dev/null, evitando que se vuelva a habilitar en caso de que otro servicio lo requiera.
Timelmer
31

No enmascare ni deshabilite el servicio systemd.

Edite /etc/netplan/01-netcfg.yamly agregue optional: truea cualquier dispositivo que no siempre esté disponible.

sudo netplan apply
usuario914826
fuente
1
En mi caso, solo funcionó después de configurar todas las interfaces en opcional: verdadero
duli
1
¿De qué manera es esto superior a la desactivación del servicio systemd?
Andreas Hartmann
Para mí con Ubuntu 18.04 en Vmware, el archivo correspondiente era /etc/netplan/50-cloud-init.yaml; agregar opcional: verdadero y reinicio funcionó! Tema relacionado: askubuntu.com/questions/1090631/… . Información relacionada en netplan: linux.com/learn/intro-to-linux/2018/9/… (Configuración de DHCP)
Snidhi Sofpro
Thisx funcionó para mí con Ubuntu 18.04.03 LTS (Escritorio) donde he deshabilitado NetworkManager y configuré networkd con netplan, y configuré br0 para la virtualización kdvm / qenu y el almacenamiento en caché dns con dnsmaquerade. Más reciente no encontró lo que sale mal con mi configuración, pero las boyas tardan más de 2 minutos sin opcional: configuración verdadera. Con esa configuración, el arranque es normal y también lo es la funcionalidad con la red.
Reijo Korhonen
9

Esto significa que systemd-networkd-wait-online.serviceestá colgando. Hay algunos errores conocidos con él. Comprueba qué servicios quieres network-online.targetcon:

systemctl show -p WantedBy network-online.target

Puede deshabilitar esos servicios si lo desea. De lo contrario, es posible que deba enmascarar el servicio como lo indicó Mr.Ecco .

Duncan X Simpson
fuente
2

El enmascaramiento systemd-networkd-wait-online.service, como se sugiere en otras respuestas, puede ayudar en configuraciones simples, pero no soluciona el problema. Si enmascara el servicio, todos los demás servicios que dependen de él también fallarán. Eso significa que todos los servicios necesarios para esperar hasta que la red esté en línea fallarán.

Me encuentro con este problema porque uso una dinámica de conmutación por error de configuración de mis ordenadores portátiles con la unión del cable (enp9s0) y la interfaz inalámbrica (wlp12s0) que se utilizan como esclavos para la interfaz principal bond0 . Exactamente la misma situación que tiene si usa un puente ( br0 con interfaces esclavas). Solo las interfaces principales bond0 o br0 se conectarán, pero no los esclavos, por systemd-networkd-wait-online.servicelo que fallarán en los esclavos.

La solución a este problema es modificar el servicio y verificar solo las interfaces que deberían conectarse. Encontrarás con:

~$ sudo systemctl cat systemd-networkd-wait-online.service | grep --after-context=3 '\[Service\]'
[Service]
Type=oneshot
ExecStart=/lib/systemd/systemd-networkd-wait-online
RemainAfterExit=yes

El programa systemd-networkd-wait-online tiene un parámetro para probar interfaces específicas. Consulte con /lib/systemd/systemd-networkd-wait-online --help. Entonces hago una caída en el archivo para modificar el servicio:

~$ sudo systemctl edit systemd-networkd-wait-online.service

En el editor vacío, inserte estas declaraciones, por supuesto con su interfaz, guárdelas y salga del editor:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet

El vacío ExecStart=es importante porque deshabilita el comando "antiguo". Puede buscar más que en la interfaz (consulte la ayuda).

Ingo
fuente
Excelente, muy buena respuesta, ese fue exactamente mi problema
kaklon