[Gelöst] Fernzugriff fhem IPV6 FritzBox am Deutsche Glasfaser Anschluss

Begonnen von dieter114, 07 Oktober 2021, 18:25:57

Vorheriges Thema - Nächstes Thema

dieter114

Vorwort: Wenn (wie bei mir) Euer bisheriger ein Anschluss der eine "Echte" IpV4 Adresse hatte und Ihr nun den Provider wechselt,
ist es oft so das der "neue" Anschluss dies Feature nicht mehr hat.
Der Adressraum für IPV4 Adressen ist nun mal ausgeschöpft und daher stellen vernutlich demnächst alle Provider auf "echten" IPV6 Betrieb um.

Dieser Text ist zum Teil aus Posts des Glasfaserforums, sowie diverser weiterer Recherchen entstanden.

Um jetzt doch aus dem Internet auf das Netz zu Hause zugreifen zu können, gibt es mehrere Möglichkeiten:

Für IPv4 von außen wird eine Zwischenstation im Internet benötigt.
Diese Zwischenstation können technisch Versierte mit einem gemieteten (virtuellen) Server selbst schaffen,
aber es gibt auch Dienstleister, die das fertig anbieten, z.B. feste-ip.net.
Dort gibt es auch ausführliche Anleitungen, wie das konfiguriert wird.
Der Nachteil ist allerdings, das dies ofmals nur gegen Gebühr möglich ist.

Die Deutsche Glasfaser vergibt IPv6 Adressen und IPv4 Adressen aber während die IPv6 Adressen weltweit erreichbar sind,
sind die IPv4 Adressen aus einem Adressbereich, der für "Carrier Grade NAT (CGNAT)" vorgesehen ist.
Die CGNAT-Adressen fangen mit 100... an und werden wie die meistens im Heimnetz verwendeten 192.168.x.y Adressen nicht im öffentlichen Internet geroutet.
Um mit einer solchen Adresse trotzdem eine Verbindung ins Internet aufbauen zu können, muss ein Gerät zwischen dem Computer und dem Internet die Adresse umschreiben.
Das nennt man "Network Address Translation (NAT)". Für die Adressen im Heimnetz macht das der Router. Für die 100... Adressen macht das ein großer Router bei der DG.
Man kann mit diesen Adressen nur Verbindungen vom Heimnetz ins Internet aufbauen, nicht umgekehrt vom Internet ins Heimnetz.

Leider bekommt man in den Privatkundentarifen der DG auch gegen Aufpreis (noch) keine "öffentliche" IPv4 Adresse.
Die direkteste und wohl auch zukunftsicherste Methode ist ganze Hausnetz IPV6 fähig zu machen.

Mein Aufbau zu Hause ist wie folgt:
DG-Glasfaser Modem über WAN Anschluss mit einer FritzBox 7590 verbunden.
An dieser FritzBox sind alle Hausautomationsgeräte über LAN oder WLAN angeschlossen.
Damit bei über 60 Geräten die Übersicht erhalten bleibt, haben alle eine "feste" interne IP: 192.168.178.xxx
fhem läuft auf 4 Raspberry PI, jeder PI hat eine eigene IPV4 Adresse aber unterschiedliche Ports ( 8083 - 8086).

Damit nun alles auf IPV6 läuft müssen alle internen Geräte auch "feste" IPV6 Adressen bekommen.
Beim RPI werden daher erst einmal die Privacy Extensions abgeschaltet.
Wenn man IPv6 eingeschaltet hat, dann wird der Interface Identifier der IPv6-Adressen aus der MAC-Adresse (Hardware-Adresse) gebildet.
Leider ist die immer gleich, weshalb sich die betreffenden Clients bzw. Hosts anhand dieser Adresse identifizieren lassen.
Aus Datenschutz-Gründen ist das ein Problem. Deshalb gibt es mit Privacy Extensions für IPv6 eine Erweiterung, die die Privatsphäre schützt.
Unter Raspbian Jessie ist IPv6 standardmäßig eingeschaltet und Privacy Extensions aktiviert.
Das beseutet, der RPI erhält in regelmäßigen Abständen eine "neue" IPV6 Adresse.
Damit wird die FritzBox und der zu nutzende DYNDNS Dienst MyFritz leider nicht fertig.

Also einfach Lösung: Privacy Extensions in den Netzwerk-Einstellungen (DHCPCD) abschalten

Zuerst müssen wir den Status des "dhcpcd" ermitteln.

service dhcpcd status

Nur dann, wenn er läuft "Active: active (running)" können wir weiter machen.
Dann schauen wir uns die Netzwerk-Konfiguration an:

cat /etc/dhcpcd.conf

Hier gibt es den einen oder anderen Parameter:

    slaac private: Privacy Extensions aktiv
    slaac hwaddr: Privacy Extensions inaktiv

Lösung: Privacy Extensions in den Netzwerk-Einstellungen (DHCPCD) aktiveren oder deaktivieren
Dazu öffnen wir die Datei mit den Netzwerk-Einstellungen:

sudo nano /etc/dhcpcd.conf

Hier suchen wir die Zeile, die mit "slaac" beginnt. Hier ändern wir die Zeile in

slaac private

wenn Privacy Extensions aktiv sein soll, oder

slaac hwaddr

wenn Privacy Extensions inaktiv sein soll.

Anschließend speichern und schließen: Strg + O, Return, Strg + X.

Man hat jetzt nur die Datei geändert. Die Änderungen wurden aber noch nicht in die aktuelle Netzwerk-Konfiguration übernommen.
Grundsätzlich empfiehlt sich hier ein Reboot, wenn man per SSH die Konfiguration vorgenommen hat.

