DecaTec

Home-Server | Linux | Nextcloud | Raspberry Pi | Programmierung | Fotografie

DynDNS: Home-Server mit einer FritzBox mit IPv4 und IPv6 (Dual-Stack) betreiben

Ich betreibe schon seit längerem einen kleinen Home-Server unter Linux. Dieser ist über eine FritzBox mit dem Internet verbunden. Da ich keine statische IPv4-Adresse habe (nach einem Zwangs-Reconnect bekomme ich immer eine andere IP-Adresse zugeteilt), bin ich auf einen DynDNS-Dienst angewiesen. Bisher hatte ich hier nur IPv4 genutzt, wollte mich nun aber mal mit dem Thema IPv6 beschäftigen. Die Lösung war hier jedoch nicht so einfach wie gedacht. Daher will ich in diesem Artikel meine Erfahrungen mit DynDNS im Dual-Stack (IPv4/IPv6) schildern. Ziel ist es, dass der Home-Server (bzw. darauf gehostete Webanwendungen) sowohl per IPv4, also auch per IPv6 aus dem Internet erreichbar ist.

Voraussetzungen

Wichtigste Voraussetzung für dieses Vorhaben ist zunächst einmal ein echter Dual-Stack-Internet-Anschluss, d.h. neben einer IPv6-Adresse wird noch eine echte IPv4-Adresse benötigt. Beim Anschluss darf es sich daher nicht um einen Dual-Stack Lite (DS-Lite) Anschluss handeln.

Als nächstes wird ein DynDNS-Dienst benötigt, der sowohl IPv4 und IPv6 unterstützt. Ich selbst nutze hier All-Inkl.com (Affiliate Link). Hier ist ein DynDNS-Dienst bereits im Webhosting-Paket „Privat Plus“ enthalten. Das Vorgehen wird in diesem Artikel daher auch mit diesem Dienst beschrieben.
Allerdings gibt es hier auch kostenlose Dienste. Folgende Anbieter machen hier einen guten Eindruck und unterstützen auch Dual-Stack:

Die in diesem Artikel erwähnten Schritte/Einstellungen können sich von Anbieter zu Anbieter etwas unterscheiden, das generelle Vorgehen sollte unabhängig von DynDNS-Anbieter identisch sein.

Hinweis: Es kann sein, dass DynDNS mit Dual-Stack bereits “out of the box” funktioniert, wenn man die FritzBox entsprechend konfiguriert. Daher bitte erst einmal mit eurem DynDNS-Dienst ausprobieren, ob dies der Fall ist. Wenn ja, dann könnt ihr den Rest des Artikels überspringen. Danke an Thomas für den Hinweis!

Durch den DynDNS-Dienst wird auch die zu verwendende (DynDNS-)Domain festgelegt. In diesem Artikel nutze ich hier beispielhaft die Domain dyndns.meinedomain.de.

Des weiteren benötigt man natürlich einen Router. Hier kommt wie der Titel schon vermuten lässt, eine FritzBox zum Einsatz. Das Modell ist hier nicht entscheidend, da alle DynDNS unterstützen. Das gezeigte Vorgehen sollte aber prinzipiell auch mit Routern anderer Hersteller funktionieren.

DynDNS-Domain konfigurieren

Zunächst muss der DynDNS-Dienst so konfiguriert werden, dass dieser sowohl IPv4, als auch IPv6 unterstützt. Bei All-Inkl wird dazu die Option “Dual-Stack” bei der Konfiguration der DynDNS-Domain aktiviert:

DynDNS-Einstellungen bei All-Inkl
DynDNS-Einstellungen bei All-Inkl

Hier werden auch gleich die sog. Update-URLs mit angezeigt. Diese benötigen wir später für die Konfiguration von DynDNS auf “unserer Seite”. Daher am besten gleich mal notieren.

Port-Forwarding/DynDNS an der FritzBox

Als nächstes müssen wir ein sog. Port-Forwarding in der FritzBox einrichten. Dies geschieht über dem Menüpunkt Internet > Freigaben > Portfreigaben. Für Webanwendungen sind hier die Ports 80 und 443 wichtig. Daher werden für diese beiden Ports Freigaben für den entsprechenden Server im LAN eingerichtet. Wichtig ist hier, dass die Option Internetzugriff über IPv4 und IPv6 ausgewählt ist.

FritzBox: Portfreigabe einrichten
FritzBox: Portfreigabe einrichten

Diese Option (Internetzugriff über IPv4 und IPv6) mag hier etwas seltsam klingen: Benötigt wird die Portfreigabe ja u.a. für NAT, so dass Anfragen, die an der FritzBox ankommen, aber an eine “dahinter” liegende Maschine gerichtet sind, “ge-NATtet” werden (d.h. hier eine Adress-Übersetzung stattfindet). NAT wird allerdings nur für IPv4 genutzt, bei IPV6 gibt es gar kein NAT. Das wird dann später auch noch deutlich…

Nun muss in der FritzBox noch der DynDNS-Zugang eingerichtet werden. Dies geschieht unter Internet > Freigaben > DynDNS.
Für den DynDNS-Zugang für All-Inkl sind hier folgende Daten zu hinterlegen (bei anderen DynDNS-Anbieter kann dies natürlich abweichen, im Grunde genommen sollte das allerdings bei allen Anbietern recht identisch sein):

  • DynDNS-Anbieter: Benutzerdefiniert
  • Update-URL: dyndns.kasserver.com/?myip=<ipaddr> (dies ist die Update-URL für IPv4)
  • Domainname: Die DynDNS-Domain, in unserem Beispiel also dyndns.meinedomain.de
  • Benutzername: Der Benutzername des DynDNS-Users.
  • Kennwort: Das dazugehörende Kennwort.
FritzBox: DynDNS-Einstellungen
FritzBox: DynDNS-Einstellungen

Nach einem Klick auf Übernehmen sollte unter Internet > Online-Monitor in der Rubrik DynDNS angezeigt werden, dass die Anmeldung erfolgreich war. Wichtig ist hier die Anmeldung per IPv4. Wenn also eine Meldung wie folgende angezeigt wird, ist alles in Ordnung:

aktiviert, dyndns.meindomain.de, IPv4-Status: erfolgreich angemeldet, IPv6-Status: unbekannt

DynDNS (IPv6) mit der FritzBox

Warum ist die Anmeldung hier nun unter IPv6 “unbekannt”? Dies liegt daran, dass wir die Update-URL angegeben haben, die sich nur im IPv4 kümmert (dyndns.kasserver.com/?myip=<ipaddr>). Die Update-URL für IPv6 sieht etwas anders aus: dyndns.kasserver.com/?myip=<ip6addr>

Nun könnte man auf die Idee kommen, bei der Update-URL in der FritzBox einfach beide URLs einzugeben (getrennt durch ein Leerzeichen), also “dyndns.kasserver.com/?myip=<ipaddr> dyndns.kasserver.com/?myip=<ip6addr>“. Wenn diese Option dann übernommen wird, wird die DynDNS-Anmeldung sowohl mittels IPv4, als auch mit IPv6 vorgenommen. Das ist doch eigentlich genau das, was wir wollen, oder?

Nein, denn hier macht uns die FritzBox einen Strich durch die Rechnung: Wenn man nun nämlich die DynDNS-Domain mittels IPv6 aufruft (das machen die meisten Browser automatisch, wenn sowohl IPv4, als auch IPv6 angeboten werden), dann kommt man an der Weboberfläche der FritzBox raus. Genau das wollen wir aber nicht, eigentlich sollte die FritzBox den Request an die dahinter legende Maschine weiterleiten.

Dies scheint eine Einschränkung der FritzBox zu sein: IPv6 Traffic wird anscheinend immer an der FritzBox terminiert und nicht an das eigentliche Ziel weitergeleitet.

Daher – falls ihr das wirklich ausprobiert habt – die Einstellungen bzgl. DynDNS wieder rückgängig machen, so dass sich dir FritzBox nur noch mittels IPv4 am DynDNS-Dienst anmeldet.

DynDNS/IPv6 auf der Zielmaschine einrichten

