Eigener DynDNS Dienst

  • Hallo zusammen,


    seit Ankündigung der DNS-API (https://www.netcup-news.de/201…te-funktionen-netcup-dns/) müsste es ja möglich sein einen eigenen DynDNS Dienst zu hosten.


    Ich würde das gerne mit meiner Fritzbox angehen und wollte fragen, ob hier schon jemand eine ähnliche Idee hatte und eine Lösung bereits verfügbar hat.

    Ansonsten werde ich in den nächsten Tagen wohl mal auf Basis von dieser Entwicklung etwas bauen: https://github.com/mattes/php-dynamic-dns-server


    Viele Grüße,

    Felix

    If you think good architecture is expensive, ever tried bad architecture?

  • Die primäre Frage ist: Wo willst Du das Update anstoßen?


    Die Fritz!Box selbst kann afaik nur mit üblichen DDNS-Urls etwas anfangen. Die API-Anfragen ans CCP müsstest Du somit woanders ausführen. Soll das auf einem Webspace/vServer passieren? Oder hast Du vielleicht irgendwelche anderen Geräte im Netzwerk, die 24/7 laufen, wie z.B. ein Raspberry Pi?


    Einen Blick würde ich auch auf folgende Wikiseite werfen: https://www.netcup-wiki.de/wiki/API_Clients

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Die primäre Frage ist: Wo willst Du das Update anstoßen?


    Die Fritz!Box selbst kann afaik nur mit üblichen DDNS-Urls etwas anfangen. Die API-Anfragen ans CCP müsstest Du somit woanders ausführen. Soll das auf einem Webspace/vServer passieren? Oder hast Du vielleicht irgendwelche anderen Geräte im Netzwerk, die 24/7 laufen, wie z.B. ein Raspberry Pi?


    Einen Blick würde ich auch auf folgende Wikiseite werfen: https://www.netcup-wiki.de/wiki/API_Clients

    Die Fritz!Box Update URL kann IPv4 und IPv6 Adresse als Parameter nehmen plus HTTP Basic Auth. GET Requests sind also möglich, nur POST wäre ein Problem ohne zwischengeschaltetes Script auf einem Webserver.

  • Und da man für die API-Anfragen POST sowie ein Session-Management (inkl. separatem Login) braucht, wird das mit der F!B alleine nichts, ohne Webspace/vServer/anderesGerät. Darauf wollte ich hinaus.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Und da man für die API-Anfragen POST sowie ein Session-Management (inkl. separatem Login) braucht, wird das mit der F!B alleine nichts, ohne Webspace/vServer/anderesGerät. Darauf wollte ich hinaus.

    Okay, dann führt in der Tat kein Weg daran vorbei. Musste ich für meinen DNS-Anbieter auch so machen.


    Falls das Script mal ausfallen sollte lasse ich mir auch immer die neuen IPs von der FritzBox schicken, um immer ins LAN zu kommen.

  • Hallo zusammen,

    genau das war der Plan:
    Fritzbox überliefert IP, Domain (+User, Password damit es nicht jeder machen kann) an ein PHP Skript auf meinem Webspace.


    Dieses schreibt die IP separat raus, damit (analog zu voja), ich sie sehe, wenn mal was nicht klappt.

    Gleichzeitig nutze ich in dem PHP Skript die DNS API und schreibe die neue IP auf ne Subdomain.

    Ich muss nur die TTL entsprechend niedrig setzen. Weiß jemand, ob netcup hier Vorgaben für einen Mindestwert macht? Ansonsten würde ich ne 5min TTL oder so setzen.


    Sollte so funktionieren oder habe ich irgendwo n Denkfehler?


    Viele Grüße,

    Felix

    If you think good architecture is expensive, ever tried bad architecture?

  • Denk daran, das netcup die Nameserver nicht "direkt" updated, gefühlt werden die Einträge über die DNS-API alle 5-10min erst ins System übernommen.


    Von daher wird ein eigener DynDNS-Dienst mit den Nameservern von netcup schon einen gewissen "Delay" haben im Vergleich zu selbst betriebenen DNS-Servern.


    Aber ansonsten sollte dein Vorhaben klappen 8) Denk nur daran dein Skript mit Passwort oder ähnlichem zu schützen, damit nicht jeder dies Aufrufen kann.

  • Und alternativ bleibt noch der altbekannte Weg: Irgendeinen kostenlosen DDNS-Anbieter nehmen und CNAME-Record auf diesen Host setzen. Bei manchen Anbietern kann man auch direkt eigene Subdomains über einen NS-Record hin delegieren.


    (Falls Du weniger Aufwand haben willst.)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Oder man nutzt MyFritz, wie ich es mache: Einen CNAME-Record mit Host zB auf zuhause.example.de und als Destination qr*******tox.myfritz.net

    Ist der einfachste Weg und funktioniert einwandfrei

  • Hallo zusammen,

    war jetzt mal ein bisschen tätig und habe es auch bereits so bei mir zum Laufen gebracht.

    Die Lösung von ocin4 ist natürlich auch möglich, macht aber nicht so viel Spaß. :) Hatte einfach Lust und Motivation da selbst ein bisschen aktiv zu werden.


    Die Lösung findet man open source hier: https://github.com/fernwerker/ownDynDNS


    Man könnte da jetzt noch einiges drum herum bauen. Auch aus Sicht der Security ist da sicherlich noch Nachbesserungsbedarf.


    Viele Grüße,

    Felix

    If you think good architecture is expensive, ever tried bad architecture?

  • Vielen Dank für das Script.

    Ein Feature Wunsch:

    Es wäre super wenn man in der Update URL mehrer Host Records angeben könnte die geupdatet werden sollen.

  • Übrigens was ich mal bei Nachforschungen mit der Fritzbox rausgefunden habe:

    Die Fritzbox überprüft selber, ob sich hinter dem Hostnamen die richtige IP befindet. Sollte das nicht der Fall sein, wiederholt die Fritzbox alle 30 Minuten das Update der IP-Adresse.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Mehrere Host-Records mit der gleichen IP?

    Das würde ich nicht über so ein Update-Script machen, sondern die anderen Host-Records als CNAMEs definieren.


    Issues ansonsten gerne direkt ins github und gerne auch selbst Hand anlegen. Ich nehme gerne Pull Requests. :)

    If you think good architecture is expensive, ever tried bad architecture?

  • Oder man nutzt MyFritz, wie ich es mache: Einen CNAME-Record mit Host zB auf zuhause.example.de und als Destination qr*******tox.myfritz.net

    Ist der einfachste Weg und funktioniert einwandfrei

    Der m. E. größte Vorteil von MyFritz: Man hat (wenn man möchte) DDNS für _alle_ seine Geräte im Netzwerk. Das ist vor allem dann relevant, wenn man aktiv IPv6 nutzen möchte. DDNS-Updates für Geräte innerhalb des Netzwerks (also nicht der FritzBox selbst) werden mit der IPv4 der FritzBox, aber der IPv6-Adresse des jeweiligen Geräts vorgenommen. Ich kenne aktuell keine einzige weitere Lösung, die diesen Weg anbietet.

    Matthias Lohr Project Blog: https://mlohr.com/

    PGP: 0x8FC3060F80C31A0A

  • das mit DDNS und IPv6 kann da aber schon gewaltig ausufern; spätestens wenn man diese sowohl mit IPv4 (die WAN Adresse) als auch mit IPv6 (eine Adresse des Prefixes) per DDNS haben will,

    dann hat man tatsächlich f. jedes Gerät die selbe IPv4 Adresse, aber jeweils die entsprechende IPv6 Adresse;

    der Gedanke von felix.kretschmer scheitert in dem Fall, weil nur ein CNAME erlaubt ist; und alle Hosts da ja dann auch die selbe IPv6 hätten ...

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • MyFritz nutzt dann die DHCP-Hostnames aus der Fritzbox für die Geräte im Netz?


    Hier wäre vielleicht AVM gefragt, um die Fritzbox als DNS-Server nach extern auf zu machen. Dann könnte man einen NS Record aktualisieren und der Rest läuft über die Fritzbox.

    Oder geht das heute schon?

    Vermutlich kann man die Firewall für UDP und TCP auf Port 53 auf machen, aber ob der DNS-Server in der Fritzbox "welt-tauglich" ist, wage ich zu bezweifeln.

    If you think good architecture is expensive, ever tried bad architecture?

  • Hier wäre vielleicht AVM gefragt, um die Fritzbox als DNS-Server nach extern auf zu machen. Dann könnte man einen NS Record aktualisieren und der Rest läuft über die Fritzbox.

    Oder geht das heute schon?

    Sowas Ähnliches geht tatsächlich schon, das ist wie gesagt dieses MyFritz. Registriert man sich bei diesem Dienst, erhält die FritzBox einen DynDNS-Namen (z. B. xyz.myfritz.net.). Über die Freigabe-Einstellungen der FritzBox kann man nun für einzelne Geräte eine sog. MyFritz-Freigabe einrichten. Dabei wird ein neuer DNS-Name registriert mit dem Namen des Gerätes im Heimnetzwerk. Nehmen wir an, wir reden über das Gerät mit dem Namen nas. Dann ist dieses intern über nas.fritz.box erreichbar (oder einfach über nas dank Search Domain), mit MyFritz-Freigabe erreicht man das Gerät aber auch von außen über nas.xyz.myfritz.net. Dabei löst nas.xyz.myfritz.net sowohl IPv4 als auch IPv6 auf (einstellbar).

    Matthias Lohr Project Blog: https://mlohr.com/

    PGP: 0x8FC3060F80C31A0A