WireGuard VPN Server auf dem Raspberry Pi einrichten

Mit einem eigenen WireGuard VPN-Server auf dem Raspberry Pi könnt ihr euch von überall sicher ins Heimnetz einloggen – egal ob ihr unterwegs seid oder ein öffentliches WLAN nutzt. WireGuard ist dabei schneller und einfacher einzurichten als OpenVPN und läuft auf dem Raspberry Pi 4 und Pi 5 problemlos unter Raspberry Pi OS Bookworm.

In diesem Tutorial zeige ich euch zwei Methoden: die manuelle Einrichtung (für alle, die verstehen wollen was passiert) und PiVPN als schnelle Alternative für Einsteiger.

Was ihr braucht

  • Raspberry Pi 4 oder 5 mit Raspberry Pi OS Bookworm
  • Stabile Internetverbindung mit Router-Zugang (für Portfreigabe)
  • Statische lokale IP für den Pi (per DHCP-Reservierung im Router)
  • Optional: Gehäuse mit Lüfter für Dauerbetrieb

Methode 1: WireGuard manuell einrichten

Schritt 1: WireGuard installieren

WireGuard ist seit Bookworm direkt in den Standard-Repos enthalten – kein PPA oder DKMS nötig:

qrencode brauchen wir später für den QR-Code zur einfachen Smartphone-Einrichtung.

Schritt 2: Schlüssel erzeugen

WireGuard arbeitet mit öffentlichen und privaten Schlüsseln – ähnlich wie SSH. Zuerst erzeugen wir die Server-Schlüssel:

Den Inhalt der Dateien könnt ihr so ausgeben:

Für jeden Client (z.B. Smartphone, Laptop) brauchen wir ebenfalls ein Schlüsselpaar:

Schritt 3: Server-Konfiguration erstellen

Jetzt erstellen wir die WireGuard-Konfigurationsdatei. Zuerst prüfen wir den Namen unseres Netzwerk-Interfaces (meistens eth0 beim Pi):

Dann die Konfiguration anlegen:

Datei-Berechtigungen einschränken:

Schritt 4: IP-Forwarding aktivieren

Damit der Pi den VPN-Traffic ins Internet weiterleitet, muss IP-Forwarding aktiviert werden:

Schritt 5: WireGuard starten

Mit sudo wg show könnt ihr jederzeit den Status des Tunnels prüfen.

Schritt 6: Client-Konfiguration erstellen

Für jeden Client legen wir eine eigene Konfigurationsdatei an:

PersistentKeepalive = 25 ist wichtig für Smartphones hinter NAT – hält die Verbindung aktiv.

Schritt 7: QR-Code für Smartphone generieren

Die einfachste Art, WireGuard auf einem Smartphone einzurichten, ist per QR-Code. Einfach die WireGuard-App installieren und scannen:

Portfreigabe im Router einrichten

Damit Verbindungen von außen den Pi erreichen, muss UDP-Port 51820 im Router auf den Pi weitergeleitet werden.

Fritz!Box: Internet → Freigaben → Portfreigaben → Neue Portfreigabe → Protokoll UDP, Port 51820, Ziel-IP des Pi

Vergebt dem Pi vorher eine feste lokale IP: Heimnetz → Netzwerk → [Pi] → Immer die gleiche IPv4-Adresse zuweisen.

Dynamische IP mit DuckDNS lösen

Da sich die öffentliche IP eurer Fritzbox regelmäßig ändert, braucht ihr einen DDNS-Dienst. DuckDNS ist kostenlos und einfach einzurichten:

  1. Kostenlosen Account anlegen und Subdomain erstellen (z.B. meinpi.duckdns.org)
  2. Token aus dem Dashboard kopieren

Fritz!Box-Nutzer: Alternativ funktioniert auch MyFRITZ! direkt über „Internet → MyFRITZ!-Konto“ – keine extra Software nötig.

Methode 2: PiVPN – schnell und einfach

Wer weniger konfigurieren möchte, kann PiVPN verwenden. Das Tool richtet alles automatisch ein und ist aktiv gepflegt (Stand: September 2025):

Der interaktive Wizard fragt nach Port, DNS-Server und eurer DDNS-Adresse. Danach könnt ihr mit wenigen Befehlen Clients verwalten:

UFW Firewall konfigurieren

Falls UFW aktiv ist, müssen ein paar zusätzliche Einstellungen vorgenommen werden:

Außerdem muss UFW das Weiterleiten von Paketen erlauben:

Fehlerbehebung

Problem Ursache Lösung
Client verbindet, kein Internet IP-Forwarding nicht aktiv sysctl net.ipv4.ip_forward prüfen
Handshake kommt nicht zustande Port nicht freigegeben oder Firewall blockt Router-Portfreigabe + UFW prüfen
wg0 already exists Interface noch aktiv sudo wg-quick down wg0
DNS-Leaks auf Smartphone DNS nicht in Client-Config gesetzt DNS = 1.1.1.1 in [Interface] ergänzen
PostUp schlägt fehl Interface-Name stimmt nicht (nicht eth0) ip link show → richtigen Namen eintragen

Mit einem eigenen WireGuard VPN seid ihr von überall sicher im Heimnetz – besonders praktisch wenn ihr Pi-hole, Home Assistant oder Nextcloud nutzt und von unterwegs darauf zugreifen wollt. Viel Spaß beim Einrichten!

💡 GitHub: Die WireGuard Konfigurationsdateien (wg0.conf, Client-Template) zu diesem Tutorial findet ihr im raspberry.tips GitHub Repository.

Ähnliche Beiträge