wg-easy einrichten (v15.5, 2026): Docker Compose, Assistent, 2FA

wg-easy v15.5 mit Docker Compose einrichten: die aktuelle Compose-Datei, der Assistent statt PASSWORD_HASH, Umstieg von v14, 2FA und warum Port 51821 nie offen im Internet steht.

Von Eric GerardGründer · VPNSmith - Spezialist für selbstgehostete VPNs & DSGVO-VPS

Aktualisiert 13 Min. Lesezeit13 min

Affiliate-Links: ggf. Provision, ohne Mehrkosten für Sie. Methode

Installationsschritte ansehenMein docker-compose erstellen

fig. 01 / self-host-vpnencrypted tunnelUDP 51820DEVICE10.8.0.2SERVER10.8.0.1INTERNETNATAllowedIPs = 0.0.0.0/0, ::/0ListenPort = 51820 (server)
fig. 01 / self-host-vpn

wg-easy ist ein kostenloses Docker-Image, das WireGuard mit einem Web-Adminpanel auf Ihrem eigenen Server betreibt: Geräte hinzufügen, Konfigurationen herunterladen und QR-Codes anzeigen geschieht im Browser statt durch Bearbeiten von wg0.conf. Aktuell ist Version 15; nötig ist ein VPS mit offenem UDP-Port 51820.

fig. 01 / self-host-vpnencrypted tunnelUDP 51820DEVICE10.8.0.2SERVER10.8.0.1INTERNETNATAllowedIPs = 0.0.0.0/0, ::/0ListenPort = 51820 (server)
fig. 01 / self-host-vpn

WireGuard ist schnell und modern, aber die Standardeinrichtung sind Dateien und die Kommandozeile: Schlüssel erzeugen, wg0.conf von Hand bearbeiten, wg set für jedes Gerät ausführen, Konfigurationen hin- und herkopieren. Für ein Gerät ist das in Ordnung. Für eine Familie, ein paar Laptops und zwei Telefone wird es mühsam - und im Mühsamen passieren die Fehler (und die geleakten Schlüssel). wg-easy löst genau das: Es belässt das echte WireGuard darunter unangetastet und setzt ein sauberes Web-Dashboard obendrauf. Einen Client mit zwei Klicks hinzufügen, einen QR-Code fürs Telefon anzeigen, sehen, wer verbunden ist und wie viel er überträgt. Dies ist die komplette Einrichtung für 2026, samt der Passwort-Änderung, über die alle stolpern, die aktualisieren.

Was du brauchst: einen Linux-VPS mit öffentlicher IPv4-Adresse und Docker, mit offenem UDP-Port 51820. Diese Anleitung nutzt einen Contabo Cloud VPS als Beispiel-Host; die Voraussetzungen stehen weiter unten.

Noch keinen Server gewählt? Unser Preisvergleich der günstigsten VPS für WireGuard zeigt, was jeder Anbieter für einen brauchbaren Endpunkt wirklich berechnet.

Tipp: Wenn der Tunnel sich nicht verbindet, ist fast immer der Port die Ursache. Siehe unseren Leitfaden zum Standardport von WireGuard (UDP 51820) und wie man ihn öffnet, weiterleitet oder ändert.

Ohne Abtippen: Der kostenlose wg-easy-docker-compose-Generator schreibt die docker-compose.yml für v15 passend zu Ihrem Setup direkt im Browser: Adminpanel nur auf localhost oder per HTTPS auf Ihrer eigenen Domain über Caddy, dazu optional ein unbeaufsichtigter erster Start.

Erzeugen Sie hier Ihre docker-compose.yml für wg-easy v15

Serveradresse und Zugang zum Panel angeben: Sie erhalten die Compose-Datei, bei Bedarf das Caddyfile und die Installationsbefehle.

01Server beschreiben

Alles wird in Ihrem Browser erzeugt. Nichts von Ihren Eingaben, auch nicht das Passwort, wird an unsere Server gesendet.

Die Adresse, mit der sich WireGuard-Clients verbinden.

Wie erreichen Sie das Admin-Panel?

Ein A-Eintrag für diesen Namen muss auf den Server zeigen, Ports 80 und 443 offen.

