Quick Guide - Wireguard Server auf QNAP einrichten

[PROLOG]

Seit QTS 5.0 wird das Wireguard VPN Protokoll unterstützt, da kam schnell die Frage auf, wie man dies einrichtet. Die Oberfläche in der QVPN App habe ich mir beim Test von QTS 5 bereits angeschaut und bin daher der Meinung, dass die Einrichtung kein Hexenwerk sein kann. Ob ich richtig liege will ich in dieser Schnellanleitung herausfinden.


[VORBEREITUNGEN]

Voraussetzung ist, dass der QVPN Service im App Center unter QTS 5.0 oder höher installiert ist, in diesem Fall ist es die Version 3.0.739.
Außerdem muss eine Portweiterleitung/ -Freigabe in der Firewall eingerichtet sein, der Standardport ist 51820.


[SERVER ERSTELLEN]

Zunächst muss der Server durch Setzen des Häkchens 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 als DNS Server, wie ich es für alle Geräte tue.

WG_Server.PNG

Die Änderungen werden durch einen Klick auf „Apply / Übernehmen“ angewendet und der Server steht schonmal.


[CLIENTS/ PEERING]

Anschließend muss das Peering für die Clients erstellt werden, hier werden sozusagen die User angelegt. Ich mache das unter Windows 10 mit der Wireguard App.

Mit einem Klick auf „neuen leeren Tunnel erstellen“ wird der Tunnel erstellt, dabei wird automatisch ein Public Key erstellt, den wir gleich noch benötigen.

WG_Client.PNG


Außerdem müssen noch ein paar Daten ergänzt werden:

Interface

Adress gibt an, welche IP Adresse aus dem Wireguard-Netz der Client erhalten soll, diese muss mit dem Adressbereich des Servers übereinstimmen.

DNS gibt nochmal an, welcher DNS Server verwendet werden soll, ich bin mir nicht sicher ob das hier zwingend sein muss.

Peer

PublicKey hier muss der der PublicKey des WG Servers eingetragen werden.

AllowedIPs gibt an, welche IP Adressen getunnelt/ geroutet werden sollen (und welche somit über den Tunnel erreicht werden können), das sind im Beispiel alle.
Kurzer Nachtrag: Es macht natürlich wenig Sinn, alle IP Adressen durch den Tunnel zu routen, da sonst das gesamte Lokale Netzwerk nicht mehr erreichbar ist. Für den Anfang sollte es genügen hier den Adressbereich des VPN Tunnels anzugeben (Zugriff nur auf VPN Teilnehmer) und später des entfernten LANs um auch darauf zugreifen zu können.

Endpoint ist die IP Adresse/ der DNS mit Port unter der der WG Server erreicht wird. Bei mir ist das nur mit IPv6 möglich, daher auch die eckigen Klammern, die bei v4 Adressen nicht benötigt werden.


Jetzt muss nur noch das Peering auf Seiten des Server erstellt werden.

Hierzu klicken wir in den WG Einstellungen vom QNAP auf „Add Peer“, geben dem Kind einen Namen und fügen den Public Key aus dem Client ein.

WG_peer.PNG

Nochmal gespeichert war es das dann schon und der QNAP kann unter der eingestellten IP Adresse erreicht werden, wenn man mit dem VPN verbunden ist.


[EPILOG]

Ich habe mich mit dem Wireguard Protokoll noch nicht richtig auseinandergesetzt, die beschriebene Konfiguration ist daher nur ein Minumum der Möglichkeiten, so fehlt z.B. ein ordentlichen Routing, damit auch andere Geräte (mit ihrer LAN IP) als nur der QNAP angesprochen werden können.
Dennoch muss ich feststellen: Die Einrichtung ist tatsächlich kein Hexenwerk, für die erweiterte Konfiguration muss man sich aber wie bei allem etwas mit der Materie auseinandersetzen.


Ich hoffe diese Schnellanleitung reicht für die ersten Schritte 😊

Eigentlich trinke ich ja gerne ein Bierchen wenn ich einen Artikel veröffentlicht habe, aber ich habe noch nichtmal gefrühstückt… sei es drum, cheers! :beer:

