FritzBox IPv6-Präfixupdate

Hallo zusammen,

ich lassen meine FritzBox 7490 meine IPv64 DynDns Domain aktualisieren und das funktioniert leider nur teilweise. Ich bin hinter einem DS-Lite und habe meinen Homeserver daher nur per IPv6 erreichbar gemacht. Und nutze die IPv6-DynDNS-Prefix-Funktionalität. In der FritzBox habe ich folgende (hier anonymisierte) URL eingetragen: https://ipv64.net/update.php?key=XXXXXXXXXXX&domain=XXXXXXXXXXX.home64.de&ip=<ipaddr>&ip6=<ip6addr>&ip6lanprefix=<ip6lanprefix>. Die Fritzbox schickt auch brav bei jeder Änderung ein Update und trägt ihre eigene IPv6-Adresse ein, das lanprefix wird allerdings nicht aktualisiert und ändert sich nicht, das muss ich jedes Mal manuell erledigen. Woran kann das liegen? Der Provider ist übrigens NetCologne. Hier ein Bild wie die Domain aktuell konfiguriert ist:

Kann das daran liegen, dass die IPv6-Adresse der Fritzbox und das geroutet IPv6-Präfix des Heimnetzes nicht in einem gemeinsamen Netz liegen? Wird da was von IPv64 gefiltert?

WIe ist denn deinen FB 7490 selbst unter Heimnetz - Netzwerk - Netzwerkeinstellungen und dort dann IPv6-EInstellungen konfiguriert?

Einfluss haben dürfte der Bereich DHCPv6-Server in der FRITZ!Box für das Heimnetz aktivieren: und die Ausgabe unter Verwendete IPv6 Präfixe:

Oh, noch etwas fällt mir gerade auf.
Du hast das Häkchen bei Wildcard (*.) automatisch setzen? nicht entfernt.
Meiner Meinung nach muss das weg, wenn du Subdomains nutzen willst, deren Adressen du selbst updaten willst.

Die FAQ sagt dazu zwar:
" Als Standardeinstellung ist die Option Wildcard aktiviert. Dies bedeutet das auch eine Sub-Sub-Domain von dir aufgelöst werden kann.
Beispiel: Mit aktivierter Wildcard Option kann die Domain „*.deinedyndns.ipv64.net“ aufgelöst werden. Ohne diese Option wäre nur „deinedyndns.ipv64.net“ erreichbar."

Das ist aber m.E. etwas verwirrend beschrieben. Es funktioniert so bei IPv4 und bei IPv6 nur dann wenn kein eigener IPv6-Präfix ans Heimnetz einer Fritte vergeben wird und auch bei IPv6 alles über NAT geregelt wird.
Bei IPv4 ist logisch, da hat man ja an Privatkundenanschlüssen immer nur eine einzige IPv4-Adresse. Subdomains sind somit immer über die gleiche IPv4-Adresse erreichbar die wie Fritte selbst.
Verwendest du aber IPv6 und weist dem LAN einen IPv6-Präfix zu, dann hat das LAN ja andere IPv6-Adressen als die Fritte sebst.
Das gesetzte Häkchen bedeute dann aber, dass die Subdomains über die IP-Adressen (IPv4 und IPv6) der Fritte erreichbar sind. Zumindest verstehe ich das so und deswegen ist das bei mir auch weg.
Ich nutze allerdings selbst auch keine Fritte sondern eine pfsense.
Bezüglich der Fritte muss ich mich bei der meiner Mutter per Wireguard einloggen und die hat leider keine Server die so einen Eintrag benötigen würden.

Da ich selbst ja keine Fritte nutze, habe ich mir das nun mal bei der Fritte meiner Mutter angesehen. Diese aktualisiert auch den IPv6-Präfix. Es ist eine 7490.
Daraus schließe ich, dass das grundsätzlich mit der Fritte geht.
Was hast du denn als Update-Key in der Fritte unter Update-URL eingetragen? Da gibt es ja zwei Optionen.

  • die Account Update URL oder
  • die Domain Update URL ?

Im Fall der Fritte meiner Mutter ist es die Account Update URL
Damit steht dann im Feld unter IPv6 Prefix (DynDNS Prefix) immer der tagesaktuelle IPv6-Präfix als /64-Präfix, des LAN der Fritte.

Grundsätzlich funktionieren die Einstellungen, die ich bei IPv64 vorgenommen habe. Die Domain XXXXXX.home64.de wird auch von der Fritzbox aktualisiert nur der Teil der im Feld IPv6 Prefix (DynDNS Prefix) steht allerdings nicht, obwohl das eigentlich gehen sollte, wenn ich die Dokumentation richtig verstanden habe (siehe Doku unter AVM Fritzbox IPv6-Prefix Updaten)
Ich verwende die Account Update URL

Nicht nur grundsätzlich. Habe eben noch mal in die 7490 meiner Mutter gesehen und in ihren Account bei ipv64. der Teil der im Feld IPv6 Prefix (DynDNS Prefix) steht wird aktualisiert. Es kann also eigentlich nur an einem Konfigurationsfehler auf deiner Seite liegen. Vielleicht ein kleiner Fehler in der Syntax?

Ich hab jetzt mal manuell vom Browser aus, die update URL aufgerufen und den Inhalt von ip6 und ip6lanprefix geändert. Ich bin mir recht sicher, dass im Update-Skript auf ipv64 Seite ein Bug ist. Wenn ip6 ein Teilnetz von ip6lanprefix ist, dann funktioniert das update und beide Teile werden aktualisiert. Wenn das nicht der Fall ist entscheidet sich ipv64 nur dafür eines von beidem zu aktualisieren. Ich weiß nur nicht, wie die Priorität ist. Kommt der Aufruf von der Fritzbox scheint ip6 Priorität zu haben, bei meine manuellen Test wurde nur ip6lanprefix aktualisiert.

Was genau meinst du mit „ip6 ein Teilnetz …“? Sei bitte präziser, denn so kann man nur Vermutungen anstellen was gemeint sein könnte.

Hast du das Wildcardhäkchen mal entfernt?

Zu meiner Vermutung:
Ich vermute du meinst die IPv6-Adresse der Fritte selbst müsse aus dem gleichen /56 oder /64er Präfix sein wie das LAN-Subnetz. Nein, das muss sie nicht sein.

Zu dem Zeitpunkt zu dem ich das hier schreibe hat die Fritte (auch eine 7490) meine Mutter die
IPv6-Adresse: 2a02:3100:7206:137c:XXXX:XXXX:XXXX:XXXX
IPv6-Präfix: 2a02:3100:7c18:e100::/56 (Angaben aus Internet → Online-Monitor Zeile Internet, IPv6
Wie man sieht sind IPv6-Adresse und IPv6-Präfix nicht im selben Bereich.

Dennoch klappt das Update des Werts im Feld unter IPv6 Prefix (DynDNS Prefix) bei ipv64 einwandfrei.

Jetzt erkläre mir mal bitte, warum du dennoch meinst es müsse im „Update-Skript auf ipv64 Seite ein Bug“ vorliegen? Warum sollte so ein Bug nur deine Fritzbox 7490 betreffen, aber nicht die meiner Mutter? Läge ein Bug auf ipv64 Seite vor, dann müsste der doch alle anderen auch betreffen und nicht nur deine Fritzbox 7490.

Sehr sehr viel wahrscheinlicher ist es doch, dass es an deiner Konfiguration liegt. Es also einen Unterschied in der Konfiguration bei dir und der bei meiner Mutter gibt. Auf einen Unterschied hatte ich ja schon hingewiesen. Das Wildcardhäkchen. Es kann aber auch Unterschiede auf der Seite der Konfiguration der Fritte selbst geben.

Wie ist denn deine Fritte unter Heimnetz - Netzwerk - Netzwerkeinstellungen und dort dann IPv6-EInstellungen konfiguriert?
Einfluss haben dürfte der Bereich DHCPv6-Server in der FRITZ!Box für das Heimnetz aktivieren:

Hier sind meine IPv6 Einstellungen

Durch experimentieren mit dem Updater habe ich jetzt herausgefunden woran es liegt, dass ip6lanprefix ignoriert wird. Der Parameter ip6lanprefix wird wahrscheinlich zu falsch validiert und dann ignoriert.

https://ipv64.net/update.php?key=XXX&domain=test.lan64.de&ip=89.0.0.1&ip6=2001:4dd0::1&ip6lanprefix=2a0a:a540:0:0::/64
funktioniert und ergibt

{"ipv6prefix":"2a0a:a540:0:0::\/64","status":"success","ip":{"ipv6":"2001:4dd0::1"},"info":"good"}

Wenn man allerdings https://ipv64.net/update.php?key=XXX&domain=test.lan64.de&ip=89.0.0.1&ip6=2001:4dd0::1&ip6lanprefix=2a0a:a540::/64 aufruft, wird nur ip6 aktualisiert und ip6lanprefix ignoriert. Das Ergebnis ist

{"status":"success","ip":{"ipv6":"2001:4dd0::1"},"info":"good"}

2a0a:a540:0:0::/64 und 2a0a:a540::/64 sind aber äquivalent und das zweite ist die Form, die generiert wird wenn die Länge minimiert werden soll.

Nachtrag:
Ich hab auch mal folgendes ausprobiert
https://ipv64.net/update.php?key=XXX&domain=test.lan64.de&ip=89.0.0.1&ip6=2001:4dd0::1&ip6lanprefix=2a0a:a540::::/64
Ergibt

{"ipv6prefix":"2a0a:a540::::\/64","status":"success","ip":{"ipv6":"2001:4dd0::1"},"info":"nochg"}

was allerdings Blödsinn ist, bei IPv6 darf :: nur einmal vorkommen.

In deinem LAN wird mit diesen Einstellungen doch gar kein Präfix an Clients zugewiesen. Stell mal um auf DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen.

Lies mal das hier im Forum: Fritzbox verhindert ping6 auf Raspberry: Administratively prohibited
Da war die Ursache für merkwürdiges Verhalten der Fritte auch, dass die Fritte (IA_PD) und (IA_NA) zuweisen voraussetzt um erwartungsgemäß zu funktionieren. Ohne (IA_NA) werden IP-Adressen an die Clients nicht per DHCPv6 zugewiesen sondern per SLAAC von den Clients selbst ausgehandelt.
Bei meiner Mutter jedenfalls ist (IA_NA) aktiv und es gibt die von dir geschilderten Probleme nicht.

Ich schau mir dieses Thema die Tage mal an. Haben schon 2 Leute jetzt reported.

Ich gebe euch mal ein Update. Ich habe jetzt 92374923674 Tests ausgeführt und in jedem wurden meine Prefixes updated wenn ich ein neues dort hin gesendet habe.

Ich kann das Problem leider nicht nachstellen.

Hallo Dennis, ich habe da einen Verdacht woran es liegen könnte. WIe ich bereits vor Monaten schrieb habe ich das beschriebene Problem auch NICHT.

Ich wies ja schon mehrfach mal auf DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen hin.

Inzwischen habe ich aber mehrfach gelesen, dass einige hier eine Update URL verwenden die so aussieht: Update URL: https://ipv64.net/update.php?key=1234567890abcdefgh&domain=DOMAINNAME.ipv64.net&ip=<ipaddr>&ip6=<ip6addr>&ip6lanprefix=<auto>
Ich verwende aber in der Fritte meiner Mutter, in der es keinerlei Probleme gibt stattdessen (wie auch in deinen Anleitungen beschrieben) die:
Update URL: https://ipv64.net/update.php?key=1234567890abcdefgh&domain=DOMAINNAME.ipv64.net&ip=<ipaddr>&ip6=<ip6addr>&ip6lanprefix=<ip6lanprefix>
Ich habe nun schon zweimal in Beiträgen hier im Forum gelesen, dass ip6lanprefix=<auto> auch aus irgendeiner Anleitung stammen soll. Gefunden habe ich selbst dieses <auto> aber nicht in einer Anleitung.
Mein Verdacht nun: das <auto> ist einfach zu unspezifisch, wenn man ein LAN-Präfix hat und updaten will.

Ich hab jetzt mal DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) eingestellt und neu verbunden das hat nichts geändert.

Ich habe die URL zum updaten von hier IPv64.net • DynDNS2 HowTo & Tutorial - IPv4 & IPv6 kopiert und bei mir steht daher kein <auto> in der update URL.

Wahrscheinlich muss ich also den Testcase nochmal konkreter machen. Ich habe hier zwei update URLs gebaut, die das Verhalten zeigen. Diese beiden URLs funktionieren so wie sie da stehen und ihr könnt es selbst durch klicken ausprobieren. Mal wird 2001:0:0:0::/64 übergeben und mal wird 2001::/64. Das sind beide das gleich Präfix jeweils in anderer Schreibweise.

Diese URL führt das Update korrekt durch und antwortet mit {"ipv6prefix":"2001:0:0:0::\/64","status":"success"}
https://ipv64.net/update.php?key=mRuMPIl18CGqdk6a5TxvepFAtDUYinXr&domain=test.dynipv6.de&onlyprefix&ip6lanprefix=2001:0:0:0::/64

Diese URL führt das Update nicht durch und antwortet mit {"status":"success"}. Da steht zwar success aber das Präfix wird nicht aktualisiert, es ist ja auch nicht Teil der Antwort im Gegensatz zu oben.
https://ipv64.net/update.php?key=mRuMPIl18CGqdk6a5TxvepFAtDUYinXr&domain=test.dynipv6.de&onlyprefix&ip6lanprefix=2001::/64

Also ich verstehe einfach nicht was du da baust oder bastelst.
So sieht es in der Fritte m einer Mutter aus:


und so funktioniert es seit Monaten problemlos.
Da ist nichts gebaut oder gebastelt und vor allem steht da am Ende keine IPv-6-Adresse sondern <ip6lanprefix> wie in der Anleitung eben auch.

Gerne fasse ich dir die Situation und meine Schlussfolgerungen nochmal zusammen. Ich möchte die IPv6-Präfix Funktionalität nutzen und habe daher die entsprechende URL aus der Anleitung kopiert und in meiner Fritzbox an der entsprechenden Stelle eingefügt und aktiviert. Leider musste ich dabei feststellen, dass die Präfixupdate nicht wie erwartet funktioniert und habe daher hier die Frage gestellt und bin auch selbst auf die Suche gegangen woran das liegen könnte.

Durch Versuche mit verschieden Präfixen bei manuellem Aufruf der Update URL bin ich zu dem Schluss gekommen, dass meines Erachtens etwas mit dem Parsen/Validieren des Parameter ip6lanprefix nicht stimmt. Die Schreibeweise von ipv6-Präfixen ist nicht eindeutig und es gibt verschieden Möglichkeiten das gleich Präfix aufzuschreiben. Das Präfix 2001::/64 z.b. lässt sich auch als 2001:0:0:0::/64 aufschreiben. Obwohl sie unterschiedlich geschrieben sind, meine beide das Gleiche. 2001::/64 ist die kürzeste Art und weise dieses Präfix zu schreiben, aber der DynDNS Update von IPv64 akzeptiert nur die längere Variante 2001:0:0:0::/64. Um dieses unterschiedliche Verhalten des gleichen logischen Präfixes, was aber nur unterschiedlichen geschrieben ist, zu demonstrieren habe ich die beiden Beispiel URLs gebastelt um damit meine These für andere Nachvollziehbar zu machen.

Das wir beide unterschiedliches Verhalten mit unseren Fritzboxen beobachten liegt daran, dass wir unterschiedliche Provider haben und die Provider das Präfix festlegen was sie uns als Kunden zuteilen und dabei auch unterschiedliche Schemata verwenden. Mein Provider ist NetCologne und teilt mir offenbar immer Präfixe zu, bei denen die Bits 48-63 (d.h. die letzten 16bit des Präfixes) immer alle 0 sind. Der Provider deiner Mutter teilt wahrscheinlich immer Präfixe zu bei denen mindestens eines der Bits 48-63 eins ist. Dieser Unterschied beeinflusst wie viele doppelt Punkte die kürzest mögliche Schreibeweise des Präfixes hat. Die Fritzbox wählt immer die kürzest mögliche Schreibeweise um das Präfix für das DynDNS update zu übermitteln. IPv64 akzeptiert das Präfix aber nur, wenn eine Mindestanzahl an Doppelpunkte vorkommt. Du hast das Glück, dass der Provider bei deiner Mutter die Präfixe so zuteilt, dass IPv64 die akzeptiert. Ich habe das Pech, dass mein Provider mir Präfixe zuteilt, die man etwas kürzer schreiben kann als IPv64 das erwartet und daher nicht akzeptiert.