WireGuard VPN auf Raspberry Pi einrichten
In dieser Anleitung zeige ich wie WireGuard mit dem Docker-Image wg-easy auf einem Server mit Debian 11 installiert werden kann.
Voraussetzungen
- Docker Engine bereits installiert (Anleitung siehe Docker)
- Debian, Raspberry Pi OS oder ähnliches OS installiert
- Öffentliche IP-Adresse (Dynamisch oder statisch)
Ablauf
- WireGuard VPN installieren & konfigurieren
- Port-Weiterleitungen konfigurieren
- Konfiguration erstellen
- Verbindung herstellen
WireGuard VPN installieren & konfigurieren
Beginnen wir mit der Installation von wg-easy als Docker Container.
Als erstes erstellen wir ein Verzeichnis für unser Docker Compose File und darin ein Verzeichnis für die Daten unseres Wireguard.
mkdir /app/wireguard && mkdir /app/wireguard/data && cd /app/wireguard
In diesem Verzeichnis erstellen wir nun ein Docker Compose File. Dieses können wir mit folgendem Befehl erstellen
nano docker-compose.yml
Füge folgendes ein und passe die Werte bei YOUR_PUBLIC_IP_ADDRESS und YOUR_SECRET_PASSWORD an.
version: "3.8"
services:
wg-easy:
environment:
- WG_HOST=YOUR_PUBLIC_IP_ADDRESS
- PASSWORD=YOUR_SECURE_PASSWORD
- WG_DEFAULT_ADDRESS=10.10.10.x
image: weejewel/wg-easy
container_name: wg-easy
volumes:
- /home/user/wireguard/data:/etc/wireguard
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
Bei YOUR_PUBLIC_IP_ADDRESS musst du deine öffentliche IP-Adresse oder deinen DynDNS Domainnamen eintragen. Wenn du noch keinen DynDNS Namen hast, kann ich den Dienst von IPv64 empfehlen. Diesen findest du hier.
Bei YOUR_SECURE_PASSWORD musst du ein sicheres Passwort eintragen. Dieses wird benötigt um auf das Admin Portal von wg-easy zu zugreifen. Du kannst dieses mit folgendem Befehl generieren:
Schliesse und speichere das File mit Ctrl + X und dann Y
Starte den Docker Container nun mit folgendem Befehl
sudo docker compose up -d
Nun musst du einige Minuten warten. Nach ca. 3 Min läuft dann der Wireguard VPN Server.
Port-Weiterleitungen konfigurieren
Damit wir von Aussen nun auch eine Verbindung herstellen können, müssen wir eine Port-Weiterleitung auf unserem Router erstellen.
Dazu müssen wir das User-Interface von unserem Router öffnen. Hierzu benötigst du die IP-Adresse deines Routers, wenn du diese nicht angepasst hast findest du sie in folgender Tabelle:
Internet-Anbieter/Hersteller Router | Router IP-Adresse |
---|---|
Swisscom | 192.168.1.1 |
Wingo | 192.168.0.254 |
Sunrise | 192.168.1.1 |
UPC | 192.168.0.1 |
Salt | 192.168.1.1 |
Fritzbox | 192.168.178.1 |
Init7 | 192.168.1.1/2.1 |
UniFi | 192.168.1.1 |
Suche auf dem Interface von deinem Router nach “Portweiterleitung”, dies ist bei der Swisscom Internet-Box unter Netzwerk zu finden.
Erstelle eine neue Portweiterleitung mit dem UDP-Port 51820 als Ziel-/Eingangsport und deinem Pi/Server als Zielgerät.
Speichere die Änderungen. Nun ist dein VPN bereit und wir können im nächsten Schritt die Verbindungen erstellen.
Konfiguration erstellen
Um eine Konfiguration zu erstellen, besuche das Admin Panel von wg-easy indem du die IP-Adresse deines Pi/Server gefolgt vom Port 51821 im Browser eingibst.
Es erscheint eine Anmeldemaske. Melde dich mit dem im Docker Compose File definierten Passwort an.
Nun erscheint eine Liste mit all deinen Konfigurationen. Diese sollte bei dir leer sein, da du noch keine Konfigurationen erstellt hast.
Klicke auf “New” um eine neue Konfiguration zu erstellen.
Anschliessend wirst du nach einem Namen für die Konfiguration gefragt. Trage hier etwas ein, womit du die Konfiguration später erkennst.
Nach einem Klick auf “Create” ist die Konfiguration erstellt. Sie wird nun in der Liste angezeigt.
Verbindung herstellen
Nachdem du die Konfiguration erstellt hast, kannst du dich mit einem Client damit verbinden. Auf einem Smartphone benötigst du die WireGuard App. Diese kannst du im Store deines Smartphones einfach herunterladen. Die weiteren Client-Apps sind auf der offiziellen Website von WireGuard zu finden.
Am Smartphone musst du auf das Plus klicken und dann “Aus QR-Code erstellen” auswählen. Anschliessend musst du am PC bei der gewünschten Konfiguration auf das QR-Code Icon klicken und dann mit dem Smartphone den QR-Code einscannen. Anschliessend kannst du mit dem Smartphone eine Verbindung zum VPN-Server herstellen.
Auf einem Computer kannst du die Konfigurationsdatei mit dem “Download-Knopf” herunterladen und in der Client-Anwendung importieren.
Das wars nun mit der Installation von WireGuard auf deinem Raspberry Pi oder Debian Server. Ich hoffe ich konnte dir weiterhelfen. Wenn du noch Fragen hast, kannst du diese gerne in den Kommentaren stellen.
Links
Den Artikel habe ich in ähnlicher Form auch auf Medium veröffentlicht.