SOA record

A Start of Authority record (abbreviated as SOA record) is a type of resource record in the Domain Name System (DNS) containing administrative information about the zone, especially regarding zone transfers. The SOA record format is specified in RFC 1035.[1]

Background

Normally DNS name servers are set up in clusters. The database within each cluster is synchronized through zone transfers. The SOA record for a zone contains data to control the zone transfer. This is the serial number and different timespans.

It also contains the email address of the responsible person for this zone, as well as the name of the primary master name server. Usually the SOA record is located at the top of the zone. A zone without a SOA record does not conform to the standard required by RFC 1035.

Structure

name
name of the zone
IN
zone class (usually IN for internet)
SOA
abbreviation for Start of Authority
MNAME
Primary master name server for this zone
RNAME
Email address of the administrator responsible for this zone. (As usual, the email address is encoded as a name. The part of the email address before the @ becomes the first label of the name; the domain name after the @ becomes the rest of the name. In zone-file format, dots in labels are escaped with backslashes; thus the email address john.doe@example.com would be represented in a zone file as john\.doe.example.com.)
SERIAL
Serial number for this zone. If a secondary name server slaved to this one observes an increase in this number, the slave will assume that the zone has been updated and initiate a zone transfer.
REFRESH
number of seconds after which secondary name servers should query the master for the SOA record, to detect zone changes. Recommendation for small and stable zones:[4] 86400 seconds (24 hours).
RETRY
number of seconds after which secondary name servers should retry to request the serial number from the master if the master does not respond. It must be less than Refresh. Recommendation for small and stable zones:[4] 7200 seconds (2 hours).
EXPIRE
number of seconds after which secondary name servers should stop answering request for this zone if the master does not respond. This value must be bigger than the sum of Refresh and Retry. Recommendation for small and stable zones:[4] 3600000 seconds (1000 hours).
TTL, a.k.a. MINIMUM
Time to live for purposes of negative caching. Recommendation for small and stable zones:[4] 1800 seconds (30 min). Originally this field had the meaning of a minimum TTL value for resource records in this zone; it was changed to its current meaning by RFC 2308.[5]

Sample SOA record in BIND syntax

Sample SOA record for example.org

$TTL 86400
@   IN  SOA     ns.icann.org. noc.dns.icann.org. (
        2020080302  ;Serial
        7200        ;Refresh
        3600        ;Retry
        1209600     ;Expire
        3600        ;Minimum TTL
)

Serial number changes

Several methods have been established for updates to the SERIAL field of a zone's SOA record:

  • The serial number begins at 1, and is simply incremented at every change.
  • The serial number contains the date of the last change (in ISO 8601 basic format) followed by a two-digit counter (e.g. 2017031405 = the fifth change dated March 14, 2017). This method is recommended in RFC 1912.[6]
  • The serial number is the time of last modification to the zone's data file expressed as the number of seconds since the UNIX epoch. This method is used by default in the djbdns suite.[7] Although it uses a 32-bit counter, it is not susceptible to the year 2038 problem due to the effect of serial number arithmetic.
gollark: You should demand RX580s instead.
gollark: I've got one with a Pentium 4.
gollark: My mum has a laptop with a Core 2 Duo from about 2009. Somehow it is still going.
gollark: <@229624651314233346> Nothing.
gollark: ***PRAISE ADVANCED MICRO DEVICES***

References

  1. "RFC 1035 — Domain names - implementation and specification". November 1987. Retrieved 2017-12-28.
  2. "RFC 2136 — Dynamic Updates in the Domain Name System (DNS UPDATE)". April 1997. Retrieved 2017-12-28.
  3. "RFC 1996 — A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)". August 1996. Retrieved 2017-12-28.
  4. "RIPE 203 — Recommendations for DNS SOA Values". 1999-06-07. Retrieved 2017-12-28. These recommendations are aimed at small and stable DNS zones.
  5. "RFC 2308 — Negative Caching of DNS Queries (DNS NCACHE)". March 1998. Retrieved 2017-12-28.
  6. "RFC 1912 — Common DNS Operational and Configuration Errors". February 1996. Retrieved 2017-12-28.
  7. https://cr.yp.to/djbdns/run-server-bind.html
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.