Die Veröffentlichung des Werkzeugs Netplan 1.1 wurde vorgestellt, das das Format für die Speicherung von Netzwerkschnittstelleneinstellungen und die damit verbundenen Dienstprogramme zur Verwaltung von Netzwerkkonfigurationen weiterentwickelt. Netplan ermöglicht die Speicherung von Parametern im YAML-Format und bietet Backends, die den Zugriff auf die Konfiguration für NetworkManager und systemd-networkd abstrahieren. Das Werkzeug wird in der Ubuntu-Distribution seit der Version 17.10 und in Debian 12 für Cloud-Systeme verwendet. Das Projekt wird von Canonical mit Beteiligung von Mitarbeitern von Microsoft und Deutsche Telekom weiterentwickelt. Der Code des Projekts ist in Python und C geschrieben und wird unter der Lizenz GPLv3 verbreitet.
Die Arbeit von netplan besteht darin, Netzwerkeinstellungen aus den Dateien „/{lib,etc,run}/netplan/*.yaml“ beim Bootvorgang zu lesen und die Konfiguration im Katalog /run in einem Format zu speichern, das für die weitere Verarbeitung in systemd-networkd oder NetworkManager geeignet ist. Die gesamte Konfiguration wird nur in der ursprünglichen YAML-Datei gespeichert, ohne „/etc/network/interfaces“ zu verwenden, wobei die Möglichkeit besteht, die Konfiguration auf mehrere Dateien aufzuteilen, beispielsweise um die Einstellungen für libvirt und lxd in separate Dateien auszulagern. Die Beschreibung der Netzwerkschnittstellenparameter erfolgt mithilfe einer deklarativen Syntax, die es ermöglicht, die Struktur eines komplexen Netzwerks relativ einfach zu beschreiben.
Im Gegensatz zum ifupdown-Format verwendet netplan eine deklarative Syntax; es besteht die Möglichkeit, Masken für die Namen der Netzwerkschnittstellen, MAC-Adressen, Treiber und andere Komponenten anzuwenden; beim Parsen der Hierarchie der Netzwerkschnittstellenparameter wird der Kontext berücksichtigt, sodass die Einstellungen korrekt und in der richtigen Reihenfolge an die Verarbeiter übergeben werden können (bei ifupdown können beim Parsen komplexer Konfigurationen Probleme aufgrund von Wettlaufsituationen auftreten).
In der neuen Version:
- Die Möglichkeit, die Logik des Dienstes systemd-networkd-wait-online zu überschreiben, um auf bestimmte interne (link-lokale) und routierbare (mit routable Status) Netzwerkschnittstellen zu warten.
- Unterstützung für die Änderung der Einstellungen des eswitch-Modus (embedded-switch-mode) für Netzwerkschnittstellen ohne virtuelle Funktionen (VF, virtual-function) auf SR-IOV-Geräten (Single Root I/O Virtualization).
- Unterstützung von Flags, die den Parser der Konfiguration beeinflussen, um bestimmte ungültige Einstellungen zu ignorieren, ohne die Generierung der gesamten Backend-Konfiguration zu stoppen.
- Korrekturen wurden vorgenommen, um Probleme zu beheben, die spezifisch für ProtonVPN und Microsoft Azure Linux sind.
Quelle: opennet.ru
