Kategorien
Tutorials

DynDNS für IPv6-Server hinter FRITZ!Box konfigurieren

Viele Artikel erklären wie man DynDNS in Zusammenhang mit IPv6 einrichtet. Allerdings gehen diese Artikel oftmals leider nur darauf ein, wie sich DynDNS für die IPv6-Adresse der FRITZ!Box, nicht aber für die IPv6-Adresse von einem Server hinter der FRITZ!Box einrichten lässt. Mit diesem Artikel möchte ich diese Lücke schließen.

Getestet wurde dieser Artikel mit der FRITZ!Box 6490 und FRITZ!OS 07.20.

Hintergrund

Einige Grundlagen zu dem Thema IPv6 und Erreichbarkeit im Internet habe ich bereits in dem Artikel Server im Heimnetz über FRITZ!Box mit DS-Lite aus dem Internet erreichen erklärt.

Wichtig zu wissen für diesen Artikel ist, dass der Router mit IPv6 nicht mehr nur eine Adresse, sondern einen ganzen Adressblock vom Internet Service Provider zugewiesen bekommt, sodass alle Geräte hinter dem Router über eine eigene öffentliche IPv6-Adresse (Global Unicast) erreichbar sein können, sofern entsprechende Firewallregeln im Router konfiguriert sind. Dieser IPv6-Adressblock (IPv6-Präfix) ändert sich bei den meisten Privatkunden von Zeit zu Zeit. Die öffentliche IPv6-Adresse eines Servers setzt sich aus dem IPv6-Präfix des Internet Service Providers (erster Teil der IPv6-Adresse) und der Interface-ID des IPv6-Servers (letzter Teil der IPv6-Adresse) zusammen: <IPv6-Präfix>:<Interface-ID>. Da sich das IPv6-Präfix des Internetanschlusses nun regelmäßig ändert, ändert sich damit auch die IPv6-Adresse des Heimservers. Entsprechend brauchen wir hier eine DynDNS-Lösung, damit der DNS-Eintrag für den Heimserver dynamisch aktualisiert werden kann.

Konfiguration in der Praxis

Ich verwende für diesen Artikel den kostenlosen Dienst dynv6, da die Oberfläche einfach aufgebaut ist und erforderliche Funktionen zur dynamischen Zusammensetzung der IPv6-Adresse aus dem IPv6-Präfix und der Interface-ID des Heimservers unkompliziert konfiguriert werden können. Der Anbieter dynv6 wirbt auch entsprechend mit dieser Funktion:

dynv6 DynDNS für Server hinter FRITZ!Box
dynv6 bietet eine Funktion an, um DynDNS für Server hinter der FRITZ!Box zu konfigurieren.

Wir werden uns mit diesem Dienst daher eine DynDNS-Update-URL zusammenbauen, die in der FRITZ!Box hinterlegt wird.

Alternativ zu dynv6 kann auch jeder andere DynDNS-Dienst genutzt werden, der die separate Übermittlung von IPv6-Interface-ID und IPv6-Präfix unterstützt, beispielsweise do.de. Eine Anleitung zur Zusammensetzung der erforderlichen Update-URL für do.de ist hier zu finden:
https://www.do.de/wiki/flexdns-einrichtung/
https://www.do.de/wiki/flexdns-ipv6/
Jedoch konnte ich den Dienst von do.de noch nicht testen und erwähne ihn hier nur beispielhaft.

Neue Zone erstellen

Nach der Registrierung ist zunächst eine neue Zone zu erstellen: https://dynv6.com/zones/new

dynv6 Zone erstellen
In der Zonenverwaltung muss zunächst eine neue Zone für den DynDNS-Eintrag erstellt werden.

Der Name der Zone ist der DNS-Name (AAAA-Record), der später verwendet werden soll, um auf den Heimserver zuzugreifen. IPv4 Address lasse ich leer, weil ich einen Dual-Stack Lite Internetanschluss habe und DynDNS nur für IPv6 nutzen möchte bzw. kann. IPv6 prefix lasse ich ebenfalls leer, weil dieses später dynamisch gesetzt werden soll. Wenn die neue Zone erstellt ist, öffnen sich automatisch die Anweisungen zur Konfiguration von DynDNS auf der FRITZ!Box. Ansonsten sind die Anweisungen auch im Tab "Instructions" in der angelegten Zone zu finden:

dynv6 Installationsanweisungen
Nach Erstellung der Zone sind die Installationsanweisungen abzuarbeiten.

Update-URL zusammenbauen

In den Installationsanweisungen wird bereits die URL aufgeführt, welche für die DynDNS-Updates verwendet werden kann (zwei URLs, getrennt durch ein Leerzeichen): http://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv4=<ipaddr> https://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv6=<ip6addr>&ipv6prefix=<ip6lanprefix>

Im ersten Schritt entferne ich die erste URL, da sie für IPv4 ist und ich anfangs geschrieben habe, dass ich DynDNS nur für IPv6 nutzen werde (DS-Lite Internetanschluss) und ersetze das http durch ein https: https://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv6=<ip6addr>&ipv6prefix=<ip6lanprefix>

Alles in den eckigen Klammern ist ein Platzhalter. Einen der vier Platzhalter passen wir jetzt an: <ip6addr>. Wird der Parameter <ip6addr> einfach so belassen, wird die FRITZ!Box später ihre IPv6-Adresse an den DynDNS-Dienst übermitteln. Aber genau das möchten wir ja nicht. Daher ist für <ip6addr> die IPv6 Interface-ID des Heimservers einzutragen, für den DynDNS genutzt werden soll. Die Interface-ID entspricht der zweiten Hälfte (letzten 64-Bit bzw. letzten vier Blöcken) der IPv6-Adresse. Sie kann aber auch eingesehen werden, indem in der FRITZ!Box unter "Heimnetz" -> "Netzwerk" auf das Bearbeiten-Symbol bei dem entsprechenden Gerät geklickt wird:

FRITZ!Box IPv6 Interface-ID ablesen
In der FRITZ!Box kann die benötigte IPv6 Interface-ID abgelesen werden.

Die Update-URL sieht schließlich wie folgt aus: https://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv6=::xxxx:xxxx:xxxx:xxxx&ipv6prefix=<ip6lanprefix>

Bei der Interface-ID müssen die zwei Doppelpunkte am Anfang mit angegeben werden.

Der Parameter <ip6lanprefix> wird nicht angepasst, weil dieser von der FRITZ!Box dynamisch an den DynDNS-Dienst übermittelt werden soll.

Jetzt haben wir aber noch ein Problem: Mit dieser URL scheint die FRITZ!Box die Daten nicht an den DynDNS-Dienst zu übermitteln. Bei meinen Tests klappte die Übermittlung nur, wenn wir in der Update-URL zwingend den Platzhalter <ip6addr> verwenden. Aber genau den wollen wir ja eigentlich mit der IPv6 Interface-ID austauschen... Die Lösung des Problems ist relativ einfach: Wir hängen an der Update-URL einfach noch "&trash=<ip6addr>" an. Durch diesen Trick darf die FRITZ!Box die IPv6-Adresse übertragen, wenn sie es denn unbedingt möchte und dynv6 ignoriert den unbekannten Parameter "trash" einfach. Die fertige Update-URL sieht dann wie folgt aus:

https://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv6=::xxxx:xxxx:xxxx:xxxx&ipv6prefix=<ip6lanprefix>&trash=<ip6addr>

Ob die Update-URL grundsätzlich funktioniert, kann überprüft werden, indem man sie einfach in den Browser einfügt. Die Parameter <domain>, <username> und <ip6lanprefix> sind dann natürlich entsprechend manuell anzupassen. Der Wert für <ip6lanprefix> kann in der FRITZ!Box unter "Internet" -> "Online-Monitor" -> "IPv6-Präfix" abgelesen werden. Ein AAAA-Record sollte dann automatisch im Reiter "Records" in der Zonenverwaltung bei dynv6 angelegt bzw. aktualisiert werden.

Konfiguration in der FRITZ!Box

In der FRITZ!Box unter "Internet" -> "Freigaben" -> "DynDNS" ist DynDNS schließlich zu konfigurieren:

FRITZ!Box DynDNS aktivieren
Über den Reiter "DynDNS" in der FRITZ!Box kann DynDNS aktiviert und konfiguriert werden.