Kommentare 18

  • Leider kann ich Wireguard nicht verwenden, habe schon alle möglichen Einstellungen probiert. Werde wohl bei OpenVPN bleiben, da funktioniert es ohne Probleme.


    Die Verbindung mit WG wird aufgebaut, mein NAS kann ich auch erreichen und über den Windows-Explorer die Netzlaufwerke aufrufen. Aber leider kann ich nicht mehr im Internet surfen :-(


    Habe schon AllowedIPs =0.0.0.0/0 und 0.0.0.0/1 128.0.0.0/1 ausprobiert. Der DNS ist die Adresse meines Routers, auh da habe ich diverse Einstellungen ausprobiert. Ich kann es mir nicht erklären. Auf meinem iPhone funktioniert es tadellos.


    Hatte mal die Vermutung das mein Kaspersky zwischenfunkt, aber der Tunnel ist ja aufgebaut. Ich vermute es hat was mit der DNS zu tun. Manchmal konnte ich einige Webseiten aufrufen. Aber der Aufbau dauerte ewig. Und dann gingen andere Seiten nicht mehr.

    • Nachtrag: Diese Woche gab es ein Update für das NAS so wie auch für den Wireguard Client. Nun funktioniert es einwandfrei, ;-)


      Habe mal eine Vergleichsmessung zwischen OpenVPN und Wireguard gemacht: Fazit: Wireguard ist etwa 3 mal so schnell wie OpenVPN (Kopieren einer Datei in beide Richtungen mit ca. 5GB)

    • Kann ich etwa so bestätigen, habe dazu auch mal einen Vergleich (QNAP unabhängig) angestellt und einen Artikel verfasst: https://forum.heimnetz.de/threads/wireguard-vs-openvpn.202/

    • Leider habe ich mich zu früh gefreut. An einem Standort in DE funktioniert es immer noch nicht einwandfrei. Ich habe zwar auf das NAS Zugriff, kann aber keine Internetseiten über den Browser abrufen. Ich habe den Zugrang auch auf meinem iPhone eingerichtet, dort funktioniert es Problemlos. Meine Vermutung ist, dass es irgenwie mit dem Routing und der DNS Auflösung zu tun haben muss. OpenVPN funktioiert immer. Bin mal gespannt, ob es noch mehr Standorte gibt, die nicht funktionieren. Meinen Router im Büro kann ich Pingen und per Webinterface aufrufen, diese Adresse ist auch als DNS-Server bei Wireguard eingetragen.

    • Leider plagt mich immer noch der Umstand, dass ein einem bestimmten Standort der Full-Tunnel nicht korrekt funktioniert. Ich kann mit dem Firefox Browser keine Internetseite öffnen. Interesanterweise, kann ich über den Tracert Befehl in der CMD-Box die Seite tracen.


      Code
      1. C:\tracert forum.qnapclub.de
      2. Routenverfolgung zu forum.qnapclub.de [78.46.4.143]
      3. über maximal 30 Hops:
      4. 1 99 ms 56 ms 36 ms myNasName [192.168.7.1]
      5. 2 31 ms * 34 ms internetbox.home [172.16.0.1]
      6. 3 30 ms 28 ms 31 ms xx.xx.xx.xx.dynamic.wline.res.cust.xxxx.ch [xx.xx.xx.xx]

      Da sieht man auch, dass der erste Hop mein NAS ist, der zweite der Router, und der dritte der ISP. Somit müsste nach meinem Verständnis der Datenverkehr richtig funktionieren. Nur verstehe ich zur Zeit nicht warum es im Browser nicht funktioniert. Habe auch schon Edge verwendet, auch kein Erfolg. Meinen Antivirenscanner (Kaspersky) habe ich auch schon deinstalliert. An anderen Standorten funktioniert es einwandfrei.


      Momentan muss ich mich mit dem Split-Tunnel

      AllowedIPs = 172.16.0.0/24, 192.168.7.0/8

      behelfen.


      Am Standort habe ich eine Fritzbox 6660 Cabel mit ISP Vodafone. Kann es sein, das Vodafone irgend was blockt? Die Verbindung über OpenVPN funktioniert an dem Standort einwandfrei.


      Vielleicht hat ja jemand noch einen Tip wo ich suchen kann. Danke

    • Dazu würde ich mal einen Thread erstellen, da hier die anderen Forenuser nichts mitbekommen, wenn sie nicht zufällig hier reinschauen...

      Sollte sich dann eine Lösung finden wäre es aber sicherlich nicht verkehrt sie dann auch hier bereitzustellen :)

  • Ach so, die Interface-Adresse entscheidet darüber, ob ich eine Adresse oder ein ganzes Netz adressiere.

  • Ich nutze Wireguard auf einem Raspberry 4 als Server und verbinde mich damit auf mein NAS.

    Vor QTS fünneff waren die Durchsätze aus dem NAS ins Internet eher mau und stark schwankend. Ich habe hier immer Samba als Schurke vermutet und ewig mit MTUs hin und her probiert. Jedenfalls reize ich meinen Upload von 50MBit seit QTS 5 komplett aus.


    Wenn ich alles route sieht das so aus:

    AllowedIPs = 0.0.0.0/0, ::/0


    Beim Nativen Server routet dieser standardmäßig in das ganze WLAN und nicht an eine konkrete Adresse, soweit QNAP das nicht anders behandelt.


    Für Android gibt es einen offiziellen WG-Client, der funktioniert auch gut. Wie das beim iPhone ist, weiß ich nicht.

  • Noch ein Nachtrag:

    Wireguard tut sich bei den Allowed IPs mit 0.0.0.0/0 (default Route) schwer und kann die existierende Default Route nicht überschreiben (ist bei OpenVPN auch so).

    Um alles durch den Tunnel zu routen ist folgende Eingabe erforderlich: 0.0.0.0/1, 128.0.0.0/1

  • ich hab bei mir funktioniert das ganze leider nicht (mit iphone).

    habe das ganze so eingerichtet wie von dir beschrieben, der client connected auch und ich sehe auch traffic, jedoch kann ich weder auf lokale geräte noch aufs internet zugeifen, wenn ich über lte und vpn verbunden bin. hast du eine idee?

    • Moin, leider nicht, da ich mich mit dem Protokoll ja selbst auch nicht befasst habe. So wie ich es hier geschrieben habe würde nur der Zugriff auf das NAS selbst funktionieren, bzw. unter den beiden Geräten.

    • hmm, auch der geht nicht, obwohl die vpn verbindung definitiv steht. allowed ips hab ich auch 0.0.0.0/0 genommen

    • wüsste gerne, wie es unter Android funktioniert :D

    • Danke für die Anleitung. Ich habe es zuletzt mit wireguard unter Android nicht hinbekommen.

    • Da die Einrichtung der Clients wenig mit QNAP zu tun hat, habe ich das im Allgemeinen an anderer Stelle beschrieben: https://forum.heimnetz.de/thre…d-android-einrichten.194/