Eine Wireguard VPN Verbindung unter OpenWRT herstellen – So geht’s

  • 20th Nov, 2020

Update April 2023: Es ist nun möglich, den Einrichtungsprozess etwas zu verkürzen und eine Konfigurationsdatei aus dem Shellfire Kundencenter herunterzuladen.

Das innovative Wireguard VPN wird bei VPN Nutzern immer beliebter. Durch Wireguard lassen sich Übertragungsgeschwindigkeiten erreichen, die mit anderen VPN Protokollen undenkbar sind. Das gilt besonders für Geräte, die nicht über eine große Rechenleistung verfügen, wie beispielsweise deinen Heimrouter. Während man mit VPN Routern z.B. über das OpenVPN Protokoll früher häufig im einstelligen Mbit/s Bereich unterwegs war, sind heute mit leistungsstarken Routern und Wireguard oft sogar dreistellige Werte möglich! Wireguard verspricht dabei dennoch höchste Datensicherheit durch eine starke State-of-the-Art Verschlüsselung.

Achtung: Die Installation von OpenWRT und Wireguard können Anfänger eventuell überfordern. Einige Befehle wirst du z.B. über die Linux Kommandozeile eingeben müssen. Lies dir diese Anleitung zunächst gut durch und überlege dann, ob du es dir zutraust. Für alle Nutzer, die gerne ohne manuelle Konfiguration in den Genuss einer Wireguard VPN Verbindung kommen möchten, empfehlen wir die Shellfire Box. Hier ist alles fertig vorkonfiguriert und du kannst sogar jederzeit den VPN Server mit wenigen Klicks wechseln.

Was benötigst du, um auf deinem Router Wireguard zu installieren?

Du benötigst zunächst einen Heimrouter, auf dem das freie OpenWRT Betriebssystem mit der LuCI Oberfläche installiert ist. OpenWRT lässt sich auf vielen Routern nachträglich installieren, allerdings verlierst du durch die Installation unter Umständen deine Garantieansprüche. Achtung: Ein Fehler bei der Installation der OpenWRT Firmware kann den Router unter Umständen dauerhaft lahmlegen! Daher lohnt es sich möglicherweise, sich nach einem Router umzusehen, der bereits mit OpenWRT ausgeliefert wird. Es ist wichtig, dass eine relativ aktuelle OpenWRT Version installiert ist, welche bereits Wireguard unterstützt. Wir nutzen in dieser Anleitung der Einfachheit halber eine Shellfire Box, obwohl wir hier natürlich eigentlich keine manuelle Wireguard Installation benötigen.

Weiterhin benötigst du einen VPN Server, der dir einen Wireguard Zugang bietet. Die entsprechenden Zugangsdaten liefert dein VPN Anbieter. Wir nutzen hier Shellfire VPN.

Zuletzt brauchst du noch einen PC mit einem Internetbrowser sowie der Möglichkeit, eine SSH Verbindung herzustellen. Mac OS und Linux bieten diese Möglichkeit über das eingebaute Terminal, unter Microsoft Windows verwenden wir für die SSH Verbindung PuTTY.

Wireguard auf dem Router installieren

Als erstes installieren wir die Wireguard Softwarepakete auf dem OpenWRT Router. Logge dich dazu ins LuCi Webinterface ein, typischerweise findest du dieses unter http://192.168.1.1/ , manche Router verwenden aber auch eine andere Adresse. Je nach installierter OpenWRT Version können die angezeigten Fenster leicht unterschiedlich aussehen, die Vorgehensweise ist aber bei allen Versionen gleich. Navigiere zunächst nach System -> Paketverwaltung.

OpenWRT Paketverwaltung

Klicke nun auf “Listen aktualisieren”. OpenWRT überprüft nun, welches die aktuellsten verfügbaren Softwarepakete sind.

Listen aktualisieren

Sobald dieser Prozess durchgelaufen ist, suchen wir nach dem Begriff “wireguard” und installieren die Pakete “kmod-wireguard”, “luci-proto-wireguard” bzw. “luci-app-wireguard” sowie “wireguard-tools”.

Wireguard Pakete installieren

Sobald die Installation fertig ist, geht es zunächst ans Erstellen der Schlüssel.

Wireguard VPN Schlüssel generieren

Update April 2023: Im Kundencenter auf shellfire.de findest du nun eine Konfigurationsdatei, die du herunterladen kannst. In dieser Datei sind bereits alle Keys enthalten, so dass du keine eigenen Keys generieren musst. Eigene Keys zu generieren bietet jedoch gewisse Vorteile, was die Sicherheit der Verschlüsselung angeht.

Wireguard setzt auf eine sogenannte Public Key Verschlüsselung. Dabei generieren sowohl der VPN Server als auch der Client jeweils ein eigenes Schlüsselpaar. Einer dieser Schlüssel ist öffentlich (Public Key), während der andere geheim bleibt (Private Key). Damit die Verschlüsselung funktioniert, ist es notwendig, dass beide Partner ihre eigenen Private Keys sowie den Public Key des Gegenübers kennen. Der erste Schritt ist dabei die Erstellung des Schlüsselpaars. Dazu loggen wir uns per SSH auf den Router ein, wie oben erwähnt entweder übers Terminal (mac OS / Linux) oder über PuTTY (Windows). Um uns über SSH einzuloggen, benötigen wir die IP Adresse des Routers sowie das Routerpasswort. Der Nutzername lautet “root”. Unter Umständen kann es sein, dass du den SSH Zugang im Webinterface des Routers erst aktivieren musst. Typischerweise würdest du dich also per SSH auf 192.168.1.1 verbinden.

