Heho, I am currently doing some measurement work related to DNS delegation. In this work, we initially decided to exclude names listed in NS that only contain a CNAME, following RFC2181 Sec. 10.3., which--as far as I can see--has not been updated, stating:
10.3. MX and NS records The domain name used as the value of a NS resource record, or part of the value of a MX resource record must not be an alias. Not only is the specification clear on this point, but using an alias in either of these positions neither works as well as might be hoped, nor well fulfills the ambition that may have led to this approach. This domain name must have as its value one or more address records. Currently those will be A records, however in the future other record types giving addressing information may be acceptable. It can also have other RRs, but never a CNAME RR. The reviewers now claimed that this is, indeed, no longer true, which made me setup a test-case; Indeed, I find that even though a default unbound 1.15.0 does _not_ resolve a CNAME based delegation, major other operators (q1/q8, my local ISP) indeed _do_ resolve these names. (Testcase below.) I also ran some quick atlas measurements, using probe resolvers, once with resolve-on-probe and once with defaults: Resolve on probe: https://atlas.ripe.net/frames/measurements/44061850/ data/RIPE-Atlas-measurement-44061850.json resolving: 263 not resolving: 180 Default: https://atlas.ripe.net/frames/measurements/44061849/ data/RIPE-Atlas-measurement-44061849.json resolving: 264 not resolving: 179 In both cases only counting unique configured resolvers, i.e., +- some noise for 1918/::1 et al. Is there something I missed/should CNAME in NS be considered valid now? I will take a look at the prevalence of CNAME in NS (but crunching the data takes some more time). However, it seems odd that RFC2181 and operational practice seem to diverge here. With best regards, Tobias --- Test case: RR to resolve (A/AAAA): www.dns-test-cname.wybt.net, which is: www.dns-test-cname.wybt.net. IN A 195.191.197.4 www.dns-test-cname.wybt.net. IN AAAA 2a06:d1c0:dead:1::4 dns-test-cname.wybt.net. IN NS authns.dns-test.wybt.net. dns-test-cname.wybt.net. IN CNAME authns.dns-test2.wybt.net. authns.dns-test2.wybt.net. IN A 195.191.197.27 authns.dns-test2.wybt.net. IN AAAA 2a06:d1c0:dead:1::27 With: dns-auth-test.wybt.net. IN A 195.191.197.25 dns-auth-test.wybt.net. IN AAAA 2a06:d1c0:dead:1::25 dns-auth-test2.wybt.net. IN A 195.191.197.25 dns-auth-test2.wybt.net. IN AAAA 2a06:d1c0:dead:1::25 dns-auth-test3.wybt.net. IN A 195.191.197.25 dns-auth-test3.wybt.net. IN AAAA 2a06:d1c0:dead:1::25 wybt.net, dns-test.wybt.net and dns-test2.wybt.net, dns-test-cname.wybt.net are all on different machines: wybt.net. IN NS robotns2.second-ns.de. wybt.net. IN NS robotns3.second-ns.com. wybt.net. IN NS dns.aperture-labs.org. wybt.net. IN NS dns2.aperture-labs.org. wybt.net. IN NS ns1.first-ns.de. dns-test.wybt.net. IN NS dns-auth-test.wybt.net. dns-test2.wybt.net. IN NS dns-auth-test2.wybt.net. dns-test-cname.wybt.net. IN NS authns.dns-test.wybt.net. dns-test-cname.wybt.net. IN NS authns.dns-test.wybt.net. dns-test-cname.wybt.net. IN CNAME authns.dns-test2.wybt.net. authns.dns-test2.wybt.net. IN A 195.191.197.27 authns.dns-test2.wybt.net. IN AAAA 2a06:d1c0:dead:1::27 _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop