Probleme mit ACME DNS-Challenge (traefik) und DynDNS mit CNAME Eintrag

  • Moin,


    ich bin gerade dabei meinen Home-Server über meine bei Netcup liegende Domain auch übers Internet verfügbar zu machen. Das hatte auch soweit geklappt, indem ich DNS-Einträge für die Subdomains angelegt habe, jeweils mit einem CNAME auf eine DynDNS Domain. Mit aktiver Portfreigabe im Router kann ich meine Dienste erreichen und abrufen.


    Jetzt wollte ich statt selbst signierten Zertifikaten in meinem ReverseProxy (traefik) über dessen integrierte ACME DNS-Challenge "richtige" Zertifikate erstellen. Dank Anbindung an die Netcup-API dachte ich, dass es straight forward sein sollte, jedoch stehe ich vor folgendem Problem. Der ACME Client erkennt meine Domain und findet den CNAME Eintrag. Aber wenn dann die Anfrage an die Netcup-API geht, wird die Domain meines DynDNS angebenen, wodurch Netcup die Änderung korrekterweise ablehnt.


    Hier die entsprechenden Logs: (hab die Domain-Namen geschwärzt)

    Code: traefik log
    [INFO] [sub.my-domain.de] acme: Preparing to solve DNS-01 lib=lego
    [INFO] Found CNAME entry for "_acme-challenge.sub.my-domain.de.": "xxxx.my-dyndns.de." lib=lego
    [WARN] [sub.my-domain.de] acme: cleaning up failed: netcup: error when sending the request: an error occurred during the action infoDnsRecords: [Status=error, StatusCode=5029, ShortMessage=Getting DNS records failed, LongMessage=Can not get DNS records for zone.  Domain not found.]  lib=lego
    Code: Netcup API-Log
    updateDnsRecords     Fehler     Update of DNS records failed     my-dyndns.de     Can not update (all) DNS records for zone. Domain not found.     5028

    Ich habe soweit die Standard Konfiguration von traefik genommen (provider auf netcup gesetzt und API-Daten übergeben).


    Da ich mich mit dem Thema nur oberflächlich auskenne: Ist dieses Verhalten so "korrekt", dass der ACME-Client probiert Einträge für die DynDNS-Domain zu ändern, statt für meine?

    Wenn ja, wie müsste ich mein Setup anpassen, dass es trotzdem funktioniert?


    VIele Grüße

    Max

  • Ist dieses Verhalten so "korrekt", dass der ACME-Client probiert Einträge für die DynDNS-Domain zu ändern, statt für meine?

    Ja, ich denke, das ist richtig. Die Zertifikatsprüfung wird später auch auf der dyndns Domain erfolgen, nicht auf der netcup Domain. Wenn du willst, dass die netcup Domain die Basis fürs Zertifikat ist, solltest du da mit A bzw. AAAA Einträgen arbeiten und die IP direkt eintragen. Da du ja die netcup API im Griff hast, sollte das ja möglich sein.

  • Muss es denn die DNS-Challenge sein? Die HTTP-Challenge wäre da doch viel einfacher.

    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*

  • Das ist ein Bug, denn eigentlich gilt der CNAME nur für genau den Namen und nicht für Subdomains davon. "_acme-challenge.sub.my-domain.de." gibt es nicht, wenn du dafür nicht auch einen CNAME Record angelegt hast. (Anders ist das bei DNAME Records, die es bei Netcup aber nicht gibt.) Du solltest die TXT Records für "_acme-challenge.sub.my-domain.de." trotz des CNAME für "sub.my-domain.de." bei Netcup anlegen können und ein korrekt funktionierender Client sollte die auflösen können.

  • Das ist ein Bug, denn eigentlich gilt der CNAME nur für genau den Namen und nicht für Subdomains davon. "_acme-challenge.sub.my-domain.de." gibt es nicht, wenn du dafür nicht auch einen CNAME Record angelegt hast.

    Stimmt. Vielleicht ist eine Wildcard aktiv? Das würde das Verhalten eventuell erklären.

    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*

  • Vielleicht ist eine Wildcard aktiv?

    Ja, wenn du einen CNAME für "*.my-domain.de." angelegt hast, gilt der auch für "_acme-challenge.sub.my-domain.de." Wenn dann dieser Name aber bei Netcup explizit angelegt wird, gilt ein Wildcard-CNAME nicht dafür.

  • Sorry für die späte Rückmeldung, hatte das Thema im Geist schon geschlossen.


    Http-Challenge geht leider nicht, da ich nicht Port 80/443 nutzen kann - da läuft bereits ein anderer Dienst und ich fand es einfacher die DNS Challenge zu nutzen, als beide parallel Setups miteinander zu integrieren.


    Und ja, um die verschiedenen Dienste im Home-Server getrennt anzusprechen, habe ich sub.my-domain.de und *.sub.my-domain.de als CNAME Einträge angelegt. Der angelegte Eintrag für die _acme-challenge überschreibt das aber korrekt - das hatte ich extra getestet.


    Es läuft jetzt über A Einträge mit eigenem DynDNS und der Netcup-API.