Ohne unbeaufsichtigtes Setup öffnen Sie nach dem ersten Start das Panel: Der Assistent fragt nach dem Admin-Konto, dann nach Host und Port. Geben Sie denselben UDP-Port wie oben ein.

02Dateien kopieren

docker-compose.yml
# wg-easy v15 - generated on vpnsmith.com/en/tools/wg-easy-compose-generator
# Host: vpn.example.com - WireGuard port: 51820/udp - panel: https://wg.example.com

volumes:
  etc_wireguard:
  caddy_data:
  caddy_config:

services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy:15
    container_name: wg-easy
    environment:
      - PORT=80
      - TRUSTED_PROXIES=10.42.42.43,fdcc:ad94:bacf:61a3::2b
    networks:
      wg:
        ipv4_address: 10.42.42.42
        ipv6_address: fdcc:ad94:bacf:61a3::2a
    volumes:
      - etc_wireguard:/etc/wireguard
      - /lib/modules:/lib/modules:ro
    ports:
      - "51820:51820/udp"   # WireGuard: the only port clients need
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.default.forwarding=1

  caddy:
    image: caddy:2-alpine
    container_name: caddy
    ports:
      - "80:80/tcp"
      - "443:443/tcp"
      - "443:443/udp"
    networks:
      wg:
        ipv4_address: 10.42.42.43
        ipv6_address: fdcc:ad94:bacf:61a3::2b
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config
    restart: unless-stopped

networks:
  wg:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: 10.42.42.0/24
        - subnet: fdcc:ad94:bacf:61a3::/64
Caddyfile
wg.example.com {
	reverse_proxy wg-easy:80
}

03Installationsbefehle ausführen

install.sh
# 1. Firewall: zuerst SSH, dann der WireGuard-Port
sudo ufw allow OpenSSH
sudo ufw allow 51820/udp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enable
# Hinweis: Von Docker veröffentlichte Ports umgehen ufw. Öffnen/schließen Sie sie auch in der Provider-Firewall.

# 2. Ordner anlegen und die erzeugte(n) Datei(en) einfügen
sudo mkdir -p /etc/docker/containers/wg-easy
cd /etc/docker/containers/wg-easy
sudo nano docker-compose.yml
sudo nano Caddyfile

# 3. wg-easy starten
sudo docker compose up -d
# Logs verfolgen (Strg+C zum Beenden)
sudo docker compose logs -f wg-easy

# 4. Panel öffnen: https://wg.example.com

Diese Datei braucht einen Server mit öffentlicher IP

Contabo Cloud VPS 4 (4 vCPU, 8 GB RAM, eigene IPv4, unbegrenzter Traffic): 5,50 € pro Monat bei 24 Monaten Laufzeit (Preis geprüft am 17.10.2026), also alles, was wg-easy braucht.

Affiliate-Link: Wir erhalten eine Provision, ohne Mehrkosten für Sie.

Karte abgelehnt oder lieber ein US-Anbieter? Ultahost VPS Basic kostet 5,52 $/Monat bei 24 Monaten (gelesen am 21. Oktober 2026) und nimmt auch Bitcoin, Alipay, WeChat Pay und Qiwi an; prüfe die Bedingungen für dein Land. Ultahost-VPS ansehen

Tarif bei Contabo ansehen

Was wg-easy wirklich ist (und was nicht)

wg-easy ist ein einzelner Docker-Container, der einen WireGuard-Server und eine kleine Webanwendung zu dessen Verwaltung betreibt. Wichtig vorab zu verstehen: Es ersetzt oder reimplementiert WireGuard nicht. Der Tunnel ist weiterhin dasselbe Kernel-WireGuard, mit denselben Schlüsseln und demselben Protokoll auf der Leitung. wg-easy ist Verwaltung, kein neues VPN. Das hat zwei Folgen:

  • Kein Geschwindigkeitsverlust. Durchsatz und Latenz sind identisch zu einer handgeschriebenen Konfiguration, weil der Datenpfad die Webanwendung nie berührt.
  • Die Weboberfläche ist die Angriffsfläche. Das Dashboard kann Clients anlegen, also kontrolliert das VPN, wer es kontrolliert. Dieses Panel zu schützen ist die ganze Sicherheitsgeschichte (siehe unten).

