unbound replaces CNAME query with A query?

Christoph cm at appliedprivacy.net
Sun Mar 26 16:29:43 UTC 2023


Hi,

we are tracking/debugging [1][2] an issue that results in the failure of
certificate renewal (ACME DNS challenge).

If you ask unbound 1.17.1 the query shown below when it has an empty 
cache you get an NXDOAMIN reply, if you ask it again you will get the 
actual expected answer (NOERROR), PowerDNS Recursor does not have that 
issue.

Investigating the DNS traffic has also shown that
the stub -> unbound CNAME query results in an unbound -> authoritative A 
qtype query instead of a CNAME query.

Can you reproduce this issue and confirm this is unexpected?

thanks!
Christoph


dig _acme-challenge.bender-doh.applied-privacy.net CNAME

; <<>> DiG 9.18.13 <<>> _acme-challenge.bender-doh.applied-privacy.net CNAME
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 20502
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;_acme-challenge.bender-doh.applied-privacy.net.	IN CNAME

;; ANSWER SECTION:
_acme-challenge.bender-doh.applied-privacy.net.	86400 IN CNAME 
bender-doh.acme-dns-challenge.applied-privacy.net.

;; AUTHORITY SECTION:
acme-dns-challenge.applied-privacy.net.	300 IN SOA get.desec.io. 
get.desec.io. 2023035286 86400 3600 2419200 3600

;; Query time: 114 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; MSG SIZE  rcvd: 167


#############################
query (stub -> recursor):
#############################

Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1
Domain Name System (query)
     Transaction ID: 0x5016
     Flags: 0x0120 Standard query
     Questions: 1
     Answer RRs: 0
     Authority RRs: 0
     Additional RRs: 1
     Queries
         _acme-challenge.bender-doh.applied-privacy.net: type CNAME, 
class IN
             Name: _acme-challenge.bender-doh.applied-privacy.net
             [Name Length: 46]
             [Label Count: 4]
             Type: CNAME (Canonical NAME for an alias) (5)
             Class: IN (0x0001)
     Additional records


#############################
response (unbound -> stub)
#############################

Domain Name System (response)
     Transaction ID: 0x5016
     Flags: 0x81a3 Standard query response, No such name
     Questions: 1
     Answer RRs: 1
     Authority RRs: 1
     Additional RRs: 1
     Queries
         _acme-challenge.bender-doh.applied-privacy.net: type CNAME, 
class IN
             Name: _acme-challenge.bender-doh.applied-privacy.net
             [Name Length: 46]
             [Label Count: 4]
             Type: CNAME (Canonical NAME for an alias) (5)
             Class: IN (0x0001)
     Answers
     Authoritative nameservers
     Additional records


#############################
query: unbound -> authoritive  qtype: A? (instead of CNAME)
#############################

Internet Protocol Version 6, Dst: 2607:f740:e633:deec::2
User Datagram Protocol, Src Port: 37183, Dst Port: 53
Domain Name System (query)
     Transaction ID: 0x46ba
     Flags: 0x0010 Standard query
     Questions: 1
     Answer RRs: 0
     Authority RRs: 0
     Additional RRs: 1
     Queries
       _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT: type A, class IN
             Name: _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT
             [Name Length: 46]
             [Label Count: 4]
             Type: A (Host Address) (1)  <<<<<<<<<
             Class: IN (0x0001)
     Additional records
     [Response In: 2688]


#############################
query: authoritive -> unbound
#############################

Domain Name System (response)
     Transaction ID: 0x46ba
     Flags: 0x8403 Standard query response, No such name
     Questions: 1
     Answer RRs: 2
     Authority RRs: 6
     Additional RRs: 1
     Queries
         _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT: type A, class IN
             Name: _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT
             [Name Length: 46]
             [Label Count: 4]
             Type: A (Host Address) (1)
             Class: IN (0x0001)
     Answers
         _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT: type CNAME, 
class IN, cname bender-doh.acme-dns-challenge.apPLIED-privacY.neT
             Name: _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT
             Type: CNAME (Canonical NAME for an alias) (5)
             Class: IN (0x0001)
             Time to live: 86400 (1 day)
             Data length: 32
             CNAME: bender-doh.acme-dns-challenge.apPLIED-privacY.neT
         _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT: type RRSIG, 
class IN
             Name: _ACme-cHallENgE.BeNdEr-DOh.apPLIED-privacY.neT
             Type: RRSIG (Resource Record Signature) (46)
             Class: IN (0x0001)
             Time to live: 86400 (1 day)
             Data length: 103
             Type Covered: CNAME (Canonical NAME for an alias) (5)
             Algorithm: ECDSA Curve P-256 with SHA-256 (13)
             Labels: 4
             Original TTL: 86400 (1 day)
             Signature Expiration: Apr  6, 2023 02:00:00.000000000 CEST
             Signature Inception: Mar 16, 2023 01:00:00.000000000 CET
             Key Tag: 38828
             Signer's name: applied-privacy.net
             Signature: 
6ccde8920251717107ff82cbe6edbeda2723c8604f42d6914af643c2a84f5489db8e6972…
     Authoritative nameservers
     Additional records


################################
same query to a PowerDNS Recursor
results in the expected NOERROR
################################

dig @109.70.100.136 _acme-challenge.bender-doh.applied-privacy.net CNAME

; <<>> DiG 9.18.13 <<>> @109.70.100.136 
_acme-challenge.bender-doh.applied-privacy.net CNAME
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51569
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;_acme-challenge.bender-doh.applied-privacy.net.	IN CNAME

;; ANSWER SECTION:
_acme-challenge.bender-doh.applied-privacy.net.	86400 IN CNAME 
bender-doh.acme-dns-challenge.applied-privacy.net.

;; Query time: 40 msec
;; SERVER: 109.70.100.136#53(109.70.100.136) (UDP)
;; MSG SIZE  rcvd: 119


[1] https://mailman.powerdns.com/pipermail/pdns-users/2023-March/028156.html
[2] https://github.com/go-acme/lego/issues/1739


More information about the Unbound-users mailing list