WireGuard VPN auf Raspberry Pi einrichten

Michi von Ah
4 min readFeb 22, 2023

--

In dieser Anleitung zeige ich wie WireGuard mit dem Docker-Image wg-easy auf einem Server mit Debian 11 installiert werden kann.

wg-easy Admin Panel

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. Passe jeweils user an deinen User an.

mkdir /home/user/wireguard
mkdir /home/user/wireguard/data

Nun navigieren wir in das eben erstellte Verzeichnis

cd /home/user/wireguard/

Hier erstellen wir 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.

Bei YOUR_PUBLIC_IP_ADDRESS musst du deine öffentliche IP-Adresse oder deinen DYNDNS Domainnamen eintragen.

Bei YOUR_SECURE_PASSWORD musst du ein sicheres Passwort eintragen. Dieses wird benötigt um auf das Admin Portal von wg-easy zu zugreifen.

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

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 läuft unser Wireguard VPN.

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:

IP-Adressen der Router von diversen Anbietern

Suche auf dem Interface von deinem Router nach “Portweiterleitung”, dies ist bei der Swisscom Internet-Box unter Netzwerk zu finden.

Portweiterleitungen auf der Swisscom Internet-Box

Erstelle eine neue Portweiterleitung mit dem UDP-Port 51820 als Ziel-/Eingangsport und deinem Pi/Server als Zielgerät.

Beispiel Portweiterleitung

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.

Anmeldemaske wg-easy

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 Konfigruation 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.

QR-Code anzeigen

Auf einem Computer kannst du die Konfigurationsdatei mit dem “Download-Knopf” herunterladen und in der Client-Anwendung importieren.

Konfiguration herunterladen

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

--

--

Michi von Ah
Michi von Ah

Written by Michi von Ah

18 years old, interested on IT and technology, based in Switzerland 🇨🇭

Responses (1)