OpenVPN Server auf DD-WRT einrichten

Ist DD-WRT auf dem Router installiert, hat man die Möglichkeit einen VPN Server auf seinem Gerät zu betreiben. Somit ist es zum Beispiel möglich, sich sicher von überall auf das heimische Netz aufzuschalten. Man startet seinen mobilen VPN Client und alle Verbindungen gehen verschlüsselt nach Hause zum Router und dann ins heimische Netz.

Zwar bietet die Firmware DD-WRT einen PPTP Server an, doch spätesten seit 09/2012 sollte dieser nicht mehr genutzt werden. Besser ist es, den OpenVPN Server einzurichten. Für Smartphones, gibt es passende VPN Clients.

Vorbereitung – Zertifikate erstellen

Die Einrichtung des OpenVPN Server wird hier mit Hilfe von Windows 8 (64Bit) und der DD-WRT v24-sp2 (07/24/13) std (SVN revision 22118) beschrieben.

Als erstes muss die OpenVPN-GUI von hier (EXE) geladen und installiert werden.

Danach CMD mit Administratorrechten ausführen und in das Verzeichnis C:\Program Files (x86)\OpenVPN wechseln. Dort eine Kopie  des Verzeichnisses easy-rsa erstellen. In das Verzeichnis easy-rsa wechseln und init-config.bat starten.

Die Datei vars.bat zum Editieren öffnen. Auf einem 64Bit System folgenden Wert von
HOME=%ProgramFiles%\OpenVPN\easy-rsa
nach
HOME=%ProgramFiles(x86)%\OpenVPN\easy-rsa
ändern.

Wer mag, kann den Wert KEY_SIZE auf 2048 ändern.

Folgende Werte anpassen
set KEY_COUNTRY=DE
set KEY_PROVINCE=<hier dein Bundesland 2stellig>
set KEY_CITY=<hier deine Stadt>
set KEY_ORG=<hier deine Organisation>
set KEY_EMAIL=<hier deine E-Mail>

Dann vars.bat gefolgt von clean-all.bat und build-ca.bat ausführen. Die Abfragen bei build-ca einfach immer mit Enter bestätigen.

Jetzt das Serverzertifikat erstellen. Dazu build-key-server server in die Kommandozeile eingeben. Wichtig, die Passwort Eingabe leer lassen und die folgenden [y/n] Fragen mit y bestätigen.

Für jeden Client, der eine VPN Verbindung aufbauen soll, ein eigenes Zertifikat erstellen. Dazu build-key <Client> eingeben.
Bei der Abfrage Common Name den gleichen Wert wie bei <Client> eingeben.

Die ta.key  Datei wird wie folgt erstellt: In das Verzeichnis C:\Program Files (x86)\OpenVPN\bin wechseln und openvpn –genkey –secret ta.key eingeben. Die Datei ta.key am besten nach C:\Program Files (x86)\OpenVPN\easy-rsa\keys kopieren und nach C:\Program Files (x86)\OpenVPN\easy-rsa\ wechseln.

Die Datei build-dh.bat ausführen.

OpenVPN Server in DD-WRT einrichten

Jetzt folgt die Einrichtung des OpenVPN Servers auf dem Router. Dazu im Browser den Router aufrufen und nach Services – VPN gehen und wie folgt Konfigurieren:

OpenVPN Daemon

Jetzt den Inhalt von server.crt, ca.crt, server.key, dh2048.pem und ta.key eintragen.

OpenVPN Daemon Zertifikate

In OpenVPN Konfiguration folgendes Eintragen:

push “redirect-gateway def1”
tls-auth /tmp/openvpn/ta.key 0

Wer den Client nur in das heimische Netz lassen möchte und nicht den gesamten Verkehr durch den Tunnel schicken möchte, ändert die Push Anweisung wie folgt ab:

push “route 192.168.0.0 255.255.255.0”

Wobei 192.168.0.0 auf Euren Subnetzbereich angepasst werden muss.

 

Konfiguration Speichern und Anwenden.

Ob alles geklappt hat, ist im Bereich Status – OpenVPN in DD-WRT zu sehen.

OpenVPN Zugang auf iPhone / iPad / iPod einrichten

Ist der OpenVPN Server eingerichtet und am laufen, kann nun der OpenVPN Client auf dem iOS Gerät eingerichtet werden.

Nach dem der OpenVPN Client auf das iOS Gerät geladen wurde, dieses an den Rechner anschließen wenn die WLAN Synchronisation nicht aktiv ist.

In iTunes die Dateifreigabe für das Programm OpenVPN auswählen und folgende Dateien hochladen:
<Client>.crt
<Client>.key
ta.key
ca.key
ca.crt

Nun kann über den OpenVPN Client auf dem iOS Gerät eine VPN Verbindung mit Eurem Router zu Hause aufgenommen werden.

3 Gedanken zu „OpenVPN Server auf DD-WRT einrichten

  1. Jan

    Nettes Tutorial! Ich habe auf meiner Seite die Beispiele für OpenWrt aufgeführt, falls Jemand statt DD-WRT lieber das Original verwendet 😉 Man findet die Server-Anleitung unter
    Ubuntu OpenVPN-Server konfigurieren und meine OpenWrt-Client Konfiguration unter OpenWrt OpenVPN Client. Wobei ich auch nochmal genauer auf das Routing eingegangen bin, weil mein Plan eigentlich ist mehrere VPNs zu aktivieren und dann je nach Land unterschiedlich über verschiedene VPNs zu routen.

  2. stefan

    Danke für die gut beschriebene Anleitung, denn in deutscher Sprache findet man im Netz leider nur wenige davon!

    Leider kriege ich beim ausführen der build-ca.bat immer den Fehler:

    C:\Program Files (x86)\OpenVPN\easy-rsa>build-ca.bat
    error on line 117 of openssl.cnf
    1356:error:0E065068:configuration file routines:STR_COPY:variable has no value:.
    \crypto\conf\conf_def.c:629:line 117

    Hast Du mir dazu vielleicht einen Ratschlag?

    VG Stefan

Schreibe einen Kommentar

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