GP3.2 OpenVPN (en)
- in Deutsch | - in English |
InhaltsverzeichnisAfter installing the geminiopenvpn Plugin you have an OpenVPN Server or Client which is easy to configure. The plugin uses certificates (Server-Multi-Client). The connection on the OpenVPN Server is made over an encrypted TLS connection. For connections the OpenVPN Server Plugin creates a virtual network interface (tap0), which is connected over a network bridge (br0) with the internal network adapter (eth0) of the Dreambox. One or more OpenVPN clients get an IP adress of the internal network and can access all availiable services without additional routing. The mode used by OpenVPN is Bridging. With this mode the Broadcasts are forwarded without any problem. Same for network protocols like IPv4, IPv6, Netalk, IPX, ...
Requirements for using OpenVPN
OpenVPN ServerInstalliert das OpenVPN Plugin via BluePanel und richtet den Server nach den folgenden Beschreibungen ein. Nach einem Neustart findet ihr den OpenVPN Server (und Klient) im BluePanel. Alternativ könnt ihr das Plugin mit folgendem Befehl via Kommandozeile installieren: opkg update && opkg install geminiopenvpn
Root Zertifikat erstellenJetzt erstellen wir die Schlüssel und Zertifikate für die Certificate Authority (CA). Öffnet das OpenVPN Server Plugin und drückt die [grüne] Taste für Zertifikate. Wählt nun unter Typ den Eintrag root-Zertifikat und passt die Einstellungen wie in der Tabelle beschrieben an. Bei allen Eingaben dürfen nur Buchstaben und Zahlen verwendet werden.
Speichert die Eingaben anschliessend mit der [grünen] Taste. Die entsprechenden Daten werden erstellt und im Verzeichnis /etc/ssl/openvpn gespeichert. Back to table of contents
Server Zertifikat erstellenÖffnet das OpenVPN Server Plugin und drückt die [grüne] Taste für Zertifikate. Drückt erneut die [grüne] Taste (Hinzufügen) und wählt unter Typ den Eintrag Server und passt die Einstellungen wie in der Tabelle beschrieben an.
Speichert die Eingaben anschliessend mit der [grünen] Taste, um die Zertifikate zu erstellen. Jetzt wird das Passwort abgefragt, welches bei der root-Zertifikat Erstellung, eingegeben worden ist. Ist das Passwort falsch, erscheint folgende Fehlermeldung, can't generate certificate. Nach Eingabe des korrekten Passworts werden die Zertifikate, Schlüssel und die Diffie-Hellman Parameter erstellt. Dieser Vorgang dauert einige Minuten, der Status kann im Plugin oder der Konsole angeschaut werden. Das Plugin kann während der Erstellung auch geschlossen werden, der Prozess läuft im Hintergrund weiter.
Klient Zertifikat(e) erstellenÖffnet die Zertifikate mit der [grünen] Taste im OpenVPN Server. Drückt erneut die [grüne] Taste (Hinzufügen) und wählt unter Typ den Eintrag Klient und passt die Einstellungen wie in der Tabelle beschrieben an.
Speichert die Eingaben anschliessend mit der [grünen] Taste, um die Zertifikate zu erstellen. Nun wird das Passwort abgefragt, welches bei der root-Zertifikat Erstellung, eingegeben worden ist. Ist das Passwort falsch, erscheint folgende Fehlermeldung, can't generate certificate. Nach Eingabe des korrekten Passwortes, befinden sich das Klient Zertifikat, Schlüssel und die Konfigurationsdatei in folgendem Verzeichnis: /etc/ssl/openvpn Die erstellen Dateien (drei Stk. pro Klient), werden später auf den OpenVPN Klients benutzt, um eine Verbindung auf den Server aufzubauen. Die relevanten Dateien sehen wie folgt aus, wenn z.B. der Name 7020hd eingegeben worden ist. Zusätzlich zu den drei Dateien, wird für jeden Klient noch das Root Zertifikat (vpn-ca.pem) benötigt.
Übersicht der KonfigurationDie erstellten Konfigurationen können mit der [grünen] Taste (Zertifikate) im OpenVPN Server Plugin angeschaut werden wird. Das Beispiel zeigt die Konfiguration eines root-Zertifikats, Server Einstellungen und die Konfiguration von zwei Clients, mit dem Namen htc und 7020hd.
EinstellungenÖffnet das OpenVPN Server Plugin im BluePanel unter den Daemons. Nun kontrollieren wir zuerst die Einstellungen, bevor wir den OpenVPN Server starten. Drückt die [blaue] Taste Menü und selektiert den Menüpunkt [Einstellungen]. Benutzt die folgende Tabelle für die Beschreibungen und korrigiert sie wenn nötig. Die Netzwerkeinstellungen werden im Normalfall von der Dreambox übernommen und müssen nur in seltenen Fällen angepasst werden.
Speichert die Eingaben anschliessend mit der [grünen] Taste. Nach dem Speichern wir automatisch der OpenVPN Server gestartet. Der OpenVPN Server wird auch nach einem Neustart der Dreambox automatisch gestartet, wenn eine Konfigurationsdatei und gültige Zertifikate vorhanden sind.
OpenVPN LogdateiInformationen über den Status des OpenVPN Servers, können mit der [roten] Taste (Logdatei) aufgerufen werden. Das Beispiel zeigt den erfolgreichen Start des OpenVPN Servers mit zwei verbunden Klients. Die Log Datei kann alternativ auch via Konsole angezeigt werden, mit folgendem Befehl: cat /var/log/openvpn.log
VerbindungsübersichtDas OpenVPN Server Plugin kontrolliert zyklisch, ob Klient(s) verbunden sind und zeigt diese wie im Bild Aktive Verbindungen an. In diesem Beispiel sind zwei Klients verbunden, mit dem Namen htc und 7020hd.
Zertifikat(e) sperrenZertifikate könnt ihr auch sperren, wenn ihr den Zugriff von einem Klient unterbinden wollt. Das sperren erfolgt über die [rote] Taste, wenn das Menü der Zertifikate aufgerufen wird. Gesperrte Klient Zertifikate werden in der Übersicht als abgelaufen markiert. Beim Sperren müsst ihr wieder das korrekte Passwort eingeben, welches bei der root_Zertifikat Erstellungen eingegeben worden ist.
OpenVPN Server - Menü TasteÖffnet das OpenVPN Server Plugin und drückt die [blaue] Taste der Fernbedienung. Die Funktionen sind in der folgenden Tabelle beschrieben.
Löschen von ZertifikatenZertifikate können im OpenVPN Server Plugin nicht gelöscht werden. Die Dateien müsst ihr manuell löschen im Verzeichnis: /etc/openvpn/ssl
OpenVPN KlientEs gibt viele, verschiedene OpenVPN Frontends, für die einzelnen Betriebssysteme, um Verbindungen auf einen OpenVPN Server zu erstellen. Die folgenden Abschnitte beschrieben die Konfigurationen des OpenVPN Klients der Dreambox (mit GP3.2 Plugin) und einem Android basierenden Smartphone.
Dreambox als KlientBeim Einrichten des OpenVPN Klients, müssen die erstellten Klient Dateien (4 Stk.) von der Serverbox kopiert und in das folgende Verzeichnis der Klient Dreambox eingefügt werden: /etc/openvpn Hier nochmal eine Auflistung der vier benötigten Dateien für den OpenVPN Klient. Das xxx steht für den Namen, welcher bei der Klient Erstellungen eingegeben worden ist.
Konfigurationsdatei editierenBevor eine Verbindung aufgebaut werden kann, müsst ihr die Konfigurationsdatei (*.ovpn) editieren. Beim der Zeile remote muss die IP-Adresse oder Hostadresse und der korrekte Port eingetragen werden. Die Konfiguration könnte wie folgt ausschauen, wenn der Zugriff über den Hostnamen webaccess.dyndns.tv erfolgt via Port 1194. .
.
# example 'remote foobar.org 1194'
# example 'remote 97.123.100.236 1194'
remote webaccess.dyndns.tv 1194
resolv-retry infinite
nobind
persist-key
persist-tun
.
.
Verbindung aufbauenÖffnet das OpenVPN Client Plugin im BluePanel unter den Daemons. Im Plugin erscheint ein Eintrag (nicht verbunden), wenn die Konfigurationsdateien in das korrekte Verzeichnis kopiert worden sind (/etc/openvpn). Startet die Verbindung auf den OpenVPN Server mit der [OK] Taste. Funktioniert alles, dann erscheint der Status verbunden im OpenVPN Client Plugin. Trennen könnt ihr die Verbindung durch erneutes drücken der [OK] Taste.
Android Smartphone als KlientDas Bild zeigt ein Beispiel von einem Android basierenden Smartphone, welches mit der Dreambox verbunden ist. Als App wird OpenVPN settings eingesetzt, um die Verbindung zum Server zu starten. Beachtet, dass das Gerät gerootet sein muss, um OpenVPN zu nutzen. Weiters wird der tun/tap Treiber, die Busybox und OpenVPN benötigt. Bei vielen Custom-Roms sind diese Abhängigkeiten schon in der Firmware integriert. Die Konfigurationsdatei (*.opvn) muss korrekt angepasst werden mit dem Remoteserver und dem entsprechenden Port ergänzt werden. Kopiert anschliessend die Klient Dateien auf die SD-Karte, z.B. in einen erstellten Ordner openvpn. Jetzt müsst ihr nur noch die OpenVPN settings App anpassen (z.B. Pfad zu Konfiguration, Zertifikaten) und der Tunnel auf den OpenVPN Server kann gestartet werden.
SupportthreadBraucht ihr Hilfe zu OpenVPN, dann folgt bitte folgendem Link ;) geminiopenvpn
|