Zum Inhalt springen

Systemd/Networkd/Problembehebung

Aus Foxwiki

Problembehebung

Es funktioniert nicht!

Man überprüfe, ob die eingesetzte Version von systemd bereits die in diesem Artikel beschriebenen Eigenschaften besitzt

  • Die Version von systemd zeigt dieser Befehl
systemd --version

Vor Version 245 können diese Befehle bzw. Schlüsselworte (sowie weitere, hier nicht behandelte Eigenschaften) nicht verwendet werden

  • .link-Dateien: Property, NamePolicy=keep
  • .link- und .network-Dateien: Werte für Type im Abschnitt [Match] inkompatibel bei Versionen 237/245
  • network-Dateien: WLANInterfaceType, für Type im Abschnitt [Route] sind nur zulässig: unicast, blackhole, unreachable, prohibit
  • networkctl: delete, renew, reconfigure, reload

Es funktioniert immer noch nicht!

Diese Checkliste abarbeiten:# Wurde systemd-networkd überhaupt gestartet?

  1. Welche Meldungen von systemd-networkd stehen im Systemlog?
    journalctl -b -u systemd-networkd.service
  2. Welche Konfigurationsdateien wurden den Schnittstellen tatsächlich zugewiesen? Wenn hier nicht die erwarteten Dateien angezeigt werden, sind die Selektionskriterien unzureichend oder falsch oder es gibt syntaktische Fehler in den Dateien
  3. Gibt es Kompetenzstreitigkeiten mit anderen Programmen zur Netzwerk-Konfiguration?
  4. systemd-networkd ist verwirrt und will neu gestartet werden!

Umbenennung einer Schnittstelle funktioniert nicht

udev hat eine eingebaute Restriktion: Schnittstellen werden nur einmal umbenannt! Diese einzige Chance wird bereits beim Hochlauf verbraucht

Man muss also die geänderten Namensregeln bei bereits installierten Kerneln in deren initrd.img hinterlegen

# update-initramfs -u

Bei der Installation neuer Kernel wird das automatisch mit erledigt

Bei Ubuntu 18.04 mit systemd-Version 237 ist diese Restriktion fest in das Programm eingebaut und daher nicht abschaltbar

Ab Ubuntu 20.04 mit systemd-Version 245 ist die Restriktion über die Einstellung "NamePolicy=keep"in der Datei /lib/systemd/network/99-default.link realisiert

[Link] NamePolicy=keep kernel database onboard slot path

Man kann diese Systemdatei mit einer eigenen Datei /etc/systemd/network/99-default.link maskieren, indem man die Systemdatei kopiert und in der Kopie das Wort "keep" entfernt, und diese Datei wie vorstehend gezeigt in die initrd.img einfügen

Verzögerung beim Hochlauf

Wenn die Konfiguration einer Schnittstelle misslingt, beispielsweise weil per DHCP keine Antwort eintrifft, blockiert die systemd-Unit systemd-networkd-wait-online.service bis zu 2 Minuten lang den Hochlauf bevor sie sich mit Fehler beendet

  • Wenn man anschliessend per networkctl eine Schnittstelle im Zustand "configuring" vorfindet, kann man die Zwangspause oft wie oben beschrieben abstellen