systemd-networkd-wait-online.service schlägt ständig fehl

systemd-networkd-wait-online.service schlägt ständig fehl

Ich habe ein seltsames Problem beim Versuch, das Netzwerk unter Linux mit systemd zum Laufen zu bringen.

Mein Netzwerk eth0ist mit einem Firmennetzwerk mit einem DHCP-Server verbunden:

# 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

Der Wait-Online-Dienst schlägt jedoch fehl:

# /lib/systemd/systemd-networkd-wait-online --interface eth0 --timeout=10

ignoring: sit0
Event loop failed: Connection timed out

Das System hatte eine gültige IP-Adresse erhalten, eth0daher verstehe ich nicht, warum es nicht online ist.

Ich habe eine andere Schnittstelle im System, eth1die nicht angeschlossen ist.

Antwort1

Es scheint wahrscheinlich, dass systemd-networkd-wait-onlinetrotz der Angabe des Flags auf das Erscheinen anderer Schnittstellen gewartet wird --interface. Die Formatierung für das Flag, das Sie ursprünglich angegeben haben, wird angezeigt, obwohl die Manpage angibt, dass die Formatierung für dieses Flag entweder oder --interface eth0sein sollte , also könnte das das Problem sein.-i eth0--interface=eth0

Laut Manpage besteht eine weitere Möglichkeit zum Beheben dieses Problems darin, den Befehl mit auszuführen --any, wobei gewartet wird, bis eine beliebige Schnittstelle online ist.

dh
systemd-networkd-wait-online --any


Antworten aufdiese Frageund Informationen zur Konfiguration systemd-networkd, die ich gefunden habeHierzeigen Sie auch, wie Sie den systemd-Dienst bearbeiten können, der diese Wartezeit durchführt, indem Sie Folgendes ausführen:

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

Anschließend geben Sie ein:

[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any

verwandte Informationen