sudo reboot

Als nächstes die FritzBox IPV6 "Fähig" machen:
Weboberfläche der Box aufrufen http://fritz.box und rechts oben auf die drei Punkte klicken und "erweiterte Ansicht" einschalten.
Navigieren zu Internet > Zugangsdaten > IPv6
Aktivieren Option Unterstützung für IPv6 aktiv und Native IPv6-Anbindung verwenden.
Verbindungseinstellungen: Globale Adresse automatisch aushandeln und ggf. DHCPv6 Rapid Commit verwenden (DG kann das).
Navigieren zu MyFRITZ!-Konto und MyFRITZ! für diese FRITZ!Box aktiv setzen und dort nach Anleitung anmelden.
Wenn die Anmeldung funktioniert kommt ein grüner Button: Ihre FRITZ!Box ist bei MyFRITZ! angemeldet
Dann Internetzugriff auf die FRITZ!Box über HTTPS aktivieren und einen Test mit einem anderen PC/Tablet/Handy machen
Bei mit geht https://ds2xxxxxxxxxxx2w.myfritz.net:41511 in den Browser eingeben, und den Zugriff auf die Box erstmal testen.
Neuen Benutzer anlegen und dem entsprechnende Recht geben.
Dieser FritzBox Zugriff zun Außen dient nur zu Testzwecken, er ist für die weiteren Einstellungen nicht erforderlich.
Kann also wieder abgeschaltet werden!

Dann unter Freigaben/Portfreigaben den oder die RPI Ports freigeben.
Gerät für Freigaben hinzufügen, in IPv6-Einstellungen PING6 freigeben (zum Testen!) und Firewall für delegierte IPv6-Präfixe dieses Gerätes öffnen.
Dann rechts unten Neue Freigabe: MyFRITZ!-Freigabe, Anwendung: Andere Anwendung, Bezeichnung z.B. fhem4
Schema: http:// , Port an Gerät: 8083 (an meinem PI4 der Webserver), Verzeichnis(optional) fhem und unten Freigabe aktivieren.
Danach steht unter Freigaben/Portfreigaben der PI4 mit seiner IPV4 Adresse, Port extern 8083 und auch seine IPV6 Adresse, gleicher Port extern.

Damit der Zugriff nun von Außen gelingt muss die Eingabe auch den Namen des Webservers (PI4) enthalten:
http://pi4.ds2xxxxxxxxxxx2w.myfritz.net:8083/fhem
Das wars eigentlich schon.

Wichtig ist auch den Webserver Port 8083 auf IPV6 umstellen:
define WEB FHEMWEB IPV6:8083 global    , sonnst geht nix über IPV6!

Ich hoffe damit einigen von Euch geholfen zu haben.
Mir macht IPV6 jetzt keine Angst mehr und man sieht ganz nebenbei welche WLAN-Netze z.B. in Hotels "echt" IPV6 Fähig sind.

Grüße aus Peine
Wolfdieter
RPi II+III+V,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLESDuino(adv), div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI,Poolsteuerung mit fhem, Fronius, BYD Solaranlage

justme1968

normalerweise hat ein ipv6 interface mehrere ip adressen. d.h. z.b. die link lokale, eine mit privacy extentions und bei bedarf noch eine globale feste.

die mit den privacy extensions ist für ausgehende verbindungen gedacht und wechselt automatisch regelmäßig und wenn sie nicht mehr in benutzung ist. auch wenn man über den tatsächlichen nutzen für privacy geteilter meinung sein darf sollte man diese nicht einfach abschalten.

wenn man ein system von aussen erreichen will/muß vergibt man die globale feste ip zusätzlich zur den anderen.

unabhängig davon sollte man ein system ohne besonderen schutz auch bei ipv6 nicht übers internet erreichbar machen sondern ein vpn verwenden. da die fritzbox das leider scheinbar immer noch nicht kann ist eine option einen vpn server hinter der fritzbox aufzusetzen. über das vpn kann man im übrigen auch wieder per ipv4 auf sein netz zugreifen und muss sich nicht nicht auf ipv6 beschränken wenn man das nicht möchte.

fhem ist explizit nicht geschützt und man sollte davon ausgehen das man bei zugriff auf fhem zugriff auf das komplette system inklusive sonst nur lokal ausnutzbarer sicherheitslücken hat. d.h. im prinzip auf dein komplettes netz. manche argumentieren zwar damit das ein port scan über den kompletten ipv6 adressraum nicht realistisch ist, es muss aber niemand den kompletten adressraum scannen sondern kann sich auf bekannte präfixe oder bei deaktivieren der privacy extensions sogar auf direkt bekannte absender beschränken.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Sailor

Moin Wolfdieter

Ich habe ebenfalls einen FTTH-Anschluss von der Deutschen Glasfaser und musste meine Zugänge wie von dir beschrieben auf IPv6 umstellen.

Ich habe hierzu nur einen Zusatz-Tipp:
Wer über eine Homepage verfügt und die Möglichkeit hat sich eigene Subdomains anzulegen, kann den entsprechenden AAAA - Eintrag Sub-Domain auf die entsprechende IPv6 - Adresse des Servers verweisen.
Dann kann man über fritzbox.meinedomain.de:41511 bzw.  fhemserver.meinedomain.de:8083 seine Server erreichen.

https://www.ionos.com/help/domains/configuring-your-ip-address/set-up-dynamic-dns-with-company-name/

Gruss
    Sailor
******************************
Man wird immer besser...