So richtest du WireGuard auf Ubuntu 24.04 LTS und Linux Mint ein: Schritt-für-Schritt Anleitung
Umfassende Schritt-für-Schritt Anleitung zur Einrichtung von WireGuard unter Ubuntu 24.04 LTS und Linux Mint über NetworkManager (GUI) und CLI. In 60–90 Minuten erhältst du eine stabile VPN-Verbindung mit Autostart, korrektem DNS und Routen – plus Tipps zur Fehlerbehebung und erweiterten Einstellungen.
Inhalt des Artikels
- Einleitung
- Vorbereitungen
- Grundbegriffe
- Schritt 1: installation und umgebung checken
- Schritt 2: konfiguration und schlüssel vorbereiten
- Schritt 3: einrichtung über networkmanager auf ubuntu 24.04 (gnome)
- Schritt 4: einrichtung über networkmanager in linux mint (cinnamon)
- Schritt 5: einrichtung per cli (nmcli): import oder manuelles anlegen
- Schritt 6: dns, routen und wahl zwischen full- und split-tunnel
- Schritt 7: autostart, killswitch & stabilität
- Schritt 8: schneller start durch import und praktische alternative
- Testergebnisse überprüfen
- Häufige fehler und lösungen
- Weitere möglichkeiten
- Faq
- Fazit
Einleitung
In diesem Schritt-für-Schritt Guide lernst du, wie du WireGuard von Grund auf in Ubuntu 24.04 LTS und Linux Mint einrichtest – sowohl über die grafische Oberfläche des NetworkManagers als auch per Kommandozeile (CLI). Wir zeigen dir, wie du schnell eine fertige Konfig importierst, wie du ein Profil manuell anlegst, den Autostart aktivierst, DNS und Routen (Full- oder Split-Tunnel) korrekt konfigurierst sowie typische Fehler analysierst und behebst. Am Ende hast du eine verlässliche VPN-Verbindung, die per Klick ein- und ausgeschaltet werden kann und automatisch beim Systemstart startet.
Dieser Guide richtet sich an Linux-Einsteiger, die eine klare Anleitung ohne unnötige Theorie mit verständlichen Erklärungen suchen. Gleichzeitig findest du in gesonderten Abschnitten fortgeschrittene Tipps: Killswitch einrichten, MTU feinjustieren, mehrere Peers verwalten und nmcli-Skripte für erweiterte Szenarien.
Was solltest du vorher wissen? Nichts Kritisches: Grundkenntnisse im Umgang mit dem System, Befehle im Terminal eingeben und die Netzwerkeinstellungen finden. Den Rest erklären wir Schritt für Schritt. Plane 60–90 Minuten Zeit inklusive Test und eventueller Fehlerbehebung ein.
Das Ergebnis: Eine funktionierende WireGuard-Verbindung, verwaltet über NetworkManager (Schalter „Ein/Aus“ im Systray oder in den Einstellungen), verlässliche Routen, korrektes DNS ohne Lecks, Autostart beim Systemstart und ein klarer Plan für Fehlersituationen.
Vorbereitungen
Stelle sicher, dass alles Notwendige bereitsteht. Wir haben dir die minimalen Voraussetzungen zusammengefasst und erläutert, warum sie wichtig sind.
Benötigte Werkzeuge und Zugänge
- Zugang zu einem System mit Ubuntu 24.04 LTS (Desktop) oder Linux Mint (aktuelle Version auf Ubuntu 24.04 Basis). Ein physischer Rechner oder virtuelle Maschine ist ok.
- Administratorrechte (sudo): Für Installation der Pakete und Änderung der Netzwerkeinstellungen erforderlich.
- Daten für die VPN-Verbindung zum WireGuard-Server: Entweder eine fertige .conf Datei oder die Parameter: öffentlicher Server-Schlüssel, Server-Adresse und Port, dein privater Schlüssel, erlaubte Netze (AllowedIPs), Interface-Adresse (Address) und optional DNS.
Systemanforderungen
- Linux-Kernel 5.6+ (in Ubuntu 24.04 und modernen Linux Mint Versionen bereits enthalten).
- NetworkManager Version 1.40+ mit nativer WireGuard-Unterstützung (Standard in Ubuntu 24.04 Desktop und darauf basierenden Linux Mint Versionen).
- Pakete wireguard-tools (für Schlüsselerzeugung und Diagnose) und nmcli (Teil des NetworkManagers) für CLI-Bedienung.
Was vor dem Start installieren
- Öffne das Terminal.
- Aktualisiere die Paketlisten: sudo apt update
- Installiere die notwendigen Tools: sudo apt install -y network-manager wireguard wireguard-tools
- Prüfe die NetworkManager Version: nmcli -v. Diese sollte mindestens 1.40 sein. Ist sie niedriger, aktualisiere mit sudo apt upgrade -y und starte neu mit sudo reboot.
- Stelle sicher, dass NetworkManager läuft: systemctl status NetworkManager (Status sollte active (running) sein).
Sicherung anlegen
Wenn du bestehende VPN-Profile ersetzen oder Netzwerkeinstellungen ändern möchtest, sichere alles vorher:
- Profile aus NetworkManager exportieren: nmcli connection export "Verbindungsname" ~/backup-Verbindungsname.nmconnection
- WireGuard-Konfigurationen sichern: Falls Dateien in /etc/wireguard oder ~/.config/wireguard liegen, kopiere sie an einen sicheren Ort: cp -a /etc/wireguard ~/wg-backup
⚠️ Achtung: Pausiere oder beende zeitkritische Netzwerk-Tasks (Remote-Sessions, Downloads), damit ein kurzfristiges Routing-Umschalten diese nicht unterbricht.
Grundbegriffe
Vor dem Setup klären wir wichtige Begriffe einfach erklärt. So verstehst du schneller, welche Einstellungen was bewirken und worauf du bei der Fehleranalyse achtest.
- WireGuard-Interface – ein virtuelles Netzwerkinterface im System (meist wg0, Name ist aber frei wählbar), über das verschlüsselter Traffic läuft.
- Schlüssel – WireGuard nutzt private Schlüssel auf dem Client und öffentliche Schlüssel auf dem Server (und vice versa). Öffentliche Schlüssel identifizieren Peers, private bleiben geheim bei dir.
- Peer – die Gegenstelle im Tunnel. Für den Client ist der Peer meistens der Server.
- AllowedIPs – Netze, die über den Tunnel geroutet werden. Gibt man 0.0.0.0/0, ::/0 an, wird sämtlicher Traffic über VPN geleitet (Full-Tunnel). Werden nur bestimmte Subnetze genannt, ist es ein Split-Tunnel.
- Endpoint – Adresse und Port des entfernten WireGuard Servers.
- DNS – Domain-Name-Server, die im VPN genutzt werden. Für Full-Tunnel empfiehlt sich der DNS des VPN-Anbieters, um Leaks zu vermeiden.
- MTU – maximale Paketgröße. Manchmal muss die MTU gesenkt werden (z. B. auf 1420 oder 1280), um Fragmentierung und Verbindungsprobleme zu verhindern.
- PersistentKeepalive – Intervall für „leere“ Pakete, die NAT-Verbindungen aktiv halten. Häufig sind 25 Sekunden üblich.
Tipp: Wenn du unsicher bist, starte mit einer fertigen Konfigdatei. Du kannst sie importieren und sofort testen. So lernst du Schritt für Schritt, wie die einzelnen Felder zusammenhängen.
Schritt 1: Installation und Umgebung checken
Ziel
Du hast nach diesem Schritt die nötigen Pakete installiert, NetworkManager unterstützt WireGuard und die grundlegenden Netzwerkdienste laufen korrekt.
Anleitung
- Terminal mit Ctrl+Alt+T öffnen.
- Paketlisten aktualisieren: sudo apt update
- Pakete installieren: sudo apt install -y network-manager wireguard wireguard-tools
- NetworkManager Version prüfen: nmcli -v. Ausgabe sollte Version 1.44.x oder höher sein.
- NetworkManager Service prüfen: systemctl is-active NetworkManager – Ausgabe sollte active sein.
- wg-Tool prüfen: wg --version zeigt die wireguard-tools Version.
- Aktive Netzwerkverbindung herausfinden: nmcli connection show --active. Merke dir die Verbindung mit Internetzugang (z. B. „Wired connection 1“ oder „Wi-Fi Zuhause“).
⚠️ Achtung: Wenn du weitere Netzwerkmanager parallel installiert hast, schalte diese ab. Mehrere Tools gleichzeitig verursachen Routing-Konflikte.
Tipp: Nach Updates von NetworkManager oder Kernel empfiehlt sich ein Neustart via sudo reboot, um hängende Dienste zu vermeiden.
Erwartetes Ergebnis
Pakete sind installiert, nmcli und wg Befehle funktionieren, NetworkManager ist aktiv. Du bist bereit für die WireGuard Profil-Erstellung.
✅ Check: Führe nmcli general status aus. STATE und CONNECTIVITY sollten Netzwerkverbindung anzeigen. wg sollte ohne Fehlermeldung laufen.
Probleme & Lösungen
- Problem: nmcli nicht gefunden. Ursache: NetworkManager nicht installiert. Lösung: sudo apt install -y network-manager.
- Problem: wg nicht gefunden. Ursache: wireguard-tools fehlen. Lösung: sudo apt install -y wireguard-tools.
- Problem: NetworkManager startet nicht. Ursache: anderer Netzwerkdaemon blockiert. Lösung: Alternative Manager deaktivieren oder Desktop-Standard nutzen.
Schritt 2: Konfiguration und Schlüssel vorbereiten
Ziel
Du bekommst entweder eine fertige .conf Datei zum Import oder erzeugst eigene Schlüssel und Konfiguration. Am Ende hast du alle nötigen Daten zum Eintragen im GUI oder CLI.
Variante A: Fertige Konfig liegt vor
- Kopiere die WireGuard-Konfigdatei (z. B. wg0.conf) in dein Home-Verzeichnis, z. B. in ~/.config/wireguard für mehr Übersicht.
- Dateirechte absichern: chmod 600 ~/.config/wireguard/wg0.conf. Die Datei enthält deinen privaten Schlüssel – schütze sie gut.
- Datei ansehen: cat ~/.config/wireguard/wg0.conf. Prüfe, dass [Interface] und [Peer] Abschnitte vorhanden sind.
Variante B: Eigene Schlüssel und Config erstellen
- Arbeitsverzeichnis erstellen: mkdir -p ~/.config/wireguard && cd ~/.config/wireguard
- Rechte-Standard setzen: umask 077 – so sind die generierten Schlüssel sicher.
- Privaten und öffentlichen Schlüssel erstellen: wg genkey | tee client_private.key | wg pubkey > client_public.key
- Schlüssel sichern: private darf niemandem gezeigt werden, öffentlichen Key an Server-Admin schicken.
- Werte für Felder vorbereiten: lokale Interface-Adresse (z. B. 10.14.0.2/32), Server-Adresse und Port (z. B. 203.0.113.10:51820), öffentlicher Server-Schlüssel, AllowedIPs (0.0.0.0/0, ::/0 für Volltunnel oder spezielle Subnetze für Split-Tunnel), DNS (z. B. 10.14.0.1).
- Neue Config anlegen: nano wg0.conf, Beispielinhalt:
[Interface]
Address = 10.14.0.2/32, fd42:42:42::2/128
PrivateKey = HIER_PRIVATER_SCHLÜSSEL
DNS = 10.14.0.1
[Peer]
PublicKey = HIER_ÖFFENTLICHER_SCHLÜSSEL_DES_SERVERS
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 203.0.113.10:51820
PersistentKeepalive = 25 - Speichern, Editor schließen, Rechte setzen: chmod 600 wg0.conf.
Tipp: Falls du den Server selbst verwaltest: Füge den öffentlichen Client-Schlüssel in die Server-Konfiguration ein und weise ihm eine freie IP im Tunnel zu. Ohne das erkennt der Server den Client nicht und die Verbindung schlägt fehl.
Erwartetes Ergebnis
Du hast eine fertige Importdatei wg0.conf oder ein Schlüsselpaar plus Konfigurationswerte parat, um im NetworkManager oder CLI manuell einzutragen.
✅ Check: Schau dir die Datei wg0.conf an: Sie sollte [Interface] und [Peer] enthalten, der private Schlüssel ist eine lange base64-Zeichenkette, und die Datei hat Rechte -rw-------.
Probleme & Lösungen
- Problem: öffentlicher Server-Schlüssel fehlt. Ursache: Daten vom Admin nicht erhalten. Lösung: PublicKey und Endpoint erfragen.
- Problem: Keine Interface-Adresse bekannt. Ursache: kein Adressplan. Lösung: Adresse aus vorhandener Config übernehmen oder beim Admin erfragen.
- Problem: Konflikt bei Client- und Server-Subnetzen. Ursache: Überschneidungen. Lösung: Address und erlaubte Subnetze auf beiden Seiten prüfen.
Schritt 3: Einrichtung über NetworkManager auf Ubuntu 24.04 (GNOME)
Ziel
Ein WireGuard VPN-Profil per Ubuntu GUI anlegen und aktivieren, um es bequem mit einem Klick zu steuern.
Import einer bestehenden Datei
- Öffne „Einstellungen“ (Zahnrad-Symbol im Dock oder Systemmenü).
- Gehe zum Bereich „Netzwerk“.
- Finde den Abschnitt „VPN“ und klicke auf „+“ (VPN hinzufügen).
- Wähle „Importieren aus Datei…“.
- Wähle deine wg0.conf und bestätige mit „Öffnen“.
- Das Konfigurationsfenster erscheint. Kontrolliere Name (z. B. „WireGuard wg0“), Adressen, Schlüssel, AllowedIPs und Endpoint. Passe bei Bedarf an.
- Speichere die Einstellungen.
- Das neue VPN-Profil erscheint in der Liste. Aktiviere den Schalter rechts neben dem Profilnamen.
Manuelle Einrichtung ohne Datei
- Öffne „Einstellungen“ → „Netzwerk“ → „VPN“ → „+“.
- Wähle „WireGuard“ (manuelle Erstellung, kein Import).
- Gib unter „Verbindungsname“ einen verständlichen Namen ein, z. B. „WG Zuhause“.
- Unter „Interface-Name“ trage wg0 ein oder lasse die vorgeschlagene automatisch.
- Füge den privaten Schlüssel deines Clients ein. Falls noch keinen Schlüssel hast, kannst du ihn in manchen GNOME-Versionen direkt hier generieren. Exportiere den öffentlichen Schlüssel für den Server, falls notwendig.
- Trage die Adressen ein (z. B. 10.14.0.2/32 und, falls IPv6 verwendet wird, fd42:42:42::2/128). Die Adresse mit Maske eingeben.
- Im „DNS“-Feld trage die DNS-Adresse im Tunnel ein (z. B. 10.14.0.1). So vermeidest du DNS-Leaks.
- Unter „Peers“ klicke „Peer hinzufügen“. Gib den öffentlichen Server-Schlüssel, Endpoint (z. B. 203.0.113.10:51820) und AllowedIPs ein. Volltunnel: 0.0.0.0/0, ::/0; Split-Tunnel: nur notwendige Subnetze. Stelle PersistentKeepalive auf 25, falls du dich hinter NAT befindest.
- Speichere ab.
- Aktiviere das neue VPN über den Schalter unter „VPN“ oder im Netzwerkmenü im Systemtray.
Tipp: Verlierst du nach dem Aktivieren VPN den Zugriff auf das lokale Netzwerk (z. B. zum Router) und hattest Full-Tunnel eingerichtet, prüfe ob AllowedIPs 0.0.0.0/0 eingestellt ist. Für lokalen Zugriff nutze Split-Tunnel und schließe lokale Netze von der VPN-Route aus.
⚠️ Achtung: Nutze nie gleichzeitig wg-quick und NetworkManager für dasselbe Interface (z. B. wg0). Das führt zu Konflikten und unerwarteten Routen.
Erwartetes Ergebnis
Unter „Netzwerk“ → „VPN“ siehst du dein WireGuard-Profil. Über den Schalter kannst du die sichere Verbindung aktivieren und deaktivieren.
✅ Check: Nach Aktivierung führe wg show im Terminal aus. Du solltest dein Interface (wg0), den öffentlichen Schlüssel des Servers als Peer und Trafficstatistiken sehen. nmcli connection show --active zeigt die aktive VPN-Verbindung.
Probleme & Lösungen
- Problem: WireGuard wird nicht als VPN-Typ angeboten. Ursache: veralteter NetworkManager oder fehlende Unterstützung. Lösung: System aktualisieren, Standarddesktop mit NM-Unterstützung nutzen und Einstellungen neu öffnen.
- Problem: Verbindungsstatus „verbunden“, aber kein Traffic. Ursache: falsche AllowedIPs oder DNS. Lösung: Routen prüfen (Full- oder Split-Tunnel) und richtigen DNS aus Tunnel einstellen.
- Problem: Verbindung bricht häufig ab. Ursache: NAT- oder Filterprobleme. Lösung: PersistentKeepalive auf 25 setzen.
Schritt 4: Einrichtung über NetworkManager in Linux Mint (Cinnamon)
Ziel
WireGuard-Profil in Linux Mint mit den verfügbaren Systemtools aus Cinnamon-Einstellungen und nm-connection-editor anlegen und aktivieren.
Schritte über „Netzwerkverbindungen“
- Öffne das Mint-Menü „Start“.
- Gehe zu „Einstellungen“ → „Netzwerk“ oder starte „Netzwerkverbindungen“ (nm-connection-editor). Alternativ: Rechtsklick aufs Netzwerksymbol im Tray → „Netzwerk Einstellungen“ → „VPN“.
- Klicke unten auf „+“ (Hinzufügen).
- Wähle „WireGuard“ oder „Importieren aus Datei…“ falls du eine fertige wg0.conf hast.
- Beim Import: Datei angeben, Felder prüfen, speichern.
- Bei manueller Einrichtung: Namen vergeben (z. B. „WG Mint“), Interface-Name (wg0), privaten Schlüssel einfügen, Adressen, DNS (z. B. 10.14.0.1) eintragen, dann „Peer“ hinzufügen mit öffentlichem Server-Schlüssel, Endpoint, AllowedIPs und PersistentKeepalive.
- Speichern und das Fenster schließen.
- Aktiviere die Verbindung über Netzwerksymbol im Tray, wähle Profil aus und klicke darauf.
Tipp: Bist du unsicher bei der Eingabe des privaten Schlüssels, kopiere diesen zuerst in einen Texteditor, kontrolliere die Länge und keine überflüssigen Zeichen, und füge ihn dann ins Passwortfeld ein.
Erwartetes Ergebnis
Im Netzwerkprofilverzeichnis erscheint dein WireGuard-Profil, das du aus dem Tray oder den Netzwerkeinstellungen einschalten kannst.
✅ Check: Terminal öffnen, ip addr show wg0 ausführen – das Interface sollte deine Adresse (z. B. 10.14.0.2/32) anzeigen. Mit wg show siehst du die Peers und nach Ping die aktuellen Traffic-Daten.
Probleme & Lösungen
- Problem: WireGuard-Typ fehlt. Ursache: veralteter nm-connection-editor oder fehlende WireGuard-Unterstützung. Lösung: System aktualisieren, wireguard-tools installieren und „Netzwerkverbindungen“ neu starten.
- Problem: VPN-Profil taucht nicht im Tray auf. Ursache: Profil nicht gespeichert oder NetworkManager deaktiviert. Lösung: NetworkManager neustarten (sudo systemctl restart NetworkManager) und erneut aktivieren.
Schritt 5: Einrichtung per CLI (nmcli): Import oder manuelles Anlegen
Ziel
Gleiche Einrichtung nun ohne GUI durchführen: Fertige Config importieren oder Profil manuell mit nmcli anlegen. Ideal für Automatisierung und Server, aber auch Desktop.
Import der fertigen .conf
- Stelle sicher, dass die Datei ~/.config/wireguard/wg0.conf vorhanden und mit chmod 600 geschützt ist.
- Importiere mit: nmcli connection import type wireguard file ~/.config/wireguard/wg0.conf
- Kontrolliere den neuen Eintrag: nmcli connection show | grep wireguard oder nach Name filtern.
- Aktiviere das Profil: nmcli connection up "wg0" oder mit genauer Angabe des Namens.
Manuelles Profil anlegen
- Profil erstellen: nmcli connection add type wireguard con-name wg-home ifname wg0 ipv4.method manual ipv6.method ignore
- IPv4-Adresse setzen: nmcli connection modify wg-home ipv4.addresses 10.14.0.2/32. IPv6 bei Bedarf hinzufügen: nmcli connection modify wg-home ipv6.method manual ipv6.addresses fd42:42:42::2/128
- Privaten Schlüssel einstellen: nmcli connection modify wg-home wireguard.private-key "DEIN_PRIVATER_SCHLÜSSEL"
- MTU anpassen (optional): nmcli connection modify wg-home 802-3-ethernet.mtu 1420 oder falls unterstützt: wireguard.mtu
- DNS für Full-Tunnel setzen: nmcli connection modify wg-home ipv4.dns 10.14.0.1 ipv4.ignore-auto-dns yes
- Peer hinzufügen: nmcli connection modify wg-home +wireguard-peer.public-key "ÖFFENTLICHER_SCHLÜSSEL_DES_SERVERS" +wireguard-peer.endpoint "203.0.113.10:51820" +wireguard-peer.allowed-ips "0.0.0.0/0,::/0" wireguard-peer.persistent-keepalive 25
- Profil aktivieren: nmcli connection up wg-home
Split-Tunnel per nmcli
- AllowedIPs für Peer anpassen: nmcli connection modify wg-home wireguard-peer.allowed-ips "10.14.0.0/24,192.168.50.0/24"
- Primäre Route nicht über VPN senden: nmcli connection modify wg-home ipv4.never-default yes
- Für lokalen DNS kein ipv4.dns im Profil setzen oder Split-DNS nur für spezifische Domains konfigurieren (über NM oder systemd-resolved). Einfacher Fall: DNS unverändert lassen.
- Änderungen übernehmen: nmcli connection down wg-home && nmcli connection up wg-home
Tipp: Um alle Profilparameter zu prüfen: nmcli connection show wg-home. Aktueller Interface-Zustand: nmcli device show wg0.
Erwartetes Ergebnis
WireGuard-Profil ist angelegt und aktiviert via nmcli connection up, sichtbar in aktiven Verbindungen.
✅ Check: Führe wg show und ip route aus. Beim Full-Tunnel siehst du die default route über wg0, beim Split-Tunnel nur die angegebenen Netze. nmcli connection show --active zeigt das Profil.
Probleme & Lösungen
- Problem: Fehler bei Peer-Modifikation. Ursache: Tippfehler im Parameternamen. Lösung: Achte auf korrekten wireguard-peer.* Präfix und vorangestelltes Plus bei neuen Peers.
- Problem: Verbindung steht, aber kein Traffic. Ursache: falsche Routen oder DNS. Lösung: Für Full-Tunnel AllowedIPs 0.0.0.0/0, ::/0 setzen und Tunnel-DNS angeben.
- Problem: Profil lässt sich nicht aktivieren. Ursache: wg-quick blockiert Interface. Lösung: wg-quick down wg0 ausführen und nur NetworkManager nutzen.
Schritt 6: DNS, Routen und Wahl zwischen Full- und Split-Tunnel
Ziel
Sicherstellen, dass Traffic korrekt durch VPN geführt wird (nur das Nötige) und DNS-Anfragen nicht außerhalb des Tunnels landen.
GUI-Einstellungen
- Öffne das WireGuard Profil in „Einstellungen“ → „Netzwerk“ → „VPN“ (Ubuntu) oder „Netzwerkverbindungen“ (Mint).
- Für Full-Tunnel: AllowedIPs auf 0.0.0.0/0, ::/0 im Peer stellen. Keine DNS-Leaks mit Tunnel-DNS (z. B. 10.14.0.1) im Interface-DNS-Feld.
- Für Split-Tunnel: Nur notwendige Subnetze in AllowedIPs (z. B. 10.14.0.0/24). Optional bei Profil-Einstellungen „Nicht als Standard verwenden“ für IPv4 aktivieren (entspricht ipv4.never-default yes) – je nach GUI-Variante automatisch oder manuell möglich.
- Speichern und VPN neu verbinden.
CLI-Konfiguration
- Full-Tunnel: nmcli connection modify wg-home wireguard-peer.allowed-ips "0.0.0.0/0,::/0" ipv4.dns 10.14.0.1 ipv4.ignore-auto-dns yes
- Split-Tunnel: nmcli connection modify wg-home wireguard-peer.allowed-ips "10.14.0.0/24" ipv4.never-default yes
- Änderungen aktivieren: nmcli connection down wg-home && nmcli connection up wg-home
Tipp: Bei langsamen Seiten oder Instabilität MTU auf 1420 oder 1280 reduzieren. Im GUI: erweiterten Einstellungen MTU anpassen. CLI: nmcli connection modify wg-home 802-3-ethernet.mtu 1420 und Profil neu starten.
Erwartetes Ergebnis
Routing entspricht deinem Setup: Volltunnel leitet gesamten Traffic durch VPN, Splittunnel nur ausgewählte Netze. DNS-Antworten erfolgen zuverlässig und ohne Lecks.
✅ Check: ip route zeigt default route über wg0 (Full-Tunnel) oder nur spezifische Netze (Split-Tunnel). resolvectl status prüft Tunnel-DNS. Ping auf VPN-Adresse (z. B. 10.14.0.1) sollte Antwort bringen.
Probleme & Lösungen
- Problem: Namensauflösung schwankt. Ursache: DNS-Konflikte. Lösung: ipv4.ignore-auto-dns yes setzen und Tunnel-DNS explizit definieren.
- Problem: Ressourcen außerhalb VPN nicht erreichbar bei Volltunnel. Ursache: Firewall blockiert. Lösung: Temporär Firewalls deaktivieren oder Traffic via wg0 und Endpoint erlauben.
Schritt 7: Autostart, Killswitch & Stabilität
Ziel
VPN soll beim Systemstart automatisch verbinden und kein Traffic darf ungeschützt ins Internet gelangen, falls der Tunnel mal ausfällt.
Autostart mit NetworkManager
- Im GUI dein WireGuard Profil öffnen.
- Option „Automatisch verbinden“ aktivieren (manchmal „Autoconnect“ genannt).
- Per CLI: nmcli connection modify wg-home connection.autoconnect yes
Killswitch mit UFW (Basisbeispiel)
- UFW aktivieren (falls noch nicht): sudo ufw enable
- Voreinstellung für ausgehenden Traffic auf „Verweigern“ setzen: sudo ufw default deny outgoing
- Ausgehenden Traffic zum WireGuard Server erlauben (Beispiel 203.0.113.10 Port 51820 UDP): sudo ufw allow out to 203.0.113.10 port 51820 proto udp
- Traffic über wg0 Interface erlauben: sudo ufw allow out on wg0
- Lokale Netze im Split-Tunnel freigeben: sudo ufw allow out to 192.168.0.0/16
- Status kontrollieren: sudo ufw status verbose
⚠️ Achtung: Falsche Firewallregeln können Internet- und SSH-Zugriff blockieren. Teste Regeln bei Remote-Systemen mit Vorsicht in separater Sitzung und habe einen Rückfallplan.
Stabilität steigern
- PersistentKeepalive=25 setzen, wenn der Client hinter NAT ist.
- MTU auf stabile Werte senken bei Fragmentierungsanzeichen.
- Autoreconnect: NetworkManager stellt Verbindung automatisch wieder her, kann bei Bedarf mit systemd oder nm-dispatcher Skripten verstärkt werden.
Tipp: Für Remote-Arbeiten sichere Backup von Profil und Schlüsseln auf externem Medium oder Passwortmanager für schnelle Wiederherstellung.
Erwartetes Ergebnis
Das VPN verbindet sich beim Hochfahren automatisch, und fällt der Tunnel aus, verhindert der Killswitch, dass Traffic außerhalb des VPNs wandert.
✅ Check: Neustart durchführen, nmcli connection show --active ausführen — WireGuard Profil sollte aktiv sein. VPN deaktivieren und prüfen, ob ausgehender Traffic blockiert wird, falls Killswitch aktiv ist.
Probleme & Lösungen
- Problem: UFW blockiert alles. Ursache: zu strenge Regeln. Lösung: Temporär alle ausgehenden Verbindungen zulassen: sudo ufw default allow outgoing und NetworkManager neustarten.
- Problem: Autostart funktioniert nicht. Ursache: Profilkonflikte oder Netzverzögerung. Lösung: „Network warten“ in Diensten aktivieren, systemd Verzögerung oder nm-dispatcher Skripte hinzufügen.
Schritt 8: Schneller Start durch Import und praktische Alternative
Ziel
Der schnellste Weg: Fertige Konfig importieren und direkt nutzen. Außerdem Tipps, wo du legale und komfortable Konfigurationen findest.
Anleitung
- Hole dir die WireGuard-Konfig von deinem Administrator oder VPN-Anbieter.
- Öffne „Einstellungen“ → „Netzwerk“ → „VPN“ → „+“ → „Importieren aus Datei…“ (Ubuntu) oder „Netzwerkverbindungen“ → „+“ → „Importieren aus Datei…“ (Linux Mint).
- Wähle die .conf Datei und drücke „Öffnen“.
- Prüfe, ob alle Felder gefüllt sind: privater Schlüssel, Adressen, DNS, Peer mit öffentlichem Server-Schlüssel, AllowedIPs und Endpoint.
- Speichere und aktiviere die VPN-Verbindung.
Tipp: Importierst du mehrere Profile (bspw. „Zuhause“, „Arbeit“, „Unterwegs“), gib ihnen eindeutige Namen und aktiviere „Im Menü anzeigen“, so kannst du bequem zwischen ihnen wechseln.
Experten-Tipp für fertige Lösungen
Für schnelle, verlässliche Ergebnisse ohne Serveraufwand schau dir den Dienst vpn.how an. Ein persönlicher VPN-Server mit eigener, nicht geteilten IP. Unterstützt WireGuard, OpenVPN, IKEv2, L2TP, SSTP – wähl den passenden Protokolltyp für deine Anwendung. Server-Standorte in Moskau, Sankt Petersburg, Amsterdam, Frankfurt, London, New York, San José, Chicago, Singapur, Sydney, Madrid, Helsinki, Stockholm, Warschau, Kopenhagen und Stavanger. Bequeme Bezahlung per russischen Karten (inkl. Tinkoff und Ozon), SBP, USDT/BTC. Tarife ab 490 ₽ pro Tag und ab 2490 ₽ pro Monat, Rabatte für längere Laufzeiten. Der Server ist nach 5 Minuten nach Bezahlung einsatzbereit, ohne Logs. Im Kundenbereich stehen fertige Konfigs für WireGuard, OpenVPN und IKEv2 zum Download bereit – einfach herunterladen und in deinen Client importieren. So sparst du bis zu 80–90 % Einrichtungszeit.
Erwartetes Ergebnis
Wenige Minuten nach dem Import nutzt du eine funktionierende VPN-Verbindung mit richtigen Routen und DNS.
✅ Check: Aktiviere das Profil, prüfe mit wg show das aktuelle Handshake (neu und nicht leer) und mit ip route die passenden Routen (Full- oder Split-Tunnel).
Probleme & Lösungen
- Problem: Import schlägt fehl. Ursache: Datei falsch formatiert. Lösung: Stelle sicher, dass die Datei im WireGuard-Format (wg-quick) vorliegt, öffne und korrigiere bei Bedarf Abschnitte.
- Problem: Schnittstellenname konflikt. Ursache: Interface wg0 existiert schon. Lösung: Benenne Interface in Config um (z. B. wg1) und importiere neu.
Testergebnisse überprüfen
Checkliste
- WireGuard Profil sichtbar in NetworkManager und schaltbar per Knopfdruck.
- wg show zeigt Interface, Schlüssel und Traffic-Statistik.
- Routen passen zum Setup (ip route zeigt default Route wg0 bei Full-Tunnel oder nur ausgewählte Netze bei Split-Tunnel).
- DNS ist sauber konfiguriert (resolvectl status zeigt Tunnel DNS bei Volltunnel).
- Autostart funktioniert (Profil ist nach Neustart aktiv, wenn autoconnect eingeschaltet ist).
Testvorgehen
- Lokale Erreichbarkeit prüfen: ping -c 3 10.14.0.1 (oder Server-IP zur Prüfung).
- Route zu externem Ziel checken: ip route get 1.1.1.1 – Pfad sollte wg0 bei Full-Tunnel sein.
- DNS-Server testen: resolvectl status zeigt Tunnel-DNS an (bei Full-Tunnel).
- Zuletzt Handshake prüfen: wg show – frisches Handshake (Sekunden bis Minuten) ist normal.
Erfolgsindikatoren
- Stabiler Ping zu VPN-Adressen ohne Verluste.
- Schnelles Handshake und steigender Traffic in wg show bei Nutzung.
- Keine DNS-Leaks im Volltunnel-Szenario.
Häufige Fehler und Lösungen
- Problem: VPN ist verbunden, aber kein Traffic. Ursache: falsche AllowedIPs oder keine Default-Route. Lösung: Für Full-Tunnel 0.0.0.0/0, ::/0 setzen, für Split richtige Subnetze eingeben, Profil neu starten.
- Problem: Webseiten laden langsam oder gar nicht. Ursache: zu hohe MTU, Fragmentierung. Lösung: MTU auf 1420 oder 1280 senken und testen.
- Problem: DNS-Leaks. Ursache: System nutzt Provider DNS. Lösung: Tunnel-DNS definieren und ipv4.ignore-auto-dns yes aktivieren, Profil neu starten.
- Problem: Verbindungsabbrüche. Ursache: Router-NAT Filter. Lösung: PersistentKeepalive=25 setzen, Port auf Client freigeben oder stabilen Kanal nutzen.
- Problem: Interface wg0 bereits belegt. Ursache: wg-quick läuft parallel. Lösung: wg-quick down wg0, Autostart entfernen und nur NetworkManager verwenden.
- Problem: Config lässt sich nicht importieren. Ursache: Syntaxfehler. Lösung: Vergleiche mit Musterdatei, prüfe Abschnitte und Zeichen.
- Problem: Kein Zugriff auf lokales Netz bei Full-Tunnel. Ursache: gesamter Traffic läuft über VPN. Lösung: Split-Tunnel mit lokalen Netzen in AllowedIPs nutzen.
Weitere Möglichkeiten
Fortgeschrittene Einstellungen
- Mehrere Peers: NetworkManager erlaub mehrere Peer-Abschnitte im Profil – praktisch für Backup-Server. In nmcli mit +wireguard-peer.* je Peer hinzufügen.
- Packet Marking und Routing-Policy: Für komplexe Netzwerke kannst du ip rule und Routing Tabellen nutzen, um nur spezifischen Traffic über VPN zu leiten. Benötigt Sorgfalt und Tests.
- Split-DNS: systemd-resolved und NetworkManager ermöglichen DNS-Server und Suchdomains für bestimmte Routen. Das beseitigt Lecks und beschleunigt Auflösung im Firmennetz.
- nm-dispatcher Skripte: Automatisiere Aktionen bei Verbindungsauf- und Abbau, z. B. Mounts oder Firewall-Regeln.
- Alternative zu wg-quick: Wenn du NetworkManager nicht nutzen willst, kannst du Konfigurationen per sudo wg-quick up wg0 mit /etc/wireguard/wg0.conf starten, aber nicht beide Ansätze mischen.
- Preshared Keys: Füge neben Public/Private Key ein symmetrisches Geheimnis hinzu, wenn dein Server das unterstützt, zur Erhöhung der Sicherheit.
Optimierung
- MTU-Tuning: Fange bei 1420 an, bei Verlusten auf 1280 senken. Stabilität mit Ping zu mehreren Hosts prüfen.
- Keepalive-Tuning: 25 Sekunden ist ein guter Wert bei NAT. Weniger weckt den Kanal öfter, mehr erhöht Verbindungsverlust-Risiko.
- Autoreconnect: NetworkManager hält Sitzung offen. Für wichtige Systeme kann ein systemd Service oder Script die Verbindung überwachen und neu starten.
Tipp: Sammle deine nmcli Befehle in einem Skript – beim Umzug auf andere Systeme beschleunigt das den Aufsetzen-Prozess enorm.
FAQ
- Wie richte ich WireGuard unter Ubuntu 24.04 in 5 Minuten ein? Importiere die fertige .conf über „Einstellungen“ → „Netzwerk“ → „VPN“ → „Importieren aus Datei…“. Prüfe DNS und aktiviere das Profil.
- WireGuard unter Linux Mint ohne GUI einrichten? Nutze nmcli: Profil hinzufügen vom Typ wireguard, private-key, addresses, peer.public-key, peer.endpoint und peer.allowed-ips angeben, Verbindung hochfahren mit nmcli connection up.
- Wie macht man Split-Tunnel? Erlaube in AllowedIPs nur die gewünschten Subnetze. nmcli mit ipv4.never-default yes, damit Default-Route nicht über VPN geht.
- DNS-Leaks beheben? Tunnel DNS einstellen, ipv4.ignore-auto-dns yes aktivieren und Verbindung neu starten.
- Autostart aktivieren? connection.autoconnect yes via nmcli oder „Autoverbindung“ im GUI aktivieren, System neu starten.
- Kein Traffic trotz „verbunden“? Prüfe AllowedIPs, Endpoint, öffentlichen Server-Schlüssel und ob der Server den Client registriert hat.
- Kann man zwei WireGuard-Profile parallel nutzen? Ja, solange ihre Routen sich nicht überschneiden. Prioritäten über Routing-Tabellen und Metriken steuern.
- Muss man WireGuard-Plugin extra installieren? Nein, in Ubuntu 24.04 und aktuellen Mint-Versionen ist es integriert. Du brauchst nur wireguard-tools für Schlüssel und Diagnose.
- Wie setze ich Änderungen zurück? Profil deaktivieren und löschen: nmcli connection delete "Name", UFW-Regeln entfernen, NetworkManager neustarten: sudo systemctl restart NetworkManager.
- Wo speichere ich Schlüssel? Im Home-Verzeichnis mit 600 Rechten. Privater Schlüssel bleibt geheim.
Fazit
Du hast jetzt die komplette Einrichtung von WireGuard auf Ubuntu 24.04 LTS und Linux Mint durchlaufen. Zwei Wege: schneller Import fertiger Configs mit NetworkManager und manuelle Einrichtung per GUI und nmcli. Du kannst Routen (Full- und Split-Tunnel) konfigurieren, DNS sicher einstellen, Autostart aktivieren und bei Bedarf einen Killswitch via UFW einrichten. In der Fehlerdiagnose findest du typische Probleme und Lösungsschritte, um das VPN schnell wieder ans Laufen zu bringen.
Wie weiter? Lege mehrere Profile für verschiedene Szenarien an, füge Backup-Peers hinzu und optimiere MTU passend zu deinem Netzwerk. Für schnelle Erfolge ohne eigenen Server nutze fertige Configs aus verlässlichen Quellen und spare Zeit für deine Arbeit statt Infrastruktur.
Wo entwickeln? Beschäftige dich mit nm-dispatcher für Automation bei Verbindungswechseln, lerne policy-based Routing für Feintuning des App-Traffics und erweitere dein Wissen auf weitere Protokolle (OpenVPN, IKEv2) für plattformübergreifenden Einsatz. Mit diesem Fundament passt du VPN-Lösungen flexibel an und betreibst sie sicher in Linux.
Tipp: Speichere diese Anleitung als Lesezeichen und exportiere dein funktionierendes NM-Profil als Datei. So stellst du bei Neuinstallation deine VPN-Verbindung in wenigen Minuten wieder her.