VPN

VPN (Virtual Private Network) ist eine Technik, um verschlüsselte Verbindungen zwischen Geräten herzustellen.

Bei smartWoMo kannst du VPN für folgende Funktionen verwenden:

  • es wird eine verschlüsselte Verbindung zwischen deinem Haus (oder deiner Wohnung) und deinem Wohnmobil aufgebaut. Dadurch hast du von zu Hause aus Zugriff auf den Raspberry in deinem Wohnmobil – selbst wenn sich das Wohnmobil nicht in der Nähe deines Hauses befindet.
  • sämtlicher Netzwerk-Verkehr des Wohnmobil-Raspberry wird über dein Heimnetzwerk umgeleitet. Das hat den Vorteil, dass es für Streaminganbieter so aussieht, als würdest du ihren Dienst von zu Hause aus nutzen. Du kannst also beispielsweise im Ausland heimisches Fernsehen streamen.

Wenn du ein solches VPN nutzen möchtest, benötigst du einen zweiten Raspberry Pi, den du zu Hause installierst. So sieht das Ganze aus:

Der zweite Raspberry zu Hause kann dir zusätzlich als Basis für ein SmartHome dienen. Dafür ist Openhab2 ja eigentlich auch gedacht. Dann hast du nicht nur ein smartes Wohnmobil, sondern auch ein smartes zu Hause.

Voraussetzungen

Zunächst benötigst du natürlich einen Raspberry Pi für zu Hause. Auf diesem kannst du smartWoMo genauso installieren, wie auf deinem Raspberry Pi im Wohnmobil. Der einzige Unterschied: als Hostnamen verwendest du Haus (und nicht Wohnmobil). Das Tinkerforge-System benötigst du für den Raspberry Pi zu Hause nicht.

Damit du zu Hause einen VPN Server betreiben kannst, muss dein heimischer Router (z.B. eine Fritz!Box) aus dem Internet erreichbar sein – sie muss eine feste IP oder Url haben. Eine feste Url kannst du beispielsweise beim dyndns Dienst erhalten. Bei den meisten Internet-Anschlüssen funktioniert das. Wenn du allerdings einen „DS-Lite“, „Dual-Stack-Lite“ oder „Carrier Grade NAT“ (CGN) Anschluss hast, wird die folgende Anleitung möglicherweise nicht funktionieren.

Wenn du als Router eine Fritz!Box verwendest, kannst du eine feste Url erhalten, wenn du die Fritz!Box beim myFritz! Dienst registrierst. Die myFritz!-Adresse ist der public DNS name (also die feste Url), den du später bei der Server-Installation angibst.

So kann der Raspberry Pi im Wohnmobil per VPN-Netzwerk deinen Router zu Hause erreichen. Allerdings läuft der VPN-Server ja nicht auf deinem Router, sondern auf deinem Raspberry Pi zu Hause. Deshalb mußt du auf deinem Router (z.B. der Fritz!Box) eine Weiterleitung (bzw. eine Freigabe) des Ports 1194 auf den heimischen Raspberry Pi einrichten.

Beispiel für die Weiterleitung:

VPN Server (im Haus)

smartWoMo verwendet als VPN-Lösung OpenVPN. Installiert wird OpenVPN mit Hilfe von PiVPN, welches die Installation und das Hinzufügen weiterer Clients sehr vereinfacht.

Während der Installation wähle beim Schritt Public IP or DNS den Eintrag DNS Entry aus (Pfeiltaste nach unten, dann mit Leertaste auswählen). Im nächsten Schritt die myFritz!-Adresse deiner Fritz!Box angeben (oder die dyndns Adresse, falls du einen anderen Router verwendest).

Du startest die Installation, indem du dich auf deinem Haus Raspberry Pi im Terminal anmeldest (per ssh bzw. putty) und folgendes Kommando eingibst:

curl -L https://raw.githubusercontent.com/pivpn/pivpn/master/auto_install/install.sh | bash

Dieses Video zeigt dir eine Beispiels-Installation. Als Benutzer wird im Video pi verwendet, weil das Video nicht auf einem echten Raspberry aufgezeichnet wurde, sondern auf einer virtuellen Maschine. Wenn du deinen VPN-Server einrichtest, wird als Benutzer natürlich openhabian verwendet.

Wenn das funktioniert hat, zeigt der Haus Raspberry eine neue Netzwerkschnittstelle mit dem Namen tun0 an, wenn du im Terminal das Kommando ifconfig eingibst:

VPN Client für das Wohnmobil

Installation (auf dem Wohnmobil Raspberry)

Auf dem Wohnmobil wird PiVPN nicht benötigt. Stattdessen installierst du hier direkt das OpenVPN Paket. Melde dich dazu mit ssh oder putty auf der Kommandozeile des Wohnmobil Raspberry an und gebe folgendes Kommando ein:

sudo apt install openvpn

Hier ein Beispiels-Video.

Erzeugung der Konfiguration für das Wohnmobil (auf dem Haus Raspberry)

Achtung: die Konfiguration wird auf dem Haus Raspberry erstellt !

cd
cd ovpns
pivpn add nopass

Hier ein Beispiels-Video.

Kopieren der Konfiguration (auf dem Haus Raspberry)

Nun wird diese Konfiguration auf den Wohnmobil Raspberry kopiert:

scp Wohnmobil.ovpn openhabian@wohnmobil:/tmp

Hier ein Beispiels-Video.

Aktivieren der Konfiguration (auf dem Wohnmobil Raspberry)

Die Konfiguration muss nun auf dem Wohnmobil Raspberry aktiviert werden. Dazu gibst du im Terminal folgendes ein:

sudo su
cd /etc/openvpn
mv /tmp/Wohnmobil.ovpn .
ln -s Wohnmobil.ovpn client.conf
service openvpn restart

Hier ein Beispiels-Video.

Du solltest jetzt den Wohnmobil Raspberry neu starten. Danach kannst du im Terminal das Kommando ifconfig aufrufen. Dann wird die neue Netzwerk-Schnittstelle tun0 angezeigt:

Testen

Mit dem ping Kommando kannst du nun testen, ob sich die beiden Raspberry’s über das VPN erreichen können:

Auf dem Haus Raspberry rufst du im Terminal folgendes Kommando auf:

ping -c 1 10.8.0.2

Und auf dem Wohnmobil Raspberry:

ping -c 1 10.8.0.1

Wenn ein Paket empfangen werden kann, steht die Verbindung – auch über das Internet hinweg.