GP3.2 OpenVPN: Unterschied zwischen den Versionen
Mfgeg (Diskussion | Beiträge) K (:) |
|||
(25 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | |||
− | |||
− | |||
{|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]] | ||
|} | |} | ||
− | {| | + | {{GP|Dieser Artikel ist gültig für die Gemini Plugin Versionen GP 3.2 und GP 3.3}} |
− | + | [[Datei:GP3 OpenVPN.png|right|thumb|400px|OpenVPN mit einem aktiven Client]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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. | 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. | ||
Zeile 21: | Zeile 10: | ||
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. | 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. | ||
− | |||
==== Voraussetzungen für die Benutzung ==== | ==== Voraussetzungen für die Benutzung ==== | ||
− | + | * OE 2.0 oder OE 2.2 Image mit GP3 Plugin. | |
− | * | ||
* OpenVPN Plugin muss installiert, eingerichtet und gestartet sein. | * OpenVPN Plugin muss installiert, eingerichtet und gestartet sein. | ||
* Am OpenVPN Server unterstützt nur Kabel gebundenes Netzwerk (kein Wlan). | * Am OpenVPN Server unterstützt nur Kabel gebundenes Netzwerk (kein Wlan). | ||
Zeile 34: | Zeile 21: | ||
* Server Lan und Client Lan muss unterschiedlich sein. | * Server Lan und Client Lan muss unterschiedlich sein. | ||
+ | = Installation / Deinstallation = | ||
+ | Das <code>geminiopenvpn</code> Plugin könnt ihr auf folgende Arten installieren / deinstallieren: | ||
+ | {{Hauptbeitrag|GP3 Addons| - Kategorie: Gemini Plugins}} | ||
+ | {{Hauptbeitrag|WebAdmin| - Paketname: <code>geminiopenvpn</code>}} | ||
+ | {{Hauptbeitrag|OPKG| - Paketname: <code>geminiopenvpn</code>}} | ||
+ | Startet nach der Installation die Dreambox neu. | ||
− | |||
− | |||
− | |||
= OpenVPN Server = | = OpenVPN Server = | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Root Zertifikat erstellen == | == Root Zertifikat erstellen == | ||
− | [[Bild:GP3 OpenVPN root Zertifikat.png|thumb|none|root Zertifikat|480px]] | + | [[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 [http://de.wikipedia.org/wiki/Zertifizierungsstelle Certificate Authority] (CA). Öffnet das '''OpenVPN Server''' Plugin und drückt die | + | 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 {{Green|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. | 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. | ||
− | {| | + | {| class="wikitable" border="1" |
− | + | ! width="160px" | Einstellung | |
− | + | ! width="700px" | Beschreibung | |
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Passwort |
| 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" | 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="70px" | | + | | width="70px" | gültig für x Jahre |
| width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben. | | width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Projekt |
| width="600px" | Projektname eingeben für die Zertifikaterstellung. | | width="600px" | Projektname eingeben für die Zertifikaterstellung. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Land |
| width="600px" | Eingabe vom Land. | | width="600px" | Eingabe vom Land. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Stadt |
| width="600px" | Eingabe der Stadt. | | width="600px" | Eingabe der Stadt. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Bundesland |
| width="600px" | Eingabe des Bundeslandes. | | width="600px" | Eingabe des Bundeslandes. | ||
|} | |} | ||
− | Speichert die Eingaben anschliessend mit der | + | Speichert die Eingaben anschliessend mit der {{Green|grünen}} Taste. Die entsprechenden Daten werden erstellt und im Verzeichnis /etc/ssl/openvpn gespeichert. |
− | |||
− | |||
− | |||
− | |||
== Server Zertifikat erstellen == | == Server Zertifikat erstellen == | ||
[[Bild:GP3 OpenVPN Server Zertifikat.png|thumb|none|Server Zertifikat|480px]] | [[Bild:GP3 OpenVPN Server Zertifikat.png|thumb|none|Server Zertifikat|480px]] | ||
− | Öffnet das '''OpenVPN Server''' Plugin und drückt die | + | Öffnet das '''OpenVPN Server''' Plugin und drückt die {{Green|grüne}} Taste für Zertifikate. Drückt erneut die '{{Green|grüne}} Taste (Hinzufügen) und wählt unter Typ den Eintrag '''Server''' und passt die Einstellungen wie in der Tabelle beschrieben an. |
− | {| | + | {| class="wikitable" border="1" |
− | + | ! width="160px" | Einstellung | |
− | + | ! width="700px" | Beschreibung | |
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | gültig für x Jahre |
| width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben. | | width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben. | ||
|} | |} | ||
− | Speichert die Eingaben anschliessend mit der | + | Speichert die Eingaben anschliessend mit der {{Green|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 [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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
== Klient Zertifikat(e) erstellen == | == Klient Zertifikat(e) erstellen == | ||
[[Bild:GP3 OpenVPN Klient Zertifikat.png|thumb|none|Klient Zertifikat|480px]] | [[Bild:GP3 OpenVPN Klient Zertifikat.png|thumb|none|Klient Zertifikat|480px]] | ||
− | Öffnet die Zertifikate mit der | + | Öffnet die Zertifikate mit der {{Green|grünen}} Taste im OpenVPN Server. Drückt erneut die {{Green|grüne}} Taste (Hinzufügen) und wählt unter Typ den Eintrag '''Klient''' und passt die Einstellungen wie in der Tabelle beschrieben an. |
− | {| | + | {| class="wikitable" border="1" |
− | + | ! width="160px" | Einstellung | |
− | + | ! width="700px" | Beschreibung | |
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | gültig für x Jahre |
| width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben. | | width="600px" | Gültigkeit des Zertifikats in Jahren eingeben eingeben. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Name: |
| width="600px" | Wunschname eingeben für den Klient. | | width="600px" | Wunschname eingeben für den Klient. | ||
Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer '''unterschiedlich''' sein. | Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer '''unterschiedlich''' sein. | ||
|} | |} | ||
− | Speichert die Eingaben anschliessend mit der | + | Speichert die Eingaben anschliessend mit der {{Green|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: | Nach Eingabe des korrekten Passwortes, befinden sich das Klient Zertifikat, Schlüssel und die Konfigurationsdatei in folgendem Verzeichnis: | ||
Zeile 130: | Zeile 103: | ||
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. | 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. | ||
− | {| | + | {| class="wikitable" border="1" |
− | + | ! width="160px" | Dateiname | |
− | + | ! width="700px" | Beschreibung | |
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | 7020hd-cert.pem |
| width="600px" | Klient Zertifikat. | | width="600px" | Klient Zertifikat. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | 7020hd-key.pem |
| width="600px" | Schlüssel Datei. | | width="600px" | Schlüssel Datei. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | 7020hd.ovpn |
| width="600px" | Konfigurationsdatei für den Klient. | | width="600px" | Konfigurationsdatei für den Klient. | ||
Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer '''unterschiedlich''' sein. | Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer '''unterschiedlich''' sein. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | vpn-ca.pem |
| width="600px" | Das Root Zertifikat. | | width="600px" | Das Root Zertifikat. | ||
|} | |} | ||
− | |||
== Übersicht der Konfiguration == | == Übersicht der Konfiguration == | ||
− | [[Bild:GP3 OpenVPN | + | [[Bild:GP3 OpenVPN Konfigurationsuebersicht.png|thumb|none|Konfigurationsübersicht|480px]] |
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Die erstellten Konfigurationen können mit der {{Green|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 == | == Einstellungen == | ||
− | [[Bild:GP3 OpenVPN Einstellungen.png|thumb|none|OpenVPN 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 | + | Ö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 {{Blue|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. |
− | {| | + | {| class="wikitable" border="1" |
− | + | ! width="160px" | Einstellung | |
− | + | ! width="700px" | Beschreibung | |
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Anzahl Klients |
| width="600px" | Definiert die Anzahl der Klients, die auf den OpenVPN Server zugreifen dürfen. | | width="600px" | Definiert die Anzahl der Klients, die auf den OpenVPN Server zugreifen dürfen. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | erste Klient 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" | 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="70px" | | + | | 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" | Eingabe der IP Adresse eurer Dreambox für die Lan Schnittstelle (eth0). Diese Adresse wird schlussendlich für die Netzwerkbrücke verwendet (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. | 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. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Netzmaske eth0 |
| width="600px" | Eingabe der Subnetmaske vom lokalen Netzwerk. | | width="600px" | Eingabe der Subnetmaske vom lokalen Netzwerk. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Broadcast eth0 |
| width="600px" | Eingabe der Broadcast Adresse vom lokalen Netzwerk. | | width="600px" | Eingabe der Broadcast Adresse vom lokalen Netzwerk. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | IP-Router Gateway |
| width="600px" | Eingabe der IP Adresse eures Routers. | | width="600px" | Eingabe der IP Adresse eures Routers. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Log-Datei |
| width="600px" | Ein- ausschalten der Logdatei. Wenn aktiviert, befindet sich die Logdatei unter /var/log/openvpn.log | | width="600px" | Ein- ausschalten der Logdatei. Wenn aktiviert, befindet sich die Logdatei unter /var/log/openvpn.log | ||
|} | |} | ||
− | Speichert die Eingaben anschliessend mit der | + | Speichert die Eingaben anschliessend mit der {{Green|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. |
{{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.}} | {{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.}} | ||
− | |||
− | |||
− | |||
− | |||
== OpenVPN Logdatei == | == OpenVPN Logdatei == | ||
− | [[Bild:GP3 OpenVPN Logdatei.png|thumb|none| | + | [[Bild:GP3 OpenVPN Logdatei.png|thumb|none|Logdatei|620px]] |
− | Informationen über den Status des OpenVPN Servers, können mit der | + | Informationen über den Status des OpenVPN Servers, können mit der {{Red|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: | Die Log Datei kann alternativ auch via Konsole angezeigt werden, mit folgendem Befehl: | ||
cat /var/log/openvpn.log | cat /var/log/openvpn.log | ||
− | |||
− | |||
− | |||
− | |||
== Verbindungsübersicht == | == Verbindungsübersicht == | ||
− | [[Bild:GP3 OpenVPN | + | [[Bild:GP3 OpenVPN Verbindungsuebersicht.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. | ||
== Zertifikat(e) sperren == | == Zertifikat(e) sperren == | ||
[[Bild:GP3 OpenVPN Klient sperren.png|thumb|none|Zertifikat abgelaufen|480px]] | [[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 | + | Zertifikate könnt ihr auch sperren, wenn ihr den Zugriff von einem Klient unterbinden wollt. Das sperren erfolgt über die {{Red|roten}} 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!}} | {{Achtung|1='''Sperren von Zertifikaten'''<br/>Gesperrte Zertifikate können '''nicht''' reaktiviert werden. Sie müssen '''neu''' erstellt werden!}} | ||
− | |||
− | |||
− | |||
− | |||
== OpenVPN Server - Menü Taste == | == OpenVPN Server - Menü Taste == | ||
− | [[Bild:GP3 OpenVPN Server starten.png|thumb|none| | + | [[Bild:GP3 OpenVPN Server starten.png|thumb|none|Menü|300px]] |
− | Öffnet das OpenVPN Server Plugin und drückt die | + | Öffnet das OpenVPN Server Plugin und drückt die {{Blue|blaue}} Taste der Fernbedienung. Die Funktionen sind in der folgenden Tabelle beschrieben. |
− | {| | + | {| class="wikitable" border="1" |
− | + | ! width="160px" | Menüpunkt | |
− | + | ! width="700px" | Beschreibung | |
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | starten / stoppen openvpn |
| width="600px" | Mit dem Eintrag, könnt ihr den OpenVPN Serven manuell stoppen, bzw. starten. | | width="600px" | Mit dem Eintrag, könnt ihr den OpenVPN Serven manuell stoppen, bzw. starten. | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | zeige 'Routes |
| width="600px" | Zeigt [http://de.wikipedia.org/wiki/Routing Routing] Informationen der Netzwerkbrücke (br0). | | width="600px" | Zeigt [http://de.wikipedia.org/wiki/Routing Routing] Informationen der Netzwerkbrücke (br0). | ||
− | |- | + | |- |
− | | width="70px" | | + | | width="70px" | Einstellungen |
| width="600px" | Einstellungen für den OpenVPN Server. | | width="600px" | Einstellungen für den OpenVPN Server. | ||
|} | |} | ||
− | |||
− | |||
− | |||
== Löschen von Zertifikaten == | == 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: | 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 Klient = | = 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. | 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 == | == 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: | 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: | ||
Zeile 282: | Zeile 222: | ||
* xxx.ovpn | * xxx.ovpn | ||
* vpn-ca.pem | * vpn-ca.pem | ||
− | |||
− | |||
− | |||
− | |||
=== Konfigurationsdatei editieren === | === 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. | 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 238: | ||
. | . | ||
. | . | ||
− | |||
− | |||
− | |||
− | |||
=== Verbindung aufbauen === | === Verbindung aufbauen === | ||
Zeile 313: | Zeile 244: | ||
Ö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). | Ö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 | + | Startet die Verbindung auf den OpenVPN Server mit der {{Taste|OK}} Taste. Funktioniert alles, dann erscheint der Status '''verbunden''' im OpenVPN Client Plugin. Trennen könnt ihr die Verbindung durch erneutes drücken der {{Taste|OK}} Taste. |
{{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.}} | {{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.}} | ||
− | |||
− | |||
− | |||
− | |||
== Android Smartphone als Klient == | == Android Smartphone als Klient == | ||
Zeile 328: | Zeile 255: | ||
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. | 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. | ||
+ | = Tipps & Tricks = | ||
+ | == Neues Image aufspielen == | ||
+ | Bevor ihr ein neues Image mit dem OpenVPN Plugin einrichtet, solltet ihr unbedingt den Inhalt der beiden Ordner sichern und im neuen Image wieder einspielen. Sichert die Daten z.B. manuell, oder benutzt die Softwareverwaltung, um die Daten zu sichern / wiederherstellen. | ||
− | + | /etc/ssl/openvpn | |
− | + | /etc/openvpn | |
= Supportthread = | = Supportthread = | ||
− | |||
Braucht ihr Hilfe zu OpenVPN, dann folgt bitte folgendem Link ;) | Braucht ihr Hilfe zu OpenVPN, dann folgt bitte folgendem Link ;) | ||
− | geminiopenvpn | + | [http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=150114 geminiopenvpn (ihaD)] |
− | |||
− | + | [[Kategorie:GP3]] |
Aktuelle Version vom 17. Februar 2018, 17:53 Uhr
- in Deutsch | - in English |
Dieser Artikel ist gültig für die Gemini Plugin Versionen GP 3.2 und GP 3.3 |
Nach dem Installieren des geminiopenvpn Plugins, steht ein einfach, konfigurierbarer OpenVPN Server oder Client zur Verfügung, welcher mit Zertifikaten arbeitet (Server-Multi-Client Betrieb). Die Verbindung auf den OpenVPN Server erfolgt über eine verschlüsselte 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.
Der Betriebsmodus der hier von OpenVPN benutzt wird, nennt sich Bridging. Broadcasts werden in dieser Variante ohne Probleme weitergeleitet, wie auch Netzwerkprotokolle wie IPv4, IPv6, Netalk, IPX, usw.
Inhaltsverzeichnis
Voraussetzungen für die Benutzung
- OE 2.0 oder OE 2.2 Image mit GP3 Plugin.
- OpenVPN Plugin muss installiert, eingerichtet und gestartet sein.
- Am OpenVPN Server unterstützt nur Kabel gebundenes Netzwerk (kein Wlan).
- Eine Portweiterleitung am Router auf die Dreambox (Port 1194/UDP).
- Für den Server Zugriff müsst ihr die WAN IP kennen, oder einen DDNS Service eingerichtet haben (z.B. 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.
Installation / Deinstallation
Das geminiopenvpn
Plugin könnt ihr auf folgende Arten installieren / deinstallieren:
- siehe Beitrag: GP3 Addons - Kategorie: Gemini Plugins
- siehe Beitrag: WebAdmin - Paketname:
geminiopenvpn
- siehe Beitrag: OPKG - Paketname:
geminiopenvpn
Startet nach der Installation die Dreambox neu.
OpenVPN Server
Root Zertifikat erstellen
Jetzt 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.
Einstellung | Beschreibung |
---|---|
Passwort | 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. |
gültig für x Jahre | Gültigkeit des Zertifikats in Jahren eingeben eingeben. |
Projekt | Projektname eingeben für die Zertifikaterstellung. |
Land | Eingabe vom Land. |
Stadt | Eingabe der Stadt. |
Bundesland | Eingabe des Bundeslandes. |
Speichert die Eingaben anschliessend mit der grünen Taste. Die entsprechenden Daten werden erstellt und im Verzeichnis /etc/ssl/openvpn gespeichert.
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.
Einstellung | Beschreibung |
---|---|
gültig für x Jahre | Gültigkeit des Zertifikats in Jahren eingeben eingeben. |
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.
Einstellung | Beschreibung |
---|---|
gültig für x Jahre | Gültigkeit des Zertifikats in Jahren eingeben eingeben. |
Name: | Wunschname eingeben für den Klient.
Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer unterschiedlich sein. |
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.
Dateiname | Beschreibung |
---|---|
7020hd-cert.pem | Klient Zertifikat. |
7020hd-key.pem | Schlüssel Datei. |
7020hd.ovpn | Konfigurationsdatei für den Klient.
Werden mehrere Zertifikate für Klients erstellt, dann muss der Name immer unterschiedlich sein. |
vpn-ca.pem | Das Root Zertifikat. |
Übersicht der Konfiguration
Die 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.
Einstellung | Beschreibung |
---|---|
Anzahl Klients | Definiert die Anzahl der Klients, die auf den OpenVPN Server zugreifen dürfen. |
erste Klient IP | 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! |
IP eth0 | Eingabe der IP Adresse eurer Dreambox für die Lan Schnittstelle (eth0). Diese Adresse wird schlussendlich für die Netzwerkbrücke verwendet (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. |
Netzmaske eth0 | Eingabe der Subnetmaske vom lokalen Netzwerk. |
Broadcast eth0 | Eingabe der Broadcast Adresse vom lokalen Netzwerk. |
IP-Router Gateway | Eingabe der IP Adresse eures Routers. |
Log-Datei | Ein- ausschalten der Logdatei. Wenn aktiviert, befindet sich die Logdatei unter /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.
Neustart der Dreambox Der OpenVPN Server wird nach einem Neustart der Dreambox automatisch gestartet, wenn die Konfigurationsdatei (server.conf) und gültige Zertifikate vorhanden sind. |
OpenVPN Logdatei
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.
Die Log Datei kann alternativ auch via Konsole angezeigt werden, mit folgendem Befehl:
cat /var/log/openvpn.log
Verbindungsübersicht
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.
Zertifikat(e) sperren
Zertifikate könnt ihr auch sperren, wenn ihr den Zugriff von einem Klient unterbinden wollt. Das sperren erfolgt über die roten 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.
Sperren von Zertifikaten Gesperrte Zertifikate können nicht reaktiviert werden. Sie müssen neu erstellt werden! |
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.
Menüpunkt | Beschreibung |
---|---|
starten / stoppen openvpn | Mit dem Eintrag, könnt ihr den OpenVPN Serven manuell stoppen, bzw. starten. |
zeige 'Routes | Zeigt Routing Informationen der Netzwerkbrücke (br0). |
Einstellungen | Einstellungen für den OpenVPN Server. |
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
OpenVPN Klient
Es 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 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
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.
- xxx-cert.pem
- xxx.pem
- xxx.ovpn
- vpn-ca.pem
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.
.
.
# 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.
Verbindung nach Neustart Die Verbindung wird nach bei einem Neustart der Dreambox automatisch hergestellt, wenn eine Konfigurationsdatei (*.ovpn) im Verzeichnis /etc/openvpn gefunden wird. |
Android Smartphone als Klient
Das 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.
Tipps & Tricks
Neues Image aufspielen
Bevor ihr ein neues Image mit dem OpenVPN Plugin einrichtet, solltet ihr unbedingt den Inhalt der beiden Ordner sichern und im neuen Image wieder einspielen. Sichert die Daten z.B. manuell, oder benutzt die Softwareverwaltung, um die Daten zu sichern / wiederherstellen.
/etc/ssl/openvpn /etc/openvpn
Supportthread
Braucht ihr Hilfe zu OpenVPN, dann folgt bitte folgendem Link ;)