Was Sie dafür bekommen: eine Browserseite, die jeden Client auflistet, Anlegen/Deaktivieren/Löschen per Klick, einen QR-Code pro Client fürs Telefon und einen Live-Übertragungszähler pro Peer. Um eine Handvoll Geräte ohne Terminal einzurichten, ist nichts schneller.

Türkisfarbene Glasfaserkabel führen in Schlaufen zu einer Reihe weißer Stecker an Rack-Geräten
Türkisfarbene Glasfaserkabel führen in Schlaufen zu einer Reihe weißer Stecker an Rack-Geräten

Bevor Sie loslegen: der Host, den Sie brauchen

wg-easy ist ein Container, Sie brauchen also einen Linux-Host, der Docker ausführen kann und eine öffentliche IP hat. Für ein VPN, das Sie von überall erreichen, bedeutet das einen kleinen VPS - WireGuard ist so leicht, dass eine Instanz für 4-6 €/Monat ihren Netzwerkport sättigt, lange bevor die CPU es merkt. Contabo dient hier wegen des Preis-Bandbreiten-Verhältnisses als Beispiel, und die Bare-Metal-Anleitung steht in unserem Leitfaden zum selbstgehosteten WireGuard auf Contabo, falls Sie den manuellen Weg vergleichen möchten.

Hol dir einen Contabo-VPS für wg-easy →

Eine zweite Option, wenn Ihnen eine 30-tägige Rückgabefrist lieber ist: der VPS Basic von Ultahost, am 21. Oktober 2026 auf ultahost.com gelesen mit 5,52 $ pro Monat bei 24 Monaten Abrechnung (Listenpreis 9,19 $), mit 1 CPU-Kern, 1 GB DDR5, 30 GB NVMe, einer dedizierten IPv4 und 30 Tagen Geld-zurück-Garantie. 1 GB reicht für Docker und den wg-easy-Container bei einem persönlichen VPN. Der Tarif nennt weder Port-Geschwindigkeit noch Traffic-Volumen, prüfen Sie beides vor intensiver Nutzung.

Auf dem Host brauchen Sie Docker und das Compose-Plugin installiert, das WireGuard-Kernelmodul verfügbar (jede moderne Distribution, Linux 5.6+, bringt es mit) und die Möglichkeit, UDP 51820 in sowohl der Host-Firewall als auch der Sicherheitsgruppe Ihres Anbieters zu öffnen.

Die docker-compose-Datei (wg-easy v15)

Versionsprüfung (24. Oktober 2026): Die aktuelle Version ist v15.5.0 (24. Oktober 2026). v15 ist eine komplette Neuentwicklung: WG_HOST, PASSWORD_HASH und die meisten anderen v14-Variablen gibt es nicht mehr, ihre Einstellungen liegen jetzt in der Weboberfläche. Eine v14-Anleitung auf dem Image :latest startet einen Container, der Host und Passwort stillschweigend ignoriert. Alles Folgende ist der v15-Weg, übernommen aus der Compose-Datei und der Dokumentation des Projekts.

v15.5.0 in einer Minute: Sie enthält die Node.js-Sicherheitsupdates vom Oktober 2026, also aktualisieren Sie auch dann, wenn alles läuft: sudo docker compose pull && sudo docker compose up -d (der unten verwendete Tag :15 folgt der neuen Version, Clients und Schlüssel bleiben im Volume). Außerdem hebt sie die eingebaute AmneziaWG-Unterstützung auf Version 3.1, bringt WG_INTERFACE (Standard wg0) für zwei Instanzen auf einem Host und TRUSTED_PROXIES für ein Panel hinter einem Reverse Proxy (siehe Abschnitt zur Absicherung). Quelle: Release Notes zu v15.5.0 und die Dokumentation der optionalen Konfiguration des Projekts.

Diese Datei folgt der offiziellen, mit einer bewussten Änderung: Die Weboberfläche wird nur auf 127.0.0.1 veröffentlicht, das Admin-Panel ist also nie aus dem Internet erreichbar, und Sie öffnen es über einen SSH-Tunnel. Sie wollen ein HTTPS-Panel auf Ihrer eigenen Domain über Caddy oder einen vollständig unbeaufsichtigten ersten Start? Unser wg-easy docker-compose Generator schreibt diese Variante für Sie.

