Ein Network Manager im Linux-Kontext ist ein Dienst (Daemon), der: * Netzwerkschnittstellen konfiguriert (IP, Gateway, DNS, Routen, VLANs, Bonds, VPNs …) * Zustände überwacht (Link-Up/Down, DHCP-Leases, usw.) * ggf. Konfigurationsdateien verwaltet oder dynamisch generiert Es geht also nicht um Serverdienste wie DNS oder NFS sondern um die Kontrolle über Interfaces und Verbindungen. Siehe z.B [[nmcli]] Es gibt verschiedene Verwaltungstools. +--------------------+ | Benutzer / Skript | +--------------------+ │ ▼ +--------------------+ | nmcli / nmtui | ← CLI / TUI Frontends +--------------------+ │ D-Bus API ▼ +--------------------+ | NetworkManager | ← Der eigentliche Daemon +--------------------+ │ ▼ +--------------------+ | Kernel Networking | +--------------------+ Die wichtigsten Netzwerk-Manager unter Linux ^ Manager ^ Art ^ Beschreibung / Merkmale ^ Typische Distros ^ | **NetworkManager** | D-Bus-Daemon | Vollwertiger, dynamischer Manager; unterstützt WLAN, DHCP, VPN, mobile Verbindungen; Standard bei Desktop- & Server-Systemen von Red Hat, Fedora, Ubuntu, etc. | RHEL, CentOS, Fedora, AlmaLinux, Rocky, Ubuntu, openSUSE | | **systemd-networkd** | systemd-Daemon | Leichtgewichtig, stabil, integriert in systemd; konfiguriert Interfaces über statische .network / .netdev Dateien; ideal für Server/Container | Debian (Server), Ubuntu Server, Arch, Container-Images | | **ifupdown / ifupdown2** | Skriptbasiert (kein Daemon) | Klassisches Debian-Netzwerk-System (/etc/network/interfaces), kein laufender Hintergrunddienst | Debian, Devuan, ältere Ubuntu-Versionen | | **netplan** | Abstraktions-Layer | Kein Daemon, sondern YAML-Konfiguration, die dann NetworkManager oder systemd-networkd als Backend nutzt | Ubuntu 18.04+ | | **ConnMan** | D-Bus-Daemon | Leichtgewichtig, modular, ursprünglich von Intel; für Embedded- oder IoT-Systeme gedacht | Yocto, OpenEmbedded, einige Arch-Setups | | **wicked** | Daemon | SUSEs eigener Netzwerkmanager, integriert viele Features für Server und Virtualisierung | openSUSE, SLE | | **network-scripts / network (legacy)** | Init-Skripte | Alte Red Hat-Netzwerkverwaltung (/etc/sysconfig/network-scripts/ifcfg-*), inzwischen deprecated | RHEL ≤7, alte CentOS | | **netctl** | Skriptbasiert | Arch Linux spezifisches Profil-System (ähnlich ifupdown) | Arch Linux | | **BusyBox ifup/down** | Minimal | Einfachste Methode für Embedded-Systeme ohne systemd | Alpine Linux, OpenWRT | Wer nutzt was – Übersicht nach Distribution ^ Distribution ^ Standard-Netzwerk-Manager ^ Alternativen möglich ^ | **RHEL / AlmaLinux / Rocky / CentOS Stream** | `NetworkManager` | `systemd-networkd` (manuell), alte `network-scripts` (deprecated) | | **Fedora** | `NetworkManager` | `systemd-networkd` optional | | **Debian (Server)** | `ifupdown` (bis v10), seit Debian 11 oft `systemd-networkd` | `NetworkManager` | | **Ubuntu Desktop** | `NetworkManager` (über netplan) | – | | **Ubuntu Server (ab 18.04)** | `systemd-networkd` (über netplan) | `NetworkManager` | | **Arch Linux** | frei wählbar (`systemd-networkd`, `NetworkManager`, `netctl`) | alle drei | | **openSUSE / SLE** | `wicked` (Server) oder `NetworkManager` (Desktop) | `systemd-networkd` | | **Alpine Linux** | BusyBox ifup/down | `NetworkManager` oder `systemd-networkd` optional | | **Void Linux** | `dhcpcd` oder `NetworkManager` | `systemd-networkd` optional | | **Gentoo** | `netifrc` | alle anderen optional | Wie sich die Systeme unterscheiden ^ Merkmal ^ NetworkManager ^ systemd-networkd ^ ifupdown / netctl ^ wicked ^ ConnMan ^ | **Daemon** | Ja | Ja | Nein | Ja | Ja | | **GUI-Unterstützung** | Ja | Nein | Nein | teils (YaST) | Nein | | **Dynamisch (Hotplug, WLAN, VPN)** | ja | eingeschränkt | nein | ja | ja | | **Ideal für** | Desktop & Server | Server, Container | Minimal-Systeme | Enterprise | Embedded | | **Konfiguration** | /etc/NetworkManager/, D-Bus, nmcli | /etc/systemd/network/*.network | /etc/network/interfaces | /etc/sysconfig/network/ | /var/lib/connman/ | Beispiel Kombinationen * Ubuntu Server: Netplan -> systemd-networkd * Ubuntu Desktop: Netplan -> NetworkManager * AlmaLinux: NetworkManager direkt * Arch Server: systemd-networkd * openSUSE Server: wicked * Container (Docker, systemd-nspawn): systemd-networkd * IoT/Embedded (Raspberry Pi OS Lite, Yocto): ConnMan oder dhcpcd