Amazon Fire TV-Stick: VPN ins Heimnetzwerk

Nein, dies ist nicht noch eine Anleitung, die erläutert, warum man unbedingt ein VPN nutzen sollte und dass das der einzige Weg ist, sich vor Spionage und Hackerangriffen zu schützen. Es geht hier auch nicht darum, wie man auf das US-Angebot von Amazon Prime, Netflix oder HBO zugreifen kann, oder wie man seinem Streaming-Anbieter vorgaukelt, dass man sich am anderen Ende der Welt befindet. Und erst recht „vergleiche“ ich hier nicht den VPN-Anbieter, der mir am meisten Geld bietet, mit seinen Wettbewerbern.

Hier geht es um etwas wirklich sinnvolles, nämlich, wie man mit einem Fire TV-Stick eine VPN-Verbindung ins Heimnetzwerk aufbauen kann. Hintergrund ist folgender: Wenn ich auf längeren Dienstreisen bin, dann kann es abends schonmal langweilig werden. Und da ich schon zuhause kaum lineares Fernsehen konsumiere und mich stattdessen an meine allabendlichen Serien gewöhnt habe, möchte ich diese auch unterwegs sehen können.

Zuhause läuft auf meinem Synology/XPEnologyServer der Medienserver Plex. Die passende App ist auf dem SmartTV installiert. Läuft super, seit einigen Jahren.

Zuletzt habe ich dann unterwegs mein iPhone mit VPN-Verbindung und Plex-App genutzt, um Serien zu konsumieren, aber auf Dauer ist das etwas anstrengend. Da kam mir die Idee mit dem Fire TV-Stick und der Plex-App, denn WLAN und einen Fernseher mit HDMI gibts schließlich in so gut wie jedem Hotel.

Plex-App auf dem Fire TV-Stick

Plex-App auf dem Fire TV-Stick

Voraussetzungen

Neben einem Fire TV-Stick, den man natürlich besitzen muss, benötigt man einen VPN-Server Zuhause. Normalerweise setze ich auf L2TP/IPsec in meinem Mikrotik-Router. Aber dafür gibt es keine App, die man auf dem Fire TV-Stick installieren könnte. Dazu muss man wissen: FireOS, das Betriebssystem vom Fire TV-Stick, basiert auf Android. Ein normales Android hat L2TP/IPsec-VPN mit an Bord, weshalb es dafür kaum separate Apps gibt (braucht im Normalfall ja niemand). Beim Fire TV-Stick fehlt die VPN-Funktion jedoch. Wir müssen also auf eine VPN-Variante setzen, die sich am Fire TV mittels App nachrüsten lässt.

Es fällt schnell auf, dass die einzigen zwei VPN-Varianten, für die es Apps gibt, OpenVPN und IPsec/Xauth sind. OpenVPN ist deutlich einfacher zu konfigurieren, also ist das das VPN unserer Wahl. Im Prinzip könnt Ihr euren VPN-Server aufsetzen, wo ihr wollt. Wenns der Router kann, nutzt den, wenn ihr mögt. Ich nutze den VPN-Server auf der DiskStation, weil der sich leicht verwalten lässt und auch gut funktioniert.

Außerdem muss es eine Möglichkeit geben, euer Heimnetzwerk über eine feste Adresse dauerhaft von Außen zu erreichen. Wer keine feste IP-Adresse besitzt verwendet dafür am besten einen DDNS-Dienst.

Und nicht zuletzt benötigen wir natürlich einen Plex-Server und die passende App auf dem Fire TV. Dass das im lokalen Netzwerk rund läuft, setze ich hier einfach voraus.

VPN-Server

Wenden wir uns also dem VPN-Server auf der Synology DiskStation zu. Im Paketzentrum suchen wir den VPN-Server, installieren und starten ihn. In den Einstellungen zu OpenVPN aktivieren wir diesen Dienst und legen zuerst ein IP-Netzwerk fest, das nicht dem normalerweise im Netzwerk verwendeten entspricht. Gängig ist ein 10er-Netz, das uns auch so vorgeschlagen wird. Bei mir passt das so, also lasse ich die Einstellungen unverändert.

Synology VPN-Server: OpenVPN-Einstellungen

Synology VPN-Server: OpenVPN-Einstellungen

Anschließend können wir ein paar Grundeinstellungen vornehmen:

  • Max. Anzahl von Verbindungen legt fest, wieviele VPN-Verbindungen gleichzeitig zugelassen werden. Je nach Typ der DiskStation kann der maximal mögliche Wert variieren.
  • Maximale Anzahl von Verbindungen mit dem selben Konto legt fest, wieviele Verbindungen ein und derselbe Benutzer gleichzeitig aufbauen darf. Etwa zur selben Zeit vom Smartphone, Notebook und Tablet.
  • Port legt fest, auf welchem Port der VPN-Server auf eingehende Verbindungen wartet. Standard ist 1194.
  • Protokoll, Verschlüsselung und Authentifizierung sollten nur verändert werden, wenn etwas nicht funktioniert und man weiß, was man tut.
  • Komprimierung ist optional.
  • Clients den Server-LAN-Zugriff erlauben legt fest, ob ein Client, der sich per VPN einwählt, auf das gesamte Netzwerk zugreifen darf, oder nur auf die Dienste der DiskStation.

