What is an SOA record?
Reviewed by Prabath Thalangama · Last updated
The SOA (Start of Authority) record is the first record of every DNS zone. It names the primary name server and the administrator's mailbox, holds the zone's serial number, and sets the refresh, retry and expire timers secondary servers use, plus the TTL for negative answers. This lookup shows every field.
The serial number is how secondary name servers notice a change: they transfer the zone only when the serial on the primary is higher than theirs. Many providers manage it for you; on a self-hosted BIND server, forgetting to increase it is a classic reason changes don't appear.
The minimum field is the negative-caching TTL: how long resolvers remember that a name or record doesn't exist.
How do I check a zone's SOA record?
- Enter the domain (the zone apex), for example example.com.
- Check the serial after a change, and compare it across your name servers if you run secondaries.
How to read the results
- mname
- The primary name server for the zone.
- rname
- The administrator's mailbox, with the first dot standing for @: hostmaster.example.com means [email protected].
- serial
- Zone version. Commonly YYYYMMDDnn, such as 2026102301, though any increasing number works.
- refresh / retry / expire
- Seconds a secondary waits between checks, between retries after a failed check, and before it stops answering if the primary stays unreachable.
- minimum
- Negative-caching TTL in seconds.
Common SOA problems
Secondaries serve old records
The serial wasn't increased, or zone transfers to the secondaries are failing. Increase the serial, reload the zone, and compare SOA serials on each server.
dig @ns1.example.com example.com SOA +short
dig @ns2.example.com example.com SOA +shortNew record still returns NXDOMAIN
Resolvers cached the earlier 'does not exist' answer for up to the minimum value. Wait it out; keep the minimum at a few minutes to an hour.
Examples and command-line equivalents
SOA in a BIND zone file
@ IN SOA ns1.example.com. hostmaster.example.com. (
2026102301 ; serial
7200 ; refresh
3600 ; retry
1209600 ; expire
3600 ) ; minimum (negative TTL)Frequently asked questions
What SOA timer values are recommended?
Common values are refresh 7200, retry 3600, expire 1209600 (two weeks) and minimum 3600. Managed DNS providers set these for you and often ignore edits.
Does the serial need to be in date format?
No. It only has to increase. The YYYYMMDDnn format is a convention that makes the last change date easy to read.
Further reading
- Running BIND 9 as an Authoritative Server
- RFC 1035: SOA RDATA format
- RFC 2308: Negative Caching of DNS Queries
- Run a full Super Scan to check DNS, email, website and TLS for a domain at once.