services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy:15
    container_name: wg-easy
    environment:
      - INSECURE=true   # panel over plain HTTP, reached only through an SSH tunnel
    networks:
      wg:
        ipv4_address: 10.42.42.42
        ipv6_address: fdcc:ad94:bacf:61a3::2a
    volumes:
      - etc_wireguard:/etc/wireguard
      - /lib/modules:/lib/modules:ro
    ports:
      - "51820:51820/udp"             # WireGuard data: open to the internet
      - "127.0.0.1:51821:51821/tcp"   # web UI: bound to localhost only
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.default.forwarding=1

networks:
  wg:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: 10.42.42.0/24
        - subnet: fdcc:ad94:bacf:61a3::/64

volumes:
  etc_wireguard:

Was jeder Teil tut und wo es meistens hakt:

  • 127.0.0.1:51821:51821/tcp hält das Panel von der öffentlichen Schnittstelle fern. Das ist wichtiger, als es aussieht: Von Docker veröffentlichte Ports umgehen UFW, ein einfaches "51821:51821/tcp" ist also für die Welt offen, auch wenn ufw status etwas anderes sagt.
  • INSECURE=true ist nötig, weil das Panel hier über einfaches HTTP ausgeliefert wird (die Verschlüsselung übernimmt der SSH-Tunnel). Ohne diese Variable markiert v15 sein Login-Cookie als Secure, der Browser verwirft es über HTTP, und Sie landen nach jedem Versuch wieder auf der Anmeldeseite.
  • cap_add: NET_ADMIN und sysctls: net.ipv4.ip_forward=1 erlauben dem Container, die WireGuard-Schnittstelle anzulegen und für Ihre Clients zu routen. Fehlt eines davon, verbindet sich der Tunnel und leitet dann nichts weiter.
  • Das benannte Volume etc_wireguard enthält die Datenbank mit allen Schlüsseln und Clients, docker compose down und danach up behält also Ihre Geräte.

Datei anlegen und starten, mit der Verzeichnisstruktur der offiziellen Doku:

sudo mkdir -p /etc/docker/containers/wg-easy
cd /etc/docker/containers/wg-easy
sudo nano docker-compose.yml   # paste the file above
sudo docker compose up -d
sudo docker compose logs -f wg-easy   # Ctrl+C once it is listening

Dann erreichen Sie das Panel von Ihrem eigenen Rechner aus durch den Tunnel:

# on your own computer, not on the server
ssh -L 51821:127.0.0.1:51821 user@YOUR_SERVER_IP
# then open http://localhost:51821 in your browser

Erster Start: der Einrichtungsassistent (kein PASSWORD_HASH mehr)

Der bcrypt-PASSWORD_HASH und der Befehl wgpw, denen jede v14-Anleitung einen Abschnitt widmet, sind weg. Beim ersten Aufruf öffnet v15 stattdessen einen Assistenten:

  1. Admin-Konto anlegen: Benutzername und Passwort. wg-easy speichert das Passwort selbst als argon2-Hash, es gibt also nichts zu erzeugen oder in einer .env-Datei zu escapen.
  2. „Haben Sie eine bestehende Einrichtung?" Antworten Sie bei einer Neuinstallation mit Nein (Ja ist der v14-Import, siehe unten).
  3. Host und Port: die öffentliche IP oder Domain, die Ihre Clients anwählen (eine IPv6-Adresse steht in eckigen Klammern, etwa [2001:db8::1]), und der UDP-Port, 51820, sofern Sie das Mapping nicht geändert haben. Genau dieser Wert landet als Endpoint in den Clients.

DNS, der Adressbereich der Clients und die Standard-Allowed-IPs werden jetzt im Admin-Panel eingestellt, nicht mehr über Umgebungsvariablen. Um den Assistenten ganz zu überspringen (Ansible, cloud-init), liest v15 nur beim allerersten Start INIT_ENABLED=true mit INIT_USERNAME, INIT_PASSWORD, INIT_HOST und INIT_PORT; entfernen Sie die Zeilen, sobald der Container läuft, damit das Passwort nicht in der Datei bleibt. Der Generator schreibt diese Zeilen auf Wunsch für Sie.

Ausgesperrt? Setzen Sie das Admin-Passwort auf dem Server zurück:

