Home » Linux » Schnell und einfach einen Wireguard VPN betreiben
|

Schnell und einfach einen Wireguard VPN betreiben

In diesem Tutorial zeige ich Euch, wie Ihr schnell und einfach unter 30 Minuten einen eigenen Wireguard VPN Server auf einem Server in einem Rechenzentrum installieren und betreiben könnt. Dies ist nützlich, falls Ihr Euch auf Auslandsreisen befindet, und Ihr z.B nicht wollt, dass der Provider genau weiss, wo Ihr Euch befindet, also Ihr Eure Privatsspähre erhöhen wollt, oder unterwegs auf Mediatheken zugreifen wollt, welche zum Beispiel Geo-gesperrt sind. WireGuard ist eine moderne VPN (Virtual Private Network) Software, die für ihre Einfachheit, hohe Sicherheitsstandards und schnelle Performance bekannt ist. Im Vergleich zu anderen VPN-Protokollen wie OpenVPN oder IPSec, setzt WireGuard auf einen schlankeren Ansatz, was sowohl die Implementierung als auch die Wartung vereinfacht.

Was ist Wireguard

WireGuard ist ein relativ neues Open-Source-Projekt, das darauf abzielt, VPN-Technologien zu vereinfachen und zu beschleunigen. Es wurde ursprünglich für den Linux-Kernel entwickelt, ist aber mittlerweile für die meisten Betriebssysteme verfügbar, einschließlich Windows, macOS, BSD, iOS und Android. WireGuard verwendet moderne Kryptografie-Techniken und bietet eine sichere Ende-zu-Ende-Verschlüsselung.

Vorteile von Wireguard gegenüber openVPN und ipSec

Einfachheit und Benutzerfreundlichkeit: Eines der Hauptziele von WireGuard ist es, einfacher zu konfigurieren und zu verwenden zu sein als andere VPN-Lösungen. Die Konfigurationsdateien sind für Menschen lesbar und leicht verständlich, was die Einrichtung und Wartung erheblich vereinfacht.

Sicherheit: WireGuard verwendet state-of-the-art Kryptografie-Protokolle und -Algorithmen, wie zum Beispiel Curve25519 für Schlüsselaustausch, ChaCha20 für Verschlüsselung, Poly1305 für Authentifizierung und BLAKE2s für Hashing. Diese Auswahl an modernen, sicheren Technologien hilft, potenzielle Sicherheitslücken zu minimieren.

Leistung und Effizienz: WireGuard ist für seine hohe Performance und geringen Latenzzeiten bekannt. Es ist deutlich schneller als ältere VPN-Protokolle, vor allem aufgrund seines minimalistischen Designs und der effizienten Verschlüsselungsmethoden. Dies macht es besonders vorteilhaft für mobile Anwendungen, wo Ressourcen begrenzt sind.

Cross-Plattform-Unterstützung: Wie bereits erwähnt, unterstützt WireGuard eine Vielzahl von Betriebssystemen, was es zu einer flexiblen Lösung für unterschiedliche Geräte und Anwendungen macht.

IP-Routing und Roaming: WireGuard unterstützt nahtloses Roaming zwischen verschiedenen Netzwerkverbindungen. Das bedeutet, dass zum Beispiel ein Mobiltelefon, das von einer Wi-Fi-Verbindung zu einer mobilen Datenverbindung wechselt, die VPN-Verbindung nicht verliert. Dies ist besonders nützlich für Nutzer, die ständig unterwegs sind.

Transparenz und Open Source: Da WireGuard Open Source ist, kann der Code von jedem eingesehen, überprüft und verbessert werden. Dies fördert Transparenz und Sicherheit durch eine breite Community-Unterstützung

Vorausetzungen

Ihr benötigt zuerstmal einen Rechner, das kann ein Linux Rechner zuhause sein, der läuft, wenn Ihr unterwegs seid, oder auch ein kleiner Server in einem Rechenzentrum z.B bei Ionos oder Hetzner sein. Wichtig ist dass ein einigermassen aktuelles Debian in der Version 11/12 läuft, oder ein Ubuntu ab der Version 20.04 bis 22.04 auf dem Server läuft. In einem Rechenzentrum könnt Ihr die günstigere Versionen mit 2 CPU Kernen und 4GB RAM nehmen. Verschiedene Angebote könnt Ihr Euch z.B hier mal anschauen:

