VPN-Tunnel mobil und Router (DD-WRT,Openwrt,Freifunk) Für alle
Transcription
VPN-Tunnel mobil und Router (DD-WRT,Openwrt,Freifunk) Für alle
VPN-Tunnel mobil und Router (DD-WRT,Openwrt,Freifunk) Für alle die ein solches System, mit der o.g. Router-Firmware laufen haben. Hier die Anleitung wie man VPN-Tunnel aufbauen kann, um von unterwegs auf das Heimnetz zugreifen kann, per DFÜ oder Internet-Cafe. Teil I: Erstellung der Schlüssel Teil II: Einrichten des Routers Teil III: Einrichten des Windows-Clients und Verbindungsaufbau. Zusammenfassung aus How To – Aufbau einer Wireless Richtfunkstreckemit Hilfe von Linksys und DD-WRT http://www.OpenVPN.net Installation auf einer Windows Maschine. Eine ganz normale, Standardinstallatation durchführen. Nun wird es spannend, erstellen der Authentifizierungs-Zertifikate für den Server(Router) & Client. Als erstes werden alle benötigten Zertifikate erstellt, das wird in einer Dos-Box auf dem Windows-System gemacht (wenn vorhanden ). STEP I Vorbereiten und Grundeinstellungen: Code: cd \programme\openvpn\easy-rsa init-config.bat Anpassen der neu erstellten "openvpn\easy-rsa\vars.bat" den Key Dir Path überprüfen und ggf.anpassen (ich habe ihn bei mir geändert, weil ich es nicht mag, wenn sich solche Daten in den Programmfolder verlieren.) die Key Size auf 2048 erhöhen und die KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL anpassen. Code: @echo off Edit this variable to point to rem the openssl.cnf file included rem with easy-rsa. set HOME=%ProgramFiles%\OpenVPN\easy-rsa set KEY_CONFIG=openssl.cnf rem Edit this variable to point to rem your soon-to-be-created key rem directory. rem rem WARNING: clean-all will do rem a rm -rf on this directory rem so make sure you define rem it correctly! rem ********************************************* set KEY_DIR=c:\openvpn-keys rem ********************************************* rem Increase this to 2048 if you rem are paranoid. This will slow rem down TLS negotiation performance rem as well as the one-time DH parms rem generation process. rem ********************************************* set KEY_SIZE=2048 rem ********************************************* rem These are the default values for fields rem which will be placed in the certificate. rem Change these to reflect your site. rem Don't leave any of these parms blank. rem ********************************************* set KEY_COUNTRY=DE set KEY_PROVINCE=NRW set KEY_CITY=Duesseldorf set KEY_ORG=Homenet set [email protected] rem ********************************************* Soweit die Grundeinstellungen, abschliessend noch Code: vars.bat clean-all.bat build-ca.bat und die Einstellungen sind abgeschlossen. Erstellen des CA (Master Zertifikat): Code: build-ca.bat Folgende Eingaben haben schon die Vorgaben, aus der vorher erstellten "vars.bat" Code: Country Name (2 letter code) [DE]: State or Province Name (full name) [NRW]: Locality Name (eg, city) [Duesseldorf]: Organization Name (eg, company) [Homenet]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:CA Email Address [[email protected]]: Common Name: Diesem Feld muss der Wert "CA" zugewiesen werden. Nicht unter den Vorgaben, sondern bei der Erstellung der Keys. Damit ist das Master-Zertifikat erstellt. Erstellen des Server-Zertifikat: Code: build-key-server.bat WLan-Router. Code: Common Name (eg, your name or your server's hostname) []:WLan-Router . Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Auch hier muss das Feld "Common Name" ausgefüllt werden. Dann folgen noch Felder die einfach mit Return oder zum Schluss, mit "y" bestätigt werden. Und schon haben wir den Key für den Server(Router) erstellt. Erstellen der Client-Zertifikate: Code: build-key-server.bat client01 und/oder build-key-server.bat client02 und/oder build-key-server.bat rainer und/oder build-key-server.bat buero Code: Country Name (2 letter code) [DE]: State or Province Name (full name) [NRW]: Locality Name (eg, city) [Duesseldorf]: Organization Name (eg, company) [Homenet]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:CLIENT01 Email Address [[email protected]]: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from openssl.cnf Loading 'screen' into random state - done DEBUG[load_index]: unique_subject = "yes" Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'DE' stateOrProvinceName :PRINTABLE:'NRW' localityName :PRINTABLE:'Duesseldorf' organizationName :PRINTABLE:'Homenet' commonName :PRINTABLE:'CLIENT01' emailAddress :IA5STRING:'[email protected]' Certificate is to be certified until Jan 15 20:15:48 2016 GMT (3650 days) Sign the certificate? [y/n]:y Auch hier muss jeweils der richtige "Common Name" gesetzt werden, den der beim Starten der Batch mit gegeben wurde. Erstellen der Diffie Hellman Parametern: Code: build-dh.bat Das dauert ein wenig. Erstellen des gemeinsamen Key: Code: openvpn --genkey --secret c:\openvpn-keys\ta.key Diese nun erstellen Key's und Zertifikate niemals Freigeben, oder an Dritte weitergeben. Der, der den Key oder das Zertifikat hat, kann in das eigene private Netz. STEP II Die Installation auf dem Router. Mit dem Router vebinden via Telnet/SSH, im / folgende Verzeichnisstruktur anlegen. / .jffs/ ......etc/ ...........openvpn/ ...........config Möglicherweise muss vorher erst noch auf dem Router die JFFS Funktion aktiviert werden. Dabei kann auch die FW-Funktion überprüft und ggf. abgeschaltet werden. Die Zertifikate und Keys können dann mittels einem SCP Program übertragen werden. In den Folder /jffs/etc/openvpn kommen die folgenden erstellten Dateien: Code: ca.crt dh2048.pem WLan-Router.crt WLan-Router.key ta.key Fehlt noch die OpenVPN-Config. Mit "vi" oder einem anderen Editor folgende Server.conf erstellen.. Code: tls-server dev tun0 proto udp port 1194 ifconfig 192.168.100.1 192.168.100.2 dh /jffs/etc/openvpn/dh2048.pem ca /jffs/etc/openvpn/ca.crt cert /jffs/etc/openvpn/wlan-router.crt key /jffs/etc/openvpn/wlan-router.key tls-auth /jffs/etc/openvpn/ta.key 0 auth SHA1 cipher AES-128-CBC persist-key persist-tun keepalive 10 120 reneg-sec 1800 comp-lzo verb 3 status /jffs/etc/openvpn/openvpn-status.log log /jffs/etc/openvpn/openvpn.log log-append /jffs/etc/openvpn/openvpn.log Speichern der Server.conf und starten von OpenVPN: Code: openvpn --config /jffs/etc/openvpn/server.conf & Überprüfen ob OpenVPN läuft: Code: ps -ax | grep openvpn Logfile anzeigen: Code: tail -f /jffs/etc/openvpn/openvpn.log Step III Einrichten des Client: Erstellen der Datei "C:\Programme\OpenVPN\config\client.ovpn“ Code: tls-client ns-cert-type server remote dyndnsname.dyndns.org 1194 dev tun0 proto udp ifconfig 192.168.100.2 192.168.100.1 route 192.168.1.0 255.255.255.0 dh c:\\programme\\openvpn\\keys\\dh2048.pem ca c:\\programme\\openvpn\\keys\\ca.crt cert c:\\programme\\openvpn\\keys\\client1.crt key c:\\programme\\openvpn\\keys\\client1.key tls-auth c:\\programme\\openvpn\\keys\\ta.key 1 auth SHA1 cipher AES-128-CBC persist-key persist-tun keepalive 10 120 comp-lzo verb 3 resolv-retry infinite float status c:\\programme\\openvpn\\log\\openvpn-status.log log c:\\programme\\openvpn\\log\\openvpn.log log-append c:\\programme\\openvpn\\log\\openvpn.log DFÜ-Verbindung / Inet-Cafe Verbindung starten, und über das kleine Tray-Icon den VPNTunnel aufbauen. Logfiles überprüfen, ob die Verbindung zustande gekommen ist. "cmd" öffnen und eine IP-Adresse aus dem eigenen privaten Netz anpingen oder einen Dienst oder Webserver aus dem Netz aufrufen. Vom Netz aus ist der Client über die IP 192.168.100.2 ereichbar. Das zu dem Thema VPN-Tunnel von einem mobilen Client aus, auf das eigene private Hausnetz.