OpenVPN Server installieren auf DD-WRT Router oder pfSense Firewall
23.08.2009
01:45:56 Uhr57220 Aufrufe
56 Antworten
01:45:56 Uhr
56 Antworten
Sehr hilfreich +10
Wie aktiviert man einen OpenVPN Server zur Anbindung remoter VPN Clients oder zur Netzwerk Kopplung remoter Netze auf einem Router mit DD-WRT Firmware oder der freien pFsense Firewall/Router Firmware ?
Das folgende Tutorial gibt einen Leitfaden für eine preiswerte und effiziente VPN Installation die sowohl zur Anbindung remoter Mitarbeiter als auch zur Netzkopplung eingesetzt werden kann.
Das folgende Tutorial gibt einen Leitfaden für eine preiswerte und effiziente VPN Installation die sowohl zur Anbindung remoter Mitarbeiter als auch zur Netzkopplung eingesetzt werden kann.
Inhaltsverzeichnis
Allgemeine Einleitung
Dieses Tutorial basiert auf den bei Administrator.de bereits bestehenden Tutorials von datasearch zum Einrichten eines OpenVPN Servers:OpenVPN_Teil_1 und OpenVPN_Teil_2
Wobei hier der Schwerpunkt auf dem Teil 1 zur Erstellung der Schlüssel für Client und Server liegt.
Die Installation die der OpenVPN Teil 2 beschreibt ist, bedingt durch die andere Hardware eines DD-WRT Routers oder der pfSense Weboberfläche zum Konfigurieren folgerichtig etwas unterschiedlich zu einer PC basierten Installation.
Dadurch aber noch einfacher auch für Laien zu realisieren, da alles mit einer einfachen Weboberfläche konfiguriert wird !
Als Alternative zu einer Installation auf Windows oder Linux kommt hier die platzsparendere Variante direkt in einem Router mit DD-WRT Firmware oder der freien Firewall/Router Software pFsense zum Einsatz.
Die VPN Funktion ist somit nicht abhängig von Serverhardware sondern autark auf einer Netzwerkkomponente, was außer der Platz Ersparniss zudem erheblich kostengünstiger ist in der Unterhaltung und vom Hardwareaufwand.
OpenVPN ist eine sehr weit verbreitete freie VPN Lösung mit Client Software für nahezu alle gängigen Betriebssysteme.
Durch ihre Flexibilität erlaubt sie z.B. das wahlfreie Konfigurieren des Tunnel Ports so das dieser z.B. vom Standard UDP 1194 auch auf den gängigen SSL Port TCP 443 gelegt werden kann, um mit der VPN Verbindung problemlos Firewall und Accesslisten ohne einen zusätzlichen Eingriff zu überwinden.
Das Tutorial benutzt die Default Einstellungen von OpenVPN und auch DD-WRT. Anpassungen an vorhandene IP Netzwerk Adressierung ist dann individuell nach vorhandener IP Adressierung zu machen.
Eine Schemazeichnung für das Netzwerkdesign sieht so aus:
Bzw. mit der pFsense Variante dann analog:
Die o.a. Bilder sind nur Schema Zeichnungen zur Funktion. Es besteht keine Beschränkung auf nur einen Client ! Natürlich sind auch Mehrfachverbindungen, sei es per Netz zu Netz Kopplung oder mit remoten Clients, möglich !
Hardware Voraussetzungen
pfSenseDie Hardware für die pfSense Variante kann entweder PC/Atom basierend sein mit einer preiswerten CF Flashkarte als verschleissfreiem Datenträger für den Dauerbetrieb wie HIER im Kapitel Download und Installation beschrieben.
Auch ein alter PC lässt sich so bequem recyceln.
Viel kosteneffizenter im Hinblick auf den Stromverbrauch und erheblich robuster für den Dauerbetrieb ist aber immer eine kleine, preiswerte Appliance im Eigenbau oder Fertiggerät wie in_diesem_Tutorial beschrieben.
DD-WRT
Hardware Basis ist wie oben bereits bemerkt ein Router mit DD-WRT Firmware wie er auch HIER schon beschrieben ist. Solche Router sind heute meist in Form eines Linksys WRT54GL im Handel (z.B. Reichelt oder Alternate). Teilweise sogar schon mit geflashter DD-WRT Firmware.
Weitere bekannte Plattformen für DD-WRT sind Router der Fa. Buffalo wie der bekannte WZR HP-G300NH
DD-WRT ist auch für andere Router Plattformen verfügbar ! Eine genaue Übersicht über unterstützte Router Hardware bietet das DD-WRT Wiki:
http://www.dd-wrt.com/wiki/index.php/Supp ...
oder die interaktive Datenbank:
http://www.dd-wrt.com/dd-wrtv3/dd-wrt/har ...
Eine deutsche Projektbeschreibung findet man hier:
http://www.dd-wrt.com/wiki/index.php/DD-W ...
Als DD-WRT Router Hardware für das folgende Tutorial dient der populäre WRT54GL der mit der aktuellen DD-WRT (V24 SP2) geflasht wurde. Das Vorgehen bei anderen Modellen ist aber analog !
Wichtig ist hier das WRT54 Image xx24-VPN_generic (Man achte auf das "VPN" im Imagenamen ! Version 24) denn das enthält den OpenVPN Server und auch einen Client. Mit dem Client kann ein DD-WRT Router selber OpenVPN Client sein. Dieses Tutorial behandelt die Serverfunktion als VPN Dialin Server und am Beispiel der Standortvernetzung auch die Installation als Client.
Das aktuelle Image zum Download und Flashen für einen Linksys WRT54G findet man auf der DD-WRT Seite wenn man seine Router Modellbezeichnung wie z.B. "WRT-54GL" dort eingibt:
http://www.dd-wrt.com/site/support/router ...
OpenVPN Zertifikate und Schlüssel
Da OpenVPN auf dem Router selber schon durch die DD-WRT Firmware oder pfsense Firmware installiert ist, ist es lediglich erforderlich die erzeugten Schlüssel und die Konfig Datei auf den Router oder die pfsense Firewall zu übertragen.Auch das ist sehr einfach, lediglich per Cut and Paste, über die webbasierte Installationsseite des Routers zu erledigen. Das ist schon alles um OpenVPN auf dem Router oder der pfsense Firewall/Router zu aktivieren !
Zwingende Voraussetzung ist das Erzeugen der Schlüssel will man nicht mit einfachen preshared Keys arbeiten, was natürlich auch geht aber etwas unsicher ist !
Dazu läd man sich am besten erstmal das komplette Installations Paket des grafischen Windows OpenVPN Clients herunter und installiert es. Das Paket hat schon fertige Skripts zum einfachen und bequemen Generieren der Schlüssel mit an Bord:
http://openvpn.se/
bzw.:
http://openvpn.se/files/install_packages/ ...
Das Erzeugen der Schlüssel und Zertifikate ist damit kinderleicht zu machen.
Die dazu nötigen Schritte sind detailiert im bereits oben erwähnten OpenVPN_Teil_1 Tutorial, auch für Laien verständlich, beschrieben.
Auch das HowTo auf der OpenVPN Projektseite erklärt dieses in einer Schritt für Schritt Anleitung:
http://www.openvpn.net/index.php/open-sou ...
Man geht also lediglich in die Eingabeaufforderung von Windows (analog auch MacOS oder Linux), wechselt in das Skriptverzeichnis und führt einfach nacheinander, wie beschrieben, die Skrite aus und sichert sich so seine Schlüssel z.B. auf einem USB Stick.
Die Schritte im Schnellverfahren unter Windows sehen so aus: (OpenVPN GUI muss zuvor installiert sein !)
- Eingabeaufforderung öffnen und mit cd ins Verzeichnis "C:\Programme\OpenVPN\easy-rsa" wechseln.
- Mit dem Editor die Datei vars.bat editieren und nur im unteren Teil die Variablen nach seinen persönlichen Vorgaben/Einstellungen anpassen. Z.B.:
set KEY_PROVINCE=Bayern
set KEY_CITY=Muenchen
set KEY_ORG=Privat
set KEY_EMAIL=name@email.de
- Datei vars.bat sichern
- Nun in der Eingabeaufforderung die folgenden Kommandos aufrufen: Zuerst "vars" , dann "clean-all" und dann "build-ca" wie es im HowTo steht !
- Die Abfragen nach dem Start von "build-ca" kann man allesamt mit der Eingabetaste bestätigen außer der Fragen nach dem Common name ! Hier trägt man z.B. ein "server" oder "OpenVPN" oder einen anderen spezifischen Namen. Das Feld darf NICHT leerbleiben ! Der Common Name entspricht dann auch später dem Dateinamen des Schlüssels ! Also server.key oder OpenVPN.key bzw. server.crt oder OpenVPN.crt
- Jetzt weiter wie im Tutorial verfahren und in der gleichen Eingabeaufforderung "build-key-server server" eingeben (Erzeugung Schlüssel für den Server) und hier ebenfalls wieder zwingend bei der Abfrage Common name z.B. server eingeben oder den Servernamen. Die Frage nach dem Passwort quittiert man mit einem Druck auf die Eingabetaste und die beiden folgenden Fragen "sign certificate" und "...commit" beantwortet man unbedingt mit einem y !!
- Jetzt die Client Keys (Schlüssel für die remoten Benutzer) erzeugen mit "build-key client1". Hier wiederum bei der schon bekannten "Common name" Abfrage client1 eingeben. Anlog verfährt man für weitere Clients mit "build-key client2", "build-key client3", "build-key client4" usw. "Common name" Abfrage wieder entsprechend...client2.....client3...usw. Auch hier ist wieder der Common Name entsprechend Name der Client Schlüsseldatei z.B. client1.key bzw. client1.crt !
- Zum Schuß die Diffie-Hellmann Parameter mit "build-dh" erzeugen....
- Fertig...!
Die Inhalte sind mit dem Editor oder Wordpad editierbar.
Zertifikate und Schlüssel grafisch (GUI) mit XCA Programm erzeugen
Wer Kommandozeilen nicht mag und die Zertifikate und Schlüssel lieber mit einer grafischen Oberfläche erzeugen will, findet mit dem Tool XCA dafür ein idelaes Werkzeug.Die Anwendung ist für alle 3 wichtigen Betriebssysteme in der aktuellen Version 8.1 hier verfügbar: http://sourceforge.net/projects/xca/files ... bzw. hier OS spezifisch für Windows, MacOSX und Linux
Dank an Forumsnutzer christianW der ein sehr gutes und leicht verständliches HowTo zum Erzeugen der Schlüssel mit XCA geschrieben hat, was HIER runtergeladen werden kann.
Damit ist ein Erzeugen der Schlüssel dann auch für Kommandozeilen "Muffel" eine einfache Sache von ein paar Mausklicks !
Zertifikate und Schlüssel grafisch im pfSense GUI erzeugen
Eine andere Option ist bei der Verwendung von pfSense im OpenVP Umfeld die Zerifikate und Keys direkt, ebenfalls per Mausklick gleich im pfSense GUI zu erzeugen.pfSense hat dieses Tool im Menü System --> Cert Manager praktischerweise gleich mit an Bord
Auch das erspart die Eingabeaufforderung und alle externen Programme.
Diese Zertifikate und Keys können dann über das grafische Setup auch einfach per Mausklick exportiert werden.
Die genaue Vorgehensweise wird unten im Abschnitt zur pfSense Installation von OpenVPN ganz genau beschrieben,
Installation auf dem DD-WRT Router
OK, sind nun der Router oder die pfsense Firewall fertig geflasht bzw. installiert und über ihr jeweiliges Konfigurations Webinterface erreichbar und auch die 4 Schlüssel ca.crt, server.crt, server.key und dh1024.pem erzeugt wie oben beschrieben kanns losgehen... !!!Dazu kopiert man diese 4 Schlüssel Dateien ggf. auf einen Stick oder den Rechner zum Konfigurieren und dann kann die eigentliche Konfiguration des DD-WRT Routers oder der pfsense Firewall beginnen:
Nach Vergabe der Zugangspasswörter bei DD-WRT beim ersten Connect auf die Setup Webseite unter 192.168.1.1 (Default), klickt man auf das Menü Services -> VPN und aktiviert hier den OpenVPN Daemon mit dem Start Type WAN up was bedeutet das der OpenVPN Server immer dann gestartet wird wenn das WAN Interface aktiv ist !
Danach öffnen sich 7 freie Textfelder zur Eingabe:
Public Server Cert
Certificate revoke list ==>> bleibt leer !
Public Client cert
Private Client key
DH pem
OpenVPN config
OpenVPN TLS Auth ==>> bleibt leer !!
In 4 dieser Felder cut und pasted (Kopieren und Einfügen) man nun seine 4 oben erzeugten Schlüsseldaten rein.
Alle Schlüsseldateien sind reine ASCII Textdateien und lassen sich mit dem Word Pad oder einem Text Editor öffnen. Ist der Schlüssel oder Zertifikat editiert, klickt man unter "Bearbeiten" dann auf "Alles markieren" und dann "Kopieren".
Darauf wechselt man in das Textfenster der Routerkonfig mit einem Rechtsklick und "Einfügen" um den Inhalt hier ins Textfeld zu kopieren.
Diese Prozedur macht man jetzt Fenster für Fenster nach folgendem Schema:
Public Server Cert ==>> Master Zertifikat, ca.crt Datei
Certificate revoke list ==>> bleibt leer !!
Public Client cert ==>> Server Zertifikat, server.crt Datei
Private Client key ==>> Server Key, server.key
DH pem ==>> DH Parameter, dh1024.pem Datei
OpenVPN config OpenVPN Konfig Datei, z.B. Beispiel unten
OpenVPN TLS Auth ==>> bleibt leer !!
Die 5te Datei ist die Konfigurationsdatei für den Server. Dazu kann man die unten aufgeführte Datei in einen Editor cut and pasten und entsprechend seinen individuellen Einstellungen (IP Adressen etc.) anpassen und dann z.B. mit dem Namen "openvpn-svrconf.txt" sichern und dann per cut an paste in das Feld "OpenVPN config" im Router eingeben.
Die OpenVPN Konfig zum Editieren sieht dann so aus: (Kommentarzeilen in () rot vorher entfernen !!!)
port 1194
proto udp
dev tun0
ca /tmp/openvpn/ca.crt (Master Zertifikat)
cert /tmp/openvpn/cert.pem (Server Zertifikat)
key /tmp/openvpn/key.pem (Server Key)
dh /tmp/openvpn/dh.pem (DH Parameter)
server 172.16.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0" (Default LAN IP Netz DD-WRT, muss ggf. auf verwendetes IP Netz geändert werden !!)
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
Zusatz zur o.a. Konfig:
Wer den gesamten Traffic des Clients durch den VPN Tunnel routen möchte leitet einfach dessen Default Gateway in den VPN Tunnel um.
Statt push "route 192.168.1.0 255.255.255.0" lautet das Push Kommando dann push "redirect-gateway def1"
http://openvpn.net/index.php/open-source/ ...
Sehr WICHTIG ist in der o.a Server Konfigurations Datei, das die Pfadangaben oben in der Konfig /tmp/openvpn/ unbedingt stimmen für alle Dateien, denn die sind durch OpenVPN fest vorgegeben !
Ein Screenshot sieht dann so aus: (Zertifikate aus Sicherheitsgründen verkürzt wiedergegeben !)
Zum Schluss sichert dann ein Klick auf SAVE und Apply Settings die Konfig !
Der OpenVPN Client bleibt ausgeschaltet (disable) !!
Achtung: Als letzer Konfigurationsschritt muss bei DD-WRT die SPI Firewall deaktiviert werden, die sonst eingehende OpenVPN Packete am Internet WAN/DSL Interface filtern würde und so zur Nichtfunktion des OpenVPN Servers führt !
Dazu wechselt man ins Menü Security -> Firewall und schaltet die SPI Firewall mit "disable" ab um spätere Frustrationen zu vermeiden !
Der Zugriff aus dem Internet auf den Router ist weiterhin gesichert und nicht möglich. Es tritt also kein Sicherheitsloch damit auf !
Ein Klick auf SAVE und Apply Settings sichert auch hier die Einstellungen !
Zum Abschluss sollte man den Router nun neu booten lassen (Einmal stromlos machen !)
Damit ist die Konfiguration des Routers abgeschlossen und einem ersten Test des OpenVPN Servers steht nichts mehr im Wege !
Ist der OpenVPN Server aktiv ?
Leider muss man alle oben beschriebenen Einstellungen über das Websetup blind machen mit Vertrauen alles richtig gemacht zu haben. Man kann leider nicht über die Status Seite den OpenVPN Server im Router auf seine korrekte Funktion überprüfen.Für die detailierte Fehlersuche ist das aber kein Hinderniss denn die Lösung dafür ist bei DD-WRT recht einfach !
DD-WRT bietet einen Terminalzugang per Telnet oder SSH auf die Konsole !
Der Telnet Zugriff funktioniert sofort über die LAN IP.
Wer es etwas sicherer haben möchte nimmt SSH:
Dafür aktiviert man im Menü Services -> Services mit einem Klick auf enable einfach den SSHd Daemon und sichert diese Einstellung mit SAVE und APPLY.
Mit einem Windows Telnet und SSH Client wie dem bekannten PUTTY oder auch TeraTerm (Apple Macs und Linux haben SSH von sich aus an Bord) hat man dann Zugriff aufs Betriebssystem des Routers indem man Putty oder TeraTerm startet und als Ziel einfach die LAN IP des dd-wrt/pfsense Routers angibt.
Der Benutzername zum SSH Login ist "root" (ohne "") und das Passwort ist das, was beim Starten bzw. Installieren von DD-WRT vergeben wurde !
Die Eingabe von ps am Kommandoprompt zeigt dann eine Liste der laufenden Prozesse im Router. Findet man hier in der Liste seinen OpenVPN Daemon wieder wie im Screenshot unten zu sehen, ist alles OK und der OpenVPN Server betriebsbereit !
Ist er dort nicht zu sehen, sollte man zuerst mit dem Kommando ls -l /tmp/openvpn prüfen ob die 5 Konfig Dateien von oben korrekt im Verzeichnis /tmp/openvpn gelandet sind.
Der Output sollte so aussehen wenn alles geklappt hat:
root@Router:~# ls -l /tmp/openvpn/
-rw-r--r-- 1 root root 1189 Apr 2 12:19 ca.crt
-rw-r--r-- 1 root root 3573 Apr 2 12:19 cert.pem
-rw-r--r-- 1 root root 246 Apr 2 12:19 dh.pem
-rw-r--r-- 1 root root 888 Apr 2 12:19 key.pem
-rw-r--r-- 1 root root 257 Apr 2 12:19 openvpn.conf
-rwx------ 1 root root 36 Apr 2 12:19 route-down.sh
-rwx------ 1 root root 60 Apr 2 12:19 route-up.sh
root@Router:~#
Ist das der Fall, kann man versuchen OpenVPN manuell mit dem Kommando openvpn /tmp/openvpn/openvpn.conf zu starten.
Dabei sollten folgende Meldungen erscheinen:
root@Router:~# openvpn /tmp/openvpn/openvpn.conf
Fri Apr 2 12:34:06 2010 OpenVPN 2.1_rc20 mipsel-unknown-linux-gnu [SSL] [LZO1] [EPOLL] built on Oct 10 2009
Fri Apr 2 12:34:06 2010 Diffie-Hellman initialized with 1024 bit key
Fri Apr 2 12:34:06 2010 WARNING: file '/tmp/openvpn/key.pem' is group or others accessible
Fri Apr 2 12:34:06 2010 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Fri Apr 2 12:34:06 2010 TUN/TAP device tun0 opened
Fri Apr 2 12:34:06 2010 TUN/TAP TX queue length set to 100
Fri Apr 2 12:34:06 2010 /sbin/ifconfig tun0 172.16.2.1 pointopoint 172.16.2.2 mtu 1500
Fri Apr 2 12:34:06 2010 /sbin/route add -net 172.16.2.0 netmask 255.255.255.0 gw 172.16.2.2
Fri Apr 2 12:34:06 2010 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Apr 2 12:34:06 2010 Socket Buffers: R=[32767->65534] S=[32767->65534]
Fri Apr 2 12:34:06 2010 UDPv4 link local (bound): [undef]:1194
Fri Apr 2 12:34:06 2010 UDPv4 link remote: [undef]
Fri Apr 2 12:34:06 2010 MULTI: multi_init called, r=256 v=256
Fri Apr 2 12:34:06 2010 IFCONFIG POOL: base=172.16.2.4 size=62
Fri Apr 2 12:34:06 2010 Initialization Sequence Completed
Ist dem so, ist alles korrekt installiert und ein <ctrl c> stoppt den OpenVPN Server im User Modus (kein Eingabeprompt) wieder, damit wir ihn nun als Daemon (Dienst) wieder starten können mit dem folgendem Kommando:
openvpn --daemon --config /tmp/openvpn/openvpn.conf
Wem das zu umständlich ist, der rebootet den DD-WRT Router schlicht und einfach indem er den Netzteil Stecker zieht !
Bei Problemen gibt der OpenVPN Server immer konkrete Fehlermeldungen von sich mit denen man Konfig Fehler dann sofort beheben
kann !
Bei OpenWRT ist das OpenVPN Handling ähnlich wie man HIER ebenfalls sehen kann.
Installation auf der kostenfreien Firewall pfSense
Die kostenfreie Firewall pfSense besitzt im Gegensatz zu seinem Ursprungsprojekt MOnOwall einen OpenVPN Server und Client gleich mit an Bord. Die pfSense SW ist vollkommen kompatibel zur M0n0wall SW und wird genau so installiert sei es auf einer PC Plattform oder einem standalone Minimainboard (ALIX).PfSense supportet ebenfalls VLAN Tagging was sie damit auch für VDSL Anschlüsse befähigt. Dieses Heise_Tutorial beschreibt wie es problemlos einzurichten ist am VDSL.
Details zur Installation von PC oder ALIX Mini Mainbord Version findet man in weiteren detailierten Tutorials bei Administrator.de wie z.B. HIER !
Pfsense bietet erheblich mehr Firewall Features als die schlankere Monowall. Wer also etwas mehr Wert auf Firewall Funktionen wie Redundanz, Performance Monitoring usw. legt, sollte sich für pfsense entscheiden. Wer eher eine einfache und schlanke Firewall ohne Schnickschnack will, bleibt bei der Monowall.
Mit der aktuellen Version 2.0 der pFSense Firmware ist ein externes Erzeugen alle Schlüssel für Server und Client nicht mehr erforderlich und kann bequem mit ein paar Mausklicks direkt auf dem pfSense Setup GUI gemacht werden.
Wer allerdings schon fertig erzeugte Zertifikate und Keys hat kann diese natürlich ebenso ganz einfach per cut an paste in die pFsense Firewall via Setup Menü übertragen um z.B. auf diese Plattform zu migrieren.
Wichtig: ALIX Bord Nutzer sollten vorher im System Setup unter Advanced -> Miscellaneous den Hardware Krypto Chip auf der Geode CPU aktivieren mit einem Haken bei Use glxsb ! Das steigert die Kryptoperformance massiv.
Zum Erstellen der Zertifikate und Keys geht man nun folgendermaßen vor:
1.) Als erstes wird eine interne CA angelegt im Menü System --> Cert Manager --> Karteireiter CAs:
Hier als Beispiel der fiktiven "Fa. Meyer". Die Daten sind entsprechend den eigenen Daten anzupassen
2.) Im Zweiten Schritt legt man die Zertifikate für den Server und die remoten Clients an --> Karteireiter Certificates:
3.) Hier legt man auch gleich die Zertifikate für seine remoten User an, die man entsprechen durchnummeriert oder mit ihren Namen ersetzt um die Identifikation leichter zu machen:
Über die Export Buttons kann man diese Zertifikate und Keys in Dateien sichern und auf den Clientrechner in das Keyverzeichnis kopieren.
4.) Sinnvoll ist es auch gleich eine sog. Revocation Liste anzulegen mit der man Zertifikate für ungültig erklären kann, sollten z.B. remote User die Firma verlassen oder wenn der Laptop gestohlen wird.
Fertig...Damit sind alle Zertifikate generiert und im nächsten Schritt...
5.) ...aktiviert man nun den Open VPN Server im Menü VPN --OpenVPN --> Karteireiter Server:
Generelle Einstellungen:
(Bei einer Standort Vernetzung mit einem OpenVPN Router wählt man hier "Peer to Peer")
Verschlüsselungs Einstellungen:
Tip: ALIX Board Nutzer sollten unbedingt hier vorher im Menü System --> Advanced --> Misc den Hardware Verschlüsselungssupport mit einem Haken bei "Use glxsb" aktivieren und die HW Crypto auf BSD cryptodev engine setzen !
Wichtig: Hier unbedingt die vorher erzeugte CA auswählen wie das erzeugte Server Zertifikat und die Revocation Liste !!
Tunnel Einstellungen:
Hier sind mehrere Punkte wichtig:
- Das Tunnel IP Netzwerk ist ein separates Netz und sollte keine 192.168er banal IP sein. Es gelten wie immer diese_Design_Richtlinien !
- Lokale LAN Netzwerk IP eintragen. Wer zusätzliche Interfaces (DMZ usw.) erreichen will kann unten im "Advanced" Feld weitere IP Netze mit der "push" Option an die Clients automatisch propagieren !
- Anzahl der maximalen Anzahl von gleichzeitigen VPN Verbindungen einstellen
- LZO Kompression aktivieren
Hier kann man nun diverse individuelle Einstellungen für die Clients vornehmen wie DNS Server und ob man z.B. NetBios Broadcast durch den Tunnel lassen möchte ide von den jeweiligen Anforderungen abhängig sind !
Mit einem finalen Klick auf "Save" ist der Server fertig eingerichtet und sofort aktiv
Anpassen der pfSense Firewall und spez. Client Parameter
GANZ WICHTIG: Die Firewall pfSense benötigt unbedingt eine Firewall Regel am WAN Port und virtuellen VPN Port um OpenVPN Pakete von außen auf ihrem WAN Port zuzulassen bzw. Tunneltraffic ins lokale LAN zuzulassen !!Ohne diese Regel ist ein Zugriff von außen, wie bei einer Firewall logischerweise üblich, geblockt !
Ein OpenVPN Client könnte die pfSense Firewall ohne diese Regel nicht erreichen auf dem WAN/Internet Interface.
Dies ist also essentiell wichtig zu beachten um späteren Frust gleich vorzubeugen !!
Unter Firewall -> Rules ist diese folgende Regel dann zuerst für den WAN Port zu definieren um OpenVPN Client Zugriff zu erlauben:
Diese Einstellungen geht von den Standard OpenVPN Ports UDP 1194 aus !
Werden andere Port benutzt wie z.B. TCP 443 muss diese Regel natürlich entsprechend angepasst werden auf diese Ports !
Mit SAVE sichern und Apply aktivieren....
Nun die Regel auf dem internen VPN Tunnel Interface:
Diese Regel oben lässt erstmal alles zu um Ping Checks usw. machen zu können. Bei Bedarf kann diese auf entsprechende Protokolle eingeschränkt werden um nur bestimmte Dienste oder Zugriff auf einzelne Hosts, Server etc. z.B. zuzulassen.
Für den Zugriff auf die obige Standard pfSense Server Einrichting sind abweichend zur beschriebenen Client Installation unten noch ein paar Anpassungen zu machen:
Der automatisch generierte TA Key des Servers bei der Einrichtung muss per cut and paste aus dem GUI in eine Text Datei kopiert werden und ins Keyverzeichnis des Clients kopiert werden:
In der Client Konfig Datei sind dann die folgenden Anpassungen zu machen:
ca C:/Programme/OpenVPN/easy-rsa/clientkeys/CAMeyer.crt
cert C:/Programme/OpenVPN/easy-rsa/clientkeys/OVPN-Client1.crt
key C:/Programme/OpenVPN/easy-rsa/clientkeys/OVPN-Client1.key
;ns-cert-type server --> Mit Semikolon ; auskommentieren !
tls-auth C:/Programme/OpenVPN/easy-rsa/clientkeys/ta.key 1 --> Verweist auf den oben kopierten TA Key !
cipher AES-128-CBC
Das war alles !
Nun steht einem ersten Test mit einem OpenVPN Client nichts mehr im Wege...!! Dies kann z.B. schnell mit einem testweise direkt oder per Switch am WAN Interface angeschlossenen PC, Mac, Linux mit OpenVPN Client geschehen.
Damit lässt sich schnell und einfach lokal das OpenVPN VPN auf korrekte Funktion testen bevor man es ans Internet hängt für den Fernzugriff.
OpenVPN hinter einem bestehenden NAT Router betreiben
Oft hat man schon einen bestehenden NAT Router im Netzwerk und möchte dieses Netz mit dem o.a. OpenVPN Server auf einer DD-WRT oder pfSende Plattform erweitern.Dies ist ebenso möglich alllerdings muss man dann einige Dinge zusätzlich beachten, da der VPN Tunnel erst durch den vorgeschalteten Router muss !
Die folgende Abbildung zeigt so ein klassisches Design:
Hierbei sind nun folgende Dinge zwingend zu beachten:
- Der WAN Anschluss der der DD-WRT oder pfSense Plattform wird mit dem LAN Anschluss des Internet Routers verbunden.
- Auf dem WAN Port stellt man im Setup Menü eine statische IP Adresse die im LAN IP Netz des vorliegenden NAT Routers liegt und zwar außerhalb dessen DHCP Bereichs um IP Adressüberschneidungen zu vermeiden. Bewährt haben sich IP Adressen "ganz oben" wie z.B. 192.168.1.254 (Beispiel oben. Bei einer FritzBox z.B. 192.168.178.254 usw.) Ebenso ist das Default Gateway und die DNS Server IP auf die LAN IP Adresse des vorliegenden Routers einzustellen ! Alternativ kann man den WAN Port im Setup Auswahlmenü auch im DHCP Modus (Client) betreiben. Warum das nicht ganz so gut ist beschreibt der nächste Punkt.
- Im vorliegenden Router muss eine Port Weiterleitung des UDP Ports 1194 (OpenVPN Default) lokal auf die statische WAN IP Adresse des OpenVPN Routers eingetragen werden. Da diese Port Weiterleitung statisch ist, ist es sehr sinnvoll auch die OVPN Router WAN IP statisch zu setzen. DHCP ginge ebenso, allerdings besteht die Gefahr das sich aufgrund der Dynamik von DHCP diese IP einmal ändert und dann laufen die OpenVPN Pakete von der Port Weiterleitung ins Leere. Es gilt also: "DHCP gut...statisch ist besser !"
- Zusätzlicher Punkt nur für die DD-WRT Plattform: DD-WRT MUSS hier im Gateway Modus laufen und die SPI Firewall muss deaktiviert werden ! Dieser Punkt gilt NICHT für pfSense !!
- Soll der OpenVPN Client das VPN über einen DynDNS Namen bzw. Account erreichen, MUSS dieser DynDNS Dienst auf dem vorliegenden Router aktiviert werden und NICHT auf dem OpenVPN Router ! Logisch, da der OpenVPN Client ja nur die öffentliche IP des vorliegenden Routers sehen kann, der dann ja eingehende UDP 1194 Pakete (OpenVPN default) dann aber weiterleitet auf den OpenVPN Router. VPN Server Ziel ist also immer die öffentliche WAN/DSL Adresse des vorliegenden Routers !
- Wichtig ist darauf zu achten, das sich die IP Adressen des Verbindungs LANs, des lokalen LANs und auch des internen OpenVPN Servernetzes nicht doppeln oder überschneiden ! Hier ist also auf eine korrekte IP Adressierung zu achten. Es gelten wie immer die goldenen_VPN-Regeln beim IP Design !
Wichtiger Tip zum einfachen vorab Testen der fehlerfreien OpenVPN Funktion:
Bevor man den Zugriff von extern über das Internet ausprobiert, testet man die Funktion erst einmal lokal um sicher zu gehen das alles korrekt funktioniert.
Dazu hängt man den OpenVPN Client ganz einfach per Kabel oder WLAN in das "Verbindungs LAN" und gibt in der OpenVPN Client Konfig Datei die Ziel IP des OpenVPN Routers im "Verbindungs LAN" an. (Hier im Beispiel die 192.168.1.254 dann in der Konfig Datei mit der Zeile remote 192.168.1.254 1194 !)
Bei einem Verbindungstest sollte sofort eine gültige VPN Verbindung zustande kommen. (Client Log).
Ein paar zusätzliche Troubleshooting Tips findet man auch auf der OpenVPN_Webseite
Dieser Vorabtest sollte IMMER fehlerfrei durchlaufen, denn so kann man absolut sicher gehen das die OpenVPN Konfiguration selber fehlerfrei ist.
Nachträgliche Fehler oder Verbindungsprobleme liegen dann meist an Firewall Einstellungen am Client oder NAT Routern im Signalweg ! Mna kann die Suche dann darauf konzentrieren und nicht mehr bei der OpenVPN Konfiguration.
Klappt also alles fehlerfrei bis hierhin steht einem finalen Zugriffstest aus dem großen weiten Internet nichts mehr im Wege !
Client Installation
Die Client Installation geht sehr einfach von der Hand. Durch die Zertifikats Generierung ist der grafische Windows Client schon installiert und das damit erzeugte Client Zertifikat sollte auch im richtigen Verzeichnis sein ist man der Anleitung oben gefolgt.Das ist wichtig, denn ohne Client Zertifikat wird der Verbindungsversuch abgewiesen. Hat man mehrere Clients generiert man einfach mehrer Client Zertifikate und kann diese zusammen mit der Konfig Datei an remote User aushändigen.
Apple Mac Benutzer finden einen Client hier:
http://code.google.com/p/tunnelblick/
Ein Linux KDE Client gibt es hier:
http://home.gna.org/kvpnc/en/index.html
Auch der Client benötigt wie der Server eine Konfig Datei !
Man kann entweder die Standard Konfig Datei im Windows GUI über einen Rechtsklick auf das Taskleistensymbol und "Edit" editieren und nach den u.a. Vorgaben anpassen oder diese Datei hier direkt übernehmen:
client
dev tun
proto udp
remote 192.168.100.162 1194 <-- ändern auf reale OpenVPN Server IP oder DynDNS !
;remote mein-vpn-server.dyndns.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca C:/Programme/OpenVPN/easy-rsa/keys/ca.crt
cert C:/Programme/OpenVPN/easy-rsa/keys/client1.crt
key C:/Programme/OpenVPN/easy-rsa/keys/client1.key
ns-cert-type server
comp-lzo
verb 3
Screenshots des Windows Clients sieht man hier:
http://openvpn.se/screenshots.html
Auch hier gilt wieder das korrekte Eintragen des Pfades auf die Zertifikatsdateien C:/Programme/OpenVPN/easy-rsa/keys/ was aber in der Regel der Client Installer und die Skripte automatisch erledigen !
Achtung: Die obige IP Adresse 192.168.100.162 ist lediglich zum Testen im Labor hier als Beispiel !
In der realen Konfig Datei muss hier die Internet IP Adresse oder der DynDNS Hostname des Internet WAN/DSL Interfaces des Routers oder der pfsense Firewall stehen (VPN Server Zieladresse) !
Da der Linksys WRT54G und auch die pfsense FW kein integriertes DSL_Modem haben, kann man wie oben bereits erwähnt, ihn testweise mit seinem Internet Interface (Ethernet) in das lokale Netz hängen, eine IP Adresse per DHCP vergeben lassen oder statisch einstellen und so die OpenVPN Funktion sauber lokal testen bevor man ihn ans Internet hängt.
Dafür muss man die o.a. Ziel IP Adresse natürlich entsprechend anpassen in der Client Konfig Datei !!
Klickt man nun beim Client auf Connect, kann man im aufgehenden Statusfenster genau den Connect Prozess beobachten und auch bei Fehlern reagieren !
Ist alles OK, schliesst das Fenster automatisch und das Taskleistensymbol wechselt auf eine grüne Farbe und zeigt in einem Ballon Tip die VPN IP an !
Ein Ping auf die LAN IP Adresse des Routers 192.168.1.1 sollte dann eine Antwort ergeben !
Mit einem route print in der Eingabeaufforderung bei Windows kann man anhand der Routing Tabelle sehen ob alle Netze korrekt über das VPN geroutet werden ! Es zeigt also ob das "push route..." Kommando im Server korrekt erkannt wurde !
Damit ist der VPN Tunnel dann korrekt aufgebaut und bietet einen Zugriff auf alle Endgeräte im remoten Netz ! Weitere IP Netze auf der remoten (Server) Seite lassen sich per push "route <ip_netz_adresse> <mask>" in der Server Konfig Datei dynmaisch auf den Client übertragen so das ein sauberes Routing stattfindet.
Ein wichtiges Augenmerk sollte immer auf die Windows Firewall oder ggf. eine zusätzlich installierte Personal FW geworfen werden wenn andere PCs im Netzwerk erreicht werden müssen !!
In der Regel blockt die FW fremde IP Netze (..und das VPN ist ein solches fremdes IP Netz !!) gnadenlos, so das man hier in den erweiterten Eigenschaften unter Ports den Bereich unbedingt auf "Alle Rechner inkl. Internet" erweitern sollte.
pfsense bietet zudem noch über seine System Logs eine detailierte Möglichkeit die Aktivität des OpenVPN Servers zu beobachten und zu Troubleshooten und hat hier einen Vorteil gegenüber dd-wrt, das diese Möglichkeit nicht besitzt !!
Besonderheit DD-WRT Client !!:
DD-WRT Benutzern ist nicht entgangen das der DD-WRT Router ebenfalls einen OpenVPN Client an Bord hat. Damit ist der Router in der Lage auf alle OpenVPN Server eine VPN Verbindung mit OpenVPN aufzubauen und so einfach und sehr preiswert eine Standort VPN Vernetzung zu realisieren, was auch vollkommen problemlos funktioniert.
Allerdings gibt es eine DD-WRT Besonderheit zu beachten:
Der DD-WRT OVPN Client nimmt es mit dem Begriff Client VPN sehr genau. Er macht nämlich am Tunnelinterface des VPN Tunnel auch ein NAT (Masquerading).
Das ist insofern fatal, als das damit eine Verbindung ins Client LAN von anderen LANs nicht möglich ist, denn das verhindert die NAT Firewall am Tunnelinterface.
Es ist also immer nur eine Verbindung remotes Standort Netzwerk am Router (OpenVPN Client) zum VPN Server und dessen Netzwerke möglich. Also sogesehen eine Einbahnstrasse.
Für viele Standort VPN Verbindungen die nur Resourcen am zentralen Standort nutzen mag das vollkommen ausreichen. Für die die auch Resourcen im Clinet LAN nutzen müssen nicht.
Das DD-WRT Wiki hat auch einen entsprechenden Eintrag dafür:
http://www.dd-wrt.com/wiki/index.php/Open ...
wie andere Wikis ebenso....
http://cyberdelia.de/2011/03/ddwrt-openvp ...
Mit den Patches ist dann ein transparentes LAN to LAN VPN problemlos mit dem DD-WRT Client realisierbar.
Wer die dort geposteten Workarounds vermeiden will muss sich derzeit nach einer anderen Firmware umsehen wie OpenWRT, Tomato usw. die diese NAT Einschränkung beim OVPN Client nicht aufweist.
Alternative ist dann auf einen anderen Router mit OpenVPN Client Option auszuweichen wie Monowall, pfSense, Mikrotik usw. usw.
Standortvernetzung mit OpenVPN
Natürlich ist mit der gleichen Einstellung zusätzlich zur Client Einwahl auch sehr einfach eine sog. Site-to-Site Standortvernetzung mit OpenVPN zu realsieren.Als Beispiel sei folgendes Design angenommen:

