So hab da auch einmal versucht VPN einzurichten.
Auf Basis des GP 5.1 oder (i)CVS Image mit GP3 Plugins (Server) mit verschiedenen Clients
wie iPhone, Linux, MAC, Android Smartphones
Achtung die VPN Anleitung beschreibt folgende Variante:
- OpenVPN Verbindung mittels Routing
- Als OpenVPN Server agiert die Dream
- Mehrere Clients, sofern sie über Zertifikate und entsprechende Keyfiles verfügen.
- Authentifizierung ist Zertifikatsbasierend
Klappt hier perfekt unter Ubuntu,
um die Dream via VPN zu erreichen plus das ganze, dahinter liegende interne Netz...
Voraussetzungen:
- Dyndns Adresse
- Geduld und viel Zeit
- Portweiterleitung auf den entsprechenden Port des VPN Servers
- Gewillt, um einmal zu googeln
- Eine Dreambox mit >= GP 5.1 (OpenVPN Server)
- VPN Client Beschreibungen ergänzt für MAC, iPhone und Windows
- Netzwerkadresse und Subnetmaske vom Heimnetzwerk kennen
Na dann einmal los....
Das erstellen der Zertifikate lasse ich einmal weg, im www gibt es viele Hints dazu.
Packe aber einmal einige erstellte Dinger an, zum testen.
Ist aber von Vorteil, wenn ihr eigene erstellt
Die selbst erstellte Konfigurationsdatei und die Server Zertifikate (ca.crt, dh2048.pem, server.crt, server.key) müssen nach /etc/openvpn kopiert werden.
Danach den OpenVPN Server starten im BluePanel.
So nun auf der Dream.......
die Serverkonfiguration erstellen und als myVPN.conf abspeichern in /etc/openvpn.
Hier das Beispiel mit einigen Kommentaren..
server 10.6.0.0 255.255.255.0 # Das virtuelle VPN-Netzwerk (+ tls-server)
port 1194
proto udp
dev tun
comp-lzo
# Hier die Pfade anpassen um auf die erstellten Keys zu verweisen
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
push "route 192.168.1.0 255.255.255.0" # Den Client über das Server-LAN informieren (wichtig!)
float # Nur wenn Clients ihre IPs während der Verbindung wechseln
ping-timer-rem
keepalive 20 180 # Alle 20 Sekunden pingen. 3 Minuten Timeout fuer Clientverbindung
verb 3 # Zum Debugging erhhen
mute 50 # Zum Debugging auskommentieren
Alles anzeigen
Anpassen könnt ihr das VPN LAN in der Konfig. 10.6.0.0/24.
Wie auch die Route die euer Netzwerk identifizieren soll.
Die gepushte Route muss mit euren Netzwerk übereinstimmen...
Starten/Stoppen könnt ihr den VPN-Server so via Telnet,
wenn der OpenVPN Server im BluePanel aktiv ist.
Stoppen geht so:
Ist der Dienst nicht gestartet im BlueBanel,
dann kann der OpenVPN Server wie folgt manuell gestartet werden.
Gut um zu testen
-------------------
So nun richten wir den Client ein auf dem Linux Computer.
Das Paket openvpn muss natürlich installiert sein auf dem Client.
Kopiert nun die Zertifikate (ca.crt, client1.crt, client1.key) vom Anhang nach.
Es sind übrigens zwei Beispiele im Anhang für zwei Clients.
So, nun muss noch die Client Konfiguration erstellt werden,
im gleichen Verzeichnis wie die Zertifikate z.B mit dem Namen client.conf.
Beispiel:
client
dev tun
proto udp
remote dreambox.dyndns.sorg 1194
# Keep trying indefinitely to resolve the
# host name of the OpenVPN server. Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite
# Most clients don't need to bind to
# a specific local port number.
nobind
# Try to preserve some state across restarts.
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
# Set log file verbosity.
verb 3
Alles anzeigen
Anpassen muss man folgendes:
- Dyndns Adresse
- Port
So, wenn alles eingerichtet ist, dann kann man den VPN Client starten:
-------------------
Zum testen kann man einmal die Tunneladresse anpingen. (muss klappen)
Nach dem Beispiel wäre es 10.6.0.1.
Oder auch die lokale eingestellte IP der Box müsste gehen.
Somit sollten die Dream Dienste erreichbar sein (http,ssh,telnet)
-----------------
Um weitere Geräte im LAN zu erreichen muss man
folgenden Befehl auf der Dream eingeben...
Der Befehl muss bei jedem Neustart eingegeben werden.
Oder man erstellt einen Eintrag in /etc/rc3.d, um
den Befehl auszuführen.
Dieses Vorgehen ist mit dem geminiopenvpn Plugin vom GP3 nicht mehr norwendig!!
------------------
Wenn die einzelnen Heim-Geräte erreichbar sein sollen , dann muss
man die entsprechende Route im lokalen LAN dem Gateway bekannt machen.
Habe hier einen dd-wrt basierenden Router.
Mit folgendem Befehl geht das...
Ist aber nach einem Neustart des Routers wieder weg.
Man kann den Befehl aber im
Router unter Administration => Diagnose dauerhaft verankern
Kann auf eurem Gateway keine Route eingetragen werden, dann kann eine Route bei den entsprechenden Heimgeräten konfiguriert werden. Beispiel
-----------------------------
Mit dem Networkmanager (Gnome), kann man auch die Verbindung auf die Box
auch erstellen. Muss nur das korrekte Paket zusätzlich installiert (network- manager-openvpn)werden.
----------------------------
So das waren meine ersten Gehversuche mittels VPN
und es geht ganz gut
Vielleicht gelingt es dem einen oder anderen auch
mfg eg
Weitere Tipps und Tricks
VPN Client unter Iphone
Wenn ihr einen Jailbreak habt, dann ist das Programm GuizmOVPN interessant. Der upload der Konfigurationsdatei und Zertifikaten
erfolgt über den Webserver des Programms. Dazu müssen die Daten gezippt werden
für den upload auf iphone.
Funktioniert ganz gut
VPN Client unter WIndows
Unter Windows kann der openvpn client genommen und installiert werden.
Nun die Konfigurationsdatei *.conf umbenennen in *.ovpn.
Dann die Client Zertifikate und die Konf-Datei in das Installationsverzeichnis
vom OpenVPN Client kopieren. Am besten einen config Ordner erstellen
und die Datein rein kopieren.
Dann OpenVPN Client starten und auf das Plus Zeichen unter
Verbindungsprofile klicken.
Lokale Datei wählen und auf [Import] drücken.
Jetzt zu der *.ovpn Konfigdatei Browsen und auswählen.
Nun einen Namen für die Verbindung eingeben und [sichern].
Mit einem Klick auf das neue Profil, sollte die Verbindung aufgebaut werden.
VPN Client unter MAC
Unter MAC könnt ihr Tunnelblick oder Viscosity verwenden