Skip to main content

HowTo: WireGuard VPN-Profile per `nmcli` in KDE Plasma (Kubuntu) integrieren

1. Problemstellung & Hintergrund

Beim manuellen Einrichten von WireGuard-Verbindungen über die grafische Benutzeroberfläche von KDE Plasma (Systemeinstellungen $\rightarrow$ Netzwerk) treten häufig Fehler auf:

  • UI-Validierungsfehler: Die Maske von KDE Plasma (Plasma-NM) parst komplexe WireGuard-Konfigurationen (wie multiple DNS-Server, AllowedIPs-Listen oder MTU-Werte) nicht immer fehlerfrei.
  • Schlüsselverwaltung (KWallet vs. Root): Private Keys werden über die GUI oft im benutzerspezifischen KDE-Wallet hinterlegt statt systemweit im NetworkManager. Dadurch scheitert der Tunnel-Aufbau oder verlangt unerwartet Root- bzw. Wallet-Passwörter.

Die Lösung

Der NetworkManager bringt seit Version 1.16 ein natives WireGuard-Plugin mit. Über das Kommandozeilen-Tool nmcli kann eine existierende, funktionierende .conf-Datei (von wg-quick) verlustfrei direkt in die systemweite NetworkManager-Struktur importiert werden.

Vorteile:

  • Kein Terminal/sudo mehr für den täglichen Verbindungsaufbau nötig.
  • Steuerung per 1-Klick im KDE-Netzwerk-Tray (Taskleiste) – analog zum WireGuard-Client unter Windows.
  • Manuelle Kontrolle: Keine Routing-Konflikte im lokalen Office-Netzwerk, da autoconnect gezielt deaktiviert werden kann.

2. Voraussetzungen

  • Eine funktionierende WireGuard-Konfigurationsdatei (z. B. wg0.conf).
  • Root- bzw. sudo-Rechte.
  • Kubuntu (getestet ab 22.04 LTS / 24.04 LTS / 26.04 LTS mit Plasma-Desktop).

3. Schritt-für-Schritt Anleitung

Schritt 1: Bestehende wg-quick-Verbindungen stoppen

Sollte die Schnittstelle aktuell über wg-quick aktiv sein, muss sie zuerst getrennt werden, damit NetworkManager das Interface wg0 exklusiv verwalten kann:

sudo wg-quick down wg0

Schritt 2: Konfiguration in NetworkManager importieren

Mit dem Befehl nmcli connection import wird die Standard-WireGuard-Datei in ein NetworkManager-Verbindungsprofil übersetzt:

sudo nmcli connection import type wireguard file /etc/wireguard/wg0.conf

(Hinweis: Ersetzen Sie /etc/wireguard/wg0.conf durch den tatsächlichen Pfad Ihrer Datei).

Ausgabe bei Erfolg:

Connection 'wg0' (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) successfully added.

Schritt 3: Automatisches Verbinden deaktivieren (Wichtig für Office/Homeoffice-Wechsler)

Standardmäßig versucht NetworkManager, neu importierte Verbindungen automatisch hochzufahren. Um Routing-Probleme im lokalen Firmennetzwerk (Office) zu vermeiden, wird der Autoconnect abgeschaltet:

sudo nmcli connection modify wg0 connection.autoconnect no

Schritt 4: Nutzung & Testen

Die Konfiguration ist sofort aktiv und erfordert keinen Neustart:

  1. Klicken Sie unten rechts im KDE-Panel auf das Netzwerk-/WLAN-Icon.
  2. Unter der Sektion WireGuard bzw. VPN taucht nun der Eintrag wg0 auf.
  3. Klicken Sie auf Verbinden, um den Tunnel aufzubauen, bzw. auf Trennen, um ihn zu beenden.

4. Wichtige CLI-Befehle zur Wartung (Spickzettel)

Aktion Befehl
Status aller Verbindungen anzeigen nmcli connection show
Tunnel manuell per CLI starten nmcli connection up wg0
Tunnel manuell per CLI stoppen nmcli connection down wg0
Verbindungsprofil wieder löschen sudo nmcli connection delete wg0
Prüfen, ob WireGuard-Handshake steht sudo wg show

5. Technische Details (Unter der Haube)

  • Speicherort des Profils: NetworkManager speichert die importierte Verbindung als Keyfile unter /etc/NetworkManager/system-connections/wg0.nmconnection.
  • Dateirechte: Die generierte .nmconnection-Datei erhält automatisch die restriktiven Dateirechte 0600 (Besitzer: root:root), um den enthaltenen private-key vor unberechtigtem Auslesen durch andere Benutzer des Systems zu schützen.