
Estou tendo um problema estranho ao tentar fazer a rede funcionar no Linux usando o systemd.
Minha rede eth0
está conectada a uma rede corporativa com um servidor DHCP:
# more /etc/systemd/network/main.network
#Main connection to the outside world
[Match]
Name=eth0
[Network]
DHCP=yes
IPForward=yes
# networkctl status eth0
2: eth0
Link File: n/a
Network File: /etc/systemd/network/main.network
Type: ether
State: routable (configured)
HW Address: 00:03:2d:32:85:3a (IBASE Technology, Inc.)
MTU: 1500
Address: 10.0.7.134
fe80::203:2dff:fe32:853a
Gateway: 10.0.7.1
DNS: 10.0.7.10
No entanto, o serviço de espera online falha:
# /lib/systemd/systemd-networkd-wait-online --interface eth0 --timeout=10
ignoring: sit0
Event loop failed: Connection timed out
O sistema adquiriu um endereço IP válido, eth0
então não entendo por que não estaria online.
Tenho outra interface no sistema, eth1
que não está conectada.
Responder1
Parece provável que systemd-networkd-wait-online
esteja aguardando o surgimento de outras interfaces, apesar de você ter especificado o --interface
sinalizador. A formatação do sinalizador que você forneceu originalmente mostra, --interface eth0
embora a página de manual mostre que a formatação desse sinalizador deveria ser -i eth0
ou --interface=eth0
isso poderia ser o problema.
De acordo com a página de manual, outra maneira potencial de corrigir esse problema seria executar o comando com --any
, que aguardará até que qualquer interface fique online.
ou seja
systemd-networkd-wait-online --any
Respostas paraessa questãoe informações sobre configuração systemd-networkd
que encontreiaquimostre também como você pode editar o serviço systemd que executa essa espera executando:
sudo systemctl edit systemd-networkd-wait-online.service
Entrando então:
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any