Einmal erfolgreich eingeloggt, erstellen wir zunächst den Ordner /etc/wireguard und wechseln dann in diesen Ordner.

mkdir /etc/wireguard
cd /etc/wireguard

Jetzt generieren wir das Schlüsselpaar.

wg genkey | tee privkey | wg pubkey > pubkey

Zuletzt lassen wir uns beide Schlüssel anzeigen.

cat privkey
cat pubkey

WICHTIG: Der Private Key darf niemals in die falschen Hände geraten! Sobald ein Angreifer den Private Key kennt, kann er alle Daten mitlesen.

Mit unseren Schlüsseln können wir nun die Wireguard Verbindung konfigurieren.

Wireguard VPN Cilent konfigurieren

Wir wechseln nun wieder zurück ins LuCI Webinterface und navigieren dort nach Netzwerk -> Schnittstellen. Klicke hier auf “Neue Schnittstelle hinzufügen”.

Schnittstelle hinzufügen

Als nächstes wählst du wie im Screenshot angezeigt einen Namen für deine Verbindung aus (wir nutzen hier “wg0”) und gibst “Wireguard VPN” als Protokoll an.

Schnittstelle erzeugen

Wir gelangen nun in die Einstellungen der neuen Schnittstelle. Dort tragen wir die Verbindungsparameter ein, die wir von unserem VPN Anbieter bekommen. Im Falle von Shellfire VPN findest du diese, nachdem du dich ins Kundencenter auf shellfire.de eingeloggt hast und dann dein VPN aus der grauen QuickAccess Leiste am oberen Bildschirmrand ausgewählt hast. Wir benötigen zunächst die interne VPN-IP Adresse, die Serveradresse sowie den Public Key des VPN Servers. Diese Daten übertragen wie wie im Screenshot gezeigt ins OpenWRT Webinterface.

Wireguard Konfiguration

Als nächstes, übertrage deinen Private Key, den du über die SSH Verbindung generiert hast, ins Feld “Privater Schlüssel” (im Screenshot mit 1. markiert).

Der folgende Schritt kann übersprungen werden, wenn die Konfigurationsdatei verwendet wurde:

Klicke dann im Kundencenter auf “bearbeiten” (mit 2. markiert) und trage dort deinen über SSH generierten Public Key ein. Als Persistentes Keep-Alive gib 25 ein.

WICHTIG: Wir weisen nochmals darauf hin, dass du niemals deinen Private Key herausgeben darfst. Der Private Key bleibt auf deinem Router und wird nicht ins Shellfire Kundencenter übertragen.

Hier wird der Public key eingetragen

Wenn alle Werte stimmen, klicke auf “Speichern & Anwenden”. Die Wireguard Schnittstelle ist nun schon beinahe fertig konfiguriert.

Firewallzone erstellen

Dein Router benötigt nun noch eine Firewallkonfiguration. Dadurch weiß er, wie er mit den Daten umgehen muss, die über die Wireguard Schnittstelle fließen. Klicke dazu im OpenWRT LuCI Interface auf Netzwerk -> Firewall und dann auf “Hinzufügen”. Die nötigen Einstellungen findest du im folgenden Screenshot. Wenn du fertig bist, klicke auch hier auf “Speichern und Anwenden”.

Wireguard Firewall

DNS Einstellungen

Dein Router benötigt nun noch einen oder mehrere DNS Server, damit Anfragen wie z.B. shellfire.de in die entsprechende IP Adresse übersetzt werden können. Diese Einstellung kannst du unter Netzwerk -> DHCP und DNS vornehmen. Wir tragen hier unter DNS-Weiterleitungen die IP Adressen 8.8.8.8 (Google DNS) sowie 208.67.222.222 (OpenDNS) ein. Auch andere DNS Dienste sind möglich, eine Übersicht findest du hier. Auch hier klickst du wieder auf “Speichern & Anwenden”.

DHCP und DNS EInstellungen

Die Wireguard Verbindung herstellen

Es sollte nun alles fertig konfiguriert sein. Damit Wireguard funktioniert, ist in er Regel ein Neustart des Routers notwendig. Dazu kannst du unter System -> Neu starten einen Neustart durchführen. Alternativ kannst du deinen Router auch für einige Sekunden von der Stromversorgung trennen und dann wieder anschließen.

Router Neustart

Nach dem Neustart kannst du unter Netzwerk -> Schnittstellen neben deiner wg0 Schnittstelle auf “Verbinden” klicken. Die VPN Verbindung ist nun aufgebaut!

Erfolgreiche Wireguard VPN Verbindung überprüfen

Sobald du die VPN Verbindung aufgebaut hast, sollten alle Daten automatisch durchs VPN fließen. Unter https://www.shellfire.de/status/ kannst du deinen Schutzstatus überprüfen. Solltest du einen anderen VPN Anbieter nutzen, kannst du beispielsweise die Seite https://www.wieistmeineip.de/ verwenden.

VPN Verbindungsstatus

Troubleshooting

Das häufigste Problem bei Wireguard Verbindungen ist, dass zwar eine bestehende Verbindung angezeigt wird, aber keine Daten fließen. Meist hängt dies damit zusammen, dass entweder der falsche Public/Private Key übertragen wurde oder eine falsche interne IP Adresse angegeben wurde. Überprüfe also zunächst diese Daten. Bei einem Serverwechsel ändern sich die interne IP und der Key des Servers in der Regel.

5/5 (3)

Wie gefällt dir dieser Artikel?