Netzwerk-Management unter Linux – Fokus Ubuntu & verwandte Distributionen
Grundlagen
Das Netzwerkmanagement unter Linux wird durch verschiedene Frameworks und Dienste geregelt. Die eingesetzten Systeme hängen von Distribution, Edition (Server/Desktop) und Version ab. Im Folgenden die drei Hauptsysteme:
System Beschreibung Typische Einsatzumgebung ifupdown Klassisches, skriptbasiertes System (/etc/network/interfaces) Ältere Distros (Debian ≤ 9, Ubuntu ≤ 16.04) Netplan YAML-basiertes Abstraktionssystem, das in systemd-networkd oder NetworkManager “rendert” Ubuntu ≥ 17.10 (Server & Desktop), Pop!_OS NetworkManager GUI- und D-Bus-fähiger Netzwerkdienst (nmcli, nmtui, GNOME/KDE-Integration) Ubuntu Desktop, Fedora, openSUSE, RHEL, CentOS, AlmaLinux
Netplan (Ubuntu ≥ 17.10, Standard ab 18.04 LTS)
Konfigurationsdateien
Speicherort: /etc/netplan/*.yaml
Dateinamen werden alphabetisch ausgewertet:
Höhere Zahl = spätere Auswertung = höhere Priorität
Beispiele:
01-netcfg.yaml ← niedrige Priorität
90-NM-xxxx.yaml ← hohe Priorität (häufig von NetworkManager erzeugt)
99-static.yaml ← höchste Priorität (manueller Override)
Funktionsweise
Netplan dient als Frontend. Der eigentliche Netzwerk-Stack wird über den konfigurierten Renderer realisiert:
renderer: networkd → nutzt systemd-networkd
renderer: NetworkManager → nutzt NetworkManager
Beispiel: Statische IP-Konfiguration
network :
version : 2
renderer : networkd
ethernets :
enp3s0 :
dhcp4 : no
addresses : [ 192.168.1.60/24 ]
gateway4 : 192.168.1.1
nameservers :
addresses : [ 1.1.1.1 , 8.8.8.8 ]
Aktivierung
sudo netplan apply
NetworkManager (Desktop-Umgebungen und Multi-Interface-Systeme)
Konfigurationsdateien
Speicherort: /etc/NetworkManager/system-connections/*.nmconnection
Werkzeuge
GUI: GNOME Netzwerkeinstellungen
CLI: nmcli, nmtui
Beispiel (CLI)
sudo nmcli con add type ethernet ifname enp3s0 con-name static \
ipv4.addresses 192.168.1.60/24 ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 1.1.1.1" ipv4.method manual
systemd-networkd (Server, Container, Minimal-Systeme)
Konfigurationsdateien
Speicherort: /etc/systemd/network/*.network
Beispiel
[Match]
Name =eth0
[Network]
Address =192.168.1.60/24
Gateway =192.168.1.1
DNS =1.1.1.1
Aktivierung
sudo systemctl restart systemd-networkd
sudo systemctl enable systemd-networkd
ifupdown (Klassisches System, Legacy)
Konfigurationsdatei
Speicherort: /etc/network/interfaces
Beispiel
auto eth0
iface eth0 inet static
address 192.168.1.60
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1
Neustart
sudo systemctl restart networking
Prioritäten und Überschreibungslogik (Netplan)
Ebene Pfad Beispiel Überschreibungslogik 1 /usr/lib/netplan/Systemvorgaben (Pakete) Wird durch /etc/netplan/ überschrieben 2 /etc/netplan/01-*Admin-Vorgaben Überschrieben von 90-, 99- 3 /etc/netplan/90-*Dynamische Konfiguration (z. B. durch NetworkManager oder Cloud-Init) Überschrieben von 99-* 4 /etc/netplan/99-*Manuelle Overrides Höchste Priorität, keine Überschreibung
Andere Distributionen und ihre Standards
Distribution Netzwerk-Framework Konfigurationsdateien Ubuntu (Server/Desktop) Netplan + NetworkManager / systemd-networkd /etc/netplan/Debian ≤ 9 / Ubuntu ≤ 16.04 ifupdown /etc/network/interfacesDebian ≥ 10 Standardmäßig systemd-networkd, ifupdown optional /etc/systemd/network/Fedora / RHEL / CentOS / AlmaLinux NetworkManager /etc/NetworkManager/system-connections/openSUSE / SLE NetworkManager oder wicked /etc/sysconfig/network/Arch Linux systemd-networkd oder NetworkManager /etc/systemd/network/Pop!_OS / Elementary OS / Linux Mint Netplan + NetworkManager /etc/netplan/
Best Practices
Für Server-Systeme:
Verwenden Sie als Renderer networkd – robust und ohne GUI-Overhead.
Konfigurieren Sie statische IP-Adressen idealerweise in einer Override-Datei, z. B. /etc/netplan/99-static.yaml.
Für Desktop-Systeme:
Setzen Sie auf NetworkManager – optimale GUI-Integration und WLAN-Unterstützung.
Nehmen Sie Änderungen bevorzugt über nmcli oder grafische Tools vor.
Prioritätskontrolle:
Aktive Konfiguration anzeigen:
sudo netplan get
Detaillierte Logs anzeigen:
sudo netplan apply --debug
Nutzen Sie eigene Override-Dateien mit hoher Nummerierung (z. B. 99-*) für spezielle Anpassungen.
Linux-Blog-Overview