Damit nun der (Home-)Server per IPv6 erreichbar wird, muss sich dieser selbst am DynDNS-Dienst mittels seiner (externen) IPv6-Adresse anmelden. D.h. bzgl. IPv6 nutzen wir nicht die DynDNS-Funktion der FritzBox, sondern einen separaten DynDNS-Client auf dem Ziel-Rechner.

Ein bewährter Client für Linux ist hier ddclient, daher nutze ich diesen auch im weiteren Verlauf des Artikels. Natürlich kann hier auch ein anderer DynDNS-Client zum Einsatz kommen (solange dieser IPv6 unterstützt).

Vor der Installation muss zunächst ermittelt werden, für welchen Netzwerk-Adapter die Einstellungen des Programms vorgenommen werden sollen. Eine Auflistung der zur Verfügung stehenden Netzwerkkarten kann man folgendermaßen ermitteln:

ip addr show

Die Anzeige sieht dann in etwa wie folgt aus.

Anzeige der Netzwerkadapter
Anzeige der Netzwerkadapter

Hier wäre der richtige Adapter nun enp2s0. Am besten kann man dies erkennen, indem man die (LAN-interne) IPv4-Adresse sucht, die die entsprechende Maschine nutzt. Hier sieht man übrigens auch gleich die IPv6-Adresse(n) des Servers. Hier gibt es immer mehrere, da neben der “richtigen” IPv6-Adresse auch noch IPv6-Adressen für die rein lokale LAN-Kommunikation (z.B. fe80…, fd…) bereit gestellt werden.

Anschließend kann die Installation von ddclient gestartet werden:

apt update && apt install ddclient

Die Konfiguration des Programms wird gleich im Rahmen der Installation durchgeführt. Dennoch ist dies in unserem Fall eher kontraproduktiv, da hier zunächst immer nur IPv4 betrachtet wird.

Da man den Konfigurations-Assistenten nicht abbrechen kann, wählen wir im ersten Schritt zur Auswahl des DynDNS-Anbieters einfach other und klicken uns einfach mittels Enter durch den Rest des Assistenten durch.

Nach dieser Erst-Konfiguration öffnen wir nun die Konfigurations-Datei manuell im Editor:

nano /etc/ddclient.conf

Der Inhalt muss hier dann so aussehen:

protocol=dyndns2
usev6=if, if=enp2s0
server=dyndns.kasserver.com/?myip=<ip6addr>
login=username  
password='passwort'
dyndns.meinedomain.de

Hier wird somit folgendes konfiguriert:

  • Das Update-Protokoll: dyndns2
  • Wichtig ist die nächste Zeile, damit wird angegeben, dass nur IPv6 genutzt werden soll. Dies ist besonders wichtig, da sich der Client ansonsten auch per IPv4 anmeldet, was aber immer nur die lokale (LAN-)IP ergeben würde. Eine Verbindung “von außerhalb” ist damit natürlich nicht möglich.
    Ebenfalls wird hier der weiter oben ermittelte Netzwerk-Adapter (enp2s0) hinterlegt.
  • Unter server wird die Update-URL des DynDNS-Dienstes angegeben (in diesem Fall die Update-URL, die für IPv6 genutzt werden soll).
  • Unter login und passwort müssen die Anmeldedaten hinterlegt werden, mit den man dich beim DynDNS-Dienst anmeldet.
  • Am Schluss folgt noch die Angabe der DynDNS-Domain, also die Domain, unter der der Server dann später aus dem Internet erreichbar sein soll (dyndns.meinedomain.de).

Nach den Änderungen an der Konfiguration kann die DynDNS-IP durch den direkten Aufruf von ddclient aktualisiert werden:

ddclient

Test der Funktionalität

Anschließend kann man nun zunächst mal beim DynDNS-Anbieter nachsehen, ob die DynDNS-Domain nun auf IPv4, als auch IPv6 registriert ist. Als IPv4-Adresse sollte hier die (externe) IP-Adresse der FritzBox, als IPv6-Adresse die eindeutige IPv6-Adresse des Servers (hinter der FritzBox) gelistet werden.

Die Erreichbarkeit über IPv4 und IPv6 kann dann noch “von außen” getestet werden. Ich nutze hier gerne den SSL Server Test von Qualys SSL Labs (neben der Erreichbarkeit werden hier auch gleich die Zertifikate/Sicherheit des Webservers getestet). Hier sollten dann auf jeden Fall zwei Einträge (einer für IPv4 und einer für IPv6) aufgeführt werden:

Qualys SSL Labs: Dual-Stack
Qualys SSL Labs: Dual-Stack

Einschränkungen

Mit dieser Lösung kann man nun einen Home-Server leicht per IPv4, als auch per IPv6 verfügbar machen. Allerdings klappt dies nur, wenn nur ein einzelnes Gerät aus dem (internen) Netzwerk per IPv6 erreichbar sein soll. Der Grund ist hier, dass ein DynDNS-Dienst immer nur eine IPv4 und eine IPv6 auf eine Domain mappen kann.

Beim “klassischen” Vorgehen mit IPv4 konnte man noch durch unterschiedliche Port-Freigaben und NAT mehrere Geräte “ins Internet stellen”, aber durch die Einschränkungen der FritzBox bzgl. IPv6 klappt dies nun nicht mehr.

Sollen also nun neben dem per IPv6 erreichbaren Server andere Geräte ebenso aus dem Internet unter der gleichen DynDNS-Domain zugänglich sein, muss man hier wieder auf IPv4/Port-Forwarding/NAT setzen.

Wenn strikt auf IPv6 gesetzt werden soll, dann besteht noch die Möglichkeit, einfach mehrere DynDNS-Domains zu registrieren und dann pro Maschine eine eigene Domain zu verwenden. Dann sind diese Server allerdings ausschließlich per IPv6 und nicht mehr per IPv4 erreichbar. In der heutigen Zeit muss man (leider) noch davon ausgehen, dass nicht alle Clients IPv6-fähig sind.

In bestimmten Szenarien – z.B. wenn es um das Hosting mehrerer Webanwendungen auf verschiedenen Maschinen geht – kann man natürlich nur einen Server per IPv4 und IPv6 aus dem Internet erreichbar machen und von diesem dann die Request an andere (Backend-)Maschinen dann per Reverse Proxy (z.B. nginx oder HAProxy) weiterleiten.

Fazit

Der IPv6-Standard wurde bereits 1998 verabschiedet – also vor einer gefühlten Ewigkeit. Leider hat sich IPv6 anscheinend bis heute noch nicht zu 100% durchgesetzt, obwohl dies auf Grund der IPv4-Adressknappheit eigentlich absolut notwendig wäre.

Wie der Artikel gezeigt hat, muss man sich aber in der heutigen Zeit immer noch mit Unzulänglichkeiten mit IPv6 herumschlagen. Trotzdem sollte nun das Betreiben eines Home-Servers mit IPv4 und IPv6 (Dual-Stack) kein großes Problem mehr darstellen.

Wie seht ihr die Sache? Nutzt ihr hier immer noch IPv4, oder habt ihr euch auch schon mit dem Thema IPv6 auseinander gesetzt? Hinterlasst mir dazu doch einfach einen Kommentar.

Links

, , , , , , , , , ,

