DNS is one of those pieces of infrastructure you only notice when it breaks. In this lab we crack it open with dig: you’ll see a real name-to-IP resolution, the full trace from the root servers down to the authoritative one, the record types that describe a domain (A, AAAA, MX, NS, TXT) and, at the end, your own recursive resolver validating DNSSEC and serving from cache.
If you work with containers, DNS shows up constantly, which is why this pairs well with our Portainer on Docker Compose lab the guides in the Tools category, and the rest of our hands-on labs. To go deeper into the original specification, the canonical reference is RFC 1035, for a visual primer see Cloudflare’s learning center, and the official list of root servers at IANA.
FAQ
What is DNS?
DNS (the Domain Name System) is the Internet's phone book: it translates human-readable domain names like jacar.es into the IP addresses machines need to connect. Without it you'd have to memorize numeric addresses for every service.
What is the difference between a recursive resolver and an authoritative server?
The recursive resolver (your router's, your ISP's, or a public one like 1.1.1.1) walks the hierarchy for you and caches the answer. The authoritative server is a zone's source of truth: it publishes the domain's original records and relies on no cache.
What is DNSSEC for?
DNSSEC adds a chain of cryptographic signatures from the root that proves a DNS answer wasn't tampered with in transit. A validating resolver like unbound checks those signatures and marks the answer with the 'ad' (Authenticated Data) flag when they check out.