[dns-operations] DNSSEC and ANY query
Mark Pettit
mark at pettit.org
Tue Oct 4 19:43:48 UTC 2011
Hi, DNS folks.
I've recently noticed a difference in behavior between how BIND handles ANY queries for records with both A and AAAA records, and how Phreebird handles them. I'm curious if either is wrong, and what the spec says, so I thought I'd ask here.
First, here's how BIND handles an ANY query when the record in question contains both A records and AAAA records:
========================================================================
$ dig +dnssec www.isc.org. any
; <<>> DiG 9.6.2-RedHat-9.6.2-0.BH <<>> +dnssec www.isc.org. any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3702
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 5, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;www.isc.org. IN ANY
;; ANSWER SECTION:
www.isc.org. 3600 IN RRSIG NSEC 5 3 3600 20111031233230 20111001233230 21693 isc.org. oCAfaSUP2eeUsNFRyX2BNh92aKWvSL0F71PEW59NRs3rHqZ93Fj10lL6 MF4ZR157dKCAbzj4vIfZ1SkW+E9vxOqYz+FJCWEJq809USpuYFRcIVV5 0zP/+B0oYaYmw9gEPaXuYhwB3kWOTt6P2vYl8QHH4TkeTLeBR6rUPRGX sl8=
www.isc.org. 3600 IN NSEC www-dev.isc.org. A AAAA RRSIG NSEC
www.isc.org. 600 IN RRSIG AAAA 5 3 600 20111031233230 20111001233230 21693 isc.org. W3UIP7Q2OAgDVSILma/AODvbpH+dXD06s4RG+VensiDCOlAskTPHYnp1 MXxwMtPrkAGXHjNc0iNrsyG2fOV5rpiv6nBXFYsq867edUvDebGgpuYp pqDWgxPwC/UGt41DITzYcWdy0HpvJKYbMjq4Pfq3CnmUU/GINgtgyFyr u4A=
www.isc.org. 600 IN AAAA 2001:4f8:0:2::d
www.isc.org. 600 IN RRSIG A 5 3 600 20111031233230 20111001233230 21693 isc.org. r2ABZ9DJei4+9pNSVS40puQMGZ9rbH7NMa19xj/jZnRqMwxHxzQjpEKi A97xfJtYJGqDMyyaTwdKAsc8/3HG4XX8cnzSs/7AP6N4XJ9BrxOKp/P7 vQXxf8wiJV/jdGyxzmQL/CH+fuInIG2FJsa3Iohr/MCh4UZWYkOYKctF 7bA=
www.isc.org. 600 IN A 149.20.64.42
;; AUTHORITY SECTION:
isc.org. 1000 IN NS ams.sns-pb.isc.org.
isc.org. 1000 IN NS ns.isc.afilias-nst.info.
isc.org. 1000 IN NS ord.sns-pb.isc.org.
isc.org. 1000 IN NS sfba.sns-pb.isc.org.
isc.org. 7200 IN RRSIG NS 5 2 7200 20111031233230 20111001233230 21693 isc.org. nxYck7i6b45330OXV43MiA+hrV5SQNjFt2ZZmbYl/NkS2FGsDLgU/Oxk nat7Py+VvbBsncXzH8r1+vvB1vi1M1iCeIuzQ+Yfgkiuw0CFHIq2m7mN T/O9uGO67sPGXJ73Emfg3GGkt1sxLuoy5ZbupL1LbjV+yprDpgFCadAM yVI=
;; ADDITIONAL SECTION:
ord.sns-pb.isc.org. 7107 IN A 199.6.0.30
ord.sns-pb.isc.org. 7107 IN AAAA 2001:500:71::30
ord.sns-pb.isc.org. 7108 IN RRSIG A 5 4 7200 20111031233230 20111001233230 21693 isc.org. ZHRQ6RD/HEsXDXTGK5mdKYzv09/A4CwxdBtjYfWBdIbih+lQaHnFxEnx nnPXkPqPxaz/jCFzQgIDMswQ39Z0YyD6atoykCfTJUXj2mXT/87+culg Et55ihsORdGI+h/uC4dA94I1ZNNNkcIV0gGvGhvdBSkBmQ5GAncSR8EK Zwo=
ord.sns-pb.isc.org. 7108 IN RRSIG AAAA 5 4 7200 20111031233230 20111001233230 21693 isc.org. b4dtHqeURq6k5+n4kNrVfymeEE3G7hYFN/LRBjlP+yYNb8EFf+TjwiyC tiIH8IjO31W8mICyhFhYZQfL+yLLYC2ADMgLnwh/hlpxoXkun9O0tMqz xHgPDP89brqIiXuI5tRStD7gg5Y9vJQU2r8MQ6sb6ipTloMJQMdAu1Kj aok=
;; Query time: 84 msec
;; SERVER: 74.220.195.27#53(74.220.195.27)
;; WHEN: Tue Oct 4 13:37:30 2011
;; MSG SIZE rcvd: 1266
========================================================================
As you can see, BIND hands back an NSEC record, an A record, and an AAAA record, and an RRSIG for each of those. There's more stuff in the Authority and Additional section, but that's not relevant to my question.
Here's what I see from Phreebird 1.02:
========================================================================
$ dig +dnssec dnssec-test.yehoo.org. any
; <<>> DiG 9.6.2-RedHat-9.6.2-0.BH <<>> +dnssec dnssec-test.yehoo.org. any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31141
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;dnssec-test.yehoo.org. IN ANY
;; ANSWER SECTION:
dnssec-test.yehoo.org. 7200 IN RRSIG A 7 3 7200 20111031232342 20111003232342 47384 yehoo.org. u5tckz/oLlUeuQkQ/s2iAuMGpFD61Zhffxf+BTHZ0gAu7rN6ekx6wDNH qoZtdMvTjIg1hZJA9/FPQtHksONg6vQGTPxXgt3XpKiYsodZzetdARmO 3EdOvzD7k59VkwwocWjtmDAHR2zp9x97KpmglqPXBtsO/PaS23KEqX2w bl0=
dnssec-test.yehoo.org. 7200 IN AAAA 2001:4998:0:4::1005
dnssec-test.yehoo.org. 7200 IN A 66.163.165.151
;; AUTHORITY SECTION:
yehoo.org. 172800 IN NS nsdos3.dns.ukl.yahoo.com.
yehoo.org. 172800 IN NS nsdos2.dns.ukl.yahoo.com.
yehoo.org. 172800 IN RRSIG NS 7 2 172800 20111031200014 20111003200014 47384 yehoo.org. gh075sBA+8DozLx4kbxBx4RiSrQcWNR7iwoanSU0IdRPLXuRg9WeQJPC I6Unc2j8ZvoQlSpCe784q8ccaWjwqXR4V75TuTdLqTtu6srIrYpcn0g2 t0VNNuC5GhNin91ll7KkSlLtQAeezEVe8q7GhVNYnhEQWSLkch44dnvv 1uc=
;; ADDITIONAL SECTION:
nsdos2.dns.ukl.yahoo.com. 1800 IN A 217.12.8.29
nsdos3.dns.ukl.yahoo.com. 1800 IN A 217.12.8.30
;; Query time: 267 msec
;; SERVER: 74.220.195.27#53(74.220.195.27)
;; WHEN: Tue Oct 4 13:40:31 2011
;; MSG SIZE rcvd: 523
========================================================================
Phreebird hands back both the A and the AAAA record, but does not sign the AAAA record.
Which behavior is correct, or are they both correct?
--
perl -le '$"=$,, at _=(1)x4, at a=(0,4,5,4),map+($_<<=6)+=13, at _;for(0..3
){$_[$_]+=1<<$a[$_]if$_;$_[$_]+=$a[$_]}$_[3]+=10,print map chr, at _'
More information about the dns-operations
mailing list