Sind alle Einstellungen vorgenommen, können wir die Konfigurationsdateien exportieren und downloaden. Wir erhalten ein ZIP-File namens openvpn.zip, das wir entpacken, denn die darin enthaltene Datei VPNconfig.ovpn müssen wir noch bearbeiten. Dazu öffnen wir sie in einem beliebigen Editor und passen Zeile 4 an. Der Text YOUR_IP_HERE muss durch die eigene DynDNS- oder IP-Adresse ersetzt werden. Der Port dahinter bleibt unverändert.

dev tun
tls-client

remote YOUR_SERVER_IP 1194

# The "float" tells OpenVPN to accept authenticated packets from any address,
# not only the address which was specified in the --remote option.
# This is useful when you are connecting to a peer which holds a dynamic address
# such as a dial-in user or DHCP client.
# (Please refer to the manual of OpenVPN for more information.)

#float

# If redirect-gateway is enabled, the client will redirect it's
# default network gateway through the VPN.
# It means the VPN connection will firstly connect to the VPN Server
# and then to the internet.
# (Please refer to the manual of OpenVPN for more information.)

#redirect-gateway def1

# dhcp-option DNS: To set primary domain name server address.
# Repeat this option to set secondary DNS server addresses.

#dhcp-option DNS DNS_IP_ADDRESS

pull

# If you want to connect by Server's IPv6 address, you should use
# "proto udp6" in UDP mode or "proto tcp6-client" in TCP mode
proto udp

script-security 2


comp-lzo

reneg-sec 0

cipher AES-256-CBC

auth SHA512

auth-user-pass
<ca>
-----BEGIN CERTIFICATE-----

...

-----END CERTIFICATE-----

</ca>

Ein paar Zeilen weiter unten können wir noch festlegen, ob der gesamte Internetverkehr des Endgerätes über den VPN-Tunnel geleitet werden soll. Wer das möchte, entfernt auf Zeile 20 die # vor redirect-gateway def1. Für den Fire TV macht das jedoch nicht so viel Sinn.

Was noch fehlt sind VPN-Benutzer. Hier muss man sich überlegen, wie man vorgehen will. Soll jeder Benutzer mit seinem Benutzernamen und Kennwort VPN nutzen können? Wie sieht es mit zukünftig angelegten Nutzern aus? Ich persönlich trenne das lieber und lege für VPN eigene Benutzer an (Systemsteuerung > Benutzer > Erstellen), zumal ich sowieso noch keinen für den Fire TV habe. Den Benutzer für den Fire TV könnte man vielleicht vpn-firetv nennen, oder wie bei mir firetv-ovpn, und ihm ein besonders sicheres Passwort geben.

Wechseln wir anschließend nochmal zurück zum VPN-Server, entfernen unter Allgemeine Einstellungen den Haken bei VPN-Berechtigung für neu hinzugefügte lokale Benutzer gewähren

Synology VPN-Server: Allgemeine Einstellungen

Synology VPN-Server: Allgemeine Einstellungen

…und entfernen unter Privileg alle Haken, außer OpenVPN beim soeben angelegten Benutzer:

Synology VPN-Server: Privileg-Einstellungen

Synology VPN-Server: Privileg-Einstellungen

Portforwarding im Router

Sehr wahrscheinlich befindet sich eure DiskStation hinter einem Router, also müssen wir noch den Port 1194 UDP weiterleiten. Ich denke, bei einer Fritzbox erklärt sich das von selbst. Bei MikroTik erledigt das folgende Zeile im Terminal:

/ip firewall nat add chain=dstnat dst-port=1194 action=dst-nat protocol=tcp to-address=192.168.xxx.xxx to-port=1194

Die IP-Adresse des Ziels müsst ihr natürlich euren Begebenheiten anpassen. Der alternative Weg über WinBox: IP > Firewall > NAT > + und hier die Einstellungen entsprechend vornehmen.

Habt ihr einen anderen Router, dann hilft euch bestimmt eine kurze Google-Suche weiter, à la „Portforwarding Linksys“ oder „Portforwarding Asus“ …

Ok, die VPN-Verbindung ist nun klar und sollte funktionieren. Testet das am besten mal mit einem Smartphone oder Tablet, damit ihr später nicht sinnlos herumsuchen müsst und eine Fehlerquelle schonmal ausgeschlossen ist.

Fire TV-Stick vorbereiten

Als nächstes wollen wir die VPN-App auf dem Fire TV-Stick installieren. Leider gibt es keine freie VPN-App im Appstore von Amazon, deswegen bringen wir sie per Sideload auf den Stick. Dafür müssen wir den Zugriff auf den Stick freigeben.

