HxHippy

DNS Fundamentals

Understanding DNS hierarchy, record types, and how domain resolution works.

Last updated: 2025-01-15

Domain Name System (DNS)

DNS translates human-readable domain names into IP addresses that computers use to communicate.

DNS Hierarchy

                    Root (.)
                      |
         +------------+------------+
         |            |            |
       .com         .org         .net
         |
    +----+----+
    |         |
  google   amazon
    |
   www

How DNS Resolution Works

1. User types example.com
2. Browser checks cache
3. OS checks hosts file and cache
4. Query sent to recursive resolver
5. Resolver queries root server
6. Root refers to .com TLD
7. TLD refers to authoritative NS
8. Authoritative returns IP
9. Resolver caches and returns
10. Browser connects to IP

DNS Record Types

A Record (Address)

example.com.    IN    A    93.184.216.34

AAAA Record (IPv6)

example.com.    IN    AAAA    2606:2800:220:1:248:1893:25c8:1946

CNAME (Canonical Name)

www.example.com.    IN    CNAME    example.com.

MX Record (Mail Exchange)

example.com.    IN    MX    10    mail1.example.com.
example.com.    IN    MX    20    mail2.example.com.

TXT Record (Text)

example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

NS Record (Name Server)

example.com.    IN    NS    ns1.example.com.
example.com.    IN    NS    ns2.example.com.

PTR Record (Pointer - Reverse DNS)

34.216.184.93.in-addr.arpa.    IN    PTR    example.com.

SOA Record (Start of Authority)

example.com.    IN    SOA    ns1.example.com. admin.example.com. (
                              2025011501  ; Serial
                              3600        ; Refresh
                              1800        ; Retry
                              604800      ; Expire
                              86400 )     ; Minimum TTL

Querying DNS

# Basic lookup
dig example.com

# Specific record type
dig example.com MX
dig example.com TXT
dig example.com NS

# Query specific server
dig @8.8.8.8 example.com

# Short output
dig +short example.com

# Trace resolution path
dig +trace example.com

# Reverse lookup
dig -x 93.184.216.34

Common DNS Configurations

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com
options timeout:2 attempts:3

/etc/hosts

127.0.0.1       localhost
192.168.1.10    server.local server

TTL (Time To Live)

  • Controls how long records are cached
  • Lower TTL = faster propagation, more queries
  • Higher TTL = slower propagation, less queries
  • Typical values: 300 (5 min) to 86400 (1 day)

Best Practices

  1. Use multiple NS - At least 2 name servers
  2. Set appropriate TTL - Balance caching vs updates
  3. Document records - Keep zone file documented
  4. Monitor DNS - Check resolution regularly
  5. Secure DNS - Implement DNSSEC when possible
beginner DNS Updated 2025-01-15
  • dns
  • domain name system
  • dns records
  • name resolution
  • dns server