RackDiff
Alle Guides

WireGuard-VPN mit wg-easy v15 auf dem eigenen VPS einrichten

Schritt für Schritt: wg-easy v15 per Docker Compose auf einem VPS installieren, Web-Oberfläche hinter HTTPS absichern und Clients auf iOS, Android, Windows, macOS und Linux verbinden.

Dirk Hesse
14. Dezember 2025
10 Min. Lesezeit

Mit einem eigenen VPS betreibst du den VPN-Server selbst und bestimmst, was er protokolliert.

Dafür brauchst du einen VPS (Virtual Private Server, ein virtueller Server in einem Rechenzentrum) mit öffentlicher IP-Adresse oder Domain (laut wg-easy-Doku, Stand: 08.11.2026). Aktuelle Tarife und Preise inkl. USt stehen im VPS-Vergleich.

Warum ein eigenes VPN?

Ein eigenes VPN eignet sich für: sicheren Zugang zu deinem Heimnetzwerk, verschlüsselten Verkehr in öffentlichen WLANs und Zugriff auf selbst gehostete Dienste wie Immich oder Paperless.

Der Unterschied zu einem kommerziellen VPN-Dienst: Du betreibst den Server, spielst die Updates ein und entscheidest über Logs und Standort. Eine Abgrenzung findest du weiter unten im Abschnitt „WireGuard vs. kommerzielle VPNs“.


Voraussetzungen

Du brauchst:

Traffic: Prüfe im Tarif das Inklusiv-Traffic-Volumen und was danach passiert, also Zusatzkosten oder Drosselung, laut Website des Anbieters. Tarife und Standorte findest du auf den Anbieterseiten von Hetzner, Netcup und IONOS; die Preise stehen dort live.

Server für dein eigenes VPN gesucht?

Achte auf Inklusiv-Traffic und eine öffentliche IPv4-Adresse.

VPS vergleichen

Schritt 1: Docker installieren (falls nötig)

Installiere Docker über das apt-Repository, wie es die Docker-Doku für Ubuntu beschreibt; das Convenience-Script ist laut Docker nicht für Produktivsysteme gedacht (laut Docker-Doku, Stand: 08.11.2026).

Wenn du deinen Benutzer zur Gruppe docker hinzufügst, bekommt er damit Root-Rechte (laut Docker-Doku, Stand: 08.11.2026). Ohne diesen Schritt rufst du Docker mit sudo auf.


Schritt 2: wg-easy installieren

wg-easy ist eine Web-Oberfläche für WireGuard: Clients anlegen, QR-Code anzeigen, Konfiguration herunterladen. Das Projekt steht unter der Lizenz AGPL-3.0 (laut wg-easy-README, Stand: 08.11.2026).

Die Installation folgt der offiziellen Anleitung: Compose-Datei des Projekts herunterladen und starten (laut wg-easy-Doku, Stand: 08.11.2026):

mkdir -p ~/wg-easy && cd ~/wg-easy
curl -o docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
# vor dem ersten Start: Web-Oberfläche nur lokal binden (siehe Schritt 3)
sed -i 's|"51821:51821/tcp"|"127.0.0.1:51821:51821/tcp"|' docker-compose.yml
sudo docker compose up -d

Die Compose-Datei nutzt das Image ghcr.io/wg-easy/wg-easy:15, gibt die Rechte NET_ADMIN und SYS_MODULE, bindet /lib/modules nur lesend ein und setzt IP-Forwarding als sysctls im Container (laut wg-easy-Compose-Datei, Stand: 08.11.2026).

Wichtig:


Schritt 3: Firewall konfigurieren

Erlaube zuerst SSH, sonst kann ufw enable deine laufende Verbindung trennen (laut Ubuntu-Doku, Stand: 08.11.2026):

sudo ufw allow OpenSSH
sudo ufw allow 51820/udp  # WireGuard
sudo ufw enable

Hat dein Hoster zusätzlich eine Cloud-Firewall, muss auch dort 51820/udp offen sein. Läuft der Reverse Proxy direkt auf dem Host, gib in ufw zusätzlich 80/tcp und 443 frei.

Hinweis: Ports, die Docker veröffentlicht, umgehen ufw (laut Docker-Doku, Stand: 08.11.2026). Eine ufw-Regel für Port 51821 schützt die Web-Oberfläche deshalb nicht. Deshalb bindet Schritt 2 den Port vor dem ersten Start an 127.0.0.1:51821:51821/tcp; dann ist er nur vom Server selbst erreichbar (laut Docker-Doku, Stand: 08.11.2026).


Schritt 4: Web-Oberfläche einrichten

wg-easy v15 lehnt HTTP ab, solange INSECURE nicht auf true steht (laut wg-easy-Doku, Stand: 08.11.2026). Ohne Reverse Proxy nennt die Doku das Setup unsicher; die Web-Oberfläche soll dann nicht von außerhalb des lokalen Netzes erreichbar sein (laut wg-easy-Doku, Stand: 08.11.2026).

