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:

SystemBeschreibungTypische Einsatzumgebung
ifupdownKlassisches, skriptbasiertes System (/etc/network/interfaces)Ältere Distros (Debian ≤ 9, Ubuntu ≤ 16.04)
NetplanYAML-basiertes Abstraktionssystem, das in systemd-networkd oder NetworkManager “rendert”Ubuntu ≥ 17.10 (Server & Desktop), Pop!_OS
NetworkManagerGUI- 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)

EbenePfadBeispielÜ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 OverridesHöchste Priorität, keine Überschreibung

Andere Distributionen und ihre Standards

DistributionNetzwerk-FrameworkKonfigurationsdateien
Ubuntu (Server/Desktop)Netplan + NetworkManager / systemd-networkd/etc/netplan/
Debian ≤ 9 / Ubuntu ≤ 16.04ifupdown/etc/network/interfaces
Debian ≥ 10Standardmäßig systemd-networkd, ifupdown optional/etc/systemd/network/
Fedora / RHEL / CentOS / AlmaLinuxNetworkManager/etc/NetworkManager/system-connections/
openSUSE / SLENetworkManager oder wicked/etc/sysconfig/network/
Arch Linuxsystemd-networkd oder NetworkManager/etc/systemd/network/
Pop!_OS / Elementary OS / Linux MintNetplan + 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