Die Wahl des richtigen Netzwerk-Management-Tools auf Linux-Servern ist entscheidend für Stabilität, Automatisierung und Skalierbarkeit. Zwei weit verbreitete Optionen sind systemd-networkd und NetworkManager. Beide Systeme haben unterschiedliche Architekturen, Einsatzgebiete und Konfigurationsphilosophien. Dieser Artikel erklärt die Unterschiede, Vor- und Nachteile und gibt praxisnahe Empfehlungen für den Serverbetrieb.
Architektur von systemd-networkd
systemd-networkd ist ein leichter Netzwerk-Daemon, der Teil von systemd ist und sich auf die Konfiguration von Netzwerk-Interfaces zur Boot-Zeit konzentriert. Es arbeitet direkt mit dem Linux-Kernel zusammen und ist vollständig systemd-integriert.
Funktionsweise
- Konfiguration über deklarative
.networkund.netdevDateien in/etc/systemd/network/ - Verwendet native systemd-Dienste, kein zusätzliches GUI- oder DBus-Interface nötig
- Automatisches Aktivieren von Interfaces beim Boot, unterstützt statische IP, DHCP, VLANs, Bridges und Bonding
- Minimaler Ressourcenverbrauch, besonders geeignet für Server und Embedded-Systeme
Beispielkonfiguration statische IP
[Match]
Name=ens33
[Network]
Address=192.168.1.10/24
Gateway=192.168.1.1
DNS=8.8.8.8
Architektur von NetworkManager
NetworkManager ist ein flexibles Netzwerkmanagement-Tool, das ursprünglich für Desktop-Systeme entwickelt wurde, mittlerweile aber auch auf Servern eingesetzt wird. Es abstrahiert Netzwerkgeräte, unterstützt dynamische Netzwerke und bietet umfangreiche APIs über DBus.
Funktionsweise
- Unterstützt manuelle und dynamische Konfigurationen, inklusive WLAN, VPNs und mobile Daten
- Konfiguration über CLI (
nmcli), GUI (nm-applet, Cockpit) oder Textdateien in/etc/NetworkManager/system-connections/ - Automatische Verwaltung von DNS, Routen und Verbindungen
- Mehr Ressourcenbedarf als
systemd-networkd, aber hohe Flexibilität
Beispiel CLI-Konfiguration statische IP
# Verbindung erstellen
nmcli con add type ethernet ifname ens33 con-name server-eth ipv4.method manual ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1
DNS setzen
nmcli con mod server-eth ipv4.dns "8.8.8.8 8.8.4.4"
Verbindung aktivieren
nmcli con up server-eth
Vergleich der beiden Systeme
| Kriterium | systemd-networkd | NetworkManager |
|---|---|---|
| Ressourcenverbrauch | Sehr gering | Moderater bis höherer Verbrauch |
| Komplexität | Niedrig, deklarativ | Höher, viele Abstraktionen |
| Automatisierung | Bootzeit-fokussiert, systemd-native Units | Flexible Scripting-Optionen, CLI und DBus |
| Dynamic Networks | Begrenzt, z.B. DHCP möglich | Umfassend, z.B. VPN, WLAN, mobile Netze |
| Einsatzbereich | Server, Container, Embedded | Desktop, Server mit wechselnden Netzwerken |
Best Practices für Serverbetrieb
- Für statische, vorhersehbare Netzwerke auf Servern empfiehlt sich
systemd-networkdwegen Stabilität und minimalem Overhead - Für Umgebungen mit dynamischen Verbindungen, VPN oder WLAN ist
NetworkManagerflexibler - Mix vermeiden: Nicht beide Dienste gleichzeitig aktivieren, sonst Konflikte bei Interface-Kontrolle
- Konfiguration versionieren:
gitoder Configuration Management (Ansible) verwenden - Monitoring einrichten:
networkctlfür systemd,nmcli dev statusfür NetworkManager
Fehlerbehebung und Troubleshooting
- Interfaces werden nicht aktiviert → Prüfen, ob der korrekte Dienst läuft (
systemctl status systemd-networkdodersystemctl status NetworkManager) - IP-Adresse nicht gesetzt → Prüfen der Konfigurationsdateien und Neustart des jeweiligen Daemons
- DNS-Probleme →
resolvectlfür systemd,nmcli dev showfür NetworkManager - Konflikte zwischen beiden Diensten →
nmcli device statusundnetworkctlvergleichen, nicht benötigten Daemon deaktivieren
Fazit
Die Entscheidung zwischen systemd-networkd und NetworkManager hängt von Einsatzgebiet, Automatisierungsstrategie und Netzwerkkomplexität ab. Während systemd-networkd für stabile, deklarative Serverkonfigurationen optimal ist, bietet NetworkManager die Flexibilität für dynamische, wechselnde Netzwerkumgebungen. Eine klare Architekturentscheidung und konsequente Konfiguration vermeiden Konflikte und gewährleisten einen stabilen, wartbaren Serverbetrieb.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











