DynDNS über Netcup-API mit Fritzbox

  • Hallo zusammen,


    ich würde gerne ein lokales Gerät in meinem Netzwerk von außen erreichbar machen und dazu eine meiner Netcup-Subdomains als Host (quasi als DynDNS) nutzen. Verfügbar ist eine Fritzbox, ein Netcup-Webspace-Account (kein VPS, oder so) und eine entsprechende Domain.


    Ich habe dazu schon viel gelesen und bin im Forum auf zwei Lösungen gestoßen. Dazu habe ich ein paar kleine Fragen:



    1. mögliche Lösung:


    1.) CNAME-Eintrag der Subdomain auf myFritz-Adresse setzen


    * Ich habe dazu die MyFritz-Adresse in der FB aktiviert

    * das Let's Encrypt-Zertifikat wurde auch erfolgreich über die FB erstellt

    * die FB ist über den Link erreichbar (HTTP und HTTPS, ohne separate Port-Angabe).


    * Nun habe ich einen CNAME-Eintrag erstellt, welche laut tracert auch auf meinen Anschluss auflöst:



    SCR-20230814-ibyk.png


    ch erhalte jedoch beim Aufruf der Seite diese Fehlermeldung:


    SCR-20230813-qwfc.png


    Nun dachte ich, dass es daran liegt, dass ich kein SSL-Zertifikat für die Subdomain habe.


    * Dann also für eine andere Subdomain ein Zertifikat beantragt (Let's Encrpyt, über Netcup CCP), und danach die Subdomain gelöscht und DNS-Eintrag gesetzt

    * Gleiches Ergebnis.


    Was mache ich da falsch, bzw. wie löst ihr das? Liegt es daran, dass ich HSTS für die Domain aktiviert habe?





    2. mögliche Lösung:


    Dann habe ich gelesen (LINK), dass ich diese "umständliche Lösung" ja eigentlich gar nicht benötige.


    Wenn ich es richtig verstehe, könnte ich das direkt mit der Fritzbox und meinem Webspace und der NetCup-API lösen? Wie seid ihr dazu vorgegangen? Reicht dazu dieses Skript aus (LINK)?


    Wie macht ihr das dann mit der Einbindung eines SSL-Zertifikats? Ich habe das Wildcard-Zertifikat für meine Domain rausgenommen, da sich dieses laut Kundenservice nicht automatisch verlängert. Für diese Subdomain selbst kann ich aber kein über das CCP kein Zertifikat beantragen, da ja kein Webspace damit zugeordnet wird, sondern nur ein DNS-Eintrag existiert. Wie habt ihr das gelöst, sodass es sich automatisch verlängert?


    Fragen über Fragen... :)


    Vielen Dank für eure Hilfe.


    LG
    pluto

  • Sobald du eine eigene Domain abseits der MyFritz-Adresse in der Fritzbox nutzen möchtest, kann die Fritzbox dafür selber kein Zertifikat beantragen (keine Ahnung wieso, technisch eigentlich kein Problem).


    Deine Lösung mit dem Zertifikat über das CCP klappt natürlich nicht. Wie soll das Zertifikat denn von deinem Webhosting auf magische Art und Weise auf deine Fritzbox kommen? Sobald du einen DNS-Eintrag erstellst, der nicht auf dein Webhosting zeigt, hat dein Webhosting mit dieser Domain nichts mehr zu tun.


    Wenn du unbedingt ein Zertifikat für deine eigene Domain auf der Fritzbox haben möchtest, könntest du z.B. mit https://www.win-acme.com und der DNS-Challenge ein Zertifikat beantragen und dann manuell in der Fritzbox importieren. Jedoch musst du das alle 90 Tage manuell wiederholen.

    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*

    Gefällt mir 2 Danke 1
  • Hallo Virinum,


    danke für die Rückmeldung. Das verstehe ich :)


    Ich würde dann ohnehin nur noch Variante 2 weiter verfolgen, es also mit dem DynDNS und dem eigenen Webspace versuchen. Auch da würde es so sein, dass ich das Zertifikat selbst beantragen / verlängern muss?


    Danke :)

  • Ich verstehe das so, dass nicht die Fritzbox das freigegebene Gerät ist. Wenn das Gerät einen ACME Client hat oder man einen installieren kann, dann wäre das die naheliegendste Möglichkeit. Der Name, auf den das Zertifikat ausgestellt werden muss, ist die Subdomain mit dem CNAME, nicht die MyFritz-Adresse. Der Browser erfährt gar nichts von der MyFritz-Adresse. Er löst die Subdomain auf und bekommt eine IP-Adresse. Deswegen ist es auch praktisch kein Unterschied, ob man das mit CNAME oder direkt per API mit A- oder AAAA-Record macht.


    Wenn man es sich einfach machen möchte, kann man die Subdomain mit Zertifikat im Webspace einrichten, um von dort per HTTP-Redirect auf die MyFritz-Adresse weiterzuleiten, oder die MyFritz-Adresse als alleinigen Inhalt eines Frames im Webspace ablegen. Beides setzt aber voraus, dass der Aufruf der MyFritz-Adresse keinen Zertifikatsfehler produziert. Dazu muss das freigegebene Gerät ein Zertifikat z.B. von Letsencrypt für die MyFritz Adresse haben, kein selbstsigniertes. Die Fehlermeldung oben sieht so aus, als wäre das nicht der Fall. Wenn man sich darum noch kümmern muss, kann man es auch gleich mit der richtigen Domain machen.

  • Ich würde gerne die Myfritz-Lösung umgehen, ich versuche es mal mit dem API-Skript.


    Richtig, das freizugebende Gerät wäre ein Raspberry Pi. Es wäre aber doch so, dass, wenn sich die IP ändert (ich spreche jetzt von der API-Lösung und einem A-Record auf meine dynamische IP des ISP), doch auch das Zertifikat erneuert werden müsste, oder? Zertifikat und IP passen dann ja nicht mehr zusammen?

  • Der DNS-Teil ist nicht das Problem und der Wechsel von CNAME+MyFritz einerseits zur "API-Lösung" andererseits ändert nichts an der Zertifikatssituation. Der Raspberry Pi braucht ein Zertifikat für die Domain, mit der er angesprochen werden soll. Zertifikate werden auf Domainnamen ausgestellt. Die IP-Adresse, und ob der Browser die über einen CNAME und einen A-Record oder direkt über einen A-Record erfährt, spielt für das Zertifikat keine Rolle. Du brauchst einen ACME-Client für den Raspberry Pi und beantragst darüber ein Zertifikat für deine Subdomain und installierst das in dem Server auf dem Raspberry Pi. Weil das Zertifikat spätestens nach drei Monaten erneuert werden muss, sollte der ganze Vorgang automatisch laufen, sonst wirst du die Erneuerung früher oder später vergessen.

  • Verstehe. Aber ggf. lässt sich da etwas über einen Cronjob auf dem RPI automatisieren, ich schaue mal.


    Eine andere Frage die ich noch zur Fritzbox/API-Lösung hätte: Habt ihr dazu die TTL im CCP angepasst? Der Wert von 24h (86400) ist da doch etwas schwierig, oder?

  • Ok, ich mache langsam Fortschritte:


    * DynDNS-Skript funktioniert einwandfrei.

    * Ich habe eine andere Domain gewählt, bei der HSTS nicht aktiviert ist, sodass ich die Zertifikatsmeldung wegklicken kann
    * Nun erhalte ich aber nach dem Ignorieren der Warnung diese Seite:


    SCR-20230814-kxpj.jpeg


    Wie kann das sein, bzw. was mache ich falsch? Wenn ich die IP selbst aufrufe (die ich per A-Record ja eingetragen habe) erscheint die Seite der Frizbox...?


    Das Zertifikat ist auch ein "PLESK"-Zertifkat...leitet er doch nicht richtig weiter?

  • Die DNS-Konstruktion mit dem CNAME war in Ordnung. Mach dir keine unnötigen Probleme, besonders nicht wenn andere sie lösen sollen.


    Edit: Was verwirrt dich an der Antwort? Ich habe zweimal erklärt, dass der CNAME auf den MyFritz-DynDNS nicht dein Problem ist, aber du baust dir dein DynDNS trotzdem selbst und das liefert dir eine falsche Adresse. Deinem eigentlichen Ziel bringt dich das nicht näher, und das hätte es selbst dann nicht, wenn es funktioniert hätte.

  • Entschuldige bitte.


    Ich gehe dann den Weg mit der myFritz-Variante weiter.


    Ich wundere mich jedoch nur, dass die CNAME-Weiterleitung ein PLESK-Zertifikat ausweist, und ich eine Seite von Netcup als Ziel erhalte (siehe letzter Post). Der Tracert zeigt aber eindeutig auf meine FB-IP. Das wäre behoben, wenn der RPI ein SSL-Zertifikat für die Domain beantragen würde...?


    Ich denke, dass mein Vorhaben nicht umsetzbar ist. U.a. habe ich gelesen, dass ich bei der CNAME-Weiterleitung keine Ports angeben kann, somit wäre mein RPI ja nicht von außen über die Domain erreichbar.


    Sei es drum. Dennoch danke für die freundliche Hilfe hier.

  • Du kannst weder mit dem CNAME noch mit einem A-Record Ports angeben. HTTP(S) unterstützt dummerweise keine SRV-Records, sonst ginge das damit. Entweder wirst du den Port in die URL schreiben müssen oder du verwendest den Standardport 443. Eine Alternative könnte sein, einen Reverse Proxy aufzusetzen, aber dafür wäre ein VPS besser geeignet als ein Webhostingpaket.


    Leite Port 443 in der Fritzbox auf den Webserver des Raspberry Pi weiter und schau, ob du per IP eine Verbindung von außen, z.B. vom Handy ohne WLAN, zum Webserver bekommst. Den Zertifikatsfehler ignorierst du erstmal. Bis das klappt, ist alles andere egal. Wenn du soweit gekommen bist, kannst du dir aussuchen, wie du deinen Domainnamen mit der IP-Adresse verknüpfst: Einfach über den CNAME mit dem funktionierenden MyFritz DynDNS oder mit dem eigenen DynDNS Skript. Wenn du dann von außen über deinen Domainnamen eine Verbindung mit deinem Pi Webserver bekommst, gibt es immer noch einen Zertifikatsfehler, und darum kümmerst du dich dann. Und wenn alles funktioniert und automatisiert ist, dann kannst du HSTS einschalten, keine Sekunde vorher.

  • Ich wundere mich jedoch nur, dass die CNAME-Weiterleitung ein PLESK-Zertifikat ausweist, und ich eine Seite von Netcup als Ziel erhalte (siehe letzter Post). Der Tracert zeigt aber eindeutig auf meine FB-IP. Das wäre behoben, wenn der RPI ein SSL-Zertifikat für die Domain beantragen würde...?

    klingt für mich nach einem Cache Problem, wenn du im Browser noch im Webhosting landest, im Tracert aber die korrekte Zuhause-IP zurückgegeben wird.


    Im anderen Browser bzw. privaten Tab mal getestet?


    danach: für die Zertifikatserstellung direkt am Raspi kann ich den acme.sh Client empfehlen. Bietet auch eine Unterstützung für die Netcup-DNS-API, funzt 1a.

  • Olivetti wo genau meinst du? In der Netcup DNS-GUI ist der Punkt nicht erforderlich und wird intern in den Zone-Files selbst ergänzt. Bei falscher DNS-Config würde ja auch tracert nicht die korrekte IP zurückgeben.


    ...oder ich verstehe deinen Beitrag einfach falsch und du meinst etwas ganz anderes. :)