Unter Einstellungen > Mein Fire TV > Entwickleroptionen schalten wir die Optionen ADB-Debugging und Apps unbekannter Herkunft jeweils auf AN.

FireTV: Einstellungen FireTV: Einstellungsmenü FireTV: Entwickleroptionen

VPN-App installieren

Jetzt laden wir adbLink (für Windows und macOS verfügbar) in der aktuellsten Version herunter und installieren es.

adbLink (aktuell Version 4.1)
Download auf der Webseite des Entwicklers:
https://www.jocala.com/

Zusätzlich benötigen wir noch die VPN-App. Es gibt da verschiedene, aber OpenVPN für Android funktioniert am besten und lässt sich gut mit der Fernbedienung bedienen.

OpenVPN für Android (aktuell Version 0.7.8)
Download bei APKPure:
https://apkpure.com/openvpn-for-android/de.blinkt.openvpn

In adbLink tragen wir in das Feld Ad Hoc IP die IP-Adresse des Fire TV-Sticks ein und verbinden uns mit einem Klick auf die Schaltfläche Connect.

adbLink: Verbindung zum Fire TV-Stick herstellen

adbLink: Verbindung zum Fire TV-Stick herstellen

Dieser Vorgang dauert unter Umständen einen Moment, also nicht ungeduldig werden. Achtet stattdessen auf den Fire TV. Der fragt nämlich, ob das Debugging durch dieses Gerät zugelassen werden soll. Wenn ihr zu langsam seid bricht adbLink den Verbindungsaufbau ab. Also am Fire TV bestätigen und die Verbindung erneut versuchen.

Anschließend betätigen wir die Schaltfläche Install APK, wählen die zuvor heruntergeladene OpenVPN-APK aus und bestätigen die Frage Install APKs? mit Yes. Über die Schaltfläche File manager > Push laden wir die Konfigurationsdatei VPNConfig.ovpn, die wir vorhin bearbeitet haben, auf den Stick.

adbLink: Dateitransfer

adbLink: Dateitransfer

VPN-Profil einrichten und Verbindung herstellen

Nun starten wir die OpenVPN-App auf dem Fire TV-Stick, gehen oben rechts auf das +-Symbol und anschließend auf die Schaltfläche Import. Dann navigieren wir zu Interner Speicher, scrollen ganz runter und wählen die Datei VPNConfig.ovpn aus. Dann oben rechts auf den Haken klicken.

OpenVPN für Android: Profil einrichten (1/4) OpenVPN für Android: Profil einrichten (2/4)
OpenVPN für Android: Profil einrichten (3/4) OpenVPN für Android: Profil einrichten (4/4)

Jetzt brauchen wir nur durch anklicken des VPN-Profils die Verbindung herstellen. Sodann werden wir nach Benutzername und Passwort gefragt, die wir da eintragen. Mit Betätigung der Schaltfläche OK wird die Verbindung aufgebaut.

OpenVPN für Android: Verbindung herstellen (1/3) OpenVPN für Android: Verbindung herstellen (2/3) OpenVPN für Android: Verbindung herstellen (3/3)
Achtung!
Solange euer Fire TV-Stick noch mit dem heimischen WLAN verbunden ist, wird der Verbindungsaufbau sehr wahrscheinlich fehlschlagen. Zum Testen der Verbindung müsst ihr dann ein anderes, externes WLAN verwenden. Für solche Tests eignet sich zum Beispiel die Hotspot-Funktion (Tethering) des Smartphones sehr gut.

Plex genießen

Wenn wir nun zur Plex-App wechseln sollte sich diese problemlos mit dem heimischen Plex-Server verbinden.

Plex-App auf dem Fire TV-Stick

Plex-App auf dem Fire TV-Stick

Je nach Upload-Vermögen des Internetanschlusses zuhause kann das ganze etwas träge sein. Aber in vielen Fällen reicht es dennoch für einen Stream. Mein Glasfaseranschluss ist mit 500/50 MBit hervoragend dafür geeignet. Aber soviel muss es garnicht sein. Ich hab mal ein wenig herumprobiert und folgende Bitraten für komprimiertes Material festgestellt:

  • SD-Material: 1,3 MBit/s
  • 720p: 4,5 MBit/s
  • Full-HD: ab 8 MBit/s

Wie gesagt, komprimiert, das kann alles und nichts bedeuten. Da muss jeder für sich probieren, was er durch die Leitung geschoben bekommt. Manchmal ist ja der limitierende Faktor auch das WLAN im Hotel…

Jedenfalls viel Spaß mit Plex für Unterwegs 🙂

Weiterführende Links

Sebastian

...ist staatlich geprüfter Techniker für Elektrotechnik, Schwerpunkt Prozessautomatisierung und Energietechnik. Die Themen Automatisierung und Programmierung haben es ihm besonders angetan.
Außerdem ist er für jede technische Spielerei zu haben 😉
Sebastian

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.