Traefik samen met Technitium DNS, rfc2136 issues.

Pagina: 1
Acties:

  • witchdoc
  • Registratie: Juni 2000
  • Laatst online: 23:46
EDIT: Na 6uur kloten, toch maar een tnet postje maken om dan natuurlijk tijdens het maken van die post alles nog eens helemaal nakijken..
- DNSUPDATE_ZONES=mijndomein.tld <- niet vergeten :(
Het lijkt te werken, heb nu een wildcard van lets encrypt staging server.


Hopelijk heetf iemand hier ervaring met de combinatie van de 2 en daar bovenop rfc2136 voor de ACME challenge?

Ik krijg dit namelijk NIET aan de praat.

De DNS server is volledig uitgeklaard dus de fout moet bij Traefik liggen.

Hoe heb ik dit uitgeklaard:
Nieuwe technitium server, TSIG manueel ingesteld, dynamic update met ACL. Daarna manueel vanaf een PC getest:
code:
1
2
3
4
5
>nsupdate
> zone mijndomein.tld.
> key hmac-sha256:acme-traefik R-----mijnbase64key---4=
> update add _acme-challenge.test.mijndomein.tld.  60 TXT "hello"
> send
Hierna zie je in de Technituim logs dit geaccepteerd worden en wordt dit bevestig door een dig TXT van die _acme-challenge.test.mijndomein.tld
Daarna nog eens getest vanaf het IP adres van de traefik container met extra containertje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run --rm \
  --network container:traefik \
  -v /docker/traefik/tsig.key:/tsig.key:ro \
  debian:13-slim \
  bash -lc '
    export DEBIAN_FRONTEND=noninteractive
    apt-get update >/dev/null &&
    apt-get install -y bind9-dnsutils >/dev/null &&
    nsupdate -k /tsig.key <<EOF
server 10.11.22.33 53
zone mijndomein.tld
update add _acme-challenge.meertest.mijndomein.tld. 60 TXT "probe"
send
EOF
  '
Ook die TXT record zie je mooit updaten in de Technitium logs alsmede door een DIG van het TXT record.
Hier vond ik dat de ACME DNS challenge intern LEGO gebruikt
Hier vond ik dat LEGO inderdaad Technitium onderstaand als DNS challenge provider maar wordt ook gelijk vermeld dat RFC2136 "much better is compared to the HTTP API option from security perspective. Technitium recommends to use it in production over the HTTP API.".

Daar vind je dan de oplossing als volgt:
code:
1
2
3
4
5
DNSUPDATE_NAMESERVER=127.0.0.1 \
DNSUPDATE_TSIG_KEY=example.com \
DNSUPDATE_TSIG_ALGORITHM=hmac-sha256. \
DNSUPDATE_TSIG_SECRET=R-----mijnbase64key---4= \
lego --dns dnsupdate -d '*.example.com' -d example.com run
Vertaald naar docker-compose werd dat iets als:
code:
1
2
3
4
5
6
7
8
9
10
secrets:
  technitium-url:
    file: ./url.secret
    environment:      
      - DNSUPDATE_NAMESERVER=10.11.22.33:53
      - DNSUPDATE_TSIG_KEY=acme-traefik
      - DNSUPDATE_TSIG_ALGORITHM=hmac-sha256.
      #- DNSUPDATE_TSIG_SECRET=R-----mijnbase64key---4=
      - DNSUPDATE_TSIG_SECRET_FILE=/run/secrets/TSIG.key
      - DNSUPDATE_TIMEOUT=10s
Ergens anders vond ik ook nog RFC2136_* ipv die DNSUPDATE_* dus dat heb ik ook nog even geprobeerd.
ook heb ik hardcoded de key in docker-compose geprobeerd, ook als secret file, ook als mounted file, ook in het specifieke formaat dat die dingen in horen te komen.. niks werkt.

Bij deze dus de vraag of iemand dit gebruikt en eens een voorbeeld kan laten zien misschien?

[ Voor 5% gewijzigd door witchdoc op 24-04-2026 23:46 ]