WireGuard (VPN) mit Docker installieren (2024)
WireGuard (VPN) mit Docker installieren (2024)

WireGuard (VPN) mit Docker installieren (2024)

Das letzte Update war vor 15. Februar 2024 von Benedikt Schächner

Unser LinkedIn-Profil: https://url.schächner.de/srh

In dieser Anleitung zeigen wir Ihnen, wie Sie WireGuard kostenlos und ohne Domain installieren könnt.

WireGuard ist ein VPN-System, mit dem Sie überall auf der Welt auf Ihre IP-Adresse zugreifen können. Dabei gibt es verschiedene Funktionen, wie z. B., dass der Verkehr außerhalb dem Tunnel deaktiviert wird oder dass man seinen eigenen DNS-Server festlegen kann und dadurch über die VPN auch irgendwo anders auf der Welt verschiedene Dienste und Webseiten der Geräte sperren kann.

Grundsätzlich brauchen wir ein System, auf dem Docker läuft. Wenn Sie dann eine SSH-Verbindung zu diesem System hergestellt haben, kann es auch schon losgehen:

Für die Installation brauchen wir nur den folgenden Code. Bei diesem müssen Sie lediglich den WG_HOST (zur öffentlichen Server-IP-Adresse) und das Admin-Passwort anpassen. Die öffentliche IP-Adresse des Servers können Sie finden, indem Sie in Google nach „What is my IPv4“ suchen und dann eine Webseite anklickt – diese zeigt Ihnen dann Ihre öffentliche IP-Adresse an. Falls Sie jedoch auch eine Domain gekauft haben, können Sie diese hier auch eintragen. Hierbei müssen Sie nur darauf achten, dass diese Domain nicht über Cloudflare weitergeleitet wird. Das heißt, bei Proxy muss das Häkchen raus auf „Nur DNS“.

sudo docker run -d \
  --name=wg-easy \
  -e LANG=de \
  -e WG_HOST=🚨YOUR_SERVER_IP \
  -e PASSWORD=🚨YOUR_ADMIN_PASSWORD \
  -e WG_DEFAULT_DNS=1.1.1.1 \
  -v ~/.wg-easy:/etc/wireguard \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --sysctl="net.ipv4.ip_forward=1" \
  --restart unless-stopped \
  ghcr.io/wg-easy/wg-easy

Sie können auch noch andere Anpassungen vornehmen:

Falls Sie einen eigenen DNS-Server (z. B. mit AdGuard Home) haben, können Sie diesen in WG_DEFAULT_DNS eintragen. Hierzu müssen Sie die IP-Adresse des Gerätes des DNS-Servers eintragen – keine öffentliche IP oder Domain! Und ja, es funktioniert mit der privaten IP-Adresse des Gerätes, denn wir stellen ja eine VPN-Verbindung, also Verbindung zu unserem Heim-Netzwerk her.

Der zweite Port, der angegeben ist (51821), ist für die grafische Oberfläche zuständig und der erste für die VPN. Wir empfehlen hier, nichts zu ändern.

Beachtet auch, dass Sie in der letzten Zeile das Image von „ghcr.io/wg-easy/wg-easy“ nutzen – es gibt viele Anleitungen, die noch „weejewel/wg-easy“ oder andere benutzen – diese sind aber veraltet und es kommt ein Fehler, dass man doch bitte Node.js updaten sollte. Also: benutzt nur „ghcr.io/wg-easy/wg-easy“!

Nachdem Sie sich den langen Text jetzt durchgelesen haben, können wir im Browser fortfahren.

Dazu müssen Sie die [IP-Adresse des Servers]:51821 öffnen und können hier einen neuen Client erstellen, indem Sie sich anmelden und über den Button „New“ einen neuen Client erstellen:

Hier kann man einen neuen Client erstellen

Diesen muss man dann einen Namen geben:

Und anschließend erscheint dieser in der Liste:

Über den roten Schalter kann man diese Verbindung zentral ein oder ausschalten, über den QR-Code kann man eine direkte Verbindung zu dieser VPN herstellen, falls man das iOS oder Android App hat.

Über den Download-Button kann man die „Tutorial.conf“ – Datei herunterladen. Der Inhalt der Datei sieht ungefähr so aus:


[Interface]
PrivateKey = [PRIVATE_KEY]
Address = [PRIVATE_ADRESS]
DNS = [DNS_SERVER]


[Peer]
PublicKey = [PUBLIC_KEY]
PresharedKey = [PRESHARED_KEY]
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 0
Endpoint = [YOUR_SERVER_IP]:51820

Diese Datei kann man dann beispielsweise in Windows über das App importieren:

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert