Samstag, 14. Januar 2023

Plex Server an einem IPv6 Dual Stack Lite Anschluss bequem mit plex.tv Einbindung betreiben (Direct Access)

Wieso das ganze?

Kastrierte Internetanschlüsse (dslite)

  • haben keine eigene/öffentliche IPV4 Adresse, sondern teilen diese mit anderen Nutzern, daher kein direkter Zugriff von Aussen möglich
  • haben eine eigene/öffentliche IPV6 GUA (Global Unicast Address)
  • benötigen zur direkten, protokollüberbrückenden (ip4<->ip6) Kommunikation einen Portmapper.

plex.tv

  • kann (noch) keine Server über IPv6 automatisch einbinden und protokollunabhängig öffentlich bereitstellen
  • kann aber über seine Relayserver nur stark bandbreiteneingeschränktes Streaming ermöglichen.


Let's Go.

ACHTUNG Wie bei allen meinen Anleitungen gilt. Tun Sie es nur wenn Sie verstehen was Sie tun -> Sicherheitsrisiko, Komplementärgefahren, EIGENVERANTWORTUNG!

plex / einstellungen / fernzugriff
 öffentlichen port manuell definieren: 12345

plex / einstellungen / netzwerk
 ipv6 server unterstützung einschalten
 sichere verbindung: erforderlich
 (Liste der IP-Adressen und Netzwerke, die keine Authentifizierung benötigen: zb 192.168.1.1/255.255.255.0)

Direct Access URL basteln
ipv6 adresse: (windows cmd ipconfig /all) = 1b23:ei45:6789:1234:56s7:891p:2345:6iel

plexserverid: (zb plex im browser öffnen: einen film auswählen / Mehr(...menü) / Medien Info / XML-Datei anzeigen) Siehe auf Adressleiste:
https://192-168-1-100.51gg1234c5b678afa9123md456bc7d89.plex.direct:12345

zugriffsurl basteln: https://1b23-ei45-6789-1234-56s7-891p-2345-6iel.51gg1234c5b678afa9123md456bc7d89.plex.direct:12345

Portmapper einrichten
url & portmapperport = zb https://myplex.feste-ip.net:67891
                                      oder https://portmapper.myonlineportal.net:67891

ipadresse von portmapper.myonlineportal.ne / myplex.feste-ip.net ist 1.234.567.89 (zb mit nslookup.io rausfinden)
zugriffsurl: https://1.234.567.89:67891

Zusammenführung der eigenen URL für den Plex over Portmapper Zugriff
zwischenschritt: https://1.234.567.89.51gg1234c5b678afa9123md456bc7d89.plex.direct:12345
https://1-234-567-89.51gg1234c5b678afa9123md456bc7d89.plex.direct:67891

plex / einstellungen / netzwerk
Eigene URLs für den Zugriff auf diesen Server:
https://1-234-567-89.51gg1234c5b678afa9123md456bc7d89.plex.direct:67891

---> 5min warten. Plex Fernzugriff testet Erreichbarkeit eigener URLs nicht. Daher steht hier ab jetzt immer nicht erreichbar.

Router Einstellungen für Port Weiterleitung
zb arris touchstone tg3492 ..  / yallo home cable box / upc giga connect box / magenta internet box / virgin media hub v2 usw.

IPV6 port filter eingehend aktiviert
                 traffic policy yes
                 tcp
                 quell ip: zB. alle:1-65535
                 ziel ip: plexserverip:12345

Vorgehen nach IP Adressänderung
1. zielportanpassung beim portmapperanbieter
2. plex zugriffsurl mit neuem portmapperport u evtl. portmapperip modifizieren
3. zielip anpassung im router

optionale verständnishinweise
für die direkte tcp kommunikation benötigen sowohl sender wie empfänger eine öffentliche d. h. vom internet aus erreichbare internet adresse sowie einen offene schnittstelle (port) um die datenpakete der richtigen anwendung zuzuordnen.

  • auf dein lokales plex over dslite anschluss kannst du von aussen nur zugreifen wenn du dem plextvservice die genaue ipv6-url für den öffentlichen zugriff mitteilst.
  • du kannst deinen lokalen plexserver nicht über ipv4 freigeben, weil du ja keine öffentlich erreichbare ipv4 adresse sondern nur eine öffentlich erreichbare ipv6adresse hast - dsliteanschluss
  • dein client kann nur mit dem server verbinden, wenn der router den port für den zugriff offenhält
  • der portmapper verbindet hier einen ipv4clienten mit einem ipv6server
  • ein ipv6client mit öffentlicher ip kann mit dem öffentlichen ipv6server direkt kommunizieren
  • der öffentliche ipv4client kann nicht direkt mit dem öffentlichen ipv6server kommunizieren, da es ein anderes protokoll ist, daher brauchen wir hier den portmapperservice
  • der plex.tv server kann (noch) keine eigenen ipv6zugriffsurls generieren, darum helfen wir ihm hier

Disclaimer Sicherheit, : https://www.elektronik-kompendium.de/sites/net/1601271.htm

Privacy Extensions etc.: https://www.heise.de/news/Trotz-Privacy-Extensions-IPv6-Adressen-fuer-andauerndes-Tracking-nutzbar-7186203.html

Wer aus Sicherheitsgründen nur temporäre IPv6 Adressen verwenden will, kann diese mit einem Script aktualisieren

https://github.com/cetteup/update-plex-ipv6-access-url

auch interessant powershell: netsh interface ipv6 set privacy ?

netsh interface ipv6 set privacy maxvalidlifetime

privacy extensions vorgaben ausgeben: netsh interface ipv6 show privacy

temporäre adressen (privacy extensions) ausschalten:  netsh interface ipv6 set privacy state=disabled

max bevorzugte gültigkeitsdauer: netsh interface ipv6 set privacy maxpreferredlifetime=12h

max gültigkeitsdauer (akkzeptierte eingehende pakete): netsh interface ipv6 set privacy maxvalidlifetime=14d