WireGuard VPN - Client-to-Site via Docker

Im Zeitraum vom 09.04.2024 - 28.03.2025 ist der Support eingeschränkt. In dem genannten Zeitraum, befinde ich mich auf einer Weiterbildung.

Was ist ein VPN?

Das konventionelle VPN bezeichnet ein virtuelles privates Kommunikationsnetz. Virtuell in dem Sinne, dass es sich nicht um eine eigene physische Verbindung handelt, sondern um ein bestehendes Kommunikationsnetz (Internet), das als Transportmedium verwendet wird. Das VPN dient dazu, Teilnehmer des bestehenden Kommunikationsnetzes an ein anderes Netz zu binden.
WireGuard ist eine freie Software zum Aufbau eines virtuellen privaten Netzwerkes (VPN) über eine verschlüsselte Verbindung. WireGuard verfügt zudem aufgrund des Aufbaus über einige Vorteile gegenüber anderen VPN-Protokollen:

  • Eine einfache, minimierte Codebasis, die somit auch leicht verständlich und überprüfbar ist
  • hohe Übertragungsgeschwindigkeiten, da für die Verschlüsselung und Übertragung kaum Ressourcen der Server und Clients belastet werden
  • plattformübergreifende Integration in verschiedene Betriebssysteme wie Windows, Linux, macOS, Android, iOS und weitere.

WireGuard funktioniert auf Linux- und BSD-Betriebssystemen sowie auf Android und iOS.

Client-to-Site VPN

Für diese Art von VPN wird i. d. R. eine VPN-Software auf dem Client eingesetzt, welche mit einem hinterlegten Account eine Verbindung zu einem VPN-Server aufbauen kann. Diese Verbindung zwischen Client und Server erfolgt über ein Transportnetz, und ist in der heutigen Zeit immer verschlüsselt.

Installation

Vorbereitung

Für dieses Tutorial, setzte ich Folgendes voraus:

Docker Container

Mit dem unten stehenden Befehl können Sie den Container starten. Sie müssen jedoch die öffentliche IP-Adresse, Passwort und ggf. den DNS-Server anpassen.
In meinem Beispiel wird der DNS-Server von AdGuard genutzt. Dieser sorgt bereits dafür, dass Werbung (sog. Ads) geblockt wird.
Sollten Sie die grafische Oberfläche nicht über eine Subdomain aufrufen wollen, können Sie nach dem Starten des Containers diese hierüber aufrufen.

Code
http://öffentliche-IP:51821

Client Einrichtung

Der WireGuard Client kann auf der offiziellen Seite heruntergeladen werden.

Installation - WireGuard

Des Weiteren finden sich im Google Play Store sowie App Store von Apple, die Apps für Mobile Endgeräte.
Die Einrichtung ist über den QR-Code oder der Konfigurationsdatei, welcher in der grafischen Oberfläche erstellt oder heruntergeladen werden kann, spielend einfach und bedarf i. d. R. keiner weiteren Erklärung.

Troubleshooting

Können Sie die grafische Oberfläche nicht aufrufen, ist meist der Port in der Firewall nicht freigegeben. Für WireGuard müssen Sie den Port 51820 UDP und für die grafische Oberfläche den Port 51821 TCP freigeben.

Optional

WireGuard Subdomain

vHost-Templates

CloudPanel v2 bietet sogenannte vHost-Templates für verschiedene PHP-Applikation an. Jedoch beziehen sich diese Templates nur auf das Setup genauer gesagt der Grundbetrieb ohne Anpassungen und weitere Einstellungen. Damit Sie jedoch gleich eine fertig konfigurierte vHost haben, die die meisten Szenarien abdeckt, stellen wir Ihnen unser Template zur Verfügung. Um das Template hinzuzufügen, müssen Sie sich via SSH auf Ihren Server einloggen und folgenden Befehl absetzten. Anschließend befindet sich in der Applikationsauswahl das neue Template.

Smarty: vHost Template
clpctl vhost-template:add --name='WireGuard VPN - Foxly IT' --file=https://gist.githubusercontent.com/foxly-it/a243c1e981d5581d98cba5483eb67cdc/raw/0e3c6c29251f52ee88805dc816b0dfbd38c8d3d4/WireGuard%2520VPN%2520-%2520CloudPanel%2520v2

Erstellen Sie nun mit dem zuvor erstellten Template eine Subdomain, z. B. vpn.example.tld.

Sicherheit

Da die grafische Oberfläche des WireGuard-Docker-Containers keine 2FA enthält, bietet es sich an, die Basisauthentifizierung in CloudPanel für diese Subdomain zu aktivieren.

Über den Autor

Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.

Foxly Team

Kommentare