Die Werte für "Domainname", "Benutzername" und "Kennwort" sind bei dynv6 in der Verwaltung der entsprechenden Zone im Reiter "Instructions" zu finden:

dynv6 Update-URL
Die erforderlichen Konfigurationsdaten für dynv6 sind in den Installationsanweisungen zu finden.
Weitere Informationen zur Konfiguration von DynDNS in der FRITZ!Box sind in der offiziellen Dokumentation zu finden: https://service.avm.de/help/de/FRITZ-Box-6490-Cable-lgi/019/hilfe_dyndns

Eigenen DNS-Namen verwenden

Der dynamische DNS-Eintrag funktioniert jetzt. Wer möchte, kann noch eine eigene Domain für den Zugriff auf den Heimserver konfigurieren. Es muss lediglich ein CNAME (für eine Subdomain) oder eine Weiterleitung (für eine Hauptdomain) angelegt werden, die auf den DynDNS-Eintrag zeigt. Wie das geht, ist im Beispiel von IONOS hier erklärt. Der CNAME in der DNS-Verwaltung sieht schließlich wie folgt aus:

IONOS CNAME anlegen
Am Beispiel von IONOS erstelle ich einen Alias (CNAME) für den DynDNS-Eintrag.

DNS-Rebind-Schutz in FRITZ!Box konfigurieren

Wer jetzt versucht den eigenen Server über den öffentlichen DNS-Namen von einem Gerät hinter der FRITZ!Box aufzurufen, stößt höchstwahrscheinlich auf ein weiteres Problem: Die FRITZ!Box versucht einen öffentlichen DNS-Namen aufzulösen, der auf ein Gerät zeigt, das hinter der FRITZ!Box liegt, also eigentlich intern ist. Die FRITZ!Box unterbindet das standardmäßig mit dem DNS-Rebind-Schutz. Der Browser wird eine Fehlermeldung wie "Seite wurde nicht gefunden" anzeigen. Es lässt sich in der FRITZ!Box aber unter "Heimnetz" -> "Netzwerk" -> "Netzwerkeinstellungen" -> "DNS-Rebind-Schutz" eine Ausnahme für die Domain(s) erstellen. Dazu muss jede gewünschte Domain einfach in einer eigenen Zeile in das Feld "Hostnamen-Ausnahmen" eingetragen werden:

FRITZ!Box DNS-Rebind Schutz
Damit über den externen (Dyn)DNS-Namen auch intern zugegriffen werden kann, muss eine Ausnahme für den DNS-Rebind-Schutz erstellt werden.

Weiterführende Links
https://dynv6.com/docs/apis

Quellen
https://de.wikipedia.org/wiki/IPv6#Adressaufbau_von_IPv6
https://www.ionos.de/hilfe/server-cloud-infrastructure/ip-adressen/ipv6-grundlagen/

Seit mehreren Jahren begeistere ich mich privat und beruflich für die IT. Das habe ich dann auch zum Anlass genommen, diesen Blog ins Leben zu rufen, um dort praxisnahe Tutorials über verschiedene IT-Themen zu schreiben und meine selbst geschriebene Software zu veröffentlichen.

30 Antworten auf „DynDNS für IPv6-Server hinter FRITZ!Box konfigurieren“

Hi

danke für die Anleitung. Das war sehr hilfreich. Muß man wirklich die Update URL der Fritzbox manipulieren. Kannst du nicht einfach eine neuen AAAA Eintrag für deinen Server einrichten? Wenn du den mit der Adresse :: anlegst wird der fordere Teil mit dem entsprechendem prefix ersetzt.

Bei mir funktioniert das leider nicht, da ich gerade mit einer Vodafone Station ueber meinen Vermieter ausgestattet wurde. Mein Problem ist folgendes:
a. keine public ipv4 Adresse
b. ich moechte als Storage Provider meine Festplatten zur Verfuegung stellen
Mein Versuche ueber
1. Portfreigabe (4282-4285)
2. duckdns.org, und
3 feste-ip.net
sind leider gescheitert.
Ich habe saemtliche ipv6 probiert, bei duckdns eingegeben und dann die duckdns Adresse als Host bei feste-ip angegeben. Eine Verbindung bekomme ich, aber leider auch den Fehler "Check forwarding" im System, aus dem ich meine Vertraege zur Datenspeicherung erhalten soll.

