← Lab Notes
July 2, 2026 homelabnetworkingdns

Networking Basics #2: DNS — How breadtoasting.com Actually Resolves

Dive into the intricacies of DNS with `breadtoasting.com` as a real-world example. Learn about record types, TTLs, and how Cloudflare enhances privacy.


Overview

In part 2 of our networking basics series, we dive into how breadtoasting.com resolves. We'll cover the intricacies of DNS, including record types, TTLs, and the role of cloudflare tunnels in enhancing privacy.

sequenceDiagram
  participant C as Your Device
  participant R as Resolver
  participant Ro as Root
  participant T as com TLD
  participant A as Authoritative
  C->>R: breadtoasting.com
  R->>Ro: Where is com
  Ro->>R: Ask the com servers
  R->>T: Where is breadtoasting.com
  T->>R: Ask the authoritative servers
  R->>A: breadtoasting.com
  A->>R: The address
  R->>C: The address

Background

When someone types breadtoasting.com into their browser or command line, a resolver (often provided by an ISP) performs a series of queries to resolve the domain name to an IP address. The journey from the root servers to our Cloudflare nameservers is crucial for understanding how this process works in practice.

How It Works

Root Servers and TLD Nameservers

When you type breadtoasting.com, your device's resolver starts by querying a root server, which points it towards the .com top-level domain (TLD) nameserver. From there, the query is forwarded to Cloudflare’s authoritative nameservers.

Cloudflare Nameservers

Our domain (breadtoasting.com) is hosted on Cloudflare, and our DNS records are managed through their service. This setup provides several benefits, including enhanced security and privacy features.

Record Types

A Records (IPv4)

These records map a domain name to an IPv4 address. For example:

@       IN      A       192.0.2.1

AAAA Records (IPv6)

These records do the same for IPv6 addresses, though they are less common in our setup:

@       IN      AAAA    2001:db8::1

CNAME Records (Canonical Name)

CNAME records alias one domain to another. For instance, draw.breadtoasting.com and support.breadtoasting.com are proxied through Cloudflare tunnels:

draw     IN      CNAME   breadtoasting.com.
support  IN      CNAME   breadtoasting.com.

MX Records (Mail Exchange)

These records specify mail servers for the domain. For example, if we had a mail server mail.breadtoasting.com:

@       IN      MX      10 mail.breadtoasting.com.

TXT Records (Text)

TXT records are used for verification and SPF (Sender Policy Framework) policies. An example of a verification TXT record might be:

@       IN      TXT     "v=spf1 include:_spf.google.com -all"

TTLs (Time to Live)

TTL is the duration in seconds that resolvers cache DNS records before querying again. Low TTL values ensure quick propagation of changes but increase query load.

@       IN      A       192.0.2.1   ; TTL = 3600 seconds

Split Horizon

In our lab setup, internal and external DNS resolutions are handled differently to optimize traffic flow:

  • Internal Resolution: Devices within the local network can resolve breadtoasting.com directly to an IP address like 192.168.1.x.
  • External Resolution: Public queries always return Cloudflare's IP addresses, ensuring privacy and security.

Debugging Tools

dig

The dig command is a powerful tool for querying DNS records:

dig breadtoasting.com

dig +trace

This option provides a detailed trace of the query process:

dig +trace breadtoasting.com

nslookup

Another useful tool, though less flexible than dig:

nslookup breadtoasting.com

Results

By using Cloudflare for DNS management, we achieve several benefits:

  • Enhanced privacy: Public queries resolve to Cloudflare's IP addresses.
  • Security: Cloudflare provides DDoS protection and other security features.

Lessons Learned

  1. DNS Records Matter: Understanding the different types of records (A, AAAA, CNAME, MX, TXT) is crucial for managing a domain effectively.
  2. TTL Management: Balancing TTL values to ensure quick propagation while minimizing unnecessary queries.
  3. Split Horizon: Configuring internal and external DNS resolutions differently can optimize traffic flow.

By leveraging these tools and concepts, we can better manage our homelab's DNS setup and enhance its security and performance.

Was this useful?