← DNS RecordsRecord Type / Address
A Record
Maps a hostname to an IPv4 address. The most fundamental DNS record — the final answer that tells clients where to connect.
Overview
The Address Record
The A record (Address record) is the most queried record type on the internet. It provides the direct mapping from a human-readable hostname to the 32-bit IPv4 address that routers use to deliver packets. Every time a browser resolves a domain name, it is ultimately seeking one or more A records.
Multiple A records for the same hostname enable round-robin load balancing — resolvers return the full set, and clients typically try them in order or randomly. This is a simple, DNS-native form of traffic distribution with no external infrastructure required.
- Can be published at the zone apex (
@), unlike CNAME - Multiple A records on the same name = DNS round-robin
- TTL controls cache duration — lower TTL before planned IP changes
- Wildcards (
*.example.com) match any undefined subdomain - DNSSEC signs A records with RRSIG records for integrity validation
; Syntax
; Name [TTL] IN A IPv4-address
; Zone apex
@ 3600 IN A 203.0.113.42
; Subdomain
www 3600 IN A 203.0.113.42
mail 3600 IN A 203.0.113.50
; Multiple A records (round-robin)
api 60 IN A 203.0.113.10
api 60 IN A 203.0.113.11
api 60 IN A 203.0.113.12
; Wildcard
* 3600 IN A 203.0.113.42
Lower TTL Before IP ChangesThe default propagation window is your current TTL. If your A record has TTL=86400 (24h), change it to 300s a day before migrating IPs — otherwise caches will serve the old IP for up to 24 hours after the change.
Diagnostics
Querying A Records
Basic A record lookup
# Query A record
dig thedns.guru A +short
# With full answer section
dig thedns.guru A
# Force specific resolver
dig thedns.guru A @1.1.1.1
dig thedns.guru A @8.8.8.8
# Check TTL remaining
dig thedns.guru A | grep -A2 "ANSWER"
Trace resolution path
# Trace from root to authoritative
dig thedns.guru A +trace
# Show all servers in chain
dig thedns.guru A +trace +additional
# Query authoritative directly
# (bypass resolver cache)
dig thedns.guru A +norecurse \
@$(dig thedns.guru NS +short | head -1)
Check multiple resolvers
# Verify consistent answers
for ns in 1.1.1.1 8.8.8.8 9.9.9.9; do
echo -n "$ns: "
dig thedns.guru A @$ns +short
done
# Discrepancies = propagation lag
# or possible hijacking
Reverse lookup from result
# Get A record then reverse-verify
IP=$(dig thedns.guru A +short)
echo "IP: $IP"
# PTR lookup for that IP
dig -x $IP +short
# Matching forward and reverse
# = good mail server hygiene