Um trabalho inicial está sendo executado para aguardar a configuração da rede. Servidor Ubuntu 17.10

39

Acabei de instalar o servidor ubuntu no meu laptop e tudo funciona bem, exceto pelo fato de que, na inicialização, se o laptop não estiver conectado à Ethernet ou no alcance do meu wi-fi, recebo a mensagem "Um trabalho de início está sendo executado para aguardar a rede ser configurado "que permanece por cerca de 2 minutos. Procurei on-line por soluções e tentei:

  • Desativar gerenciador de rede
  • Edite as configurações de tempo limite em /etc/systemd/system.conf
  • Desativar systemd.networkd-wait-online.service

Nenhuma dessas soluções funcionou para mim. Alguma correção possível?

vlad27
fonte
Essas são as correções. Após cada alteração, você recarregou o NM / systemd? Eles apenas lêem seus arquivos de configuração no início.
precisa saber é o seguinte
Sim eu usei systemctl daemon-reload, ainda o mesmo resultado
vlad27

Respostas:

39

Usar

systemctl disable systemd-networkd-wait-online.service

desativar o serviço online de espera para impedir que o sistema aguarde uma conexão de rede e use

systemctl mask systemd-networkd-wait-online.service

para impedir que o serviço seja iniciado se solicitado por outro serviço (o serviço está vinculado a /dev/null).

Mr.Ecco
fonte
O que significa mascarar neste contexto?
Jaime Hablutzel
Funcionou. :) Você pode descrever o que fizemos aqui? Eu só estou curioso.
SD.
3
@SD @ jaime-hablutzel Consulte askubuntu.com/a/816378/445084 para obter uma explicação de systemctl mask. Longa história: mascarar um serviço o redireciona /dev/null, impedindo que seja reativado no caso de ser exigido por outro serviço.
timelmer
31

Não oculte ou desative o serviço systemd.

Edite /etc/netplan/01-netcfg.yamle adicione optional: truea qualquer dispositivo que nem sempre esteja disponível.

sudo netplan apply
user914826
fonte
11
No meu caso, só funcionou depois de definir todas as interfaces como opcionais: true
duli 04/03
11
De que maneira isso é superior à desativação do serviço systemd?
Andreas Hartmann
Para mim, com o Ubuntu 18.04 no Vmware, o arquivo correspondente era /etc/netplan/50-cloud-init.yaml; adicionando opcional: true & reinicialização funcionou! Tópico relacionado: askubuntu.com/questions/1090631/… . Informações relacionadas ao netplan: linux.com/learn/intro-to-linux/2018/9/… (Configurando o DHCP)
Snidhi Sofpro
Thisx trabalhou para mim com o Ubuntu 18.04.03 LTS (Desktop), onde desabilitei o NetworkManager e configurei o networkd com o netplan, e o br0 para virtualização kdvm / qenu e cache de DNS com dnsmaquerade. O mais recente não encontrou o que deu errado nas minhas configurações, mas os booys demoram mais de 2 minutos sem opcional: true -setting. Com essa configuração, a inicialização é normal e a funcionalidade também com a rede.
Reijo Korhonen 9/09
9

Isso significa que systemd-networkd-wait-online.serviceestá pendurado. Existem alguns erros conhecidos com isso. Verifique o que os serviços desejam network-online.targetcom:

systemctl show -p WantedBy network-online.target

Você pode desativar esses serviços, se desejar. Caso contrário, você pode ter que mascarar o serviço como indicado pelo Sr. Ecco .

Duncan X Simpson
fonte
2

O mascaramento systemd-networkd-wait-online.service, conforme sugerido em outras respostas, pode ajudar em configurações simples, mas não resolve o problema. Se você mascarar o serviço, todos os outros serviços, dependendo dele, também falharão. Isso significa que todos os serviços necessários para esperar até que a rede esteja online falharão.

Eu me deparo com esse problema porque uso uma configuração dinâmica de failover para meus laptops com a ligação das interfaces com fio (enp9s0) e sem fio (wlp12s0) usadas como escravos para a interface principal bond0 . Exatamente a mesma situação que você tem se usar uma ponte ( br0 com interfaces escravas). Somente as interfaces principais bond0 ou br0 ficarão online, mas não os escravos, portanto systemd-networkd-wait-online.service, falharão nos escravos.

A solução para esse problema é modificar o serviço e verificar apenas as interfaces que devem ficar online. Você encontrará com:

~$ 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

O programa systemd-networkd-wait-online possui um parâmetro para testar interfaces específicas. Verifique com /lib/systemd/systemd-networkd-wait-online --help. Então eu faço uma queda no arquivo para modificar o serviço:

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

No editor vazio, insira essas instruções, é claro com sua interface, salve-as e saia do editor:

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

O vazio ExecStart=é importante porque desabilita o comando "antigo". Você pode verificar mais do que na interface (veja a ajuda).

Ingo
fonte
Excelente, muito boa resposta, esse foi exatamente o meu problema
kaklon 13/09