
Ich habe ein seltsames Problem beim Versuch, das Netzwerk unter Linux mit systemd zum Laufen zu bringen.
Mein Netzwerk eth0
ist 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, eth0
daher verstehe ich nicht, warum es nicht online ist.
Ich habe eine andere Schnittstelle im System, eth1
die nicht angeschlossen ist.
Antwort1
Es scheint wahrscheinlich, dass systemd-networkd-wait-online
trotz 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 eth0
sein 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