cd /etc/docker/containers/wg-easy
sudo docker compose exec -it wg-easy cli db:admin:reset

Umstieg von v14

Ein Upgrade an Ort und Stelle gibt es nicht. Klicken Sie im alten Panel auf Backup, um wg0.json herunterzuladen, notieren Sie Ihre alten Umgebungsvariablen, führen Sie docker compose down aus, starten Sie die v15-Datei oben, antworten Sie im Assistenten mit Ja und laden Sie wg0.json hoch: Schlüssel und Clients werden übernommen, die alten Variablen nicht, also DNS und Allowed IPs im Admin-Panel neu setzen. Eine harte Grenze aus dem Migrationsleitfaden: armv6- und armv7-Hosts (ältere Raspberry Pi) können nicht auf v15 wechseln und müssen auf :14 bleiben.

Sie bleiben auf v14 oder verabschieden sich vom Panel? Dieselbe Backup-Datei lässt sich in WireGuard Manager einfügen, unser gehostetes Dashboard (kostenlos für 1 Server und 3 Peers): Da wg0.json den privaten Schlüssel jedes Clients enthält, stehen .conf und QR-Code jedes Geräts sofort wieder bereit, und es erzeugt eine normale wg0.conf für wg-quick, falls Sie wg-easy abschalten. Beim Import ändert sich auf dem Server nichts.

Ihren ersten Client hinzufügen

Klicken Sie im Dashboard auf New Client, geben Sie ihm einen Namen (z. B. laptop, pixel-telefon), und wg-easy erzeugt das Schlüsselpaar und eine fertige Konfiguration. Für einen Computer laden Sie die .conf herunter und importieren sie in die WireGuard-App oder die Konfigurationsvorlagen; fürs Telefon klicken Sie auf das QR-Symbol und scannen es mit der mobilen WireGuard-App - kein Tippen, kein Dateitransfer. Der Schalter pro Client deaktiviert ein Gerät sofort, ohne es zu löschen, was der richtige Weg ist, ein verlorenes Telefon zu sperren.

Client importiert, aber nichts geht? Drei Ursachen decken fast jeden Fall ab, und für jede gibt es ein Tool. Der Status bleibt ohne Handshake: UDP 51820 erreicht den Container nicht, dann prüfen Sie mit dem WireGuard-Port-Checker, der die Firewall-Regel für Ihren Host (ufw, firewalld, nftables, iptables) schreibt und einen tcpdump-Test, der zeigt, ob die Pakete ankommen. Handshake steht, aber Seiten hängen oder laden nur halb: ein MTU-Problem, das der MTU-Rechner für Ihre Leitung berechnet (Wert in die Client-Konfiguration eintragen). Nur einen Teil des Verkehrs durch den Tunnel schicken oder das Heimnetz erreichbar halten: Der AllowedIPs-Rechner liefert die genaue Liste für die Standard-Allowed-IPs von wg-easy.

Das Admin-Panel absichern - jetzt, nicht später

Die Weboberfläche kann VPN-Clients anlegen, daher ist ein exponiertes, schwach geschütztes Panel die eigentliche Gefahr bei wg-easy. Drei Schichten, nach Präferenz:

  1. Veröffentlichen Sie 51821 niemals im Internet. Lassen Sie in der Firewall Ihres VPS-Anbieters UDP 51820 offen und halten Sie TCP 51821 für die Welt geschlossen. Erreichen Sie das Panel nur von Ihrer eigenen IP - oder, am saubersten, verbinden Sie sich zuerst mit dem VPN und öffnen das Dashboard über den Tunnel, sodass der Admin-Port nie zum Internet zeigt.

  2. Starkes Passwort, dann 2FA einschalten. v15 bietet eine TOTP-Zwei-Faktor-Anmeldung: Menü oben rechts öffnen, dann Account, Zwei-Faktor-Authentifizierung aktivieren und den QR-Code mit Ihrer Authenticator-App scannen. Behandeln Sie den Panel-Login wie ein Root-Passwort.

  3. Setzen Sie TLS davor, wenn Sie es aus der Ferne erreichen müssen: einen Reverse Proxy (Caddy, Traefik, nginx), der HTTPS mit einem echten Zertifikat terminiert, idealerweise mit Allowlist. Klartext-HTTP auf einem öffentlichen Port ist die einzige Konfiguration, die Sie vermeiden sollten.

    Setzen Sie seit v15.5.0 zusätzlich TRUSTED_PROXIES auf die Quelladresse Ihres Proxys (bei einem Caddy-Container im selben Docker-Netz dessen IP in diesem Netz). wg-easy liest X-Forwarded-Host und X-Forwarded-For dann nur von dieser Adresse, und fehlgeschlagene Anmeldungen werden mit der echten Client-IP protokolliert: Ein Werkzeug wie CrowdSec sperrt so den Angreifer statt Ihres Proxys. Eine fehlerhafte Adresse verhindert den Start des Containers: Prüfen Sie nach der Änderung docker compose logs.

