Netplan bietet eine konsistente Netzwerkkonfiguration für Desktop, Server, Cloud und IoT – SlyBlog
Ubuntu 23.10 „Mantic Minotaur“-Desktop mit Netzwerkeinstellungen
Am 12. Oktober 2023 haben wir Ubuntu 23.10 „Mantic Minotaur“ veröffentlicht und liefern einen bewährten und zuverlässigen Netplan-basierten Netzwerk-Stack. Netplan ist seit 2016 das Standardtool zur Konfiguration von Linux-Netzwerken in Ubuntu. Früher diente es hauptsächlich der Steuerung der Server- und Cloud-Varianten von Ubuntu, während es auf Desktop-Systemen dem NetworkManager überlassen blieb. In Ubuntu 23.10 wurde dieser Unterschied in der Art und Weise, wie der Netzwerk-Stack auf verschiedenen Ubuntu-Plattformen gesteuert wird, durch die Integration von NetworkManager in den zugrunde liegenden Netplan-Stack geschlossen.
Netplan konnte bereits zur Beschreibung von Netzwerkverbindungen auf Desktop-Systemen verwendet werden, die von NetworkManager verwaltet werden. Über NetworkManager erstellte oder geänderte Netzwerkverbindungen wurden jedoch von Netplan nicht erkannt, sodass es sich um eine Einbahnstraße handelte. Ermöglicht die Aktivierung der bidirektionalen NetworkManager-Netplan-Integration, um alle über NetworkManager vorgenommenen Konfigurationsänderungen zurück an Netplan weiterzugeben. In Netplan selbst vorgenommene Änderungen werden wie zuvor im NetworkManager sichtbar sein. Auf diese Weise kann Netplan als die „einzige Quelle der Wahrheit“ für die Netzwerkkonfiguration in allen Ubuntu-Varianten betrachtet werden, die in der Netzwerkkonfiguration gespeichert ist. /etc/netplan/
Verwendung des einfachen, deklarativen YAML-Formats von Netplan.
Netplan Desktop-Integration
Am Arbeitsplatz konfigurieren Benutzer Netzwerke am häufigsten über die grafische Benutzeroberfläche von NetworkManager, anstatt durch die deklarativen YAML-Dateien von Netplan geführt zu werden. Netplan stellt eine Bibliothek „libnetplan“ bereit, die einen internen Netplan-Parser und eine Validierungs-API bereitstellt und jetzt von NetworkManager verwendet wird, um Änderungen an der Netzwerkschnittstellenkonfiguration in Netplan zu speichern. Beispielsweise wird eine über die grafische Benutzeroberfläche von NetworkManager oder die D-Bus-API definierte Netzwerkkonfiguration gemeinsam in das native YAML-Format von Netplan exportiert. /etc/netplan/
. Auf diese Weise müssen sich Administratoren nur um die Verwaltung ihrer Desktop-Installationsflotte mit Netplan kümmern. Darüber hinaus ist der programmgesteuerte Zugriff auf alle Netzwerkkonfigurationen für andere Systemkomponenten, die in Netplan integriert sind, wie z. B. snapd, problemlos verfügbar. Diese Problemumgehung wurde bereits in eingeschränkteren Umgebungen wie Ubuntu Core verwendet und ist jetzt standardmäßig auf dem Ubuntu 23.10-Desktop aktiviert.
Migration vorhandener Verbindungsprofile
Bei der Installation des NetworkManager-Pakets (network-manager >= 1.44.2-1ubuntu1) unter Ubuntu 23.10 werden alle Ihre vorhandenen Verbindungsprofile verwendet. /etc/NetworkManager/system-connections/
Es wird automatisch und transparent in das deklarative YAML-Format von Netplan migriert und in seinem gemeinsamen Konfigurationsverzeichnis gespeichert /etc/netplan/
.
Die gleiche Migration findet im Hintergrund statt, wenn Sie über die in die GNOME-Shell integrierte NetworkManager-Benutzeroberfläche ein Verbindungsprofil hinzufügen oder ändern. Von nun an kennt Netplan Ihre gesamte Netzwerkkonfiguration und Sie können diese mit seinen CLI-Tools wie „sudo netplan get
” oder “sudo netplan status
” ohne die traditionellen NetworkManager-Workflows zu stören (UI, nmcli, nmtui, D-Bus APIs). Sie können diese Migration in der apt-get-Befehlszeile sehen, indem Sie sich Protokolle wie diese ansehen:
Setting up network-manager (1.44.2-1ubuntu1.1) ...
Migrating HomeNet (9d087126-ae71-4992-9e0a-18c5ea92a4ed) to /etc/netplan
Migrating eduroam (37d643bb-d81d-4186-9402-7b47632c59b1) to /etc/netplan
Migrating DebConf (f862be9c-fb06-4c0f-862f-c8e210ca4941) to /etc/netplan
Um einen reibungslosen Übergang vorzubereiten, wurden die NetworkManager-Tests in die Continuous-Integration-Pipeline von Netplan im GitHub-Upstream-Repository integriert. Wir haben außerdem eine Passthrough-Methode implementiert, um unbekannte oder neue Einstellungen zu verarbeiten, die Netplan für zukünftige Netplan NetworkManager-Versionen noch nicht vollständig abdecken kann.
Die Zukunft von Netplan
Netplan wurde in allen Ubuntu-Varianten als Desktop, Server, Cloud oder eingebetteter Netzwerkstack implementiert. Ubuntu LTS war für viele Versionen der Standard-Stack und diente im Laufe der Jahre Millionen von Benutzern. Die bidirektionale Integration zwischen NetworkManager und Netplan implementiert das letzte Puzzleteil, um Netplan zur „Single Source of Truth“ für die Netzwerkkonfiguration in Ubuntu zu machen. Da Debian Netplan als Standard-Netzwerk-Stack für seine Cloud-Images wählt, gewinnt Ubuntu auch außerhalb des Ökosystems an Bedeutung und wächst in der breiteren Open-Source-Community.
Im Rahmen des Ubuntu 24.04 LTS-Entwicklungszyklus werden wir die Netplan-Codebasis aufpolieren, um für Version 1.0 bereit zu sein, mit API- und ABI-Stabilitätsgarantien, damit andere Distributionen und Integrationen von Drittanbietern den Schnittstellen von Netplan vertrauen können. Erste Schritte in diese Richtung wurden bereits unternommen, als das Netplan-Team auf der DebConf 2023 in Kochi/Indien Kontakt mit der Debian-Community aufnahm, um mögliche Synergien zu prüfen.
Abschluss
Netplan kann transparent zur Steuerung der Netzwerkkonfiguration einer Workstation verwendet werden und arbeitet durch die enge Integration mit NetworkManager Hand in Hand mit vielen Desktop-Umgebungen. Es ermöglicht eine einfache Netzwerküberwachung über gängige grafische Oberflächen und bietet Netzwerkadministratoren eine „einzige Quelle der Wahrheit“, die es ihnen ermöglicht, Ubuntu-Desktop-Flotten auf einfache und deklarative Weise zu konfigurieren. Sie können diese neue Funktion in der Praxis testen, indem Sie dem Tutorial „Auf Desktop-NetworkManager-Einstellungen über Netplan zugreifen“ folgen.
Wenn Sie mehr erfahren möchten, folgen Sie gerne unseren Aktivitäten auf Netplan.io, GitHub, Launchpad, IRC oder unserem Talk-Blog Netplan Developer Diaries.