Kommentare: 8

  • Thomas Schäfer sagt:

    Bei dynv6.com kann man alle Hosts mit einem Update in der Fritzbox aktualisieren:
    http://dynv6.com/api/update?hostname=&token=&ipv6=&ipv6prefix=
    Also Benutzername ist das “Token” zu verwenden.

    Geht das bei All-Inkl.com nicht? Das wäre schade.

    • Jan sagt:

      Hi Thomas,

      nein, das geht bei All-Inkl leider nicht. Ich glaube, was IPv6 angeht, sind die noch nicht soweit. ;-)
      Ich habe nun noch einen Hinweis im Artikel hinzugefügt, dass man es am besten erst einmal mit dem genutzten DynDNS-Dienst ausprobieren soll, da es bei einigen Anbietern wohl out of the box funktioniert und man hier keine “Verrenkungen” machen muss.

      Gruß,
      Jan

  • Hans sagt:

    Hallo Jan,

    wenn ich das richtige verstehe, wäre es ja dann möglich zwei Geräte über Dyndns im heimischen Netzwerk anzubinden. Server ipv6 und z.b. Wiregurad-Box über ipv4.

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      mit IPv6 sollte es eigentlich möglich sein, sehr viel mehr Geräte per DynDNS anzubinden. Wie ich allerdings bemerkt habe, ist dies vorranging vom genutzten DynDNS-Dienst abhängig und evtl. auch vom verwendeten Router. Bei einer FritzBox und meinem DynDNS-Dienst ist dies ziemlich beschränkt, ich kann damit gerade einmal zwei Geräte freigeben (einmal IPv4, einmal IPv6).

      Gruß,
      Jan

      • Hans sagt:

        Hallo Jan, danke, werde ich mal testen. Zwei Geräte langen mir eingentlich VPN Wireguard und der NC Server. Ist zwar beides auf dem NC Server möglich, jedoch möchte ich hier sauber trennen.

        Gruß Hans

  • Joachim Trzewik sagt:

    Hallo Jan,
    ich habe durch Deine tolle Seite viel für meinen Heim-Server gelernt. Daher möchte ich Dir heute auch ein paar Informationen zukommen lassen:

    Mein privater Home-Server mit Ubuntu 20.04 ist nach dem Providerwechsel (von Deutsche Telekom zu Deutsche Glasfaser) nur noch über IPv6 erreichbar.

    Ich war total überrascht wie problemlos der Zugriff auf den Server, von allen im Haushalt vorhandenen Geräten und ihrer Anwendungssoftware bzw. ihren Apps, möglich ist:
    – 2 Notebooks und 1 NUC mit Ubuntu 20.04
    – 2 Handys von Samsung mit Android 8.0 und Prepaid-Vertrag “Aldi Talk” (o2)

    Ich betreibe eine Nextcloud- und eine WordPress-Instanz mit den Adressen
    – ncl.xxx.dedyn.io bzw.
    – wpr.xxx.dedyn.io
    für die ich bisher die A- bzw. AAAA-Records auf die gleiche IP-Adresse gesetzt hatte.

    Die aktuelle Adresse teile ich dem DynDns-Provider (deSEC) schon länger mit einem eigenen Python-Programm über die REST-Api mit. Das Programm habe ich jetzt von IPv4/IPv6 auf IPv6 umgestellt.
    Die A-Records bei deSEC habe ich gelöscht, da ein Linux-Programm mit den vorhandenen A-Records Probleme hatte.

    Nach Tests mit dem DynDns-Provider “dynv6”, über seine REST-Api, sollte es mit diesem Provider ebenso funktionieren.

    Bei den Handy’s musste ich die APN-Einstellungen für das APN-Protokoll von “IPv4” in “IPv4/Ipv6” ändern.
    (Dual Stack ist bei O2 seit Juni 2021 möglich, bei den anderen deutschen Mobilfunk-Providern.)

    Mein Fazit:
    Sind alle Nutzer des Servers persönlich bekannt, so sieht es mit dem reinen IPv6-Betrieb inzwischen recht gut aus.

    • Jan sagt:

      Hi Joachim,

      zunächst danke für die Info.
      Das wird uns allen in ein paar Jahren blühen: Der komplette Umstieg auf “IPv6 only”. Du schreibst:

      Sind alle Nutzer des Servers persönlich bekannt, so sieht es mit dem reinen IPv6-Betrieb inzwischen recht gut aus.

      Gibt es bei dir noch Probleme beim Betrieb über IPv6, wenn “externe” Benutzer mit dabei sind?

      Gruß,
      Jan

  • Joachim Trzewik sagt:

    Hallo Jan,

    da der Zugriff über das Mobilfunknetz, nur nach Änderung der APN-Einstellungen am Handy möglich ist, müssen die Nutzer darüber informiert werden. Andernfalls können Daten, wie z.B. Kalender und Notizen des Handy’s, nur per WLAN synchronisiert werden.
    Weitere Probleme sind mir über den externen Zugang zur Zeit nicht bekannt. Ich verwende den Server allerdings zur Zeit wie ein NAS mit externem Zugang.

    Ich werde meine beiden Kinder aber bitten mal von “extern” zuzugreifen, was dann auch zu einen Test mit einem Macbook führt.

    Gruß
    Joachim

Schreibe einen Kommentar

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