https://www.ionos.de/server/vps

Wie bereits erwähnt, reicht ein Server dieser grösse aus, damit sich Eure Familienmitlieder oder Freunde Eurem eigenen VPN verbinden können, und da die Server bei Ionos, oder Ihn Rechenzentrem allgemein an sehr schnelle Interverbindungen angebunden sind, müsst Ihr Euch auch keine Sorgen, z.B beim Streaming machen.

Der Rechner zuhause sollte auch mindestens 2 CPU Kerne haben, 4GB RAM, benötigt jedoch praktischen keinen Festplattenspeicher. Zuhause seid Ihr an die Internetgeschwindigkeit Eurer Leitung gebunden, heisst also wenn Ihr eine Bambusleitung habt, ist unterwegs auch nicht mit viel Geschwindkeit zu rechnen, da der gesammte Datenverkehr zu Euch nach hause getunnelt wird, und dann auch WLAN oder 5G Geschwindkeiten deutlich ausgebremst werden.

Server im Rechenzentrum

Das vorgehen einen VPS Server zu mieten ist wirklich einfach. Die Provider führen Euch bei einem Klick auf Konfigurieren durch die Konfiguration (Betriebssystem Ubuntu 20.04/22.04 oder Debian 11/12 nehmen) allen anderen Schmarn abwählen, registrieren und Kreditkartendaten angeben --> fertig.

Der Login geschieht über die öffentliche IP des Servers, z.B mit Putty von einem Windows Rechner aus, oder normal über das Terminal Eures Linux Rechners.

Die Logindaten Eures Servers findet Ihr meisst auch auf der Server-Übersicht.

Firewall Konfiguration

Damit der Wireguard VPN Server funktioniert, müsst Ihr in den Firewall Einstellungen Eures Servers den entsprechenden Port freigeben, über der Wireguard kommuniziert. Dieser Port ist 51820 UDP

Ausserdem müsst Ihr den Port 51821 TCP für das Webinterface freigeben, damit Ihr am Server einfach Wireguard über die Weboberfläche bedienen könnt.

Die Firewall-Einstellungen findet Ihr meisst im Bereich Netzwerk/Firewall-Richtlinien. Bei Ionos sieht das z.B so aus:

Stellt sicher das der Port 51820 als UDP konfiguriert ist. Die Einstellungen im Rechenzentrum sind bereits schon abgeschlossen. Stellt sicher das Ihr Eure öffentliche IP, und das Passwort notiert habt:

Betrieb zuhause

Habt Ihr keine fixe IP Adresse, wäre eine Domain bei einem DynDNS Provider sinnvoll, da es sein kann, das die IP Adresse sich bei einem kurzen Verbindungsabruchs des Modems, oder ein unerwarteter Neustart, sich Eure öffentliche IP Adresse ändern könnte. In diesem Tutorial erfahrt Ihr, wie Ihr Euch eine DynDNS Adresse einrichtet, um bei einem Wechsel der IP Adresse trotzdem den VPN weiter verwenden könnt. Da die Gefahr aber relativ gering ist, dass Ihr eine neue IP Adresse bekommt, kann das bei einem kurzen Trip eher vernachlässigt werden. Ist ein Ausfall nicht unbedingt kritisch, könnt Ihr die IP Adresse Eures Heimanschluss bei der Installation von Wireguard verwenden.

Beim Betrieb zuhause, muss der Linux Rechner einfach online bleiben, bis Ihr wieder zuhause seid. Stellt also sicher dass der Schlafmodus deaktiviert ist. Da der Rechner zuhause eine LAN IP hat, müssen wir ein Portfowarding erstellen. Wie das funktioniert, erfahrt Ihr in diesem Beitrag hier! Stellt sicher, dass Ihr den Port 52180 UDP an die entsprechende interne IP des Rechners, auf dem Wireguard läuft, weitergeleitet wird. Habt Ihr eine Firewall auf dem Linux Rechner am laufen, stellt sicher das der benannte Port ebenso freigegeben worden ist.

