GP3.2 OpenVPN (en): Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(33 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Index]]
 
[[Kategorie:FAQ und Anleitungen]]
 
[[Kategorie:Grundlagen]]
 
 
{|width="40%"
 
{|width="40%"
 
  |[[Bild:deutsch.png]] - [[GP3.2 OpenVPN|in Deutsch]]
 
  |[[Bild:deutsch.png]] - [[GP3.2 OpenVPN|in Deutsch]]
 
  |[[Bild:english.png]] - [[GP3.2 OpenVPN (en)|in English]]
 
  |[[Bild:english.png]] - [[GP3.2 OpenVPN (en)|in English]]
 
  |}
 
  |}
{|width=99%
+
{{GP|This article is valid for Gemini plugin version GP 3.2 and GP 3.3}}
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 1em 1em 1em;  background-color:#F8F8FF; align:right;">[[Bild:Artikel_Hinweis.png|right|40px|The Gemini Project]]
+
[[Datei:GP3 OpenVPN.png|right|thumb|400px|OpenVPN with active client]]
=== UNDER CONSTRUCTION -Configure OpenVPN Server and client ===
+
After installing the '''geminiopenvpn''' Plugin you have an [http://en.wikipedia.org/wiki/OpenVPN OpenVPN] Server or Client which is easy to configure. The plugin uses [http://en.wikipedia.org/wiki/Public_key_certificate certificates] (Server-Multi-Client). The connection on the OpenVPN Server is made over an encrypted [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] connection.  
</div>
 
|-
 
|
 
<div style="background-color: #FFFFFF; border: 1px padding: .4em; solid #cccccc;">
 
__TOC__
 
  
[[Bild:GP3 OpenVPN Logo.png|none|100px]]
+
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 address of the internal network and can access all available services without additional routing.  
Nach dem Installieren des '''geminiopenvpn''' Plugins, steht ein einfach, konfigurierbarer [http://de.wikipedia.org/wiki/OpenVPN OpenVPN] Server oder Client zur Verfügung, welcher mit [http://de.wikipedia.org/wiki/OpenVPN#Zertifikatsbasiert Zertifikaten] arbeitet (Server-Multi-Client Betrieb). Die Verbindung auf den OpenVPN Server erfolgt über eine verschlüsselte [http://de.wikipedia.org/wiki/Transport_Layer_Security TLS] Verbindung.  
 
  
Für Verbindungen erstellt das OpenVPN Server Plugin eine virtuelle Netzwerkschnittstelle (tap0), welches über eine Netzwerkbrücke (br0) mit der internen Netzwerkkarte (eth0) der Dreambox gekoppelt wird. Ein oder mehrere, verbundene OpenVPN Klients, erhalten eine IP Adresse des internen Netzwerkes und können ohne zusätzliches Routing, alle verfügbaren Dienste erreichen.  
+
The mode used by OpenVPN is [http://en.wikipedia.org/wiki/OpenVPN#Bridging Bridging]. With this mode the [http://en.wikipedia.org/wiki/Broadcast Broadcasts] are forwarded without any problem.  Same for network protocols like IPv4, IPv6, Netalk, IPX, ...
  
Der Betriebsmodus der hier von OpenVPN benutzt wird, nennt sich [http://de.wikipedia.org/wiki/OpenVPN#Bridging Bridging]. [http://de.wikipedia.org/wiki/Broadcast Broadcasts] werden in dieser Variante ohne Probleme weitergeleitet, wie auch Netzwerkprotokolle wie IPv4, IPv6, Netalk, IPX, usw.
+
==== Requirements for using OpenVPN ====
 +
* OE 2.0 or OE 2.2 image with GP3 Plugin.
 +
* OpenVPN Plugin must be installed, configured and started.
 +
* The OpenVPN Server supports only a cabled network (no Wlan).
 +
* Portforwarding on the router to the Dreambox (Port 1194/UDP).
 +
* For reaching the Server you need to know your WAN IP, or use a [http://dnslookup.me/dynamic-dns/ DDNS] Service (e.g. [http://www.no-ip.com/ No-IP]).
 +
* For access you need to create certificates for each client.
 +
* OpenVPN needs to be installed on clients. Protocols like IPSec, IKE, PPTP, or L2TP are not supported.
 +
* Server Lan and Client Lan must be different.
  
 
+
== Installation / Deinstallation ==
==== Voraussetzungen für die Benutzung ====
+
The <code>geminiopenvpn</code> plugin can be installed / removed in different ways:
 
+
{{Hauptbeitrag (en)|GP3 Addons (en){{!}}GP3 Addons| - Category: Gemini Plugins}}
* OE2.0 Image mit GP3.2 Plugin.
+
{{Hauptbeitrag (en)|WebAdmin (en){{!}}WebAdmin| - Package name: <code>geminiopenvpn</code>}}
* OpenVPN Plugin muss installiert, eingerichtet und gestartet sein.
+
{{Hauptbeitrag (en)|OPKG (en){{!}}OPKG| - Package name: <code>geminiopenvpn</code>}}
* Am OpenVPN Server unterstützt nur Kabel gebundenes Netzwerk (kein Wlan).
+
After the installation restart the Dreambox.
* Eine Portweiterleitung am Router auf die Dreambox (Port 1194/UDP).
 
* Für den Server Zugriff müsst ihr die WAN IP kennen, oder einen [http://dnslookup.me/dynamic-dns/ DDNS] Service eingerichtet haben (z.B. [http://www.no-ip.com/ No-IP]).
 
* Für den Zugriff müssen Zertifikate für alle Klients erstellt werden.
 
* Auf Klients muss OpenVPN installiert sein. Protokolle wie IPSec, IKE, PPTP, oder L2TP werden nicht unterstützt.
 
* Server Lan und Client Lan muss unterschiedlich sein.
 
 
 
 
 
Zurück zum [[#top | Inhaltsverzeichnis]]
 
  
 
= OpenVPN Server =
 
= OpenVPN Server =
 +
== Create Root Certificate ==
 +
[[Bild:GP3 OpenVPN root Zertifikat.png|thumb|none|root certificate - Skin example: gp-skin-dmconcinnity-mod|480px]]
  
Installiert 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:
+
Now we create the keys and certificates for the [http://en.wikipedia.org/wiki/Zertifizierungsstelle Certificate Authority] (CA). Open the '''OpenVPN Server''' Plugin and push the '''[green]''' button for certificates.
 
 
opkg update && opkg install geminiopenvpn
 
 
 
 
 
Zurück zum [[#top | Inhaltsverzeichnis]]
 
  
 
+
Choose '''root-certificate''' and change the settings as described in the list. For all parameters only '''letters''' and '''numbers''' can be used.
== Root Zertifikat erstellen ==
 
[[Bild:GP3 OpenVPN root Zertifikat.png|thumb|none|root Zertifikat - Skin Beispiel: gp-skin-dmconcinnity-mod|480px]]
 
 
 
Jetzt erstellen wir die Schlüssel und Zertifikate für die [http://de.wikipedia.org/wiki/Zertifizierungsstelle 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.
 
  
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
| width="160px" | '''Einstellung'''
+
| width="160px" | '''Parameter'''
| width="700px" | '''Beschreibung'''
+
| width="700px" | '''Description'''
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''Passwort'''
+
| width="70px" | '''Password'''
| width="600px" | Passwort eingeben. Merkt euch das Passwort gut, es wird später benötigt für die Server und Klient Zertifikat Erstellung, oder für das sperren eines Zertifikates.
+
| width="600px" | Enter a Password. Memorize the password, you will need the password for creating Server and Client certificates or for blocking a certificate.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''gültig für x Jahre'''
+
| width="70px" | '''valid for x years'''
| width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben.
+
| width="600px" | Enter the validity period for the certificate in years.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''Projekt'''
+
| width="70px" | '''Project'''
| width="600px" | Projektname eingeben für die Zertifikaterstellung.   
+
| width="600px" | Enter a Project name for the certificate creation.   
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
| width="70px" | '''Land'''
+
| width="70px" | '''Country'''
| width="600px" | Eingabe vom Land.
+
| width="600px" | Enter the country.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
| width="70px" | '''Stadt'''
+
| width="70px" | '''City'''
| width="600px" | Eingabe der Stadt.
+
| width="600px" | Enter the city.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
| width="70px" | '''Bundesland'''
+
| width="70px" | '''State'''
| width="600px" | Eingabe des Bundeslandes.
+
| width="600px" | Enter the state.
 
|}
 
|}
  
Speichert die Eingaben anschliessend mit der '''[grünen]''' Taste. Die entsprechenden Daten werden erstellt und im Verzeichnis /etc/ssl/openvpn gespeichert.
+
Save the settings with the '''[green]''' button. The corresponding files will be created and saved in the directory /etc/ssl/openvpn.
 
 
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
== Create Server Certificate ==
 +
[[Bild:GP3 OpenVPN Server Zertifikat.png|thumb|none|Server certificate|480px]]
  
 
+
Open the '''OpenVPN Server''' Plugin and push the '''[green]''' button for certificates. Push again the '''[green]''' button and choose as type the setting '''Server''' and change the settings as described in the list.
== Server Zertifikat erstellen ==
 
[[Bild:GP3 OpenVPN Server Zertifikat.png|thumb|none|Server Zertifikat|480px]]
 
 
 
Ö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.
 
  
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
| width="160px" | '''Einstellung'''
+
| width="160px" | '''Parameter'''
| width="700px" | '''Beschreibung'''
+
| width="700px" | '''Description'''
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''gültig für x Jahre'''
+
| width="70px" | '''valid for x years'''
| width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben.
+
| width="600px" | Enter the validity period for the certificate in years.
 
|}
 
|}
  
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'''.
+
Save the settings with the '''[green]''' button to create the certificates. You will be prompted to enter the password (which was entered while creating the '''root certificate'''). When a wrong password is entered the following error message is displayed: '''can't generate certificate'''.
  
Nach Eingabe des korrekten Passworts werden die Zertifikate, Schlüssel und die [http://de.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch 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.
+
When the correct password is entered the certificates, keys and the [http://en.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch Diffie-Hellman] parameters are created. This can take some minutes (up to 30 min), the status is displayed in the plugin. The plugin can be closed while the creation is in progress, the process continues in background.
  
 +
== Create Client Certificate(s) ==
 +
[[Bild:GP3 OpenVPN Klient Zertifikat.png|thumb|none|Client certificate|480px]]
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
Open the '''OpenVPN Server''' Plugin and push the '''[green]''' button for certificates. Push again the '''[green]''' button and choose as type the setting '''Client''' and change the settings as described in the list.
 
 
 
 
== Klient Zertifikat(e) erstellen ==
 
[[Bild:GP3 OpenVPN Klient Zertifikat.png|thumb|none|Klient Zertifikat|480px]]
 
 
 
Ö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.
 
  
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
| width="160px" | '''Einstellung'''
+
| width="160px" | '''Parameters'''
| width="700px" | '''Beschreibung'''
+
| width="700px" | '''Description'''
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''gültig für x Jahre'''
+
| width="70px" | '''valid for x years'''
| width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben.
+
| width="600px" | Enter the validity period for the certificate in years.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
| width="70px" | '''Name:'''
 
| width="70px" | '''Name:'''
| width="600px" | Wunschname eingeben für den Klient.  
+
| width="600px" | Desired name for the client.  
Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer '''unterschiedlich''' sein.
+
If more client certificates are used, each must have a '''different''' name.
 
|}
 
|}
  
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'''.
+
Save the settings with the '''[green]''' button to create the certificates. You will be prompted to enter the password (which was entered while creating the '''root certificate'''). When a wrong password is entered the following error message is displayed: '''can't generate certificate'''.
  
Nach Eingabe des korrekten Passwortes, befinden sich das Klient Zertifikat, Schlüssel und die Konfigurationsdatei in folgendem Verzeichnis:
+
When the correct password is entered the client certificate, key and configuration file can be found in the following directory:
  
 
  /etc/ssl/openvpn
 
  /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.
+
These files (three files for each client) will be used later on the OpenVPN clients to set up a connection with the server. The needed files look like follows, e.g. if the entered name was '''7020hd'''. In addition to the three files every client needs the Root Certificate (vpn-ca.pem).
  
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
| width="160px" | '''Dateiname'''
+
| width="160px" | '''File name'''
| width="700px" | '''Beschreibung'''
+
| width="700px" | '''Description'''
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
| width="70px" | '''7020hd-cert.pem'''
 
| width="70px" | '''7020hd-cert.pem'''
| width="600px" | Klient Zertifikat.
+
| width="600px" | Client Certificate.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
| width="70px" | '''7020hd-key.pem'''
 
| width="70px" | '''7020hd-key.pem'''
| width="600px" | Schlüssel Datei.
+
| width="600px" | Key File.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
| width="70px" | '''7020hd.ovpn'''
 
| width="70px" | '''7020hd.ovpn'''
| width="600px" | Konfigurationsdatei für den Klient.  
+
| width="600px" | Configuration file for the client.  
Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer '''unterschiedlich''' sein.
+
If multiple certificates for multiple clients are created, every name needs to be  '''different'''.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
| width="70px" | '''vpn-ca.pem'''
 
| width="70px" | '''vpn-ca.pem'''
| width="600px" | Das Root Zertifikat.
+
| width="600px" | The Root Certificate.
 
|}
 
|}
  
 +
== Overview of the configuration ==
 +
[[Bild:GP3 OpenVPN Konfigurationsuebersicht.png|thumb|none|Overview of the configuration|480px]]
  
== Übersicht der Konfiguration ==
+
The created configurations can be displayed with the '''[green]''' button (certificates) in the OpenVPN Server Plugin.  The example shows the configuration for a root certificate, Server settings and the configuration of two clients, with the names htc and 7020hd.  
[[Bild:GP3 OpenVPN Konfigurationsübersicht.png|thumb|none|Konfigurationsübersicht|480px]]
 
 
 
Die erstellten Konfigurationen können mit der '''[grünen]''' Taste (Zertifikate) im OpenVPN Server Plugin angeschaut werden wirdDas Beispiel zeigt die Konfiguration eines root-Zertifikats, Server Einstellungen und die Konfiguration von zwei Clients, mit dem Namen htc und 7020hd.  
 
 
 
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
== Settings ==
 +
[[Bild:GP3 OpenVPN Einstellungen.png|thumb|none|OpenVPN settings|480px]]
  
 
+
Open the '''OpenVPN Server''' Plugin in the BluePanel under the daemons. Now we check first the settings, before starting the OpenVPN Server. Push the '''[blue]''' button and choose the point '''[Settings]'''. Use the following list for the descriptions and modify if requires. The network settings should be taken from the Dreambox and should '''only''' be changed in rare occasions.
== Einstellungen ==
 
[[Bild:GP3 OpenVPN Einstellungen.png|thumb|none|OpenVPN Einstellungen|480px]]
 
 
 
Ö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.
 
  
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
| width="160px" | '''Einstellung'''
+
| width="160px" | '''Settings'''
| width="700px" | '''Beschreibung'''
+
| width="700px" | '''Description'''
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''Anzahl Klients'''
+
| width="70px" | '''Number of clients'''
| width="600px" | Definiert die Anzahl der Klients, die auf den OpenVPN Server zugreifen dürfen.
+
| width="600px" | Amount of clients, which can connect with the OpenVPN Server.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''erste Klient IP'''
+
| width="70px" | '''first client IP'''
| width="600px" | Ab dieser Ip- Adresse werden die Adressen für die verschiedenen Klients zugewiesen. '''Achtung''' stellt sich, dass sich dieser Bereich nicht mit dem von eurem dhcp Server überschneidet!
+
| width="600px" | From this IP address on the IP's are assigned to the clients. '''Attention''' make sure this range is not overlapping with the dhcp server of the network!
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
| width="70px" | '''IP eth0'''
 
| width="70px" | '''IP eth0'''
| width="600px" | Eingabe der IP Adresse eurer Dreambox für die Lan Schnittstelle (eth0). Diese Adresse wird schlussendlich für die Netzwerkbrücke verwendet (br0).  
+
| width="600px" | The IP Adress of the Dreambox for the lan interface (eth0). This address is only used for the network bridge (br0).  
  
Beachtet, dass die lokale Netzwerkkarte in diesem Modus keine IP-Adresse mehr hat, also nicht erschrecken, wenn ihr einmal mit '''ifconfig''' die vorhandenen Netzwerkadapter kontrolliert.
+
Keep in mind the local network card has no IP address in this mode, don't panic when checking the network adapter with '''ifconfig'''.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
| width="70px" | '''Netzmaske eth0'''
 
| width="70px" | '''Netzmaske eth0'''
| width="600px" | Eingabe der Subnetmaske vom lokalen Netzwerk.
+
| width="600px" | Enter the subnetmask of the local network.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
| width="70px" | '''Broadcast eth0'''
 
| width="70px" | '''Broadcast eth0'''
| width="600px" | Eingabe der Broadcast Adresse vom lokalen Netzwerk.
+
| width="600px" | Enter the broadcast address of the local network.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#F0F0F0"
| width="70px" | '''IP-Router Gateway'''
+
| width="70px" | '''IP Router Gateway'''
| width="600px" | Eingabe der IP Adresse eures Routers.
+
| width="600px" | Enter the IP address of the routers.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''Log-Datei'''
+
| width="70px" | '''Log File'''
| width="600px" | Ein- ausschalten der Logdatei. Wenn aktiviert, befindet sich die Logdatei unter /var/log/openvpn.log
+
| width="600px" | Enable/disable the log file. When activated the log is in /var/log/openvpn.log
 
|}
 
|}
  
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.
+
Save the settings with the '''[green]''' button. After saving the settings the OpenVPN Server is started automatically. The OpenVPN Server will also be started automatically after restarting the Dreambox, when a configuration file and certificates are available.
 
 
{{Hinweis|'''Neustart der Dreambox'''<br/>Der OpenVPN Server wird nach einem Neustart der Dreambox '''automatisch''' gestartet, wenn die Konfigurationsdatei (server.conf) und gültige Zertifikate vorhanden sind.}}
 
 
 
 
 
Zurück zum [[#top | Inhaltsverzeichnis]]
 
  
 +
{{Hinweis|'''Restart the Dreambox'''<br/>The OpenVPN Server will also be started '''automatically''' after restarting the Dreambox, when a configuration file and certificates are available.}}
  
== OpenVPN Logdatei ==
+
== OpenVPN Log File ==
[[Bild:GP3 OpenVPN Logdatei.png|thumb|none|OpenVPN Server starten|620px]]
+
[[Bild:GP3 OpenVPN Logdatei.png|thumb|none|Log file|620px]]
  
Informationen ü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.
+
Informations about the status of the OpenVPN server can be displayed with the '''[red]''' button (Log file). The example shows the OpenVPN server was started successful with two connected clients.
  
Die Log Datei kann alternativ auch via Konsole angezeigt werden, mit folgendem Befehl:
+
The log file can also be displayed in the terminal with the following command:
  
 
  cat /var/log/openvpn.log
 
  cat /var/log/openvpn.log
  
 +
== Overview of connections ==
 +
[[Bild:GP3 OpenVPN Verbindungsuebersicht.png|thumb|none|Active connections|480px]]
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
The OpenVPN Server Plugin controls regularly if clients are connected and shows the connections as in the image '''Active connections'''. In this example two clients are connected, with the name htc and 7020hd.
 
 
 
 
== Verbindungsübersicht ==
 
[[Bild:GP3 OpenVPN Verbindungsübersicht.png|thumb|none|Aktive Verbindungen|480px]]
 
  
Das 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.
+
== Block certificate(s) ==
 +
[[Bild:GP3 OpenVPN Klient sperren.png|thumb|none|Expired certificate|480px]]
  
 +
Certificates can be blocked, when you want to deny access from a client. Blocking is done over the '''[red]''' button, when the menu of the certificates is opened. Blocked client certificates are displayed as '''expired'''. For blocking the correct password (which was used for creating the root certificate) needs to be entered.
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
{{Achtung|1='''Blocking certificates'''<br/>blocked certificates can '''not''' be reactivated. They need to be '''recreated'''!}}
  
 +
== OpenVPN Server - Menu button ==
 +
[[Bild:GP3 OpenVPN Server starten.png|thumb|none|Menu button|300px]]
  
== Zertifikat(e) sperren ==
+
Open the OpenVPN Server Plugin and push the '''[blue]''' button of the remote control. The functions are described in the following list.
[[Bild:GP3 OpenVPN Klient sperren.png|thumb|none|Zertifikat abgelaufen|480px]]
 
 
 
Zertifikate 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.
 
 
 
 
 
{{Achtung|1='''Sperren von Zertifikaten'''<br/>Gesperrte Zertifikate können '''nicht''' reaktiviert werden. Sie müssen '''neu''' erstellt werden!}}
 
 
 
 
 
Zurück zum [[#top | Inhaltsverzeichnis]]
 
 
 
 
 
== OpenVPN Server - Menü Taste ==
 
[[Bild:GP3 OpenVPN Server starten.png|thumb|none|OpenVPN Server starten|300px]]
 
 
 
Öffnet das OpenVPN Server Plugin und drückt die '''[blaue]''' Taste der Fernbedienung. Die Funktionen sind in der folgenden Tabelle beschrieben.
 
  
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
 
{| border=1 style="text-align:center; margin:1em 1em 1em 0; background:#D0D0D0; border:1px #000000 solid; border-collapse:collapse; empty-cells:show;" CELLPADDING=2 CELLSPACING=0"
| width="160px" | '''Menüpunkt'''
+
| width="160px" | '''Menu point'''
| width="700px" | '''Beschreibung'''
+
| width="700px" | '''Description'''
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''starten / stoppen openvpn'''
+
| width="70px" | '''start / stop openvpn'''
| width="600px" | Mit dem Eintrag, könnt ihr den OpenVPN Serven manuell stoppen, bzw. starten.
+
| width="600px" | With this entry you can stop/start the OpenVPN server manually.
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''zeige 'Routes''''
+
| width="70px" | '''show 'Routes''''
| width="600px" | Zeigt [http://de.wikipedia.org/wiki/Routing Routing] Informationen der Netzwerkbrücke (br0).
+
| width="600px" | Shows [http://en.wikipedia.org/wiki/Routing Routing] informations of the network bridge (br0).
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
 
|- style="text-align:center; margin:1em 1em 1em 0; background:#FFFFFF"
| width="70px" | '''Einstellungen'''
+
| width="70px" | '''Settings'''
| width="600px" | Einstellungen für den OpenVPN Server.  
+
| width="600px" | Settings for the OpenVPN server.  
 
|}
 
|}
  
 
+
== Delete certificates ==
Zurück zum [[#top | Inhaltsverzeichnis]]
+
Certificates can '''not''' be deleted in the  OpenVPN Server Plugin. The files need to be deleted manually in the directory:
 
 
== Löschen von Zertifikaten ==
 
 
 
Zertifikate können im OpenVPN Server Plugin '''nicht''' gelöscht werden. Die Dateien müsst ihr manuell löschen im Verzeichnis:
 
  
 
  /etc/openvpn/ssl
 
  /etc/openvpn/ssl
  
 +
= OpenVPN Client =
 +
There are many different [http://en.wikipedia.org/wiki/OpenVPN#Frontends OpenVPN Frontends], for different operation systems, to connect with a OpenVPN Server. The following points describe the configuration of the OpenVPN client on a Dreambox (with the GP3.2 Plugin) and an Android based Smartphone.
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
== Dreambox as client ==
 
+
When configuring the OpenVPN clients you need to copy the 4 files created on the server before in the directory of the client:
 
 
= OpenVPN Klient =
 
 
 
Es gibt viele, verschiedene [http://de.wikipedia.org/wiki/OpenVPN#Frontends 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 Klient ==
 
 
 
Beim 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
 
  /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.
+
Once more the list of the required 4 files for the OpenVPN client. The xxx stands for the name which was given for the client.
  
 
* xxx-cert.pem  
 
* xxx-cert.pem  
Zeile 282: Zeile 223:
 
* vpn-ca.pem  
 
* vpn-ca.pem  
  
 
+
=== Edit configuration file ===
Zurück zum [[#top | Inhaltsverzeichnis]]
+
Before setting up a connection the configuration file (*.ovpn) needs to be edited. The line '''remote''' needs to be completed with the IP address or the host address and the correct port. the configuration could be similar to the example, when the access uses the host name webaccess.dyndns.tv via port 1194.
 
 
 
 
=== Konfigurationsdatei editieren ===
 
 
 
Bevor 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.
 
  
 
  .
 
  .
Zeile 303: Zeile 239:
 
  .
 
  .
  
 +
=== Make connection ===
 +
[[Bild:GP3 OpenVPN Klient Dreambox.png|thumb|none|Dreambox Client - Skin example: gp-skin-swan-black|480px]]
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
Open the '''OpenVPN Client''' Plugin in the BluePanel under Daemons. In the Plugin a line (not connected) appears, when the configuration files were copied in the correct directory (/etc/openvpn).
  
 +
Start the connection with the OpenVPN Server with the '''[OK]''' button. If everything starts the status '''connected''' is displayed in the OpenVPN Client Plugin. Disconnecting is possible by pressing the '''[OK]''' button again.
  
=== Verbindung aufbauen ===
+
{{Hinweis|'''Connection after reboot'''<br/>The connection is restored '''automatically''' after a reboot of the Dreambox, if a config file (*.ovpn) is available in /etc/openvpn.}}
[[Bild:GP3 OpenVPN Klient Dreambox.png|thumb|none|Dreambox Client - Skin Beispiel: gp-skin-swan-black|480px]]
 
  
Ö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).  
+
== Android Smartphone as client ==
 +
[[Bild:GP3 OpenVPN Klient Android.png|thumb|none|Example - OpenVPN settings Android|280px]]
  
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.
+
The image shows an example of an Android based Smartphone, which is connected with the Dreambox. As App is used [http://code.google.com/p/android-openvpn-settings/ OpenVPN settings] to connect with the Server. Keep in mind the Smartphone needs to be rooted to use OpenVPN. Additional the tun/tap driver, the Busybox and [https://play.google.com/store/apps/details?id=de.schaeuffelhut.android.openvpn.installer&feature=related_apps#?t=W251bGwsMSwxLDEwOSwiZGUuc2NoYWV1ZmZlbGh1dC5hbmRyb2lkLm9wZW52cG4uaW5zdGFsbGVyIl0. OpenVPN] is required. With many [http://en.wikipedia.org/wiki/Custom-Rom Custom-Roms] these requirements are already integrated in the Firmware.
  
{{Hinweis|'''Verbindung nach Neustart'''<br/>Die Verbindung wird nach bei einem Neustart der Dreambox '''automatisch''' hergestellt, wenn eine Konfigurationsdatei (*.ovpn) im Verzeichnis /etc/openvpn gefunden wird.}}
+
The config file (*.opvn) needs to be edited with the correct server and port. Copy the client files on the SD card, e.g. in a directory openvpn. Now you need to adapt the OpenVPN App (e.g. path to the configuration, certificates) and the tunnel on the OpenVPN Server can be started.
  
 +
= Tips & Tricks =
 +
== Flash new image ==
 +
Before flashing a new image with the OpenVPN Plugin you should save the content of 2 directories.  Copy the content back in the new image when configuring the box again. You can copy manually, or use the software menu to save / restore the settings.
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
/etc/ssl/openvpn
 
+
/etc/openvpn
 
 
== Android Smartphone als Klient ==
 
[[Bild:GP3 OpenVPN Klient Android.png|thumb|none|Beispiel - OpenVPN settings Android|280px]]
 
 
 
Das Bild zeigt ein Beispiel von einem Android basierenden Smartphone, welches mit der Dreambox verbunden ist. Als App wird [http://code.google.com/p/android-openvpn-settings/ 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 [https://play.google.com/store/apps/details?id=de.schaeuffelhut.android.openvpn.installer&feature=related_apps#?t=W251bGwsMSwxLDEwOSwiZGUuc2NoYWV1ZmZlbGh1dC5hbmRyb2lkLm9wZW52cG4uaW5zdGFsbGVyIl0. OpenVPN] benötigt. Bei vielen [http://de.wikipedia.org/wiki/Custom-Rom 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.
 
 
 
  
Zurück zum [[#top | Inhaltsverzeichnis]]
+
= Support thread =
 +
If you need help with OpenVPN, follow the link ;)
  
 
+
[http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=150114 geminiopenvpn (ihaD)]
= Supportthread =
 
 
 
Braucht ihr Hilfe zu OpenVPN, dann folgt bitte folgendem Link ;)
 
 
 
geminiopenvpn
 
 
   
 
   
 
+
[[Kategorie:GP3 (en)]]
'''Zurück zur Übersicht:[[Gemini-Wiki:Portal]] oder [[Hauptseite]]'''
 

Aktuelle Version vom 17. Februar 2018, 17:52 Uhr

Deutsch.png - in Deutsch English.png - in English
Ambox GP3.png This article is valid for Gemini plugin version GP 3.2 and GP 3.3
OpenVPN with active client

After 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 address of the internal network and can access all available 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

  • OE 2.0 or OE 2.2 image with GP3 Plugin.
  • OpenVPN Plugin must be installed, configured and started.
  • The OpenVPN Server supports only a cabled network (no Wlan).
  • Portforwarding on the router to the Dreambox (Port 1194/UDP).
  • For reaching the Server you need to know your WAN IP, or use a DDNS Service (e.g. No-IP).
  • For access you need to create certificates for each client.
  • OpenVPN needs to be installed on clients. Protocols like IPSec, IKE, PPTP, or L2TP are not supported.
  • Server Lan and Client Lan must be different.

Installation / Deinstallation

The geminiopenvpn plugin can be installed / removed in different ways:

Hauptbeitrag.png see article: GP3 Addons - Category: Gemini Plugins
Hauptbeitrag.png see article: WebAdmin - Package name: geminiopenvpn
Hauptbeitrag.png see article: OPKG - Package name: geminiopenvpn

After the installation restart the Dreambox.

OpenVPN Server

Create Root Certificate

root certificate - Skin example: gp-skin-dmconcinnity-mod

Now we create the keys and certificates for the Certificate Authority (CA). Open the OpenVPN Server Plugin and push the [green] button for certificates.

Choose root-certificate and change the settings as described in the list. For all parameters only letters and numbers can be used.

Parameter Description
Password Enter a Password. Memorize the password, you will need the password for creating Server and Client certificates or for blocking a certificate.
valid for x years Enter the validity period for the certificate in years.
Project Enter a Project name for the certificate creation.
Country Enter the country.
City Enter the city.
State Enter the state.

Save the settings with the [green] button. The corresponding files will be created and saved in the directory /etc/ssl/openvpn.

Create Server Certificate

Server certificate

Open the OpenVPN Server Plugin and push the [green] button for certificates. Push again the [green] button and choose as type the setting Server and change the settings as described in the list.

Parameter Description
valid for x years Enter the validity period for the certificate in years.

Save the settings with the [green] button to create the certificates. You will be prompted to enter the password (which was entered while creating the root certificate). When a wrong password is entered the following error message is displayed: can't generate certificate.

When the correct password is entered the certificates, keys and the Diffie-Hellman parameters are created. This can take some minutes (up to 30 min), the status is displayed in the plugin. The plugin can be closed while the creation is in progress, the process continues in background.

Create Client Certificate(s)

Client certificate

Open the OpenVPN Server Plugin and push the [green] button for certificates. Push again the [green] button and choose as type the setting Client and change the settings as described in the list.

Parameters Description
valid for x years Enter the validity period for the certificate in years.
Name: Desired name for the client.

If more client certificates are used, each must have a different name.

Save the settings with the [green] button to create the certificates. You will be prompted to enter the password (which was entered while creating the root certificate). When a wrong password is entered the following error message is displayed: can't generate certificate.

When the correct password is entered the client certificate, key and configuration file can be found in the following directory:

/etc/ssl/openvpn

These files (three files for each client) will be used later on the OpenVPN clients to set up a connection with the server. The needed files look like follows, e.g. if the entered name was 7020hd. In addition to the three files every client needs the Root Certificate (vpn-ca.pem).

File name Description
7020hd-cert.pem Client Certificate.
7020hd-key.pem Key File.
7020hd.ovpn Configuration file for the client.

If multiple certificates for multiple clients are created, every name needs to be different.

vpn-ca.pem The Root Certificate.

Overview of the configuration

Overview of the configuration

The created configurations can be displayed with the [green] button (certificates) in the OpenVPN Server Plugin. The example shows the configuration for a root certificate, Server settings and the configuration of two clients, with the names htc and 7020hd.

Settings

OpenVPN settings

Open the OpenVPN Server Plugin in the BluePanel under the daemons. Now we check first the settings, before starting the OpenVPN Server. Push the [blue] button and choose the point [Settings]. Use the following list for the descriptions and modify if requires. The network settings should be taken from the Dreambox and should only be changed in rare occasions.

Settings Description
Number of clients Amount of clients, which can connect with the OpenVPN Server.
first client IP From this IP address on the IP's are assigned to the clients. Attention make sure this range is not overlapping with the dhcp server of the network!
IP eth0 The IP Adress of the Dreambox for the lan interface (eth0). This address is only used for the network bridge (br0).

Keep in mind the local network card has no IP address in this mode, don't panic when checking the network adapter with ifconfig.

Netzmaske eth0 Enter the subnetmask of the local network.
Broadcast eth0 Enter the broadcast address of the local network.
IP Router Gateway Enter the IP address of the routers.
Log File Enable/disable the log file. When activated the log is in /var/log/openvpn.log

Save the settings with the [green] button. After saving the settings the OpenVPN Server is started automatically. The OpenVPN Server will also be started automatically after restarting the Dreambox, when a configuration file and certificates are available.

Ambox notice.png Restart the Dreambox
The OpenVPN Server will also be started automatically after restarting the Dreambox, when a configuration file and certificates are available.

OpenVPN Log File

Log file

Informations about the status of the OpenVPN server can be displayed with the [red] button (Log file). The example shows the OpenVPN server was started successful with two connected clients.

The log file can also be displayed in the terminal with the following command:

cat /var/log/openvpn.log

Overview of connections

Active connections

The OpenVPN Server Plugin controls regularly if clients are connected and shows the connections as in the image Active connections. In this example two clients are connected, with the name htc and 7020hd.

Block certificate(s)

Expired certificate

Certificates can be blocked, when you want to deny access from a client. Blocking is done over the [red] button, when the menu of the certificates is opened. Blocked client certificates are displayed as expired. For blocking the correct password (which was used for creating the root certificate) needs to be entered.

Ambox attention.png Blocking certificates
blocked certificates can not be reactivated. They need to be recreated!

OpenVPN Server - Menu button

Menu button

Open the OpenVPN Server Plugin and push the [blue] button of the remote control. The functions are described in the following list.

Menu point Description
start / stop openvpn With this entry you can stop/start the OpenVPN server manually.
show 'Routes' Shows Routing informations of the network bridge (br0).
Settings Settings for the OpenVPN server.

Delete certificates

Certificates can not be deleted in the OpenVPN Server Plugin. The files need to be deleted manually in the directory:

/etc/openvpn/ssl

OpenVPN Client

There are many different OpenVPN Frontends, for different operation systems, to connect with a OpenVPN Server. The following points describe the configuration of the OpenVPN client on a Dreambox (with the GP3.2 Plugin) and an Android based Smartphone.

Dreambox as client

When configuring the OpenVPN clients you need to copy the 4 files created on the server before in the directory of the client:

/etc/openvpn

Once more the list of the required 4 files for the OpenVPN client. The xxx stands for the name which was given for the client.

  • xxx-cert.pem
  • xxx.pem
  • xxx.ovpn
  • vpn-ca.pem

Edit configuration file

Before setting up a connection the configuration file (*.ovpn) needs to be edited. The line remote needs to be completed with the IP address or the host address and the correct port. the configuration could be similar to the example, when the access uses the host name webaccess.dyndns.tv 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
.
.

Make connection

Dreambox Client - Skin example: gp-skin-swan-black

Open the OpenVPN Client Plugin in the BluePanel under Daemons. In the Plugin a line (not connected) appears, when the configuration files were copied in the correct directory (/etc/openvpn).

Start the connection with the OpenVPN Server with the [OK] button. If everything starts the status connected is displayed in the OpenVPN Client Plugin. Disconnecting is possible by pressing the [OK] button again.

Ambox notice.png Connection after reboot
The connection is restored automatically after a reboot of the Dreambox, if a config file (*.ovpn) is available in /etc/openvpn.

Android Smartphone as client

Example - OpenVPN settings Android

The image shows an example of an Android based Smartphone, which is connected with the Dreambox. As App is used OpenVPN settings to connect with the Server. Keep in mind the Smartphone needs to be rooted to use OpenVPN. Additional the tun/tap driver, the Busybox and OpenVPN is required. With many Custom-Roms these requirements are already integrated in the Firmware.

The config file (*.opvn) needs to be edited with the correct server and port. Copy the client files on the SD card, e.g. in a directory openvpn. Now you need to adapt the OpenVPN App (e.g. path to the configuration, certificates) and the tunnel on the OpenVPN Server can be started.

Tips & Tricks

Flash new image

Before flashing a new image with the OpenVPN Plugin you should save the content of 2 directories. Copy the content back in the new image when configuring the box again. You can copy manually, or use the software menu to save / restore the settings.

/etc/ssl/openvpn
/etc/openvpn

Support thread

If you need help with OpenVPN, follow the link ;)

geminiopenvpn (ihaD)