linux-suse-opensuse networking networkmanager wicked sles opensuse comparison

NetworkManager vs. Wicked on SUSE (Artikel 140)

Analyse der Netzwerk-Dienste unter SUSE. Erfahren Sie, wann Sie das statische Wicked-Framework und wann den dynamischen NetworkManager einsetzen sollten.

# Networking on SUSE: Wicked vs. NetworkManager

TL;DR / Management Summary In der SUSE-Welt gibt es zwei ungleiche Brüder für die Netzwerkverwaltung. Wicked ist der Spezialist für das Rechenzentrum: stabil, deklarativ und optimiert für statische Setups. NetworkManager ist der Generalist für den Desktop und mobile Geräte: dynamisch, reaktiv und ideal für wechselnde WLANs und VPNs. Empfehlung: Bleiben Sie auf Servern (SLES) bei Wicked. Nutzen Sie den NetworkManager nur auf Laptops oder Workstations.


# 1. Einführung & Architektur

Statik vs. Dynamik.

  • Wicked: Verhält sich wie ein klassisches System-Tool. Es liest die Konfiguration beim Booten (oder auf Befehl) und setzt den Kernel-Status. Es gibt keinen permanenten “Monitor”, der das Netzwerk bei jedem Event ändert.
  • NetworkManager: Ein aktiver Dämon, der ständig udev-Events überwacht. Er ist darauf ausgelegt, Profile automatisch zu wechseln, sobald ein Link erscheint.

# Der Vergleich (Mermaid)

graph TD
    A[Network Hardware] --> B[Linux Kernel]
    B -->|Option 1: Server| C[Wicked Daemon]
    B -->|Option 2: Laptop| D[NetworkManager]
    C --> E[Config: /etc/sysconfig/network/]
    D --> F[Config: /etc/NetworkManager/]
    subgraph "Workload"
        E --- G[Static IP, Bond, Bridge]
        F --- H[DHCP, WiFi, VPN, LTE]
    end

# 2. Entscheidungshilfe: Was brauche ich?

Die Enterprise-Kriterien.

Feature Wicked NetworkManager
Boot-Zeit Fest (wartet auf Interfaces) Variabel (Hintergrund-Start)
Remote Edit Sicher (Via YaST/Script) Risiko (Re-Scan Gefahr)
VLAN/Bonds Exzellent integriert Komplex via nmcli
VPN Support Basis (IPsec) Riesig (Plugins für alle Protokolle)
User Access Nur Root Jeder User möglich (via PolicyKit)

# 3. Den Stack umschalten

Die Wahl treffen.

Sie können den Stack jederzeit via YaST oder CLI ändern.

# via YaST

  1. sudo yast2 lan.
  2. Tab “Global Options”.
  3. Dropdown “Network Setup Method” wählen.

# via CLI

SUSE nutzt eine Variable in der /etc/sysconfig/network/config:

# Ändere zu 'networkmanager' oder 'wicked'
sudo sed -i 's/NETWORK_MANAGER=.*/NETWORK_MANAGER="yes"/' /etc/sysconfig/network/config
# Dienst aktivieren
sudo systemctl enable --now NetworkManager
sudo systemctl disable --now wicked

# 4. Day-2 Operations: Co-Existenz vermeiden

Kein “Doppel-Management”.

Ein häufiger Fehler ist, dass beide Dienste gleichzeitig versuchen, ein Interface zu steuern. Dies führt zu IP-Konflikten und hängenden Routen.

# Den inaktiven Dienst maskieren

# Wenn Wicked genutzt wird:
sudo systemctl mask NetworkManager

# 5. Troubleshooting & “War Stories”

Praxisfallen.

# Story 1: “Der hängende Boot (Wicked)”

Symptom: Ein SLES-Server braucht 2 Minuten zum Booten, bevor der Login erscheint. Ursache: Wicked wartet auf ein konfiguriertes Interface, das keinen Link hat (z.B. ein Backup-Port ohne Kabel). Lösung: Setzen Sie STARTMODE='manual' oder STARTMODE='hotplug' in der ifcfg Datei, damit der Bootvorgang nicht blockiert wird.

# Story 2: “VPN-Abbruch nach Logout (NetworkManager)”

Symptom: Ein Admin verbindet sich via NetworkManager-VPN zu einem Server. Sobald er die GUI-Session schließt, bricht das VPN ab. Ursache: Der NetworkManager betrachtet VPNs standardmäßig als User-Sessions. Lösung: Konfigurieren Sie die VPN-Verbindung als “System-wide” (Available to all users), damit sie unabhängig vom User-Login bestehen bleibt.


# 6. Fazit & Empfehlung

  • Produktion: Nutzen Sie Wicked. Es ist vorhersehbarer und die Standard-Wahl für SLES-Support von Drittanbietern.
  • Virtualisierung: In Proxmox-VMs ist Wicked die stabilere Wahl für Cloud-Init Integrationen.
  • Wichtig: Mischen Sie die Konfiguration nicht. Wenn Sie NetworkManager nutzen, ignorieren Sie die Dateien in /etc/sysconfig/network/.

# Anhang: Cheatsheet

Aufgabe Wicked NetworkManager
Status wicked show all nmcli dev status
Profil laden wicked ifup eth0 nmcli con up eth0
Log-Analyse journalctl -u wicked journalctl -u NetworkManager
Tool-GUI yast2 lan nmtui
IP Adressen ip a ip a