Hallöchen,
ich bin nach Ihrer Anleitung vorgegangen. Es gibt aber ein Phänomen. Ich kann auf meinen Server über mobilfunknetz (von Handy) zugreifen, aber nicht von einem kabelgebundenem Anschluss aus. Woran kann das liegen?

Hallo Thomas,
mir fallen spontan zwei Möglichkeiten ein, warum es hinter dem kabelgebundenen Anschluss nicht funktioniert:
1. Der Internetanschluss verfügt über keine IPv6-Adresse.
2. Bei dem kabelgebundenen Anschluss handelt es sich um deinen Internetanschluss und du befindest dich hinter diesem Anschluss. In diesem Fall wird eventuell der DNS-Rebind-Schutz der FRITZ!Box greifen. In diesem Artikel unter dem Abschnitt "FRITZ!Box DNS-Rebind-Schutz konfigurieren" gehe ich auf das Thema ein und zeige, wie sich Ausnahmen definieren lassen: https://nocksoft.de/tutorials/nextcloud-auf-synology-nas-hinter-fritzbox-und-ds-lite-installieren/#FRITZBox_DNS-Rebind-Schutz_konfigurieren
EDIT: Ich habe den Artikel auch entsprechend angepasst 😉
LG Rafael

Hallo, Rafael,
zunächst: Super, Dein Artikel - vielen Dank!
Danach funktioniert nun der Zugriff auf meinen privaten Web-Server (:-)).
Ein Problem bleibt jedoch:
Wie angegeben, habe ich in der Fritzbox 7560 (mit leicht veränderter Menu-Abfolge "Internet - Freigaben") als "IPv6 Interface-ID" den hinteren Teil der momentanen IPv6-Adresse meines Servers [Ich vermute: leider fest] eingegeben.
Nach Reboot der Fritzbox werden neue IPv6-Adressen vergeben: sowohl die vordere Hälfte als auch die hintere Hälfte (Interface) meines Web-Servers sind nun anders.
Ich will mal annehmen, dass die Fritzbox neue Adressen an DynV6 meldet - aber wohl eben das alte, von mir eingegebene Interface des Servers, nicht das aktuelle.
Effekt: Der Zugriff klappt nicht mehr.
Kennst Du dafür eine Lösung?
Vielen Dank vorab - Walter

Hallo, Rafael,
herzlichen Dank für Deine schnelle Reaktion und insb. für den wohl entscheidenden Tipp!!
Als Netzwerk-Greenhorn hat es mich noch einige Anstrengung gekostet, Deinen Tipp überhaupt zu verstehen und dann nach geeigneten Befehlen zu suchen, aber jetzt (heute, 15:10!) funktioniert der Zugriff auf meinen Web-Server auch nach einer Neu-Verbindung der Fritzbox mit dem Internet (:-)).
Ich erlaube mir - für andere Besucher Deines Blogs - noch Hinweise auf Web-Seiten, die mir bei der Umsetzung Deines "Privacy Extension"-Tipps weitergeholfen haben:
- https://www.elektronik-kompendium.de/sites/net/1601271.htm
- Suche nach "IPV6 im JuNet" (JülichNet - für Systemadministratoren), Seite 3
- https://mirrors.bieringer.de/Linux+IPv6-HOWTO-de/x1062.html
Nochmals ein großes Dankeschön -
Walter

Lieber Rafael,
dieser Guide war für mich sehr hilfreich, also vielen Dank!
In meinem Fall war es wichtig, dem Pi/Apache Server im FritzBox-Setup genau die Interface-ID (festes IPv6-Suffix) zuzuweisen, die der Adresse entspricht, wenn man die Privacy Extensions deaktiviert (siehe auch Walters Kommentar). Erst dann hat bei mir der Zugriff auf den Server über das WWW zuverlässig funktioniert.

Hallo Rafael,
auch von meiner Seite aus vielen lieben Dank für dein Tutorial. Das hat mir sehr geholfen. Mein erster Server ist nun wieder von extern erreichbar *juhuuu*.