Den Port 82821 müsst Ihr zuhause nicht weiterleiten, da Ihr Euch lokal und intern mit Eurem Wireguard Server verbinden könnt.

Wireguard Installation

Loggt Euch auf Eurem VPS Server via SSH ein, oder öffnet Euer Terminal auf Eurem lokalen Rechner, falls Ihr den Wireguard Server zuhause betreibt. Die Installation ist sehr simple. Wir verwenden ein fertiges Docker-Image, welches alles fertig einrichtet. Nur die IP Adressen müssen wir anpassen.

Zuerst installieren wir uns Docker. Docker ist eine Plattform für das Containerisieren von Anwendungen, wodurch diese mit ihren Abhängigkeiten in Containern verpackt und leicht zwischen Umgebungen portiert werden können. Es vereinfacht die Entwicklung, den Versand und die Ausführung von Software. Es bringt quasi alles mit, was den Betrieb von Wireguard notwendig macht und wird entsprechend konfiguriert abgeliefert.

Wir updaten unser System mit apt update und installieren Docker mit apt install docker.io

Nun kommt ein grössere Befehl, welche wir uns vorher anpassen müssen:

docker run -d \
  --name=wg-easy \
  -e WG_HOST=<DEINE_SERVER_IP> \
  -e PASSWORD=<DEIN_ADMIN_PASSWORT> \
  -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 \
  weejewel/wg-easy

Beim Server im Rechenzentrum nehmt Ihr die öffentliche IP des Servers, beim Betrieb zuhause nehmt Ihr entweder die öffentliche IP Adresse Eures Routers, oder die DynDNS Domain, falls Ihr eine erstellt habt. Bitte stellt sicher, dass Ihr ein ausreichend starkes Passwort verwendet, solltet Ihr Euren Wireguard Server im Rechenzentrum betreiben.

Danach kopiert Ihr den ganzen angepassten Absatz in Eure Konsole und schickt den Befehl einmal ab. Docker installiert nun den Container mit Wireguard und konfiguriert Euch Eurer Gerät entsprechend für die Nutzung und erledigt alle entsprechenden Netzwerkeinstellungen. Mit dem Befehl docker ps könnt Ihr überprüfen, ob der Container nun auch bereits läuft:

Webzugriff und Konfiguration

Habt Ihr den Container am laufen, könnt Ihr via Browser auf den Server zugreifen. Geht die externe IP des Servers ein, gefolgt von der Port Nummer 51821, also in etwas http://1.23.234.34:51821, oderfalls Ihr lokal am selben Rechner arbeitet, auf dem Wireguard installiert ist: localhost:51821
Danach landet Ihr auf dem Web-Interface Eures Wireguard Servers:

Loggt Euch mit Eurem Passwort ein. Dann seid Ihr auch schon auf der ziemlich übersichtlichen Bedienungszentrale, die eigentlich nur aus einer Seite besteht.

Hier könnt Ihr ganz einfach mehrere Konten anlegen, die Ihr Euren Geräten zuteilt. Wichtig ist, dass ein Profil nur einmal verwendet werden kann, es also nicht mit anderen Benutzern geteilt werden kann. Das liegt daran dass sich ein Endgerät über eine Public/Privatekey am Server registriert, und die Verbindung damit sichert. Ein Profil kann also nicht auf 2 Geräten verwendet werden. Ihr könnt aber beinahe unbegrenzt Konten erstellen wie Ihr Lustig seid. Klickt dazu einfach auf New Client, gebt dem Gerät einen Namen, und wiederhollt das solange wie Ihr Accounts benötigt:

In der Übersicht seht Ihr danach Eure Clients. Rechts findet Ihr Optionen wie das aktivieren/deaktivieren des Profils, die QR Anzeige, Möglichkeiten den Client wieder zu entfernen oder diese manuelle Konfiguration für den Client herunterzuladen. Wichtig hierbei ist der QR Code für das Smartphone und die Konfigurationsdatei für den Laptop falls Ihr damit Unterwegs seid.