Die Server Konfiguration wird dazu entsprechend erweitert:
Um auch eine Kommunikation der Standortnetze untereinander zu gewährleisten muss der Haken bei "Client to Client VPN" gesetzt sein ! (Ist eine Kommunikation der Standortnetze untereinander nicht gewünscht lässt man dies weg !)
Der erste Route Befehl leitet alle Pakete aus dem Netz der Zentrale zu den Standortnetzen ins VPN.
Die beiden anderen Route Befehle setzen die Routen an den Standort VPN Routern automatisch so, das Daten ins Netz der Zentrale und zum anderen Standort ebenfalls ins VPN geroutet werden.
Die Konfig wird nun gesichert und folgende Dinge im Reiter "Client Specific Configuration" eingestellt: (Beispiel hier für Standort-1 mit dem Client Key common name client1 )
Hier klickt man auf das "+" und fügt eine Konfig ein und trägt den "Common Name" des oben bei der Schlüsselerzeugung eingegebenen Client Common Names ein (Bsp. hier client1 )
Das Kommando iroute 172.32.10.0 255.255.255.0 blockt eigene, lokale Pakete vom VPN Tunnel.
Das wiederholt man anlog mit einem weiteren "+" für alle lokalen Standortnetze !
Damit ist die Server Konfiguration abgeschlossen.
Die Standorte
Der Standort Router wird wie folgt konfiguriert mit einem Klick auf VPN --> OpenVPN und Client.:
Hier ist lediglich der DynDNS Hostnamen des Routers in der Zentrale oder dessen öffentliche Internet IP als Ziel anzugeben.
"Cryptography" ist wieder auf AES-128-Bit CBC einzustellen wie oben im Server (Wichtig: muss übereinstimmend sein !)
"Authentication" ist auch analog wieder auf PKI zu setzen und die erzeugten Client Keys (client1....clinetx usw.) von oben per cut and paste einzutragen !
Custom Options auf "float" setzen um Adressänderungen bei ggf. doppeltem NAT im Providernetz zu akzeptieren.
Mit der Beschreibung am Ende ist die Client Installation dann abgeschlossen und der Standort wird sich nach dem Klick auf "Save" zur Sicherung sofort mit dem Router der Zentrale verbinden und den VPN Tunnel aufbauen. Das kann man im Systemlog von pfSense kontrollieren !
Damit ist dann die transparente Netzwerk Vernetzung der Standorte mit der Zenrale und unter sich funktionsbereit, was man mit einem Ping der Endgeräte verifizieren kann.
Achtung: Nicht vergessen, da man aus fremden IP Netzen kommt ggf. immer die lokale Firewall anpassen !
Domain Integration (DNS)
Eine sehr interessante Option bietet OpenVPN noch Betreibern einer Windows Domain die am Hauptstandort einen DC mit DNS zentral betreiben.OpenVPN kann automatisch DNS Anfragen der Standorte an lokale Domainnamen an den DNS abfangen und somit problemlos ohne Klimmzüge lokal auflösen.
Dazu definiert man in den Clients unter Services --> DNS Forwarder einfach die lokale Domain und die dazugehörige DNS Server IP Adresse des DCs.
Damit ist dann auch die Domain Integration der Standorte im Handumdrehen erledigt.
Wichtige Tipps zum VPN IP Adress Design
Es gehört zu den goldenen Regeln eines vorausschauenden VPN Designs das lokales und remotes Netzwerk NIEMALS gleich sein dürfen !!Ist ja auch logisch, da so ein Routing der remoten Netze bei Gleichheit vollkommen unmöglich wird.
Viele Laien wählen als IP Netzwerk die allseits bekannten IP Netze 192.168.1.0 /24 oder 192.168.2.0 /24 usw. da diese oft per Default von allen Consumer DSL (Speedport usw.) und Kabelroutern verwendet werden und zuhauf im Einsatz sind.
192.168.178.0 /24 scheidet ebenfalls aus, da jede FritzBox dieses Netz lokal verwendet ! Niemand macht sich die Mühe das umzustellen und übernimmt oft kritiklos und häufig auch aus Unwissen diese Standard Einstellungen !
Die Folge davon ist das diese IP Netze in vielen öffentlichen Netzen wie in Hotels, Hotspots, Flughäfen und (leider) auch zahllosen Firmennetzen benutzt werden.
Tritt dann IP Gleichheit der remoten und lokalen VPN Netze ein, macht das einen VPN Betrieb technisch unmöglich !
Es ist daher dringend angeraten beim Aufbau und Planung von VPN Zugängen immer etwas exotischere IP Netze für sein lokales LAN zu wählen die einen IP Adresskonflikt dadurch nahezu unmöglich machen und einen störungsfreien VPN Betrieb ermöglichen.
Sieht man sich einmal den RFC-1918 (Private IP Netze) etwas genauer an der die IP Adresskontingente für Private Netze global festlegt:
http://de.wikipedia.org/wiki/Private_IP-A ...
erkennt man schnell das man sich nicht mit banalen 192.168er IP Adressen abfinden muss, sondern auch noch den Block im 172er und 10er Bereich hat.
Wählt man nun bei der VPN Planung etwas IP netztechnisch "Exotisches" für die Adressierung wie z.B.
192.168.217.0 /24 = 255.255.255.0 24 Bit Adress Maske
oder
172.24.1.0 /24
oder
10.168.70.0 /24
oder oder oder....
kann man sich relativ sicher sein das ein IP Adresskonflikt durch gleiche IP Netze doch sehr sehr selten ist und man sich VPN Probleme gleich von Anfang an aus der (IP) Welt schafft !
Weitere Optionen sind der VPN Tunnelaufbau über Proxy Server und andere Features die OpenVPN bietet. Weitergehende Infos bietet hier die Documentation auf der OpenVPN Seite:
http://www.openvpn.net/index.php/open-sou ...
Eine Standort Vernetzung mit der VPN Funktion der FritzBox ist mit OpenVPN nicht möglich es sei denn man flasht die FB mit der alternativen freetz Firmware.
Eine heterogene Standortvernetzung ist aber problemlos mit FB und Monowall/pfSense möglich nutzt man das IPsec Protokoll.
Dieses Tutorial beschreibt die einzelnen Schritte:
http://www.administrator.de/index.php?con ...
Letzte Aktualisierung: 13/04/2012
christianW schreibt am 09.09.2009 um 19:17:13 Uhr
Hallo zusammen,
habe das eben mal ausprobiert, denke habe aber einen Schreibfehler gefunden:
Serverconfig:
port 1194
proto udp
dev tun0
ca /tmp/openvpn/ca.crt (Master Zertifikat)
cert /tmp/openvpn/cert.pem (Server Zertifikat)
key /tmp/openvpn/key.pem (Server Key)
dh /etc/openvpn/dh.pem (DH Parameter)
server 172.16.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0" (Default LAN IP Netz DD-WRT)
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
der Pfad zu DH musste ich von " /etc/openvpn/dh.pem " auf " /tmp/openvpn/dh.pem " andern, sonst konnte ich den server nicht starten
Aber leider komme ich nicht weiter, ich nutze dies sonst als routing auf einem Rechenr installiert und gebe die enstprechenden Routen im Router ein.
Ich kann mit dieser Serverconfig nicht auf mein Netz hinter dem Router zugreifen und weiss auch nicht die virtuelle IP des VPNServers,
kann hier noch jemand helfen ?
habe das eben mal ausprobiert, denke habe aber einen Schreibfehler gefunden:
Serverconfig:
port 1194
proto udp
dev tun0
ca /tmp/openvpn/ca.crt (Master Zertifikat)
cert /tmp/openvpn/cert.pem (Server Zertifikat)
key /tmp/openvpn/key.pem (Server Key)
dh /etc/openvpn/dh.pem (DH Parameter)
server 172.16.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0" (Default LAN IP Netz DD-WRT)
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
der Pfad zu DH musste ich von " /etc/openvpn/dh.pem " auf " /tmp/openvpn/dh.pem " andern, sonst konnte ich den server nicht starten
Aber leider komme ich nicht weiter, ich nutze dies sonst als routing auf einem Rechenr installiert und gebe die enstprechenden Routen im Router ein.
Ich kann mit dieser Serverconfig nicht auf mein Netz hinter dem Router zugreifen und weiss auch nicht die virtuelle IP des VPNServers,
kann hier noch jemand helfen ?
aqui schreibt am 09.09.2009 um 23:42:28 Uhr
Ooopsa.... Danke für den Hinweis ! Du hast natürlich Recht. Der Fauxpas ist korrigiert oben.
Wichtig ist der "push "route 192.168.1.0 255.255.255.0" Befehl, denn der propagiert dein remotes lokales LAN hinter dem OpenVPN Server an den Client !
Dieses IP Netzwerk musst du unbedingt auf das von dir verwendete in der Konfig anpassen, das ist
klar !
Die virtuelle IP des Servers steht doch im Kommando "server 172.16.2.0 255.255.255.0" !!
Der Server nimmt sich immer selbst die niedrigste IP also die 172.16.2.1 !
Wenn du mit dem OpenVPN Client verbunden bist und in der Windows Eingabeaufforderung einmal ipconfig eingibst siehst du die IP Adressierung des VPN tun Adapters.
Die Eingabe von route print zeigt dir ob der push Befehl sauber am Client ausgeführt wurde, denn dort steht dann eine Route zu deinem remoten Netzwerk via OpenVPN tun Adapter !
Das hat den Riesenvorteil bei OpenVPN das man damit alle remoten Netze an den Client dynamisch propagieren kann, auch solche die am VPN Server Standort über Router oder L3 Switches getrennt sind.
Frickelei mit statischen Routen am Client entfällt so komplett bei OpenVPN !
Wichtig ist der "push "route 192.168.1.0 255.255.255.0" Befehl, denn der propagiert dein remotes lokales LAN hinter dem OpenVPN Server an den Client !
Dieses IP Netzwerk musst du unbedingt auf das von dir verwendete in der Konfig anpassen, das ist
klar !
Die virtuelle IP des Servers steht doch im Kommando "server 172.16.2.0 255.255.255.0" !!
Der Server nimmt sich immer selbst die niedrigste IP also die 172.16.2.1 !
Wenn du mit dem OpenVPN Client verbunden bist und in der Windows Eingabeaufforderung einmal ipconfig eingibst siehst du die IP Adressierung des VPN tun Adapters.
Die Eingabe von route print zeigt dir ob der push Befehl sauber am Client ausgeführt wurde, denn dort steht dann eine Route zu deinem remoten Netzwerk via OpenVPN tun Adapter !
Das hat den Riesenvorteil bei OpenVPN das man damit alle remoten Netze an den Client dynamisch propagieren kann, auch solche die am VPN Server Standort über Router oder L3 Switches getrennt sind.
Frickelei mit statischen Routen am Client entfällt so komplett bei OpenVPN !
christianW schreibt am 12.09.2009 um 22:22:25 Uhr
Hallo ,
danke für Deine Antwort, ich hatte einen mtu Parameter in meiner Clientconfig, dieses hatt größe Auswirkung auf die Verbindung.
Verbinden funktioniert nun einwandfrei.
Den "push route" Befehl habe ich auf meine lokale LAN Ip angepasst.
Ich kann nun zwar den OpenVPN Server via Virtueller-IP und physikalischer Router-IP erreichen, allerdings erreiche ich keinen Client dahinter. Habe auch zusätzlich im Router noch eine static route in das vpn Netz eingetragen, leider auch ohne Erfolg ?
danke für Deine Antwort, ich hatte einen mtu Parameter in meiner Clientconfig, dieses hatt größe Auswirkung auf die Verbindung.
Verbinden funktioniert nun einwandfrei.
Den "push route" Befehl habe ich auf meine lokale LAN Ip angepasst.
Ich kann nun zwar den OpenVPN Server via Virtueller-IP und physikalischer Router-IP erreichen, allerdings erreiche ich keinen Client dahinter. Habe auch zusätzlich im Router noch eine static route in das vpn Netz eingetragen, leider auch ohne Erfolg ?
aqui schreibt am 13.09.2009 um 13:31:50 Uhr
Mmmhhh, der Client "dahinter" hat ja vermutlich den OpenVPN Server Router als default Gateway eingetragen...oder ??
Eine statische Route ist dann da natürlich überflüssig, denn das Netz ist ja direkt an ihm sebst dran.
Dein Problem ist vermutlich (wie immer in diesen Fällen..) die Firewall dieses Clients.
Wie du ja weisst blockt diese alle Connect und Ping Versuche aus Fremdnetzen. Sie lässt lediglich Zugriffe aus dem lokalen Netzwerk zu !!
Du musst also in jedem Falle den Bereich dieser Firewall anpassen.
Außerdem solltest du checken ob Pingen überhaupt erlaubt ist an dem Client.
Dazu muss in den erweiterten Eigenschaften der Firewall der Haken bei " Auf eingehende Echoanforderungen antworten" in jedem Falle gesetzt sein !!
Außerdem solltest du unbedingt beachten, das dein remoter Client und das lokale Netz sowie das virtuelle Open VPN Server IP Netz in unterschiedlichen IP Netzen liegen, die sich nie überschneiden dürfen.
Es gelten die "goldenen VPN Regeln" wie du sie hier nachlesen kannst:
http://www.administrator.de/index.php?con ...
Generell funktioniert dieses Design vollkommen problemlos. Mit den obigen Regeln sollte es auch bei dir so sein !!
Eine statische Route ist dann da natürlich überflüssig, denn das Netz ist ja direkt an ihm sebst dran.
Dein Problem ist vermutlich (wie immer in diesen Fällen..) die Firewall dieses Clients.
Wie du ja weisst blockt diese alle Connect und Ping Versuche aus Fremdnetzen. Sie lässt lediglich Zugriffe aus dem lokalen Netzwerk zu !!
Du musst also in jedem Falle den Bereich dieser Firewall anpassen.
Außerdem solltest du checken ob Pingen überhaupt erlaubt ist an dem Client.
Dazu muss in den erweiterten Eigenschaften der Firewall der Haken bei " Auf eingehende Echoanforderungen antworten" in jedem Falle gesetzt sein !!
Außerdem solltest du unbedingt beachten, das dein remoter Client und das lokale Netz sowie das virtuelle Open VPN Server IP Netz in unterschiedlichen IP Netzen liegen, die sich nie überschneiden dürfen.
Es gelten die "goldenen VPN Regeln" wie du sie hier nachlesen kannst:
http://www.administrator.de/index.php?con ...
Generell funktioniert dieses Design vollkommen problemlos. Mit den obigen Regeln sollte es auch bei dir so sein !!
christianW schreibt am 14.09.2009 um 17:52:16 Uhr
Hallo,
Du warst schneller wie ich! Klar es war die lokale Firewall ICMP Anfragen werden geblockt, irgendwann sollte man mal Pause machen sonst sieht man den Wald vor Bäumen nciht mehr.
Super Danke für die Unterstützung !!
Du warst schneller wie ich! Klar es war die lokale Firewall ICMP Anfragen werden geblockt, irgendwann sollte man mal Pause machen sonst sieht man den Wald vor Bäumen nciht mehr.
Super Danke für die Unterstützung !!
amine2067 schreibt am 28.01.2010 um 16:11:16 Uhr
Hallo zusammen,
Danke für dieser Tutorial, er ist echt supper.
leider ist Openvpn noch nicht aktiv.
Ich bekomme diese Fehlermeldung:
Thu Jan 28 15:49:51 2010 OpenVPN 2.1_rc20 mipsel-unknown-linux-gnu [SSL] [LZO1] [EPOLL] built on Oct 10 2009
Thu Jan 28 15:49:51 2010 Diffie-Hellman initialized with 1024 bit key
Thu Jan 28 15:49:51 2010 Cannot load private key file /tmp/openvpn/key.pem: erro r:0D0680A8:lib(13):func(104):reason(168): error:0D06C03A:lib(13):func(108):reaso n(58): error:0D08303A:lib(13):func(131):reason(58): error:0D09A00D:lib(13):func( 154):reason(13): error:0907B00D:lib(9):func(123):reason(13): error:140B0009:lib( 20):func(176):reason(9)
Thu Jan 28 15:49:51 2010 Error: private key password verification failed
Thu Jan 28 15:49:51 2010 Exiting
root@DD-WRT:~# Cannot load private key file /tmp/openvpn/key.pem
mein generierter Private key sieht so aus:
-----BEGIN RSA PRIVATE KEY-----
MIIB7TCCAVYCAQAwgZcxCzAJBgNVBAYTAkRFMRowGAYDVQQIExFCYWRlbnd1ZXJ0
dGVtYmVyZzESMBAGA1UEBxMJdHVlYmluZ2VuMRQwEgYDVQQKEwtGb3J0RnVuc3Rv
bjEcMBoGA1UEAxMTbnRvZmZpY2UuZHluZG5zLm9yZzEkMCIGCSqGSIb3DQEJARYV
YW1pbmUyMDY3QGhvdG1haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQDQNbKxBXbqIjB7R9XCmg689uQc5LparL6zvKtzfM5cJKzcHR78tNRsP27zu8OA
Q/NlLBKW7XB+wHjVskRbvD1uFWwKA78aRk8MvHOpUF3J7UJU3TH+zxc61eQA6z5D
*
*
*
TD6DOKjzKL52oQRy7oLmYv4=
-----END RSA PRIVATE KEY-----
Ich würde sehr Dankbar sein für eure hilfe
Danke im Voraus
Amine
Danke für dieser Tutorial, er ist echt supper.
leider ist Openvpn noch nicht aktiv.
Ich bekomme diese Fehlermeldung:
Thu Jan 28 15:49:51 2010 OpenVPN 2.1_rc20 mipsel-unknown-linux-gnu [SSL] [LZO1] [EPOLL] built on Oct 10 2009
Thu Jan 28 15:49:51 2010 Diffie-Hellman initialized with 1024 bit key
Thu Jan 28 15:49:51 2010 Cannot load private key file /tmp/openvpn/key.pem: erro r:0D0680A8:lib(13):func(104):reason(168): error:0D06C03A:lib(13):func(108):reaso n(58): error:0D08303A:lib(13):func(131):reason(58): error:0D09A00D:lib(13):func( 154):reason(13): error:0907B00D:lib(9):func(123):reason(13): error:140B0009:lib( 20):func(176):reason(9)
Thu Jan 28 15:49:51 2010 Error: private key password verification failed
Thu Jan 28 15:49:51 2010 Exiting
root@DD-WRT:~# Cannot load private key file /tmp/openvpn/key.pem
mein generierter Private key sieht so aus:
-----BEGIN RSA PRIVATE KEY-----
MIIB7TCCAVYCAQAwgZcxCzAJBgNVBAYTAkRFMRowGAYDVQQIExFCYWRlbnd1ZXJ0
dGVtYmVyZzESMBAGA1UEBxMJdHVlYmluZ2VuMRQwEgYDVQQKEwtGb3J0RnVuc3Rv
bjEcMBoGA1UEAxMTbnRvZmZpY2UuZHluZG5zLm9yZzEkMCIGCSqGSIb3DQEJARYV
YW1pbmUyMDY3QGhvdG1haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQDQNbKxBXbqIjB7R9XCmg689uQc5LparL6zvKtzfM5cJKzcHR78tNRsP27zu8OA
Q/NlLBKW7XB+wHjVskRbvD1uFWwKA78aRk8MvHOpUF3J7UJU3TH+zxc61eQA6z5D
*
*
*
TD6DOKjzKL52oQRy7oLmYv4=
-----END RSA PRIVATE KEY-----
Ich würde sehr Dankbar sein für eure hilfe
Danke im Voraus
Amine
aqui schreibt am 28.01.2010 um 20:00:22 Uhr
Mach die im Tutorial angesprochene SSH Verbindung auf den OpenWRT mit Putty, wechsel ins Verzeichnis /tmp/openvpn/ mit dem Kommando cd /tmp/openvpn/ und dann gibst du ein ls -l und checkst mal ob deine Datei key.pem dort im Verzeichnis steht.
Wenn sie da nicht steht ist die Fehlermeldung klar !! Dann musst du den Serverkey nochmal importieren. Die Datei key.pem muss dort im Verzeichnis stehen ! Möglich ist auch das du den falschen keyfile importiert hast, denn scheinbar stimmt auch das Passwort mit dem CA Key nicht überein. Ggf. müsstest du alle Keys gem. dem o.a. Tutorial nochmal sauber generieren !
Ggf. postest du mal den ls-l Output.
Wenn sie da nicht steht ist die Fehlermeldung klar !! Dann musst du den Serverkey nochmal importieren. Die Datei key.pem muss dort im Verzeichnis stehen ! Möglich ist auch das du den falschen keyfile importiert hast, denn scheinbar stimmt auch das Passwort mit dem CA Key nicht überein. Ggf. müsstest du alle Keys gem. dem o.a. Tutorial nochmal sauber generieren !
Ggf. postest du mal den ls-l Output.
amine2067 schreibt am 29.01.2010 um 10:26:28 Uhr
hallo aqui,
Danke für die Antwort.
Ich habe alle schritte genau verfolgt, ich habe 3 mal die keys generiert am anfang hatte ich Probleme mit CA aber danach mit key.pem.
mein ls-l Output sieht so aus:
root@DD-WRT:~# ls -l /tmp/openvpn
-rw------- 1 root root 1338 Jan 28 15:49 ca.crt
-rw------- 1 root root 3827 Jan 28 15:49 cert.pem
-rw------- 1 root root 245 Jan 28 15:49 dh.pem
-rw------- 1 root root 737 Jan 28 15:49 key.pem
-rw------- 1 root root 255 Jan 28 15:49 openvpn.conf
-rwx------ 1 root root 36 Jan 28 15:49 route-down.sh
-rwx------ 1 root root 60 Jan 28 15:49 route-up.sh
root@DD-WRT:~#
Vielleicht kannst du mir worauf ich achten muss beim Keys generieren.
Vielen Dank
Amine
Danke für die Antwort.
Ich habe alle schritte genau verfolgt, ich habe 3 mal die keys generiert am anfang hatte ich Probleme mit CA aber danach mit key.pem.
mein ls-l Output sieht so aus:
root@DD-WRT:~# ls -l /tmp/openvpn
-rw------- 1 root root 1338 Jan 28 15:49 ca.crt
-rw------- 1 root root 3827 Jan 28 15:49 cert.pem
-rw------- 1 root root 245 Jan 28 15:49 dh.pem
-rw------- 1 root root 737 Jan 28 15:49 key.pem
-rw------- 1 root root 255 Jan 28 15:49 openvpn.conf
-rwx------ 1 root root 36 Jan 28 15:49 route-down.sh
-rwx------ 1 root root 60 Jan 28 15:49 route-up.sh
root@DD-WRT:~#
Vielleicht kannst du mir worauf ich achten muss beim Keys generieren.
Vielen Dank
Amine
christianW schreibt am 07.03.2010 um 22:33:08 Uhr
Hallo ,
ich verwende für die Zertifikate XCA zun erstellen. Den meinsten Beginnern fällt die Erstellung mit einer GUI am Anfang einfacher. Einfach danach ein Export und im Editor öffnen, drag and drop und im Router einfügen!
ich verwende für die Zertifikate XCA zun erstellen. Den meinsten Beginnern fällt die Erstellung mit einer GUI am Anfang einfacher. Einfach danach ein Export und im Editor öffnen, drag and drop und im Router einfügen!
aqui schreibt am 08.03.2010 um 09:29:58 Uhr
Stimmt, das ist ggf. für den einen oder anderen Anfänger eine Erleichterung. Das Programm gibt es hier zum Download:
http://sourceforge.net/projects/xca/
Ein paar Screenshots sieht man hier:
http://www.softpedia.com/progScreenshots/ ...
http://sourceforge.net/projects/xca/
Ein paar Screenshots sieht man hier:
http://www.softpedia.com/progScreenshots/ ...
agu96 schreibt am 01.04.2010 um 09:46:20 Uhr
Hallo;
ich versuche auch schon seit Tagen,ein funktionierendes OpenVPN auf einem DD-WRT-Router zu installieren. Es scheitert jedoch immer mit folgender Fehlermeldung:
Error: private key password verification failed
Cannot load private key file /tmp/openvpn/key.pem
Die key.pem ist aber dort,wo sie sein sollte. Ich habe das mit der o.g. Anleitung (die wirklich narrensicher ist) immer und immerwieder durchgespielt. Ich habe auch mehrere Router (WRT54GL und WRT610N) mit jeweils verschiedenen Softwareversionen ausprobiert. Ich habe auch mal ausprobiert,die Keys mit WinSCP zu übertragen;fehlgeschlagen
Außerdem habe ich die Keys auch mit XCA erstellt;das Ergebnis ist immer wieder das selbe.
Vielleicht hat der ein oder andere von euch eine zündende Idee oder einen Hinweis,was ich noch tun könnte.
Vielen Dank im voraus.
Gruß,
AGU96
ich versuche auch schon seit Tagen,ein funktionierendes OpenVPN auf einem DD-WRT-Router zu installieren. Es scheitert jedoch immer mit folgender Fehlermeldung:
Error: private key password verification failed
Cannot load private key file /tmp/openvpn/key.pem
Die key.pem ist aber dort,wo sie sein sollte. Ich habe das mit der o.g. Anleitung (die wirklich narrensicher ist) immer und immerwieder durchgespielt. Ich habe auch mehrere Router (WRT54GL und WRT610N) mit jeweils verschiedenen Softwareversionen ausprobiert. Ich habe auch mal ausprobiert,die Keys mit WinSCP zu übertragen;fehlgeschlagen
Außerdem habe ich die Keys auch mit XCA erstellt;das Ergebnis ist immer wieder das selbe.
Vielleicht hat der ein oder andere von euch eine zündende Idee oder einen Hinweis,was ich noch tun könnte.
Vielen Dank im voraus.
Gruß,
AGU96
aqui schreibt am 01.04.2010 um 11:03:35 Uhr
Hast du die Dateirechte im Key Verzeichnis einmal gecheckt ??
Ansonsten musst du die Schlüssel als ASCII Text über das Web Interface importieren. Wenn du FTP oder SCP benutzt musst du aufpassen den Binary Mode zu benutzen !
Ansonsten kann nur was bei deiner Key Erzeugung schief gegangen sein. Hast du das normal über die Eingabeaufforderung des OpenVPNs unter Windows oder Linux gemacht ??
Ansonsten musst du die Schlüssel als ASCII Text über das Web Interface importieren. Wenn du FTP oder SCP benutzt musst du aufpassen den Binary Mode zu benutzen !
Ansonsten kann nur was bei deiner Key Erzeugung schief gegangen sein. Hast du das normal über die Eingabeaufforderung des OpenVPNs unter Windows oder Linux gemacht ??
agu96 schreibt am 01.04.2010 um 11:22:32 Uhr
Die Dateirechte habe ich noch nicht gecheckt;was müsste denn da stehen?
Ich habe die Schlüssel erzeugt unter Windows (Win7 Ultimate 64 Bit) mit dem aktuellsten OpenVPN Installer 2.1.1 in der Eingabeaufforderung gemacht. Testweise auch einmal wie oben beschrieben mit XCA. Das mit dem Binary-Modus habe ich an anderer Stelle gelesen und auch ausprobiert.
Ich habe die Schlüssel erzeugt unter Windows (Win7 Ultimate 64 Bit) mit dem aktuellsten OpenVPN Installer 2.1.1 in der Eingabeaufforderung gemacht. Testweise auch einmal wie oben beschrieben mit XCA. Das mit dem Binary-Modus habe ich an anderer Stelle gelesen und auch ausprobiert.
aqui schreibt am 02.04.2010 um 13:22:31 Uhr
Was dort stehen muss kannst du im Tutorial oben nachlesen es ist entsprechend aktualisiert !
Ein kurzer Test mit für dich generierten Schlüsseldateien verlief vollkommen problemlos !! Du hast also de facto etwas beim Generieren der Schlüssel oder deren Import in die Eingabemasken der DD-WRT Konfig falsch gemacht !
Hier sind für dich die Schlüssel zum ausprobieren, damit funktioniert es fehlerfrei !
Public Server Cert, ca.crt Datei:
Public Client Cert, server.crt Datei
Private Client Key, server.key Datei
DH PEM, dh1024.pem Datei
Server Konfigurations Datei. DD-WRT Router hier mit 192.168.1.1 als LAN IP Adresse:
port 1194
proto udp
dev tun0
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
dh /tmp/openvpn/dh.pem
server 172.16.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
Damit funktioniert die Initialisierung einwandfrei und ohne Fehler ! Du kannst diese Daten einfach per cut and paste nutzen
Den gesamten Schlüsselsatz inklusive 3er Client Schlüssel zum Testen kannst du dir HIER runterladen !
Die dazu passende Client Konfig für einen Windows OpenVPN Client ist hier:
Achtung: Bedenke aber bitte das dieser Key für den späteren Betrieb nun unbrauchbar ist, da er jetzt öffentlich ist. Du musst also die Schlüsselgenerierung nochmal neu anstoßen um einen für dich einzigartigen Schlüssel zu bekommen !!
Wenn du mit dem Client erfolgreich eine Verbindung aufgebaut hast, dann kannst du mit ipconfig am Client die Server IP Adresse des OpenVPN Servers sehen !
Ein route print zeigt dir die propagierte Route zum 192.168.1.0er Netzwerk (Client darf dazu natürlich NICHT auch im 192.168.1.0er Netz sein !!!)
Ein Ping auf die 192.168.1.1 also die LAN IP Adresse des DD-WRT Routers sollte dir dann eine Antwort bringen und zeigen das der OpenVPN Tunnel aktiv ist !!
Ein kurzer Test mit für dich generierten Schlüsseldateien verlief vollkommen problemlos !! Du hast also de facto etwas beim Generieren der Schlüssel oder deren Import in die Eingabemasken der DD-WRT Konfig falsch gemacht !
Hier sind für dich die Schlüssel zum ausprobieren, damit funktioniert es fehlerfrei !
Public Server Cert, ca.crt Datei:
01.
-----BEGIN CERTIFICATE----- 02.
MIIDQDCCAqmgAwIBAgIJANclwHUBez61MA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNV 03.
BAYTAkRFMQwwCgYDVQQIEwNBZ3UxEjAQBgNVBAcTCUFndWhhdXNlbjEQMA4GA1UE 04.
ChMHUHJpdmF0ZTESMBAGA1UEAxMJYWd1c2VydmVyMR0wGwYJKoZIhvcNAQkBFg5h 05.
Z3U5NkBhZ3U5Ni5kZTAeFw0xMDA0MDIwOTUxMTlaFw0yMDAzMzAwOTUxMTlaMHQx 06.
CzAJBgNVBAYTAkRFMQwwCgYDVQQIEwNBZ3UxEjAQBgNVBAcTCUFndWhhdXNlbjEQ 07.
MA4GA1UEChMHUHJpdmF0ZTESMBAGA1UEAxMJYWd1c2VydmVyMR0wGwYJKoZIhvcN 08.
AQkBFg5hZ3U5NkBhZ3U5Ni5kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA 09.
wVwWoa0KuszkOnQLD9GTegvLnxSP/Db1LqPlknsVVBvpelLFO3id4aH27hIEaybF 10.
Xb5RGSULvjPJ+zIakXTCqu/sVvILQrvySF2LoBiwqB8q+IF8vRE2CQTLH27pibVD 11.
m7nSDBrmGe8IpcV61YyF0lb2VX5VE0Ffm5Sfgeti+20CAwEAAaOB2TCB1jAdBgNV 12.
HQ4EFgQUbiF5cn0X6ezEQ5vr4wWqysw4SjEwgaYGA1UdIwSBnjCBm4AUbiF5cn0X 13.
6ezEQ5vr4wWqysw4SjGheKR2MHQxCzAJBgNVBAYTAkRFMQwwCgYDVQQIEwNBZ3Ux 14.
EjAQBgNVBAcTCUFndWhhdXNlbjEQMA4GA1UEChMHUHJpdmF0ZTESMBAGA1UEAxMJ 15.
YWd1c2VydmVyMR0wGwYJKoZIhvcNAQkBFg5hZ3U5NkBhZ3U5Ni5kZYIJANclwHUB 16.
ez61MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAjvErFVHVYZ6mwTap 17.
6BgqQ7a/t2QaE7hCrNpdykI3PEi+WKhfNQ7pY2mnrYebbz81straSBb+XmajRKDn 18.
kEheUekzr6RJyJs/SthlHv0DSdbQyi4cuRu45alAP+B0JfvFA2BvAJQfFFy5dkpX 19.
VxaRK7LoZ5YLkp3mkd3vn/eptkg= 20.
-----END CERTIFICATE-----Public Client Cert, server.crt Datei
01.
Certificate: 02.
Data: 03.
Version: 3 (0x2) 04.
Serial Number: 1 (0x1) 05.
Signature Algorithm: md5WithRSAEncryption 06.
Issuer: C=DE, ST=Agu, L=Aguhausen, O=Private, CN=aguserver/emailAddress=agu96@agu96.de 07.
Validity 08.
Not Before: Apr 2 09:52:17 2010 GMT 09.
Not After : Mar 30 09:52:17 2020 GMT 10.
Subject: C=DE, ST=Agu, O=Private, CN=aguserver/emailAddress=agu96@agu96.de 11.
Subject Public Key Info: 12.
Public Key Algorithm: rsaEncryption 13.
RSA Public Key: (1024 bit) 14.
Modulus (1024 bit): 15.
00:c1:41:12:09:9a:2e:38:0b:ba:c2:bc:fb:57:5b: 16.
b5:e9:7b:40:ec:8c:20:cf:be:6b:04:08:ff:aa:c2: 17.
03:f0:b3:88:65:18:c6:ad:f1:ad:64:2d:82:7d:53: 18.
61:f8:11:64:b1:09:92:fc:d4:ab:64:75:c2:be:91: 19.
27:a1:ef:25:dd:a0:b1:26:f4:86:32:f9:f8:f8:af: 20.
97:1a:a1:e6:61:80:52:51:5a:8d:31:6f:de:9d:43: 21.
2e:98:06:ef:d0:ae:60:72:cc:ca:36:32:a3:14:34: 22.
04:b1:81:9c:39:18:b8:95:bf:cf:0e:e3:fb:eb:aa: 23.
c9:29:6c:2a:b4:ab:3e:39:1b 24.
Exponent: 65537 (0x10001) 25.
X509v3 extensions: 26.
X509v3 Basic Constraints: 27.
CA:FALSE 28.
Netscape Cert Type: 29.
SSL Server 30.
Netscape Comment: 31.
OpenSSL Generated Server Certificate 32.
X509v3 Subject Key Identifier: 33.
8F:C2:94:A1:E2:53:2D:C7:E0:22:BE:EE:5D:0A:41:CE:59:C5:CB:68 34.
X509v3 Authority Key Identifier: 35.
keyid:6E:21:79:72:7D:17:E9:EC:C4:43:9B:EB:E3:05:AA:CA:CC:38:4A:31 36.
DirName:/C=DE/ST=Agu/L=Aguhausen/O=Private/CN=aguserver/emailAddress=agu96@agu96.de 37.
serial:D7:25:C0:75:01:7B:3E:B5 38.
39.
Signature Algorithm: md5WithRSAEncryption 40.
16:33:6a:41:ef:17:36:fb:6b:83:23:f4:d1:c8:5a:2a:12:ec: 41.
29:a6:52:51:41:ff:31:f2:d0:0c:7e:8c:3f:08:79:d1:42:3e: 42.
bf:9c:90:61:32:bc:72:e9:59:d2:b6:a4:54:86:61:26:59:d2: 43.
d2:da:56:be:b9:02:91:45:7d:58:99:e1:85:48:2c:ed:29:8b: 44.
11:94:23:2e:69:81:22:aa:81:04:00:df:9b:eb:b1:7d:95:c3: 45.
28:8e:a9:1b:47:e8:72:ba:ed:21:29:75:11:4f:7d:5c:e6:0e: 46.
2a:11:76:fd:1e:6d:72:40:93:11:64:ca:8a:dd:e5:34:13:e9: 47.
02:fc 48.
-----BEGIN CERTIFICATE----- 49.
MIIDazCCAtSgAwIBAgIBATANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJERTEM 50.
MAoGA1UECBMDQWd1MRIwEAYDVQQHEwlBZ3VoYXVzZW4xEDAOBgNVBAoTB1ByaXZh 51.
dGUxEjAQBgNVBAMTCWFndXNlcnZlcjEdMBsGCSqGSIb3DQEJARYOYWd1OTZAYWd1 52.
OTYuZGUwHhcNMTAwNDAyMDk1MjE3WhcNMjAwMzMwMDk1MjE3WjBgMQswCQYDVQQG 53.
EwJERTEMMAoGA1UECBMDQWd1MRAwDgYDVQQKEwdQcml2YXRlMRIwEAYDVQQDEwlh 54.
Z3VzZXJ2ZXIxHTAbBgkqhkiG9w0BCQEWDmFndTk2QGFndTk2LmRlMIGfMA0GCSqG 55.
SIb3DQEBAQUAA4GNADCBiQKBgQDBQRIJmi44C7rCvPtXW7Xpe0DsjCDPvmsECP+q 56.
wgPws4hlGMat8a1kLYJ9U2H4EWSxCZL81KtkdcK+kSeh7yXdoLEm9IYy+fj4r5ca 57.
oeZhgFJRWo0xb96dQy6YBu/QrmByzMo2MqMUNASxgZw5GLiVv88O4/vrqskpbCq0 58.
qz45GwIDAQABo4IBHzCCARswCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAw 59.
MwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZp 60.
Y2F0ZTAdBgNVHQ4EFgQUj8KUoeJTLcfgIr7uXQpBzlnFy2gwgaYGA1UdIwSBnjCB 61.
m4AUbiF5cn0X6ezEQ5vr4wWqysw4SjGheKR2MHQxCzAJBgNVBAYTAkRFMQwwCgYD 62.
VQQIEwNBZ3UxEjAQBgNVBAcTCUFndWhhdXNlbjEQMA4GA1UEChMHUHJpdmF0ZTES 63.
MBAGA1UEAxMJYWd1c2VydmVyMR0wGwYJKoZIhvcNAQkBFg5hZ3U5NkBhZ3U5Ni5k 64.
ZYIJANclwHUBez61MA0GCSqGSIb3DQEBBAUAA4GBABYzakHvFzb7a4Mj9NHIWioS 65.
7CmmUlFB/zHy0Ax+jD8IedFCPr+ckGEyvHLpWdK2pFSGYSZZ0tLaVr65ApFFfViZ 66.
4YVILO0pixGUIy5pgSKqgQQA35vrsX2VwyiOqRtH6HK67SEpdRFPfVzmDioRdv0e 67.
bXJAkxFkyord5TQT6QL8 68.
-----END CERTIFICATE-----Private Client Key, server.key Datei
01.
-----BEGIN RSA PRIVATE KEY----- 02.
MIICXQIBAAKBgQDBQRIJmi44C7rCvPtXW7Xpe0DsjCDPvmsECP+qwgPws4hlGMat 03.
8a1kLYJ9U2H4EWSxCZL81KtkdcK+kSeh7yXdoLEm9IYy+fj4r5caoeZhgFJRWo0x 04.
b96dQy6YBu/QrmByzMo2MqMUNASxgZw5GLiVv88O4/vrqskpbCq0qz45GwIDAQAB 05.
AoGBALZ//sq2oaMn4Iz67tjGsPn2/Y7lni7RgjpjTR4y7omm4c2nIikuLDKIj8xO 06.
rBwaQN63TeoZ5GmQlAJnDehs8XG/ZBq1yWCztpXA/YoJ7FrP+v8ejNlkIx9CjTe2 07.
sHppeOlbA6vzp4NGlH+Xin5XZ0hQGlIFbYa4EwsE0wZsxJhBAkEA8I+LIcZ7swGj 08.
7oNXJfsb0VxyhPNdEn3eftNPF4tNijs9hSt52nGCNUAjw2l/AF9zaNwhuM2YtNWf 09.
mV4xuXsD0QJBAM2oRZ8o4qFQ0cxnz3cYKlL35IlCmhy/xtN17Ap38L0aVZXLELqw 10.
7OEPsbzMuXme4f8uSGjn3279pKTrBkRJhSsCQAc3ZycWOzO9gttu2ThsdgMr0Muo 11.
OUyKthf74s2EAkl5SXkrOraQ3SUXzXrZOVQbiOzGXcSbdk9GcUk6iCdWR2ECQQDD 12.
GQtTPhohJuagnyq1tHsSUpC/litVcqlQGeJe3AHJo53liMrKEOXnbFgU37JkqlGD 13.
H4kZ3D6esIjs2vkK9yQZAkAoNPcp74eVmw1gwpsyDEHNzTQHMBR+AzKbQbjxpuRK 14.
2t0mSfj7QgJuicPgLPURRs4l2W9KByalYujsmg9clgW4 15.
-----END RSA PRIVATE KEY-----DH PEM, dh1024.pem Datei
01.
-----BEGIN DH PARAMETERS----- 02.
MIGHAoGBAP1rvTSiJeCzmGqexXkslR8qRq05H+fl553r9epOgLW/Ecog8J1V2was 03.
hpzVb4wa0XMcyrowHmIeC7Lxfzldm0R1sUsaj1SKlIfLDXZ790zB4Z591H6gvcym 04.
W8n5fTB77anwkICPoAH9nXIf3pIKztUXchv8lNrkidtzcLwp6tqrAgEC 05.
-----END DH PARAMETERS-----Server Konfigurations Datei. DD-WRT Router hier mit 192.168.1.1 als LAN IP Adresse:
port 1194
proto udp
dev tun0
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
dh /tmp/openvpn/dh.pem
server 172.16.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
Damit funktioniert die Initialisierung einwandfrei und ohne Fehler ! Du kannst diese Daten einfach per cut and paste nutzen
Den gesamten Schlüsselsatz inklusive 3er Client Schlüssel zum Testen kannst du dir HIER runterladen !
Die dazu passende Client Konfig für einen Windows OpenVPN Client ist hier:
01.
############################################## 02.
# Sample client-side OpenVPN 2.0 config file # 03.
# for connecting to multi-client server. # 04.
# # 05.
# This configuration can be used by multiple # 06.
# clients, however each client should have # 07.
# its own cert and key files. # 08.
# # 09.
# On Windows, you might want to rename this # 10.
# file so it has a .ovpn extension # 11.
############################################## 12.
13.
# Specify that we are a client and that we 14.
# will be pulling certain config file directives 15.
# from the server. 16.
client 17.
18.
# Use the same setting as you are using on 19.
# the server. 20.
# On most systems, the VPN will not function 21.
# unless you partially or fully disable 22.
# the firewall for the TUN/TAP interface. 23.
;dev tap 24.
dev tun 25.
26.
# Windows needs the TAP-Win32 adapter name 27.
# from the Network Connections panel 28.
# if you have more than one. On XP SP2, 29.
# you may need to disable the firewall 30.
# for the TAP adapter. 31.
;dev-node MyTap 32.
33.
# Are we connecting to a TCP or 34.
# UDP server? Use the same setting as 35.
# on the server. 36.
;proto tcp 37.
proto udp 38.
39.
# The hostname/IP and port of the server (DD-WRT Router WAN IP). 40.
# You can have multiple remote entries 41.
# to load balance between the servers. 42.
remote 192.168.100.161 1194 43.
;remote my-server-2 1194 44.
45.
# Choose a random host from the remote 46.
# list for load-balancing. Otherwise 47.
# try hosts in the order specified. 48.
;remote-random 49.
50.
# Keep trying indefinitely to resolve the 51.
# host name of the OpenVPN server. Very useful 52.
# on machines which are not permanently connected 53.
# to the internet such as laptops. 54.
resolv-retry infinite 55.
56.
# Most clients don't need to bind to 57.
# a specific local port number. 58.
nobind 59.
60.
# Downgrade privileges after initialization (non-Windows only) 61.
;user nobody 62.
;group nobody 63.
64.
# Try to preserve some state across restarts. 65.
persist-key 66.
persist-tun 67.
68.
# If you are connecting through an 69.
# HTTP proxy to reach the actual OpenVPN 70.
# server, put the proxy server/IP and 71.
# port number here. See the man page 72.
# if your proxy server requires 73.
# authentication. 74.
;http-proxy-retry # retry on connection failures 75.
;http-proxy [proxy server] [proxy port #] 76.
77.
# Wireless networks often produce a lot 78.
# of duplicate packets. Set this flag 79.
# to silence duplicate packet warnings. 80.
;mute-replay-warnings 81.
82.
# SSL/TLS parms. 83.
# See the server config file for more 84.
# description. It's best to use 85.
# a separate .crt/.key file pair 86.
# for each client. A single ca 87.
# file can be used for all clients. 88.
ca C:/Programme/OpenVPN/easy-rsa/keys/ca.crt 89.
cert C:/Programme/OpenVPN/easy-rsa/keys/aguclient1.crt 90.
key C:/Programme/OpenVPN/easy-rsa/keys/aguclient1.key 91.
92.
# Verify server certificate by checking 93.
# that the certicate has the nsCertType 94.
# field set to "server". This is an 95.
# important precaution to protect against 96.
# a potential attack discussed here: 97.
# http://openvpn.net/howto.html#mitm 98.
# 99.
# To use this feature, you will need to generate 100.
# your server certificates with the nsCertType 101.
# field set to "server". The build-key-server 102.
# script in the easy-rsa folder will do this. 103.
ns-cert-type server 104.
105.
# If a tls-auth key is used on the server 106.
# then every client must also have the key. 107.
;tls-auth ta.key 1 108.
109.
# Select a cryptographic cipher. 110.
# If the cipher option is used on the server 111.
# then you must also specify it here. 112.
;cipher x 113.
114.
# Enable compression on the VPN link. 115.
# Don't enable this unless it is also 116.
# enabled in the server config file. 117.
comp-lzo 118.
119.
# Set log file verbosity. 120.
verb 3 121.
122.
# Silence repeating messages 123.
;mute 20Achtung: Bedenke aber bitte das dieser Key für den späteren Betrieb nun unbrauchbar ist, da er jetzt öffentlich ist. Du musst also die Schlüsselgenerierung nochmal neu anstoßen um einen für dich einzigartigen Schlüssel zu bekommen !!
Wenn du mit dem Client erfolgreich eine Verbindung aufgebaut hast, dann kannst du mit ipconfig am Client die Server IP Adresse des OpenVPN Servers sehen !
Ein route print zeigt dir die propagierte Route zum 192.168.1.0er Netzwerk (Client darf dazu natürlich NICHT auch im 192.168.1.0er Netz sein !!!)
Ein Ping auf die 192.168.1.1 also die LAN IP Adresse des DD-WRT Routers sollte dir dann eine Antwort bringen und zeigen das der OpenVPN Tunnel aktiv ist !!
agu96 schreibt am 02.04.2010 um 20:31:47 Uhr
Hallo aqui,
ich kann es zwar jetzt nicht ausprobieren (weil ich im verlängerten Osterwochenende bin);aber ich bin guter Dinge das ich es nun mit deiner Ergänzung hinbekommen werde. Vielen Dank,das du dir soviel Mühe gemacht hast;auch danke für den Download.
Ich melde mich dann mal am Mittwoch zurück.
Bye,
AGU96
ich kann es zwar jetzt nicht ausprobieren (weil ich im verlängerten Osterwochenende bin);aber ich bin guter Dinge das ich es nun mit deiner Ergänzung hinbekommen werde. Vielen Dank,das du dir soviel Mühe gemacht hast;auch danke für den Download.
Ich melde mich dann mal am Mittwoch zurück.
Bye,
AGU96
christianW schreibt am 03.04.2010 um 22:27:40 Uhr
Hallo aqui,
gibt es die Möglichkeit bei DD-Wrt mit pkcs12 Dateien zu arbeiten, sprich nicht die Zertifikate aso. in das Webfrontend zu kopieren, sowie die anderen Files ?
Wenn ja, wie ?
Danke für Deine Hilfe
Gruß schöne Ostern !
gibt es die Möglichkeit bei DD-Wrt mit pkcs12 Dateien zu arbeiten, sprich nicht die Zertifikate aso. in das Webfrontend zu kopieren, sowie die anderen Files ?
Wenn ja, wie ?
Danke für Deine Hilfe
Gruß schöne Ostern !
aqui schreibt am 04.04.2010 um 10:24:13 Uhr
Eigentlich sollte das auch problemlos klappen, denn es ist ja ein Standard OpenVPN was auf den Routern arbeitet ! Vermutlich muss man die entsprechenden pkcs Dateien dann nur einfach mit SCP sprich WinSCP usw. manuell auf den Router übertragen, denn in der Standardkonfig im Menü gibt es dafür keine Felder, was aber ja kein Hinderungsgrund ist.
Technisch spricht nichts dagegen....wäre in der Tat mal einen Test wert !
Wenns klappt wird das Tutorial ergänzt... !
Technisch spricht nichts dagegen....wäre in der Tat mal einen Test wert !
Wenns klappt wird das Tutorial ergänzt... !
christianW schreibt am 04.04.2010 um 18:50:25 Uhr
Habe gerade mal mit WinSCP auf den Router geschaut, im Verzeichniss "temp/openvpn" liegen die Daten, das heisst, man müsste hier nur die config anpassen und den Zertifikate hier ablegen, werde das ggf. heute Abend mal probieren.
Hoffe das in der Sicherung des Routers alles enthalten ist, falls das nicht funktioniert.
Hoffe das in der Sicherung des Routers alles enthalten ist, falls das nicht funktioniert.
christianW schreibt am 04.04.2010 um 22:40:17 Uhr
Hallo,
so habe das soweit mal schnell probiert, aus dem Webfronend des Routers das Zertifikat entfernt.
.Das Skript habe ich angepasst und im Webfrontend belassen
pkcs12 /tmp/openvpn/server.p12
die alten Verweise CA usw. habe ich versucht mit # aus zukommentieren, das geht nicht,
dementsprechend habe ich Sie entfernt
.Den DH File habe ich im Frontend belassen.
Das pkcs12 Zertifikat habe ich per WinSCP eingeladen.
Nach einem Neustart ist dieses jedesmal nicht mehr vorhanden!! Warum ??
Wenn ich das Zertifikat nun per SCP wieder rein schreibe, kann ich vpn über putty wieder starten. Also prinzipiell funktioniert das mit p12 Zertifikaten, aber wo kann ich das ablegen damit es nach einem Routerneustart nicht gelöscht wird ?
Gruß
so habe das soweit mal schnell probiert, aus dem Webfronend des Routers das Zertifikat entfernt.
.Das Skript habe ich angepasst und im Webfrontend belassen
pkcs12 /tmp/openvpn/server.p12
die alten Verweise CA usw. habe ich versucht mit # aus zukommentieren, das geht nicht,
dementsprechend habe ich Sie entfernt
.Den DH File habe ich im Frontend belassen.
Das pkcs12 Zertifikat habe ich per WinSCP eingeladen.
Nach einem Neustart ist dieses jedesmal nicht mehr vorhanden!! Warum ??
Wenn ich das Zertifikat nun per SCP wieder rein schreibe, kann ich vpn über putty wieder starten. Also prinzipiell funktioniert das mit p12 Zertifikaten, aber wo kann ich das ablegen damit es nach einem Routerneustart nicht gelöscht wird ?
Gruß
aqui schreibt am 05.04.2010 um 14:33:22 Uhr
Mmmhhh, WO hast du denn dieses Zertifikat hinkopiert ??
Normalerweise gehören sie unter /tmp/openvpn Es ist aber möglich das dieses Verzeichnis bei einem Klick auf den SAVE Button unter DD-WRT nicht mit im Flash gesichert wird sondern sich diese Zertifikate und Conf Dateien in einem mit Flash gesicherten anderen Datei Bereich befinden und dann beim Systemstart mit cp ins Verzeichnis /tmp/openvpn/ temporär kopiert werden, wie es bei OpenWRT der Fall ist Siehe hier.
Das sollte sich ja mit einem find / -name <datei> schnell finden lassen. Ggf. solltest du die OpenVPN init Start Dateien unter /etc/rc.d/ einmal checken.
Es ist auch möglich das die Daten unter /tmp/openvpn erst mit einem Klick auf Save in der DD-WRT Oberfläche gesichert werden im Flash und du das nur schlicht und einfach vergessen hast...
Gut aber zu wissen, das der PKCS12 Support generell sauber funktioniert !! Danke für den Test !
Normalerweise gehören sie unter /tmp/openvpn Es ist aber möglich das dieses Verzeichnis bei einem Klick auf den SAVE Button unter DD-WRT nicht mit im Flash gesichert wird sondern sich diese Zertifikate und Conf Dateien in einem mit Flash gesicherten anderen Datei Bereich befinden und dann beim Systemstart mit cp ins Verzeichnis /tmp/openvpn/ temporär kopiert werden, wie es bei OpenWRT der Fall ist Siehe hier.
Das sollte sich ja mit einem find / -name <datei> schnell finden lassen. Ggf. solltest du die OpenVPN init Start Dateien unter /etc/rc.d/ einmal checken.
Es ist auch möglich das die Daten unter /tmp/openvpn erst mit einem Klick auf Save in der DD-WRT Oberfläche gesichert werden im Flash und du das nur schlicht und einfach vergessen hast...
Gut aber zu wissen, das der PKCS12 Support generell sauber funktioniert !! Danke für den Test !
christianW schreibt am 05.04.2010 um 15:52:38 Uhr
Hallo,
kopiert habe ich die Zertifikate natürlich unter /tmp/openvpn , dort wo sie liegen.
Ich habe mich mal im dd-wrt Forum umgesehen, hoffe ich darf hier mal folgendes zitieren
Schalte den jffs sup. an und lege die PKCS12 im /jffs ab, passe deine ovpn.conf entsprechend an.
Die „normalen vpn Versionen haben aus Platz Gründen leider keinen jffs sup. mehr.
<zitat>Hintergrund zu der PKCS12 Geschichte ist
Alles was du im webIf angibst wird als nvram variable gespeichert diese werden nach einem reboot ausgelesen aus deren Inhalt wird das ganze vpn Gedöns erstellt und neu geschrieben alles andere wird gelöscht bzw. überschrieben somit auch die dort abgelegte PKCS12 . Der einzige ort wo man unter dd-wrt schreibrechte hat und auch alles dauerhaft gespeichert wird ist leider im jffs wenn du also unbedingt für den Server unter dd-wrt PKCS12 verwenden willst bleibt nur ein Wechsel der Firmware Version.>> openvpn_jffs_small.bin <zitat ende>
kopiert habe ich die Zertifikate natürlich unter /tmp/openvpn , dort wo sie liegen.
Ich habe mich mal im dd-wrt Forum umgesehen, hoffe ich darf hier mal folgendes zitieren
Schalte den jffs sup. an und lege die PKCS12 im /jffs ab, passe deine ovpn.conf entsprechend an.
Die „normalen vpn Versionen haben aus Platz Gründen leider keinen jffs sup. mehr.
<zitat>Hintergrund zu der PKCS12 Geschichte ist
Alles was du im webIf angibst wird als nvram variable gespeichert diese werden nach einem reboot ausgelesen aus deren Inhalt wird das ganze vpn Gedöns erstellt und neu geschrieben alles andere wird gelöscht bzw. überschrieben somit auch die dort abgelegte PKCS12 . Der einzige ort wo man unter dd-wrt schreibrechte hat und auch alles dauerhaft gespeichert wird ist leider im jffs wenn du also unbedingt für den Server unter dd-wrt PKCS12 verwenden willst bleibt nur ein Wechsel der Firmware Version.>> openvpn_jffs_small.bin <zitat ende>
aqui schreibt am 05.04.2010 um 16:19:50 Uhr
Mmmhhh, dann bleibt also nur basteln:
http://www.dd-wrt.com/wiki/index.php/Tuto ...
oder immer wieder manuell die Datei zu übertragen was allerdings nicht sehr betriebssicher ist..klar.
Danke fürs Feedback ! Bleibt dann also mehr oder weniger bei den Zertifikaten sofern man nicht wie oben beschrieben die SD Karte nachrüstet was ja nicht besonders schwer klingt zumal der SD/MMC support schon per default in den aktuellen Images enthalten ist...
Hast du dir mal Pfsense angesehen ?? Ist es dort ggf. anders gelöst ?? Sollte eigentlich. Das wäre ja dann die Alternative für PKCS12 !
http://www.dd-wrt.com/wiki/index.php/Tuto ...
oder immer wieder manuell die Datei zu übertragen was allerdings nicht sehr betriebssicher ist..klar.
Danke fürs Feedback ! Bleibt dann also mehr oder weniger bei den Zertifikaten sofern man nicht wie oben beschrieben die SD Karte nachrüstet was ja nicht besonders schwer klingt zumal der SD/MMC support schon per default in den aktuellen Images enthalten ist...
Hast du dir mal Pfsense angesehen ?? Ist es dort ggf. anders gelöst ?? Sollte eigentlich. Das wäre ja dann die Alternative für PKCS12 !
christianW schreibt am 05.04.2010 um 16:33:20 Uhr
Hallo,
bevor ich mir das mit der SD Karte antuhe ;) versuche ich lieber mal die o.g. Firmware. Das sollte eigentlich kein
Probelm sein.
Oder dann lieber doch bei der alten WebIf Eingabe, hab ein mir ein kleines Howto geschrieben welches zeigt wie man
in XCA die Zertifikate mittels GUI erstellt und dann wie diese für dd-wrt zu exportieren sind.
Anschliessend welches Zertifikat in welches WebIf feld kopiert werden müssen.
bevor ich mir das mit der SD Karte antuhe ;) versuche ich lieber mal die o.g. Firmware. Das sollte eigentlich kein
Probelm sein.
Oder dann lieber doch bei der alten WebIf Eingabe, hab ein mir ein kleines Howto geschrieben welches zeigt wie man
in XCA die Zertifikate mittels GUI erstellt und dann wie diese für dd-wrt zu exportieren sind.
Anschliessend welches Zertifikat in welches WebIf feld kopiert werden müssen.
aqui schreibt am 05.04.2010 um 16:40:30 Uhr
@christianW
Dann mal her mit dem HowTo ! Ggf. können wir das ins Tutorial oben einfügen sofern du zustimmst !
So, eben zusätzlich mal kurz den Lötkolben geschwungen und eine SD_Kartenfassung zur Hand genommen und sie nach Anleitung in den WRT54GL eingelötet.
Man sollte unbedingt der englischen Anleitung folgen denn die bezieht sich auf das aktuelle Platinenlayout:
http://www.dd-wrt.com/wiki/index.php/Link ...
Eingeschaltet und die SD Karte (Transcend 2GB) im Setup aktiviert, die dann schon sofort auf Anhieb erkannt wurde:
Dann den Router kaltgestartet daraufhin flackert die SES LED vorne und nach ca.1 Minute ist die Karte automatisch formatiert et voila...
Ein kurzes "dmesg" bzw. "df" an der Konsole zeigen das sie auch aktiv ist:
[INF] mmc: Version: 2.0.1 Parms: major=0 din=2 dout=4 clk=3 cs=7 maxsec=32 rahead=2
[INF] mmc: SD Card detected & initialized
[INF] mmc: Assigned dynamic major number 254
Partition check:
mmca: p1
[INF] mmc: Module loaded
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
root@DD-WRT:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2816 2816 0 100% /
/dev/mmc/disc0/part1 1898464 14 1801988 0% /mmc
root@DD-WRT:/#
Ebenso unter der Status Anzeige im Web Setup:
Hier ein paar Bilder vom Einbau:
An die GPIO Ports und Stromversorgung angelötete Kabel:
SD zu Micro SD Adapter vor dem Einlöten: (Sorry für die Unschärfe)
Mutige können hier die SD Karte auch direkt einlöten ! Die Karte ist robust genug das sie das aushält.
Fertige SD Karte im Gehäuse mit Heisskleber fixiert: (Nochmal sorry für die Unschärfe)
OpenVPN Dateien und auch die PKCS12 Zertifikate lassen sich problemlos dahinkopieren und auch davon benutzen !!
Bei entsprechender HW kann man die SD Karte sogar per CIFS als Share im netz freigeben und bequem vom Rechner beschreiben.
Fazit: Mit der englischen Anleitung zur Integration einer SD Karte ist diese in ca. 30 Minuten ebenfalls im System installiert...mit ein bischen löten
Dann mal her mit dem HowTo ! Ggf. können wir das ins Tutorial oben einfügen sofern du zustimmst !
So, eben zusätzlich mal kurz den Lötkolben geschwungen und eine SD_Kartenfassung zur Hand genommen und sie nach Anleitung in den WRT54GL eingelötet.
Man sollte unbedingt der englischen Anleitung folgen denn die bezieht sich auf das aktuelle Platinenlayout:
http://www.dd-wrt.com/wiki/index.php/Link ...
Eingeschaltet und die SD Karte (Transcend 2GB) im Setup aktiviert, die dann schon sofort auf Anhieb erkannt wurde:
Dann den Router kaltgestartet daraufhin flackert die SES LED vorne und nach ca.1 Minute ist die Karte automatisch formatiert et voila...
Ein kurzes "dmesg" bzw. "df" an der Konsole zeigen das sie auch aktiv ist:
[INF] mmc: Version: 2.0.1 Parms: major=0 din=2 dout=4 clk=3 cs=7 maxsec=32 rahead=2
[INF] mmc: SD Card detected & initialized
[INF] mmc: Assigned dynamic major number 254
Partition check:
mmca: p1
[INF] mmc: Module loaded
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
root@DD-WRT:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2816 2816 0 100% /
/dev/mmc/disc0/part1 1898464 14 1801988 0% /mmc
root@DD-WRT:/#
Ebenso unter der Status Anzeige im Web Setup:
Hier ein paar Bilder vom Einbau:
An die GPIO Ports und Stromversorgung angelötete Kabel:
SD zu Micro SD Adapter vor dem Einlöten: (Sorry für die Unschärfe)
Mutige können hier die SD Karte auch direkt einlöten ! Die Karte ist robust genug das sie das aushält.
Fertige SD Karte im Gehäuse mit Heisskleber fixiert: (Nochmal sorry für die Unschärfe)
OpenVPN Dateien und auch die PKCS12 Zertifikate lassen sich problemlos dahinkopieren und auch davon benutzen !!
Bei entsprechender HW kann man die SD Karte sogar per CIFS als Share im netz freigeben und bequem vom Rechner beschreiben.
Fazit: Mit der englischen Anleitung zur Integration einer SD Karte ist diese in ca. 30 Minuten ebenfalls im System installiert...mit ein bischen löten
christianW schreibt am 10.04.2010 um 21:26:09 Uhr
Hallo Aqui,
cool, habe mir die Teile direkt bestellt, das muss ich doch mal testen, hoffe das läuft!
Wie hasst Du die oVPN-Config editiert bzgl. des Pfades auf die SD Karte, bzw. hasst Du die Config
im WebIf belassen und nur die Zertifikate dort abgelegt ?
Poste das bitte doch mal.
Habe die grafische Anleitung zu XCA fertig, kann ich die Dir direkt zukommen lassen ?
cool, habe mir die Teile direkt bestellt, das muss ich doch mal testen, hoffe das läuft!
Wie hasst Du die oVPN-Config editiert bzgl. des Pfades auf die SD Karte, bzw. hasst Du die Config
im WebIf belassen und nur die Zertifikate dort abgelegt ?
Poste das bitte doch mal.
Habe die grafische Anleitung zu XCA fertig, kann ich die Dir direkt zukommen lassen ?
aqui schreibt am 11.04.2010 um 11:26:58 Uhr
Was übrigens sehr gut geht ist ein SD zu micro_SD_Kartenadapter zu verwenden der immer zusammen kostenlos mit micro SD Karten mitgeliefert wird aber auch einzeln sehr preiswert erhältlich ist. Dort kannst du die Drähte problemlos direkt auflöten und hast somit gleichzeitig eine sichere Halterung und kannst bei Befarf den Speicher vergrößern.
Man erspart sich so den Kauf einer teuren SD Fassung (z.B. Reichelt) und kann die übrig gebliebenen SD zu micro SD Adapter prima recyceln !
Den Adapter kann man dann direkt mit Heisskleber ins Gehäuse kleben, micro SD Karte rein...fertig
Habe 3 WRTs jetzt so auf 2 GiG SD Karten umgerüstet und hat auf Anhieb geklappt mit der DD-WRT SW vom Februar (Siehe Tutorial) !
Die Konfig zu editieren ist ein Kinderspiel. DD-WRT hat den Klassiker aller Editoren, den vi Editor an Bord ! Ist zwar etwas gewöhnungsbedürftig der Editor aber zum Konfig Datei editieren reicht es vollkommen ! Anleitungen zur Bedienung des vi findet man zuhauf bei Dr. Google.
Einfach dann Zertifikate usw. ins Verzeichnis /mmc kopieren (Das ist die SD Karte !) und die Konfig Dateien unter /tmp/openvpn mit dem vi anpassen.
OpenVPN neu starten oder einfach Router rebooten...fertig !
Man erspart sich so den Kauf einer teuren SD Fassung (z.B. Reichelt) und kann die übrig gebliebenen SD zu micro SD Adapter prima recyceln !
Den Adapter kann man dann direkt mit Heisskleber ins Gehäuse kleben, micro SD Karte rein...fertig
Habe 3 WRTs jetzt so auf 2 GiG SD Karten umgerüstet und hat auf Anhieb geklappt mit der DD-WRT SW vom Februar (Siehe Tutorial) !
Die Konfig zu editieren ist ein Kinderspiel. DD-WRT hat den Klassiker aller Editoren, den vi Editor an Bord ! Ist zwar etwas gewöhnungsbedürftig der Editor aber zum Konfig Datei editieren reicht es vollkommen ! Anleitungen zur Bedienung des vi findet man zuhauf bei Dr. Google.
Einfach dann Zertifikate usw. ins Verzeichnis /mmc kopieren (Das ist die SD Karte !) und die Konfig Dateien unter /tmp/openvpn mit dem vi anpassen.
OpenVPN neu starten oder einfach Router rebooten...fertig !
christianW schreibt am 11.04.2010 um 17:25:51 Uhr
habe eben die "jffs" FW-Version probiert und das Serverzertifikat im p12-Format, sowie den DH-File im Verzeichniss JFFS abgelegt.
Dateien werden in dieser FWE NICHT überschrieben, funktioniert wunderbar.
Allerdings hätte ich auch gern den Config File im JFFS-Verzeichniss, bzw. auf der SD Karte.
Habe hierfür als Startupbefehl " openvpn /jffs/openvpn/openvpn.conf "angegeben, damit wird leider der Server nicht automatisch beim Routerstart gestartet ?
Hasst Du eine Lösung ?
Dateien werden in dieser FWE NICHT überschrieben, funktioniert wunderbar.
Allerdings hätte ich auch gern den Config File im JFFS-Verzeichniss, bzw. auf der SD Karte.
Habe hierfür als Startupbefehl " openvpn /jffs/openvpn/openvpn.conf "angegeben, damit wird leider der Server nicht automatisch beim Routerstart gestartet ?
Hasst Du eine Lösung ?
aqui schreibt am 11.04.2010 um 18:53:02 Uhr
Mmmmhh, es ist möglich das der Startbefehl beim Booten mit einem Default überschrieben wird aus dem Flash. Hast du das mal nach dem Booten kontrolliert ?? Ist der Startbefehl noch so wie du ihn verändert hast.
Ggf. wird das JFFS Filesystem auch erst nach dem OpenVPN Start gemountet so das es deshalb fehlschlägt
Bitte die weitere Diskussion per PM weiterführen um das Tutorial hier nicht zu doll aufzublähen...
Ggf. wird das JFFS Filesystem auch erst nach dem OpenVPN Start gemountet so das es deshalb fehlschlägt
Bitte die weitere Diskussion per PM weiterführen um das Tutorial hier nicht zu doll aufzublähen...
agu96 schreibt am 12.04.2010 um 11:07:47 Uhr
Hallo Aqui,
ich wollte mich auch nochmal zurückmelden und mich nochmals bedanken,das du dich so für mich ins Zeug gelegt hast. Ich weiss nun,wo bei mir konkret das Problem gelegen hat.
Auch deine Keys haben bei mir am Anfang nicht funktioniert;bei keinem Router (WRT54GL;WRT320N;WRT610N). Ich bekam immer die obige Fehlermeldung. Heute morgen habe ich mal testweise das Einfügen der Keys an einem anderen Gerät (ATOM-System mit Windows XP Prof.) Und siehe da,es funktioniert;bei allen Routern sofort auf anhieb!!!
Bisher habe ich zum übertragen der Keys in das Webinterface bzw. mit WinSCP immer mein Notebook (Lenovo T-500;Win 7 Ultimate 64 Bit genommen);dort habe ich auch die gleichen Versionsstände der Browser wie auf meinem ATOM-System genommen.... Und ich habe auf diesem Notebook Firewall und Antivirusprogramm deaktiviert.... Es funktionierte nie!!!
Auch wenn mein konkretes Problem gelöst ist,so würde es mich trotzdem intressieren,wieso es auf meinen Notebook nicht funktioniert hat. Das Notebook hat übrigens eine eingebaute Intel82567LF Gigabit-LAN Schnittstelle (by the Way,ich habe sogar andere Patchkabel verwendet)...
ich wollte mich auch nochmal zurückmelden und mich nochmals bedanken,das du dich so für mich ins Zeug gelegt hast. Ich weiss nun,wo bei mir konkret das Problem gelegen hat.
Auch deine Keys haben bei mir am Anfang nicht funktioniert;bei keinem Router (WRT54GL;WRT320N;WRT610N). Ich bekam immer die obige Fehlermeldung. Heute morgen habe ich mal testweise das Einfügen der Keys an einem anderen Gerät (ATOM-System mit Windows XP Prof.) Und siehe da,es funktioniert;bei allen Routern sofort auf anhieb!!!
Bisher habe ich zum übertragen der Keys in das Webinterface bzw. mit WinSCP immer mein Notebook (Lenovo T-500;Win 7 Ultimate 64 Bit genommen);dort habe ich auch die gleichen Versionsstände der Browser wie auf meinem ATOM-System genommen.... Und ich habe auf diesem Notebook Firewall und Antivirusprogramm deaktiviert.... Es funktionierte nie!!!
Auch wenn mein konkretes Problem gelöst ist,so würde es mich trotzdem intressieren,wieso es auf meinen Notebook nicht funktioniert hat. Das Notebook hat übrigens eine eingebaute Intel82567LF Gigabit-LAN Schnittstelle (by the Way,ich habe sogar andere Patchkabel verwendet)...
aqui schreibt am 12.04.2010 um 13:25:04 Uhr
Antwort per PM gesendet.... Vermutlich falscher Modus in WinSCP eingestellt. Eine Übetragung sollte immer per cut and paste in das Web Interface des Routers gemacht werden !
Alle Key Dateien sind mit einem einfachen Editor wie z.B. dem Windows Word Pad (unter Zubehör) edierbar und dort kann man sie mit cut and paste aus übertragen.
Alle Key Dateien sind mit einem einfachen Editor wie z.B. dem Windows Word Pad (unter Zubehör) edierbar und dort kann man sie mit cut and paste aus übertragen.
DonJoe schreibt am 28.05.2010 um 10:10:07 Uhr
Ich möchte den WRT54 nicht als WAN Router Nutzen, der hängt hinter einem anderem Router und ist per LAN angeschlossen. Also den WRT nur als OpenVPN Server laufen lassen. Deswegen habe ich die Config so ab geändert das OpenVPN das nicht bei "WAN up" startet sondern immer. Des weiteren habe die zusätzliche Firewall weggelassen.
Jetzt klappt das Connecten auf den Router und der Zugriff auf das Webinterface, aber ich komme nicht in das Netz in dem der Router ist. Was habe ich übersehen?
Jetzt klappt das Connecten auf den Router und der Zugriff auf das Webinterface, aber ich komme nicht in das Netz in dem der Router ist. Was habe ich übersehen?
christianW schreibt am 28.05.2010 um 23:46:09 Uhr
Ist der Internetrouter auch gleichzeitg für die Rechner DHCP und/oder DNS Server?
Das würde bedeuten das alle Anfragen der Clients Gateway an den Internetrouter weitergereicht werden.
Ich denke dieser kennt allerdings die Route nicht zurück ins VPN Lan.
Static Route in den Internetrouter eingetragen ?
Das würde bedeuten das alle Anfragen der Clients Gateway an den Internetrouter weitergereicht werden.
Ich denke dieser kennt allerdings die Route nicht zurück ins VPN Lan.
Static Route in den Internetrouter eingetragen ?
DonJoe schreibt am 29.05.2010 um 17:00:07 Uhr
@ christianW
Ja der Internetrouter ist gleichzeitig für die Rechner DHCP und/oder DNS Server.
Static Route in den Internetrouter?
Ich habe eine in den dd-wrt Router eingetragen, und zwar die zum Internetrouter. Des weiteren hat der dd-wrt Router eine feste IP außerhalb des DHPC Pool vom Internetrouter.
Auf dem Internetrouter ist nur ein Port Mapping Eintrag mit IP & Port (UDP) eingetragen, was muss da noch eingerichtet werden?
Ja der Internetrouter ist gleichzeitig für die Rechner DHCP und/oder DNS Server.
Static Route in den Internetrouter?
Ich habe eine in den dd-wrt Router eingetragen, und zwar die zum Internetrouter. Des weiteren hat der dd-wrt Router eine feste IP außerhalb des DHPC Pool vom Internetrouter.
Auf dem Internetrouter ist nur ein Port Mapping Eintrag mit IP & Port (UDP) eingetragen, was muss da noch eingerichtet werden?
aqui schreibt am 29.05.2010 um 18:21:10 Uhr
Nein, was christianW zu Recht meint ist eine statische Route auf dem Internet Router zum OpenVPN Server für das VPN Clientnetz ! Das ist ja ein anderes IP Netz als dein lokales ! Wenn du nun von einem VPN Client einen rechner in deinem lokalen netz anpingst "sieht" der als Absender IP Adresse aus deinem VPN Netz !
Diese lokalen Rechner haben aber alle den Internet Router als default gateway eingetragen, routen also das Antwortpaket an den Internet Router und dann ins Internet wo es auf Nimmerwiedersehen verschwindet !!! Es muss ja zum OpenVPN Server !!
Du ahnst die Lösung und christianWs richtigen Einwand mit der Route...oder ??
Statische Route aufs VPN Client Netz via Open VPN Server !
Angenommen dein lokales Netz ist die 172.16.1.0 /24, der VPN Server hat die 172.16.1.254 und dein VPN Clientnetz ist die 10.16.1.0 /24 dann muss auf deinem Internet Router eine statische Router ala:
Zielenetz: 10.16.1.0, Maske: 255.255.255.0, Gateway: 172.16.1.254
Damit routet der Internet Router das Antwort Paket dann an den OpenVPN Router und der packt es in den VPN Tunnel und schiebt es wieder zum Client und alles ist gut !!
Diese lokalen Rechner haben aber alle den Internet Router als default gateway eingetragen, routen also das Antwortpaket an den Internet Router und dann ins Internet wo es auf Nimmerwiedersehen verschwindet !!! Es muss ja zum OpenVPN Server !!
Du ahnst die Lösung und christianWs richtigen Einwand mit der Route...oder ??
Statische Route aufs VPN Client Netz via Open VPN Server !
Angenommen dein lokales Netz ist die 172.16.1.0 /24, der VPN Server hat die 172.16.1.254 und dein VPN Clientnetz ist die 10.16.1.0 /24 dann muss auf deinem Internet Router eine statische Router ala:
Zielenetz: 10.16.1.0, Maske: 255.255.255.0, Gateway: 172.16.1.254
Damit routet der Internet Router das Antwort Paket dann an den OpenVPN Router und der packt es in den VPN Tunnel und schiebt es wieder zum Client und alles ist gut !!
christianW schreibt am 29.05.2010 um 19:22:10 Uhr
Hallo DonJoe.
ja genau wie Dir das aqui beschrieben hat, meinte ich dies.
PS. aqui irgendwie namen verwechselt ;)
ja genau wie Dir das aqui beschrieben hat, meinte ich dies.
PS. aqui irgendwie namen verwechselt ;)
christianW schreibt am 30.05.2010 um 19:07:09 Uhr
dann leg sie auf einer Workstation an und test dann mit dieser Workstation. Wenns geht bleibt Dir die Möglichkeit, das auf jeder Workstation zu tun, allerdings auf Netzwerkressourcen wie Printserver kommst Du nicht, die benötigen eine Route und das geht nur mit einem Router
aqui schreibt am 31.05.2010 um 11:53:17 Uhr
Ja, christianW liegt da richtig ! Das beste ist du schmeisst den Router weg und beschaffst dir was anständiges. Ansonsten hast du nur den mühsamen Workaround auf allen Endgeräten eine eigene statische Route ala:
route add <Zielnetz> mask <Maske> <Gateway_IP> -p
nachzutragen (Syntax für Windows Maschinen !).
Für Endgeräte die sowas nicht können fällt die VPN Verbindung dann flach !
route add <Zielnetz> mask <Maske> <Gateway_IP> -p
nachzutragen (Syntax für Windows Maschinen !).
Für Endgeräte die sowas nicht können fällt die VPN Verbindung dann flach !
bitbuerster schreibt am 02.07.2010 um 12:33:04 Uhr
Frage am Rande:
Ich habe drei Subnetze (eine Zentrale Z, zwei remote Standorte A + B); die beiden Sites A und B sollen voneinander isoliert sein, aber die Zentrale Z soll natürlich Zugriff auf A und B haben und umgekehrt sollen A und B auch Ressourcen von Z nutzen können.
-Wie erzähle ich's das denn den jetzt den WRT54G VPN-Routern in einem passenden Setup? -Insbesondere, dass sie die UDP Broadcasts auf bestimmten Ports (wie z.B. DHCP requests, aber auch andere) a) überhaupt mal weiter routen und dabei aber auch noch b) A <-> Z und B <-> Z bedienen, aber nicht in der Richtung A <-> B
Geht das überhaupt???
Danke!
Ich habe drei Subnetze (eine Zentrale Z, zwei remote Standorte A + B); die beiden Sites A und B sollen voneinander isoliert sein, aber die Zentrale Z soll natürlich Zugriff auf A und B haben und umgekehrt sollen A und B auch Ressourcen von Z nutzen können.
-Wie erzähle ich's das denn den jetzt den WRT54G VPN-Routern in einem passenden Setup? -Insbesondere, dass sie die UDP Broadcasts auf bestimmten Ports (wie z.B. DHCP requests, aber auch andere) a) überhaupt mal weiter routen und dabei aber auch noch b) A <-> Z und B <-> Z bedienen, aber nicht in der Richtung A <-> B
Geht das überhaupt???
Danke!
aqui schreibt am 04.07.2010 um 12:39:52 Uhr
Ja, das klappt natürlich problemlos. Du annouced mit der o.a. Konfig für die Clients ja nur die beiden remoten Netze zur Zentrale, mehr nicht.
D.h. nur diese Netze sind in der Zentrale bekannt und aus Sicht der remoten netze ist denen nur das Zentral netz bekannt NICHT aber das jeweils andere remote Netz.
Folglich ist ein Routing der beiden remoten Netze untereinander technisch nicht möglich. Erst mit einer zusätzlichen statischen Route im Zentralrouter wäre ein Routing zwischen den remoten Netzen möglich. Ohne diese Route ist es wie gesagt nicht möglich.
DHCP Requests in einem VPN zu forwarden ist eigentlich Unsinn, denn damit zwingst du die remoten Netze in eine zentrale Abhängigkeit von Servern in der Zentrale und machst sie zudem Abhängig von der 100%igen Verfügbarkeit der WAN Verbindung.
Generell ein sehr schlechtes VPN Design, denn die remoten Lokationen sollten ja möglichst auch bei Ausfall zentraler Komponenten autark weiterarbeiten könne. Mit z.B. einem zentralisierten DHCP Konzept ist das abe rnicht gegeben. Davon sollte man also tunlichst die Finger lassen wenn möglich !
Dennoch kann man aber mit der server.conf Datei auch solche Pakete forwarden wenn man es denn unbedingt muss.
D.h. nur diese Netze sind in der Zentrale bekannt und aus Sicht der remoten netze ist denen nur das Zentral netz bekannt NICHT aber das jeweils andere remote Netz.
Folglich ist ein Routing der beiden remoten Netze untereinander technisch nicht möglich. Erst mit einer zusätzlichen statischen Route im Zentralrouter wäre ein Routing zwischen den remoten Netzen möglich. Ohne diese Route ist es wie gesagt nicht möglich.
DHCP Requests in einem VPN zu forwarden ist eigentlich Unsinn, denn damit zwingst du die remoten Netze in eine zentrale Abhängigkeit von Servern in der Zentrale und machst sie zudem Abhängig von der 100%igen Verfügbarkeit der WAN Verbindung.
Generell ein sehr schlechtes VPN Design, denn die remoten Lokationen sollten ja möglichst auch bei Ausfall zentraler Komponenten autark weiterarbeiten könne. Mit z.B. einem zentralisierten DHCP Konzept ist das abe rnicht gegeben. Davon sollte man also tunlichst die Finger lassen wenn möglich !
Dennoch kann man aber mit der server.conf Datei auch solche Pakete forwarden wenn man es denn unbedingt muss.
Hawk999 schreibt am 16.09.2010 um 18:46:27 Uhr
Hallo,
habe OpenVPN nach dem Howto wie oben beschrieben eingerichtet. Nun bekomme ich nachdem ich den Client konfiguriert habe untenstehendes Log. Der Prozess bricht an dieser Stelle ab. Die beiden Computer in der Taskleiste bleiben gelb. Irgendwann fängt der Prozess an neu zu starten und stoppt dan wieder bei der gleichen Stelle. Woran kann das liegen? Brauche drignend Hilfe!:
Thu Sep 16 18:38:59 2010 OpenVPN 2.1.3 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Aug 20 2010
Thu Sep 16 18:38:59 2010 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Sep 16 18:38:59 2010 LZO compression initialized
Thu Sep 16 18:38:59 2010 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Thu Sep 16 18:38:59 2010 Socket Buffers: R=[8192->8192] S=[32768->32768]
Thu Sep 16 18:38:59 2010 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Thu Sep 16 18:38:59 2010 Local Options hash (VER=V4): '41690919'
Thu Sep 16 18:38:59 2010 Expected Remote Options hash (VER=V4): '530fdded'
Thu Sep 16 18:38:59 2010 UDPv4 link local: [undef]
Thu Sep 16 18:38:59 2010 UDPv4 link remote: ip-Adresse:1194
Thu Sep 16 18:38:59 2010 TLS: Initial packet from ipadresse:1194, sid=eba33163 e15158ff
Thu Sep 16 18:38:59 2010 VERIFY OK: depth=1, /C=DE/ST=NRW/L=Ort/O=Privat/CN=OpenVPN/emailAddress=name@firma.de
Thu Sep 16 18:38:59 2010 VERIFY OK: nsCertType=SERVER
Thu Sep 16 18:38:59 2010 VERIFY OK: depth=0, /C=DE/ST=NRW/O=Privat/CN=Server/emailAddress=name@firma.de
habe OpenVPN nach dem Howto wie oben beschrieben eingerichtet. Nun bekomme ich nachdem ich den Client konfiguriert habe untenstehendes Log. Der Prozess bricht an dieser Stelle ab. Die beiden Computer in der Taskleiste bleiben gelb. Irgendwann fängt der Prozess an neu zu starten und stoppt dan wieder bei der gleichen Stelle. Woran kann das liegen? Brauche drignend Hilfe!:
Thu Sep 16 18:38:59 2010 OpenVPN 2.1.3 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Aug 20 2010
Thu Sep 16 18:38:59 2010 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Sep 16 18:38:59 2010 LZO compression initialized
Thu Sep 16 18:38:59 2010 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Thu Sep 16 18:38:59 2010 Socket Buffers: R=[8192->8192] S=[32768->32768]
Thu Sep 16 18:38:59 2010 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Thu Sep 16 18:38:59 2010 Local Options hash (VER=V4): '41690919'
Thu Sep 16 18:38:59 2010 Expected Remote Options hash (VER=V4): '530fdded'
Thu Sep 16 18:38:59 2010 UDPv4 link local: [undef]
Thu Sep 16 18:38:59 2010 UDPv4 link remote: ip-Adresse:1194
Thu Sep 16 18:38:59 2010 TLS: Initial packet from ipadresse:1194, sid=eba33163 e15158ff
Thu Sep 16 18:38:59 2010 VERIFY OK: depth=1, /C=DE/ST=NRW/L=Ort/O=Privat/CN=OpenVPN/emailAddress=name@firma.de
Thu Sep 16 18:38:59 2010 VERIFY OK: nsCertType=SERVER
Thu Sep 16 18:38:59 2010 VERIFY OK: depth=0, /C=DE/ST=NRW/O=Privat/CN=Server/emailAddress=name@firma.de
aqui schreibt am 17.09.2010 um 10:09:50 Uhr
Das Log sieht OK aus ! Dort ist keine Error Meldung zu sehen. Vermutlich ist die beim cut and Paste verlorengegangen. Sende deine Client und Server Konfig Datei einmal per PM um das Tutorial hier nicht so aufzublasen !
<edit>
Der Falke hatte FB und DD-WRT Router falsch zusammengesteckt. Nun ist alles richtig und es funktioniert wie es soll !
Das Tutorial wird auf ein Kapitel erweitert wenn der VPN Router hinter einem bestehenden Router betrieben wird um weitere Fragen für so ein Szenario zu beantworten !
</edit>
<edit>
Der Falke hatte FB und DD-WRT Router falsch zusammengesteckt. Nun ist alles richtig und es funktioniert wie es soll !
Das Tutorial wird auf ein Kapitel erweitert wenn der VPN Router hinter einem bestehenden Router betrieben wird um weitere Fragen für so ein Szenario zu beantworten !
</edit>
DonJoe schreibt am 06.11.2010 um 22:29:38 Uhr
Hallo,
mein Netz sieht etwa so wie unter "OpenVPN hinter einem bestehenden NAT Router betreiben" beschrieben aus. Jetzt würde ich gerne mit dem OpenVPN Client, auf das Netzt vor dem dd-wrt Router zugreifen. Da ich so weiter den Gbit Router nutzen könnte und Kabel nicht immer umstecken müsste, um Gbit nutzen zu können.
Eigendlich müsste es doch reichen im VPN Client das Netz (im Beispiel die 192.168.1.0) als Route über die 172.16.2.0 einzutragen.
Geht das und wen ja wie?
mein Netz sieht etwa so wie unter "OpenVPN hinter einem bestehenden NAT Router betreiben" beschrieben aus. Jetzt würde ich gerne mit dem OpenVPN Client, auf das Netzt vor dem dd-wrt Router zugreifen. Da ich so weiter den Gbit Router nutzen könnte und Kabel nicht immer umstecken müsste, um Gbit nutzen zu können.
Eigendlich müsste es doch reichen im VPN Client das Netz (im Beispiel die 192.168.1.0) als Route über die 172.16.2.0 einzutragen.
Geht das und wen ja wie?
aqui schreibt am 08.11.2010 um 11:34:18 Uhr
Ja das geht problemlos. Du musst nichtmal die Route statisch eintragen, sondern kannst sie mit einem weiteren
push "route 192.168.1.0 255.255.255.0"
Kommando in der Server Konf. Datei automatisch an den Client weitergeben.
Wenn du bei eingewähltem (Windows) Client dann ein route print eingibst siehst du beide Routen zum jeweils 172.16.2er und 192.168.1er Netz via OpenVPN Tunnel in der Routing Tabelle !
Vorsicht ist allerdings geboten am WAN Interface. Dort wird in der Regel NAT gemacht und Antwortpakete von Endgeräten aus dem 192.168.1er Netz bleiben bei aktivem NAT an der WAN-Port NAT Firewall hängen.
Bei DD-WRT klickt man dann im System Setup einfach den "Router Modus" an um das NAT auszuschalten und transparent zu routen. Bei pFsense richtet man eine statische NAT 1:1 Translation ein und gut ist.
Damit lässt sich das problemlos auf beiden Plattformen umsetzen !
push "route 192.168.1.0 255.255.255.0"
Kommando in der Server Konf. Datei automatisch an den Client weitergeben.
Wenn du bei eingewähltem (Windows) Client dann ein route print eingibst siehst du beide Routen zum jeweils 172.16.2er und 192.168.1er Netz via OpenVPN Tunnel in der Routing Tabelle !
Vorsicht ist allerdings geboten am WAN Interface. Dort wird in der Regel NAT gemacht und Antwortpakete von Endgeräten aus dem 192.168.1er Netz bleiben bei aktivem NAT an der WAN-Port NAT Firewall hängen.
Bei DD-WRT klickt man dann im System Setup einfach den "Router Modus" an um das NAT auszuschalten und transparent zu routen. Bei pFsense richtet man eine statische NAT 1:1 Translation ein und gut ist.
Damit lässt sich das problemlos auf beiden Plattformen umsetzen !
Digger81 schreibt am 20.12.2010 um 09:06:13 Uhr
Bezogen auf das befestigen der SD Karte, ihr kennt sicherlich noch die Alten Diskettenlaufwerke 5,25 zoll, diesen anschluss kann man sehr gut nutzen um SD karten Flexibel zu benutzen. Wobei die Mini SD methode auch nicht schlecht ist ^^
Siehe Wiki: http://upload.wikimedia.org/wikipedia/com ...
Siehe Wiki: http://upload.wikimedia.org/wikipedia/com ...
aqui schreibt am 20.12.2010 um 10:43:16 Uhr
Der Tip ist technisch richtig, allerdings sehr umständlich, denn dieser Floppystecker ist viel zu dick und zu klobig und damit sehr unpraktisch im Gehäuse unterzubringen..
Einfacher und besser ist für ängstliche Löter einen mini SD auf SD Konverter zu nehmen und den einzulöten und dann eine mini SD einzustecken.
Nötig ist das aber nicht. Die SD Karte verträgt es auch ohne Probleme wenn man die Kabel direkt an sie anlötet.
Das ist einfacher, kostet nicht so viel Platz und ergibt später einen sicheren Dauerbetrieb ohne Wackelkontakte durch Steckverbindungen !
Einfacher und besser ist für ängstliche Löter einen mini SD auf SD Konverter zu nehmen und den einzulöten und dann eine mini SD einzustecken.
Nötig ist das aber nicht. Die SD Karte verträgt es auch ohne Probleme wenn man die Kabel direkt an sie anlötet.
Das ist einfacher, kostet nicht so viel Platz und ergibt später einen sicheren Dauerbetrieb ohne Wackelkontakte durch Steckverbindungen !
Digger81 schreibt am 20.12.2010 um 12:12:31 Uhr
Das er ziemlich Groß ist das stimmt allerdings, aber beim WRT hat er sehr viel Platz, habe vor Jahren ein SD Mod in meinen WRT 54g Ver. 3.1 eingebaut und der hat richtig gut platz, der Stecker hat dazu noch einen vorteil nimmt man die überflüßigen pins raus und plaziert die SD karte so das man die führung des Steckers nutzen kann so hat man die möglichkeit die sd karte immer passend und ohne viel drumher hinein und herraus zu nehmen. Aber wie schon von dir geschrieben mit einer Mini SD karte geht das natürlich auch ganz gut, damals gab es nur leider so was noch nicht ^^.







































