Nach sieben Jahren Entwicklung wurde die Version 1.0 des Netplan-Tools veröffentlicht, das ein Format zur Speicherung von Netzwerkschnittstelleneinstellungen und verwandte Dienstprogramme zur Verwaltung von Netzwerkkonfigurationen entwickelt. 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. Der Projektcode ist in den Programmiersprachen Python und C geschrieben und wird unter der GPLv3-Lizenz veröffentlicht.
Neben den Mitarbeitern von Canonical sind auch Mitarbeiter von Microsoft und Deutsche Telekom an der Entwicklung des Projekts beteiligt. Netplan wird bereits seit Ubuntu 17.10 verwendet und ist in Ubuntu 23.10 Desktop standardmĂ€Ăig als Backend im NetworkManager integriert. Es wird auĂerdem standardmĂ€Ăig zur Verwaltung von Netzwerkeinstellungen in den offiziellen Debian 12-Distributionen fĂŒr Cloud-Systeme verwendet. Die UnterstĂŒtzung von Netplan ist auch fĂŒr cloud-init und den Calamares-Installer implementiert. Die neue Version 1.0 von Netplan wird Teil des Ubuntu 24.04-Distributionspakets sein und in Debian 13 bereitgestellt werden.
Netplan 1.0 wird als erster bedeutender stabiler Release hervorgehoben, der es ermöglicht hat, einige veraltete Funktionen abzulehnen. Die Beseitigung der technischen Schulden fĂŒhrte zu einer Vereinfachung der Wartung der Codebasis und beseitigte Hindernisse, die die Umsetzung neuer Ideen behinderten. Neben der Stabilisierung der API der Bibliothek libnetplan1 sind in der neuen Version folgende Ănderungen zu verzeichnen:
- Gleichzeitige UnterstĂŒtzung von WPA2 und WPA3.
- UnterstĂŒtzung von Mellanox VF-LAG-NetzwerkgerĂ€ten mit SR-IOV (Single-Root I/O Virtualization).
- Neue Optionen âhairpinâ und âport-mac-learningâ, nĂŒtzlich bei der Konfiguration von VXLAN-Tunneln mit FRRouting.
- Ein neuer Satz von Bindings fĂŒr die Programmiersprache Python (python3-netplan), der die Integration mit Drittanbietersystemen erleichtert.
- Der Befehl ânetplan status âdiffâ, der es ermöglicht, die Unterschiede zwischen dem aktuellen Zustand der Einstellungen und den Konfigurationsdateien anschaulich zu bewerten.

Die Anwendung von netplan vereinfacht die Definition der grundlegenden Konfigurationsdateien, die von NetworkManager und systemd-networkd verwendet werden, und beseitigt die Notwendigkeit, sich mit den Details der Konfigurationsformate jedes dieser Systeme vertraut zu machen. Die Funktionsweise von netplan besteht darin, dass es beim Booten die grundlegenden Netzwerkeinstellungen aus den Dateien â/{lib,etc,run}/netplan/*.yamlâ liest und die Konfiguration im Verzeichnis /run in einem fĂŒr die weitere Verarbeitung geeigneten Format fĂŒr systemd-networkd oder NetworkManager speichert.

Merkmale von Netplan:
- Ignorieren von GerÀten, die nicht in der Konfiguration vermerkt sind;
- Die gesamte Konfiguration wird nur in der ursprĂŒnglichen YAML-Datei gespeichert (ohne Verwendung von /etc/network/interfaces);
- Möglichkeit, die Konfiguration in mehrere Dateien aufzuteilen (zum Beispiel, um Einstellungen fĂŒr libvirt und lxd auszulagern);
- Flexible Auswahl- und Backend-Wechselmöglichkeiten.
- Die Beschreibung der Netzwerkparameter in netplan erfolgt mithilfe einer deklarativen Syntax, die es ermöglicht, die Struktur eines komplexen Netzwerks relativ einfach zu beschreiben.
Zu den Vorteilen von netplan im Vergleich zu ifupdown zÀhlen:
- Deklarative Syntax;
- Möglichkeit, Masken fĂŒr die Namen von Netzwerkinterfaces, MAC-Adressen, Treibern und anderen Komponenten zu verwenden;
- BerĂŒcksichtigung des Kontexts beim Parsen der Hierarchie der Netzwerkparameter, was eine korrekte und ordnungsgemĂ€Ăe Weiterleitung der Einstellungen an die Handler ermöglicht (bei ifupdown können beim Parsen komplexer Konfigurationen Probleme aufgrund von Race Conditions auftreten).
Quelle: opennet.ru

