⌕
AnmeldenDabei sein ↗

Tippe mindestens zwei Buchstaben. Pfeiltasten wählen, Enter öffnet.

ANLEITUNG⌂ Homelab & Server

WireGuard-VPN für zu Hause: Mit wg-easy und Docker sicher ins Heimnetz

Von unterwegs auf NAS, Homeserver und Drucker zugreifen, ohne Ports für jeden Dienst zu öffnen: Wir richten WireGuard mit der Weboberfläche wg-easy in Docker ein und verbinden Handy und Laptop per QR-Code.

Smartphone mit Schutzschild, von dem ein breiter, verschlüsselter Tunnel in einem Bogen zu einem Haus führt
Illustration: Spawnpunkt

Ein VPN baut einen verschlüsselten Tunnel von deinem Handy oder Laptop nach Hause. Unterwegs bist du dann so im Heimnetz, als säßest du auf dem Sofa: Du erreichst NAS, Homeserver, Smart Home und 3D-Drucker, ohne einen einzigen dieser Dienste ins Internet zu stellen. WireGuard ist dafür das modernste und schnellste Protokoll. Mit wg-easy bekommt es eine Weboberfläche, in der du Geräte per Klick anlegst.

Du brauchst: einen Server im Heimnetz mit Docker (zum Beispiel einen Raspberry Pi, siehe https://spawnpunkt.de/magazin/raspberry-pi-als-heimserver-docker-po…), Zugriff auf deinen Router für eine Portfreigabe und eine öffentliche IPv4-Adresse oder DynDNS. Zeitaufwand: etwa 30 Minuten.

Vorab: Bist du von außen erreichbar?

Für ein VPN nach Hause muss dein Anschluss aus dem Internet erreichbar sein. Viele Anschlüsse über Kabel und Glasfaser haben inzwischen keine eigene öffentliche IPv4-Adresse mehr (DS-Lite oder CGNAT). Prüfe in deinem Router, welche IPv4-Adresse er vom Anbieter bekommt. Beginnt sie mit 100.64 bis 100.127 oder steht dort DS-Lite, funktioniert eine einfache Portfreigabe nicht. Dann kannst du beim Anbieter oft eine echte IPv4-Adresse anfragen oder einen Dienst wie Tailscale nutzen, der ohne Portfreigabe auskommt.

Weil sich deine öffentliche Adresse regelmäßig ändert, brauchst du außerdem einen DynDNS-Namen, etwa über MyFRITZ!, DuckDNS oder deinen Domain-Anbieter. Im Folgenden steht dafür vpn.example.org.

Schritt 1: Ordner und Compose-Datei anlegen

Melde dich per SSH auf deinem Server an und lege einen Ordner an:

bash
mkdir -p ~/wg-easy && cd ~/wg-easy
nano docker-compose.yml

Füge diese Konfiguration ein. Sie folgt dem Beispiel aus der Dokumentation von wg-easy (Version 15):

yaml
services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy:15
    container_name: wg-easy
    restart: unless-stopped
    environment:
      - INSECURE=true
    volumes:
      - ./daten:/etc/wireguard
      - /lib/modules:/lib/modules:ro
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

Port 51820/UDP ist der eigentliche VPN-Tunnel. Port 51821/TCP ist die Weboberfläche. INSECURE=true erlaubt die Oberfläche ohne HTTPS. Das ist nur in Ordnung, solange Port 51821 ausschließlich im Heimnetz erreichbar ist.

Schritt 2: Container starten

bash
docker compose up -d
docker compose logs -f

Mit Strg+C verlässt du die Protokollanzeige, der Container läuft weiter. Öffne nun im Browser http://192.168.1.50:51821 (mit der IP deines Servers). Ein Einrichtungsassistent führt dich durch die ersten Schritte: Admin-Benutzer mit sicherem Passwort anlegen, danach als Host deinen DynDNS-Namen vpn.example.org und als Port 51820 eintragen.

Schritt 3: Portfreigabe im Router

Im Router leitest du UDP-Port 51820 an die IP-Adresse deines Servers weiter. Bei der FRITZ!Box geht das unter Internet → Freigaben → Portfreigaben → Gerät für Freigaben hinzufügen → Neue Freigabe → Portfreigabe, Protokoll UDP, Port 51820.

Gib dem Server im Router außerdem eine feste IP-Adresse, damit die Freigabe nach einem Neustart noch passt.

Weg des VPN-Tunnels: vom Smartphone durch das Internet zum Router mit Schloss, weiter zum Server und von dort zu NAS und 3D-Drucker
Das Handy baut unterwegs einen verschlüsselten Tunnel über den Router zum Server auf und erreicht dahinter NAS und Drucker.

Schritt 4: Geräte verbinden

  1. Klicke in wg-easy auf Neuer Client und gib einen Namen ein, etwa „Handy“.
  2. Installiere die offizielle WireGuard-App aus dem App Store oder Google Play Store.
  3. Tippe in der App auf + und wähle QR-Code scannen. Scanne den QR-Code aus wg-easy.
  4. Für Laptops lädst du stattdessen die Konfigurationsdatei herunter und importierst sie in der WireGuard-App für Windows, macOS oder Linux.

Lege für jedes Gerät einen eigenen Client an. Verlierst du ein Handy, löschst du nur diesen einen Eintrag.

Schritt 5: Testen

Schalte am Handy das WLAN aus, damit du wirklich über das Mobilfunknetz gehst, und aktiviere den Tunnel in der App. Öffne dann im Browser eine Adresse aus deinem Heimnetz, zum Beispiel die Oberfläche deines NAS. In wg-easy siehst du, wann der Client zuletzt Daten übertragen hat.

Klappt es nicht, prüfe der Reihe nach: Stimmt der DynDNS-Name (nslookup vpn.example.org)? Ist die Portfreigabe für UDP eingerichtet? Hat dein Anschluss eine öffentliche IPv4-Adresse?

Updates

wg-easy aktualisierst du wie jeden Container. Die Version 15 in der Compose-Datei bekommt dabei automatisch kleinere Updates, aber keine großen Versionssprünge mit geänderter Konfiguration:

bash
cd ~/wg-easy
docker compose pull
docker compose up -d
✓ Fazit
  • Ein VPN bringt dich ins Heimnetz, ohne einzelne Dienste ins Internet zu stellen
  • Zuerst prüfen: öffentliche IPv4-Adresse oder DS-Lite/CGNAT?
  • wg-easy per Docker Compose starten, nur UDP 51820 im Router freigeben
  • Die Weboberfläche bleibt im Heimnetz
  • Ein Client pro Gerät, verbinden per QR-Code
  • Eine FRITZ!Box mit aktuellem FRITZ!OS kann WireGuard auch selbst

Läuft dein VPN? Zeig dein Homelab in der Community oder frag nach, wenn der Tunnel nicht zustande kommt.

Quellen

Kommentare

Noch keine Kommentare. Was meinst du dazu?

Mitreden? Melde dich an, um zu kommentieren.

Frage stellen

Spawnpunkt bindet keine Dienste von Drittanbietern ein. Alles, was du hier erlaubst, bleibt auf meinem eigenen Server.