https://www.netmeister.org/blog/dns-rrs.html

rrs.png

Ok, the Domain Name System (DNS) is wild. We all know that. Nothing works without it, and when things go really funky and make no sense, chances are it's the DNS. Well, chances are somebody monkeyd around with /etc/hosts, but yeah.

Now of course you all know the common DNS Resource Records (RRs), right? You got your A, AAAA, CNAME, NS, MX, PTR, and... oh, right, TXT records. And sure, you're probably aware that there are more. But just how many more?

All in all, IANA has almost 100 record types assigned! A small number of them are reserved, some are experimental, and many are rarely, if ever, actually used in the wild. But what if you'd like to observe such records on the wire, make such queries and receive a response? Well, here's your answer:

I created a DNS zone dns.netmeister.org. that contains RRs for every RR type, each one named after the type and each one holding two additional TXT records, one noting the RR format, and one the purpose and originating RFC(s). This zone is available on GitHub, and is served live from panix.netmeister.org:

$ dig +nocmd +nocomments +noquestion +nostats +multiline soa dns.netmeister.org.
dns.netmeister.org.     2082 IN SOA panix.netmeister.org. jschauma.netmeister.org. (
                                2021071323 ; serial
                                3600       ; refresh (1 hour)
                                300        ; retry (5 minutes)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                3600       ; minimum (1 hour)
                                )
$

(If you run into errors or do not get the responses you expect -- perhaps because something on your local network is monkeying around with your queries -- try to dig or delv @panix.netmeister.org directly.)

Here, let's go through the RRs, shall we? (You can jump to any individual RR on this page via its respective "#<rr>" anchor.)

RRs from A to ZONEMD

A

Ok, no secrets or surprises here. Just an IPv4 address. But let's use this example to illustrate the convenience of this zone:

$ dig +short a a.dns.netmeister.org.
166.84.7.99
$ dig +short txt a.dns.netmeister.org.
"A 32-bit IPv4 host address. RFC882 (1983); RFC1035 (1987)"
"Format: a single dotted decimal quad IPv4 address"
$

RFCs: 882, 1035

AAAA

Also no surprises -- your regular old IPv6 address in colon-separated hextets:

$ dig +short aaaa aaaa.dns.netmeister.org.
2001:470:30:84:e276:63ff:fe72:3900
$ dig +short txt aaaa.dns.netmeister.org.
"Format: single a hexadecimal IPv6 address"
"A 128-bit IPv6 host address. RFC1884 (1995); RFC4291 (2006)"
$

RFCs: 1884, 4291

But... wait a second. Before there were AAAA records, there were...