QNAP Einrichtung Wireguard Server & Client

[PROLOG]
Seit QTS 5.0 wird das Wireguard VPN Protokoll unterstützt. Dieses VPN Protokoll erfreut sich immer größerer Beliebtheit, da es einige Vorteile gegenüber anderen Protokollen hat. Einen Vergleich von Wireguard und OpenVPN findet ihr hier Wireguard vs. OpenVPN). Im Fall von QNAP sehe ich einen weiteren großen Vorteil, auf den mancheiner angewiesen ist: Mit Wireguard am QNAP kann man problemlos auch an einem IPv6-Anschluss (CGNAT) arbeiten, was mit den anderen Protokollen, wenn überhaupt, nur mit Umständen möglich ist. Im Folgenden wollen wir einen Wireguard Server auf dem QNAP erstellen und ein anderes QNAP mit diesem verbinden; wie man andere Clients einrichtet, die sich mit dem Server verbinden sollen, erfahrt ihr in den verlinkten Anleitungen am Ende dieses Artikels.


[VORBEREITUNGEN]
Voraussetzung ist, dass der QVPN Service 3 im App Center unter QTS 5.0 oder höher installiert ist, in diesem Fall ist es die Version 3.0.765. Außerdem muss eine Portweiterleitung bzw. -Freigabe in der Firewall/ dem Router eingerichtet sein, der Standardport ist 51820. Leider gibt es da noch eine drastische Einschränkung: Stand März 2022 wird der erforderliche QVPN Service 3 nur von x86 Modellen unterstützt, sodass ARM Modelle derzeit keine Möglichkeit haben Wireguard zu verwenden.

Damit es nicht zu Komplikationen kommt, wenn sich ein Client aus anderen Heimnetzen verbinden will, sollte der Adressbereich des eigenen LAN so umgestellt werden, dass nicht die standardmäßigen Netze verwendet werden, die in den oft verwendeten Routern voreingestellt sind (z.B. Fritzbox 192.168.178.x, Speedport 192.168.2.x).

[SERVER ERSTELLEN]
Zunächst muss der Server durch Setzen des Häckchens aktiviert werden. Anschließend erstellt man ein Schlüsselpaar durch Klick auf den entsprechenden Button und gibt dem Server einen Namen. Dann wählt man den gewünschten DNS Server, entweder mit Hilfe des Wizards oder man trägt ihn manuell ein. Ich verwende hier meine Firewall/ Router als DNS Server, wie ich es für alle Geräte tue. Unter „Netzwerkschnittstelle“ kann man den Server so einrichten, dass dieser nur auf den angegebenen Netzwerkanschlüssen läuft, sofern mehrere vorhanden sind. In den meisten Fällen ist die Voreinstellung „Alle“ die richtige Wahl.
Die Änderungen werden durch einen Klick auf „Apply / Übernehmen“ angewendet und der Server ist fertig eingerichtet. Den öffentlicher Schlüssel kopieren wir uns nun mit dem entsprechenden Button und kopieren diesen temporär in einer Textdatei, da wir diesen gleich noch brauchen. Auch die IP sowie den Port benötigen wir im weiteren Verlauf.
QNAP - Wireguard Server - Servereinstellungen
[CLIENTS/ PEERING]
Das war bis hierhin sehr einfach, nun müssen noch die Clients eingerichtet werden, die sich mit dem Server verbinden sollen, das wird etwas komplizierter, aber kein Hexenwerk.
Dazu muss das „Peering“ für die Clients erstellt werden, hier werden sozusagen die User angelegt. Die erforderlichen Daten erhält man aus der entsprechenden Client-App. Hier in diesem Beispiel ist dies ein anderes QNAP NAS.

Wir widmen uns nun zunächst dem Client und erstellen dort den Tunnel zu dem Server, damit wir die erforderlichen Daten erhalten, die wir anschließend serverseitig eintragen müssen. Dazu wählen wir im linken Menü von QVPN „VPN-Verbindungsprofile und oben „Hinzufügen“ > Wireguard.
QNAP - Wireguard Client - Verbindung anlegen
(nicht irritieren lassen: auf dem Screenshot sind bereits andere VPN Verbindungen eingerichtet)

Im darauffolgenden Fenster machen wir folgende Angaben, zuvor betätigen wir den Button „Key-Paare generieren“:

Servername
Hier könnt ihr euch einen Namen aussuchen, ich würde ihn in der Praxis nach dem Server benennen.
Privater Schlüssel
Dieser wurde zuvor erstellt und wird nicht weiter benötigt.
Öffentlicher Schlüssel (1)
Diesen brauchen wir später wieder beim Server und kopieren ihn uns ebenfalls in eine Textdatei.
IP-Adresse
Tunnel-IP die der Client bekommen soll. Diese IP ist identisch zu der IP, die serverseitig eingestellt wurde, wobei sich die letzte Zahl unterscheiden muss. Sollten mehrere Clients eingerichtet werden, muss sich die letzte Zahl bei allen unterscheiden. Es empfiehlt sich, diese für jeden Client hochzuzählen. Im Beispiel hat der Server die IP „198.18.7.1“ sodass wir für den ersten Client die „198.18.7.2“ wählen.
Diese Einstellung notieren/ merken wir uns, da diese später überprüft und ggf. geändert werden muss. Das liegt in einer blöden Eigenschaft von Wireguard, die mit dem „Henne-Ei-Problem“ vergleichbar ist: Bei Wireguard müssen Server und Client „über Kreuz“ konfiguriert werden, sodass man eine Seite nicht fertigstellen kann, ohne bereits die andere Seite fertig konfiguriert wurde.
Empfangsport
Ist der beim Server angegebene Port.
DNS Server
Hier wähle ich die IP vom VPN Server, es ist aber auch möglich einen Server aus dem Assistenten zu wählen oder einen beliebig anderen anzugeben.
Öffentlicher Schlüssel (2)
Hier muss der beim Server kopierte Schlüssel eingefügt werden.
Endpoint
Hier wird die IP Adresse bzw. der DynDNS-Name samt Port angegeben, unter der/ dem der Server erreichbar ist.
QNAP - Wireguard Client - Verbindungseinstellungen
Zulässige IPs
An die Einstellung kommt man, wenn man die erweiterten Einstellungen aufklappt. Hier muss angegeben werden, welche IP Adressen über das VPN erreichbar sein sollen.
Im einfachsten Fall gibt man hier die IP Adresse von seinem LAN an, das könnte z.B. „192.168.10.0/24“ sein.
Meistens ist es aber erwünscht und sinnvoll, dass „alles“ über das VPN geleitet wird, in diesem Fall ist die Angabe „0.0.0.0/1,128.0.0.0/1“ erforderlich.
QNAP - Wireguard Client - Verbindungseinstellungen, erweitert
Durch einen Klick auf „Erstellen“ ist der Tunnel einsatzbereit, muss nun aber noch serverseitig konfiguriert werden. Wir wechseln also zurück zum Server und klicken auf „Peer hinzufügen“.
QNAP - Wireguard Server - Peer hinzufügen
In dem Fenster das sich nun auftut klappen wir direkt die erweiterten Einstellungen auf und machen folgende Angaben:
Peer-Name
Hier vergeben wir wieder einen freien Namen, den ich in der Praxis so wählen würde, dass nachvollziehbar ist, um welchen Benutzer/ welches Gerät es sich handelt.
Öffentlicher Schlüssel
Hier fügen wir den Schlüssel ein, den wir beim Client kopiert haben.
Zulässige IP
Diese IP wird hier fest vorgegeben und muss mit der IP übereinstimmen, die beim Client angegeben wurde. Stimmen die IPs nicht überein, muss der Client nochmal entsprechend bearbeitet werden.
QNAP - Wireguard Server - Peereinstellungen
Mit „Übernehmen“ speichern wir die Einstellungen und die Einrichtung ist abgeschlossen.
Um die Verbindung herzustellen, wechseln wir nun zum Client und klicken in der Übersicht der VPN-Verbindungsprofile auf das Kettensymbol.


[EPILOG]
Bis auf das lästige „Henne-Ei-Problem“ war es gar nicht so kompliziert zwei QNAP NAS mittels Wireguard VPN zu verbinden. Auf diese Weise können nun z.B. Backups zwischen den Geräten erfolgen. Dabei ist es möglich entweder die Wireguard IP (Server= 198.18.7.1, Client= = 198.18.7.2) oder die LAN IP des jeweiligen Geräts zu verwenden, wobei angemerkt werden muss, dass der Server auf letztere Weise nicht auf den Client zugreifen kann, daher empfehle ich hier die Verwendung der Wireguard-IPs.

Wie man andere Geräte wie Android-Smartphones oder Windows-Rechner mit dem Server verbindet, erfahrt ihr hier:
QNAP Einrichtung Wireguard & Android
QNAP Einrichtung Wireguard & Windows

---

Vielen Dank an den User tiermutter für diese Anleitung!

Wenn Du Fragen zu dieser Anleitung hast, dann schau doch einfach mal bei uns im vorbei!