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