Ein selbstgehostetes VPN, dem sich jeder Passant selbst hinzufügen kann, ist schlimmer als gar kein VPN. Das Panel sind die Schlüssel zum Königreich - schützen Sie es entsprechend.

wg-easy gegen die Alternativen

  • vs PiVPN - PiVPN installiert WireGuard direkt auf dem Host und verwaltet Peers vom Terminal (pivpn add, pivpn -qr). Kein Container, keine Weboberfläche. Wählen Sie PiVPN für eine schlanke, skriptbare Bare-Metal-Maschine; wählen Sie wg-easy, wenn Sie wirklich ein anklickbares Dashboard und Live-Statistiken wollen.
  • vs eine handgeschriebene Konfiguration - wg0.conf selbst zu bearbeiten ist die transparenteste und leichteste Option, ideal für eine VPN-Maschine mit einem einzigen Zweck und Infrastructure-as-Code. wg-easy tauscht etwas zusätzliche Fläche (die Web-App) gegen schnelle, CLI-freie Client-Verwaltung.
  • vs andere Self-Host-Stacks - Wollen Sie ein Mesh (jedes Gerät spricht direkt, NAT-Traversal für Sie erledigt) statt eines klassischen Stern-Servers, hat wg-easy die falsche Form; das ist das Terrain von Tailscale/Headscale/NetBird, verglichen in unserem Leitfaden zum besten Self-Host-VPN.

wg-easy läuft auch problemlos neben anderen Containern, weshalb es sich natürlich mit einer breiteren WireGuard-in-Docker-Einrichtung verbindet.

Wann wg-easy die richtige Wahl ist - und wann nicht

Nutzen Sie wg-easy, wenn Sie mehrere Personen oder Geräte einrichten, die QR-Code-Telefoneinrichtung wollen, den Verbindungsstatus gerne live sehen oder schlicht ein Panel einer Konfigurationsdatei vorziehen. Es macht aus „einen VPN-Client einrichten" statt einer fünfminütigen CLI-Pflicht zwei Klicks.

Lassen Sie wg-easy aus, wenn die Maschine nichts weiter tut, als ein oder zwei WireGuard-Peers zu bedienen (eine handgeschriebene Konfiguration ist einfacher und hat ein bewegliches Teil weniger), wenn Sie den Admin-Port nicht sicher aus dem Internet heraushalten können, oder wenn Sie eigentlich ein Mesh statt eines Servers wollen. Für alle anderen ist wg-easy der schnellste ehrliche Weg von einem frischen VPS zu einem funktionierenden, verwaltbaren WireGuard-VPN.

Ihr VPN verbirgt Ihre IP. Nicht Ihren Browser.

Ein korrekt eingerichteter WireGuard-Tunnel ersetzt die Adresse, die eine Website sieht. An dem, was Ihr Browser von sich aus preisgibt, ändert er nichts: Schriften, Bildschirm, Zeitzone, Grafik-Stack. Diese Kombination reicht oft aus, um Sie über Sitzungen hinweg wiederzuerkennen.

Messen Sie Ihren Browser-Fingerabdruck, passiv, ohne Fragen, ohne Konto, ohne E-Mail-Adresse.

Die ehrliche Einschränkung

