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.

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, habe ich bereits 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.

12 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.