Jetzt habe ich allerdings noch einen kleinen Knoten im Kopf: Bevor ich auf Glasfaser mit IPv6 gewechselt bin, war ich bei der Telekom im DSL (IPv4) Netz. Dort konnte ich über die Portfreigaben (Port-Forwarding) per DynDNS-Adresse alle meinen lokalen Server erreichen.

Beispiele (die dyndns-Adresse und Ports sind fiktiv):
NAS: abc.dyndns.com:1234
GIT-Server: abc.dyndns.com:6789
Proxmox-Server: abc.dyndns.com:9492

abc.dyndns.com hat automatisch per Fritz!Box Update die neue öffentliche IPv4-Adresse bekommen.

Hast du eine Idee wie ich das nun wieder so hinbekomme?

Danke Sven

Hallo Sven,
das funktioniert bei IPv6 in der Tat ein bisschen anders.
Vorher, mit IPv4, hatte jeder Server die gleiche öffentliche IP-Adresse der FRITZ!Box mit einem unterschiedlichen Port. So hast du es ja auch beschrieben.
Unter IPv6 ist erstmal jedes Gerät mit seiner eigenen IPv6-Adresse im Internet erreichbar.
Du müsstest also für jeden Server eine IPv6-Freigabe erstellen. Die Server wären dann alle über ihre eigene IPv6-Adresse erreichbar. Das Problem ist, dass die FRITZ!Box soviel ich weiß nur für ein Gerät DynDNS unterstützt und du dir so die IPv6-Adresse der Geräte merken müsstest, die sich ja gelegentlich ändern können…
Du kannst aber auch einen Reverse Proxy (z.B. mit Apache) einsetzen und davor schalten. Öffentlich erreichbar wäre dann nur der Proxy und nicht die Server. Der Proxy leitet die Anfragen, beispielsweise anhand eines Ports oder einer Subdomain, an einen der internen Zielserver weiter.
LG Rafael

Hallo.

Ich habe versucht mittels Feste-IP.net einen Zugriff über einen nicht IPv6 fähigen Anschluss einen RDP Zugriff auf einen Server der sich an einem Anschluss der Deutschen Glasfaser befindet zustande zu bekommen und das hier war genau das was gefehlt hat. Jetzt klappt es. Das rettet mir den Tag. Tausend Dank 😀

Der Artikel war wirklich sehr sehr hilfreich und wirklich super geschrieben. Wirklich einfach Klasse!

PS. Hier fehlt so ein "buy me a Beer" Button 😉

Ich bin auch bei der Deutschen Glasfaser, bekomme es aber nicht hin. Die Anleitung ist idiotensicher geschrieben, aber trotzdem komme ich nicht auf das hinter der FB liegende System. Hast du (Daniel) dynv6.net im Zusammenhang mit feste-ip.net in Betrieb? Oder wie hast du das realisiert?

Hallo Rafael,
vielen Dank für die gute Anleitung. Prinzipiell funktioniert bei mir alles wie gewünscht.
Es fällt mir nur auf, dass in der FB-Übersicht der Status für die IPV6 DynDNS-Anmeldung nicht auf "erfolgreich angemeldet" wechselt, sondern bei "angemeldet" bleibt:
DynDNS aktiviert, xxxxx.dynv6.net, IPv4-Status: erfolgreich angemeldet, IPv6-Status: angemeldet
In den FB-Ereignissen erscheint dazu ca. alle 5 Minuten die Meldung:
DynDNS-Fehler: Die Dynamic DNS-Aktualisierung war erfolgreich, anschließend trat jedoch ein Fehler bei der DNS-Auflösung auf.
Außerdem erfolgt ca. alle 30 Minuten ein eigentlich unnötiger Update der Einstellungen bei dynv6.
Dies ist wohl eher eine Art Schönheitsfehler. Dennoch kann man da noch etwas ändern?
Besten Dank!
Thomas

Hallo,

nein, ist leider nicht zu ändern, da die IPv6 Adresse eine andere ist als von der FritzBox, daher nur "angemeldet" und nicht "erfolgreich angemeldet" sowie auch die unnützen weiteren DynDNS Updates...wurde auch bereits an AVM gemeldet.

Grüße,

Hallo Rafael,

vielen Dank für die ausführliche Anleitung. Leider bekomme ich nach dieser Anleitung beim Versuch, meine Synology NAS zu erreichen, keine Verbindung hin. Die Fritz!Box 6591 Cable (im o2 Kabelnetz) zeigt als Status bei DynDNS: aktiviert, xxxxxx.dynv6.net, IPv4-Status: Account temporär deaktiviert, IPv6-Status: unbekannt.

Wenn ich mit dieser Anleitung die Fritz!Box adressiere, funktioniert es.

Woran kann das liegen? Ich möchte gerne uneingeschränkt sowohl mit IPv4 als auch IPv6 Geräten die NAS in meinem Heimnetzwerk erreichen.

Viele Grüße
Jakob

das ganze kann die fritzbox auch ohne zusatzdienst, mann muss die freigabe nur als MyFRITZ!-Freigabe anlegen, dann registriert die fritz box einen zusätzlichen dns namen für den jeweiligen host (siehe: https://www.heise.de/ratgeber/IPv6-Freigaben-mit-Namensdienst-auf-Fritzboxen-nutzen-6234026.html)

sprich für jeden ipv6 host mit MyFRITZ!-Freigabe wird ein zusätzlicher dns eintrag angelegt in der eigenen myfritz "zone" angelegt:
xxxx.myfritz.net <- fritzbox
raspi4.xxxx.myfritz.net <- host hinter fritzbox (dafür noch einen cname anlegen und alles paletti)

Warum so kompliziert? Auch muss man nicht die Update-URL verändern. Bei Dynv6.com bietet dazu eine bessere Lösung an, die auch länger funktioniert:

1.
DynDNS bei Dynv6 registrieren und aktivieren

2.
Update-URL für IPv6 (http://dynv6.com/api/update?hostname=&token=&ipv6=&ipv6prefix=) zusammen mit Domain und Usernamen (Token) im Router eintragen. Ein Passwort ist nicht notwendig. Die Daten erhält man im Register „Instructions“ ganz unten unter Fritz!OS.

3.
Unter Records einen neuen AAAA-Record erstellen und die 64Bit (letzten 4 Blöcke) der IPv6 des Servers wie folgt eintragen ::AAAA:BBBB:CCCC:DDDD (inklusive den :: )
Das Feld Name muss leer bleiben, um nur auf die DynDNS-Adresse zu reagieren. Wer einen Subdomain erstellen will, gibt dort einen Namen an. Dann ist der Server aber auch nur unter dieser Subdomain zu erreichen!

Weitere Subdomains können einfach mit einem CNAME hinzugefügt werden und auf den Server zeigen. Dazu wird beim CNAME nur das Feld Name ausgefüllt (ohne die DynDNS), das Feld Data bleibt leer.

Wenn der Router jetzt den Präfix updatet, wird dieser auch für die IPv6 des Servers übernommen.

Das Gleiche kann man jetzt für mehrere Geräte zeitgleich einrichten. Somit nimmt man IPv6 ein bisschen den schrecken. Der eigentliche User bekommt davon nicht viel mit. Viel Spaß beim Ausprobieren.

Hallo zusammen
Ich komme nur auf die Anmeldeseite der Fritxbox, woran kann das liegen? Habe eigentlich alles gemäss Anleitung gemacht.

Danke
Klaus

Hallo Klaus,
in diesem Fall solltest du nochmal ganz genau prüfen, ob wirklich alle IP-Adressen, DNS-Namen und Ports korrekt sind.
Insbesondere in dem Part mit der Update-URL können sich schnell Fehler einschleichen.
LG Rafael

Hallo Rafael
Danke für den Tipp, habe alles nochmals überprüft und könnte keinen Fehler finden. Habe dann den Zugriff auch mal mit IPV4 versucht und komme zum gleichen resultat.
Ich habe ein altes ReadyNAS Duo V2 kann es sein, dass dort das Problem liegt? Grundsätzlich funktioniert der Zugriff innerhalb vom Netz ohne Probleme.

Danke
Klaus

Edit: Ich habe noch gesehen, dass ich 6RD verwenden muss
(Die Nutzung von 6RD erfordert die Angabe des Tunnelendpunktes und der im Tunnel genutzten IPv6-Adresse.)
Ist das mein Problem?

Schreibe einen Kommentar

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