Server updaten

Falls Ihr eine Update Benachrichtigung bekommt, könnt Ihr folgende Befehle ausführen:

docker stop wg-easy
docker rm wg-easy
docker pull weejewel/wg-easy

Danach den Docker Run Befehl mit der Konfiguration von oben wieder eingeben und ausführen.

Die Installation des Wireguard Servers ist somit schon abgeschlossen. Stellt nochmals Sicher, das Euch lokale Firewall Einstellungen nicht in die quere kommen.

Smartphone, Windows und Linux Client einrichten

Smartphone Client

Für Euer Android oder iPhone benötigt Ihr nichts anderes als die App WG Tunnel von F-Droid oder die App Wireguard von Aurora herunterzuladen könnt. Diese installiert Ihr wie gewohnt, und gebt der App Netzwerkberechtigungen falls Ihr CalyxOS oder GrapheneOS verwendet. Beim ersten öffnen erlaubt Ihr der App als VPN agieren zu dürfen.

Alles was Ihr tun müsst, ist mit dem plus Symbole einen neuen Tunnel zu erstellen, und den QR Code Eures Profils abzufotografieren:

Mit der App Wireguard verhält es sich genau gleich, die iPhone App ist ähnlich einfach zu bedienen. Am Schluss müsst Ihr nur mit dem Schieberregler oben den VPN aktivieren oder wieder deaktiveren.

Linux Client

Auf dem Linux Laptop, geht die Einrichtung von Wireguard einfach am schnellsten. Öffnet Eure Konsole und installiert Wireguard mit sudo apt install wireguard, danach startet Ihr schnell Euren Rechner neu. Als nächstes öffnet Ihr Eurer Terminal erneut, und legt mit sudo nano /etc/wireguard/laptop.conf eine neue Konfiguration an. Laptop kann hierbei geändert werden nach Euren Wünschen. Ladet Euch die Wireguard Konfiguration herunter, öffnet sie, und platziert den kompletten Inhalt in diese Datei. Speichert sie mit STRG+o und beendet mit STRG+x

Die Verbindung stellt Ihr ganz einfach mit folgendem Befehl her, wobei Laptop auf den Namen Eure Konfigurationsdatei anzupassen ist.

wg-quick up laptop

Wireguard stellt die Verbindung dann super schnell her, und Ihr seid mit Eurem VPN verbunden. Mit

wg-quick down laptop

Beendet Ihr die Verbindung wieder.

Windows Client

Ladet Euch den Windows Client hier herunter und installiert diesen auf Eurem Rechner. Startet anschliessend das Programm. Ihr findet links unten den Button Tunnel hinzufügen oder Add Tunnel . Klickt diesen und wählt anschliessend Tunnel aus Datei hinzufügen. Wählt die Datei aus, die Ihr vom Wireguard Server heruntergeladen habt.

Anschliessend bekommt Ihr rechts eine Übersicht der Verbindung. Klickt auf Aktivieren oder Activate, und der Windows Rechner wird sich mit Eurem Wireguard Server verbinden.

Abschluss

Wir haben nun endlich unseren eigenen VPN Server in Betrieb und können gewisse Geolokale Einschränkungen umgehen, uns sicher in fremden WLANs zum Beisiel in öffentlichen Bereichen aufhalten und vielen Schnüfflern erfolgreich verbergen, and welchem Ort wir gerade unterwegs sind. Wir haben auch ein Tutorial geschrieben wie man einen eigen openVPN Server bei sich zuhaue betreibt. Wer lieber openVPN verwendet, kann dieses Tutorial auch auf einer VPS in einen Rechenzentrum anwenden.

Lesst doch noch unseren Artikel, wie man einen VPN richtig verwenden sollte, und auf was zu achten ist, falls Ihr Euch mehr über das Thema informieren wollt.

Ähnliche Beiträge

Schreibe einen Kommentar

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