is it DNS? wiki/Start here
Start

It was DNS. It is always DNS.

A hands-on DNS reference where the examples actually run (unless something really is wrong with DNS). The demo records live in a real public zone, example.isitdns.net, so you can paste nearly every command on these pages into your own terminal and get the same records back. A few examples need a newer dig or kdig, and some deliberately return an error rcode instead of a record. Naturally volatile values differ run to run: TTLs count down, DNSSEC signatures rotate.

Try it:

dig @1.1.1.1 +short txt.example.isitdns.net TXT
"It was DNS. It is always DNS."

That record is real, and so are the A, AAAA, CNAME, MX, SRV, and CAA records you meet in the walkthrough. They resolve for real, but every address is a documentation address (192.0.2.1 from RFC 5737, 2001:db8::1 from RFC 3849), so nothing routes anywhere.

Asks one resolver for one address. This is the whole of DNS in one line.

 dig @1.1.1.1 example.isitdns.net A
; <<>> DiG 9.20.11-0ubuntu0.2-Ubuntu <<>> @1.1.1.1 example.isitdns.net A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status:
NOERRORThe server had no complaint about the question.
, id: 36864
;; flags:
qrThis message is the answer coming back, not the question going out.
rdYou asked this server to go and find the answer for you.
raThis server says it is willing to go and find answers for you.
adThis server says it checked the signatures, and they held up.
; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;example.isitdns.net. IN
AYou asked for the IPv4 address this name points at.
;; ANSWER SECTION:
example.isitdns.net.
300How many seconds this answer can be reused before asking again. From a cache it is the time left, so it counts down.
IN A 192.0.2.1
;;
Query timeHow long this one lookup took, start to finish.
: 35 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Mon Sep 14 17:42:30 CDT 2026
;; MSG SIZE rcvd: 64

good: NOERROR, one A record, 192.0.2.1

bad: SERVFAIL, or any address that is not 192.0.2.1

run this query in the dig tool →

Three ways in#

Something is broken: the walkthroughs, in the order you should run them:

Learn by doing: guided lessons, one query at a time:

Look something up: the reference wiki, a page for every part of DNS:

  • The DNS wiki: read it in order to understand DNS from the ground up, or jump straight to what you need. Every section is indexed there.
  • The dig phonebook: every dig and nslookup command in the wiki on one page, sorted by what you are trying to see.

What's inside the wiki#

Throughout the wiki, claims link out to the RFC or vendor doc behind them, so this is a starting point, not the last word.

See also#