Für den Zugriff übers Internet richtest du deshalb einen Reverse Proxy mit HTTPS und eigener Domain ein, zum Beispiel Caddy mit den Ports 80/tcp, 443/tcp und 443/udp (laut wg-easy-Doku, Stand: 08.11.2026).

Beim ersten Aufruf führt dich der Setup-Assistent durch Benutzername, Passwort, Host (öffentliche IP oder Domain) und Port (laut wg-easy-Doku, Stand: 08.11.2026).


Schritt 5: Ersten Client erstellen

Lege in der Web-Oberfläche einen Client an und vergib einen Namen, zum Beispiel „Handy“ oder „Laptop“. wg-easy zeigt danach einen QR-Code und bietet die Konfiguration zum Download an (laut wg-easy-README, Stand: 08.11.2026).

Willst du AdGuard Home als Werbeblocker nutzen (Abschnitt „Optional“ unten), richte es vor dem ersten Client ein. Jedes Gerät bekommt einen eigenen Client. So kannst du ein verlorenes Handy einzeln sperren, ohne die anderen Geräte neu einzurichten.


Schritt 6: Mobile Client einrichten (iOS/Android)

Per QR-Code geht es so:

  1. WireGuard-App aus dem App Store bzw. Play Store installieren (laut WireGuard-Projektseite, Stand: 08.11.2026)
  2. In der App einen neuen Tunnel per QR-Code anlegen
  3. QR-Code aus der wg-easy-Oberfläche scannen
  4. Tunnel aktivieren

Schritt 7: Desktop Client einrichten

Windows/macOS

  1. Windows-Installer bzw. macOS-App installieren (laut WireGuard-Projektseite, Stand: 08.11.2026)
  2. In wg-easy die Konfiguration des Clients als .conf-Datei herunterladen
  3. Die Datei in der WireGuard-App als Tunnel importieren
  4. Verbinden

Linux

Installiere das WireGuard-Paket deiner Distribution (laut WireGuard-Projektseite, Stand: 08.11.2026). wg-quick liest die Konfiguration aus /etc/wireguard/INTERFACE.conf (laut wg-quick-Manpage, Stand: 08.11.2026):

# Konfigurationsdatei nach /etc/wireguard/wg0.conf kopieren, dann:
sudo wg-quick up wg0

Schritt 8: Verbindung prüfen

Rufe bei aktivem Tunnel eine Seite auf, die deine öffentliche IP-Adresse anzeigt. Dort sollte die IP deines VPS stehen, nicht die deines Heimanschlusses.

Steht dort weiter deine eigene IP, prüfe, ob der Client den gesamten Verkehr durch den Tunnel schickt (siehe „Split-Tunneling“ unten).


Optional: Werbeblocker im VPN

Für einen Werbeblocker im VPN gibt es eine offizielle Anleitung mit AdGuard Home. Sie setzt WireGuard zurück, bestehende Clients werden dabei gelöscht (laut wg-easy-Doku, Stand: 08.11.2026). Richte das also vor dem ersten Client ein.

Den DNS-Server legst du in v15 je Client fest (laut wg-easy-Doku, Stand: 08.11.2026) oder beim unbeaufsichtigten Setup über INIT_DNS (laut wg-easy-Doku, Stand: 08.11.2026).


Häufige Probleme

Client verbindet nicht

  • Ist Port 51820/UDP in ufw und in der Cloud-Firewall deines Hosters offen?
  • Ist als Host die öffentliche IP oder Domain eingetragen (Setup-Assistent bzw. Admin-Panel)?
  • Hinter NAT, etwa im Mobilfunknetz, hält PersistentKeepalive die Verbindung offen, zum Beispiel mit 25 Sekunden (laut WireGuard-Projektseite, Stand: 08.11.2026); in wg-easy stellst du den Wert je Client ein (laut wg-easy-Doku, Stand: 08.11.2026).

Verbunden, aber kein Internet

  • wg-easy setzt die nötigen POSTROUTING-Regeln selbst. Melden die Logs beim Start fehlende nat- oder filter-Tabellen, lade die Kernelmodule, etwa mit modprobe iptable_nat (laut wg-easy-Doku, Stand: 08.11.2026).
  • DNS-Problem: einen anderen DNS-Server in der Client-Konfiguration eintragen.

Langsame Verbindung

Web-Oberfläche nicht erreichbar

  • Aufruf über HTTP? Dann muss INSECURE=true gesetzt sein, sonst gehst du über den Reverse Proxy mit HTTPS (laut wg-easy-Doku, Stand: 08.11.2026).
  • Container läuft? docker ps
  • Logs prüfen: docker logs wg-easy

Advanced: Split-Tunneling & Multi-Server

Split-Tunneling