wg-easy macht WireGuard einfacher zu verwalten, nicht privater oder sicherer, als WireGuard ohnehin schon ist. Es teilt sich den Host-Kernel, läuft mit NET_ADMIN und ist nur so abgesichert wie der Host und das Admin-Panel, das Sie davorsetzen. Es prüft Ihre Clients nicht, verhindert allein keine DNS-Leaks (setzen Sie den DNS im Admin-Panel und prüfen Sie nach) und schützt Sie nicht, wenn Sie 51821 offen lassen. Behandeln Sie es als Komfortschicht über echtem WireGuard: deployen, Host und Panel härten, den Datenport öffentlich und den Admin-Port privat halten - und Sie haben ein selbstgehostetes VPN, das Sie für einen ganzen Haushalt wirklich betreiben können, ohne im Terminal zu leben.

Affiliate-Link

Preis geprüft am 17.10.2026, Laufzeit 24 Monate

Häufig gestellte Fragen

Was ist wg-easy?
wg-easy ist ein Open-Source-Projekt, das WireGuard in eine kleine Weboberfläche verpackt. Sie betreiben es als einzelnen Docker-Container; es verwaltet den WireGuard-Server für Sie und gibt Ihnen ein Browser-Dashboard, um Clients hinzuzufügen und zu entfernen, deren Konfigurationen herunterzuladen oder per QR zu scannen und Upload/Download pro Peer live zu sehen. Die Verschlüsselung ist weiterhin reines WireGuard im Kernel des Hosts - wg-easy übernimmt nur die Peer-Verwaltung und die Oberfläche, daher gibt es keinen Leistungsnachteil gegenüber einer handgeschriebenen Konfiguration.
Ist es sicher, wg-easy ins Internet zu stellen?
Nur der WireGuard-Datenport (standardmäßig UDP 51820) sollte zum Internet zeigen. Der Admin-Webport (51821) darf NICHT für die Welt offen sein - wer ihn erreicht und das Passwort errät oder per Brute-Force knackt, kann sich selbst einen VPN-Client erstellen. Beschränken Sie den Webport per Firewall-Regel auf Ihre eigene IP, stellen Sie einen Reverse Proxy mit TLS davor, oder erreichen Sie ihn über den Tunnel selbst. Binden Sie das Panel in v15 an 127.0.0.1 und erreichen Sie es über einen SSH-Tunnel oder über HTTPS, und aktivieren Sie die eingebaute Zwei-Faktor-Anmeldung: Ein offenes Panel ist das Hauptrisiko.
Was ist der Unterschied zwischen wg-easy und PiVPN?
Beide vereinfachen WireGuard, aber unterschiedlich. PiVPN ist ein Installationsskript, das WireGuard (oder OpenVPN) direkt auf dem Host einrichtet und Ihnen CLI-Befehle (pivpn add, pivpn -qr) zur Peer-Verwaltung gibt - kein Container, keine Weboberfläche. wg-easy läuft als Docker-Container und sein ganzer Zweck ist das Browser-Dashboard. Wählen Sie PiVPN, wenn Sie eine schlanke, terminalgesteuerte Bare-Metal-Einrichtung auf einem Raspberry Pi oder VPS mögen; wählen Sie wg-easy, wenn Sie ein anklickbares Panel und Live-Statistiken wollen.
Brauche ich für wg-easy weiterhin einen VPS?
Wenn Sie ein VPN wollen, das Sie von überall mit einer stabilen öffentlichen IP erreichen, ja - wg-easy braucht weiterhin einen Host mit einer routbaren Adresse, genau wie jeder WireGuard-Server. Ein kleiner VPS (4-6 €/Monat) ist die Standardwahl und sättigt seine Anbindung mit WireGuard mühelos. Nur für den Fernzugriff auf ein Heimnetz können Sie wg-easy auf einem Heimserver hinter Portweiterleitung betreiben, verlieren dann aber die saubere statische IP.
Warum verbindet sich wg-easy, leitet aber keinen Traffic weiter?
Fast immer die Host-Firewall oder das IP-Forwarding. Der Container braucht die Fähigkeit NET_ADMIN und der Host muss Pakete weiterleiten (net.ipv4.ip_forward=1) - wg-easy setzt das in seiner Compose-Datei, aber die separate Sicherheitsgruppe eines Cloud-Anbieters kann UDP 51820 dennoch blockieren. Öffnen Sie diesen Port in der Firewall des Anbieters, nicht nur auf dem Host. Schließt der Handshake ab, hängen die Seiten aber weiterhin, ist der nächste Verdächtige die MTU und nicht wg-easy selbst.