Nur bestimmten Verkehr durch das VPN leiten: Trage in den Allowed IPs des Clients nur bestimmte IPs oder Netze statt 0.0.0.0/0 und ::/0 ein (laut wg-easy-Doku, Stand: 08.11.2026). Mit 0.0.0.0/0 bzw. ::/0 legt wg-quick die Standardroute durch den Tunnel (laut wg-quick-Manpage, Stand: 08.11.2026).

VPN für das ganze Heimnetzwerk

Manche Router können selbst als WireGuard-Client arbeiten, etwa pfSense über ein Zusatzpaket (laut Netgate-Doku, Stand: 08.11.2026). Ob und wie dein Router das kann, steht in seiner Doku.

Multi-Server-Setup

Mehrere VPS-Standorte: wg-easy läuft auf jedem Server getrennt, und jeder Client bekommt je Server eine eigene Konfiguration.


Sicherheits-Tipps

WireGuard selbst nutzt Curve25519, ChaCha20 mit Poly1305, BLAKE2s, SipHash24 und HKDF (laut WireGuard-Projektseite, Stand: 08.11.2026) und ist darauf ausgelegt, von Einzelnen vollständig überprüfbar zu sein (laut WireGuard-Projektseite, Stand: 08.11.2026).


WireGuard vs. kommerzielle VPNs

Ein selbst gehostetes WireGuard-VPN erfüllt einen anderen Zweck als kommerzielle VPN-Dienste. Beide haben ihre Berechtigung, je nachdem, was du erreichen willst.

Eigenes WireGuard (VPS)Kommerzieller VPN-Dienst
ZweckZugriff auf eigene Dienste und das Heimnetz, IP deines VPSServer an mehreren Standorten des Dienstes
Betriebduder Dienst
KostenVPS-Tarif, Preise im VPS-VergleichAbo laut Dienst

Für den Zugriff auf dein Heimnetz und deine selbst gehosteten Dienste reicht ein eigener Server. Nutzt du den VPS ohnehin für andere Dienste, kommt kein zusätzlicher Server dazu.

Traffic & Bandbreite: worauf du beim VPS achtest

VPN-Verkehr läuft in beide Richtungen über deinen VPS. Ob eingehender, ausgehender oder beider Traffic zählt, steht im Tarif des Anbieters. Achte deshalb auf zwei Werte:

  • Inklusiv-Traffic: Prüfe das Inklusiv-Volumen und die Regeln bei Überschreitung laut Website des Anbieters.
  • Anbindung: Prüfe die Port-Anbindung im Tarif.

Ein Standort nahe deinem Heimanschluss kann kürzere Wege bedeuten. Die Standorte je Anbieter stehen auf den Anbieterseiten von Hetzner, IONOS und Netcup.


Fazit

Du betreibst jetzt dein eigenes WireGuard-VPN auf deinem Server.

Auf demselben VPS kannst du weitere Dienste betreiben, etwa Vaultwarden als Passwort-Manager, Immich für Fotos oder Ollama für KI-Chats.


Häufig gestellte Fragen

Wie ist WireGuard kryptografisch aufgebaut?
WireGuard nutzt Curve25519, ChaCha20 mit Poly1305, BLAKE2s, SipHash24 und HKDF und ist darauf ausgelegt, von Einzelnen vollständig überprüfbar zu sein.
Wie viele Clients kann ich verbinden?
Jeder Client ist ein eigener Eintrag in wg-easy. Wie viele gleichzeitig laufen, hängt von der Leistung und Anbindung deines Servers ab.
Kann ich den VPS auch für andere Sachen nutzen?
Ja. Plane den Speicherbedarf der weiteren Dienste wie Immich, Paperless oder Vaultwarden mit ein.
Versteckt mich das vor meinem Internetanbieter?
Wenn der gesamte Verkehr durch den Tunnel läuft (Allowed IPs 0.0.0.0/0 und ::/0) und DNS über den Tunnel geht, sieht dein Internetanbieter nur verschlüsselten Verkehr zu deinem VPS. Die Gegenstellen sehen die IP deines VPS.
Was kostet mich das im Monat?
Nur den VPS-Tarif; aktuelle Preise stehen im VPS-Vergleich. wg-easy steht unter der Lizenz AGPL-3.0.
Funktioniert WireGuard hinter CGNAT oder im Mobilfunknetz?
Ja. Dein VPS hat eine öffentliche IP und der Client baut die Verbindung auf, deshalb funktioniert WireGuard auch dann, wenn dein Heimanschluss oder dein Handy keine eigene öffentliche IP bekommt (CGNAT). Hinter NAT hält PersistentKeepalive, zum Beispiel mit 25 Sekunden, die Verbindung offen.

VPS für dein eigenes VPN gesucht?

Achte auf das Inklusiv-Traffic-Volumen im Tarif.

Alle VPS vergleichen

Passender VPS-Rechner

WireGuard VPN Self-Hosting: Die besten VPS 2026

Finde den perfekten Server für dein eigenes VPN

Zum VPS-Rechner

Verwandte Artikel