Information about domains in the DNS database is stored in zone files. A zone file consists of directives and resource records. Directives tell the nameserver to perform tasks or apply special settings to the zone. Resource records define the parameters of the zone and store host information. Directives are optional, but resource records are required.
Resource record fields
A resource record has the following fields (some fields are optional, depending on the Type):
Name
: The domain name or IP addressTTL
: Time to live, maximum time a record is cached before checking for a newer oneClass
: Always IN for InternetType
: Record typeData
: Varies with record type
Most commonly used DNS resource record types
More than 30 types of resource records exist. The more common ones are:
A
: IPv4 addressCNAME
: Canonical name or aliasMX
: Mail exchange, specifies the destination for mail addressed to the domainNS
: Nameserver, specifies the system that provides DNS records for the domainPTR
: Maps an IP address to a domain name for reverse name resolutionSOA
: Start of authority, designates the start of a zone
The following is an example of a zone file /etc/named.conf
:
$TTL 86400 ; 1 day example.com IN SOA dns.example.com. root@example.com. ( 57 ; serial 28800 ; refresh (8 hours) 7200 ; retry (2 hours) 2419200 ; expire (4 weeks) 86400 ; minimum (1 day) ) IN NS dns.example.com. dns IN A 192.0.2.1 example.com IN A 192.0.2.1 host01 IN A 192.0.2.101 host02 IN A 192.0.2.102 host03 IN A 192.0.2.103
The $TTL entry is a directive that defines the default time to live for all resource records in the zone. Each resource record can have a TTL value, which overrides this global directive.
The next line in the example is the SOA record. All zone files must have one SOA record. The following information is included in the SOA record:
example.com
: The name of the domaindns.example.com
.: The FQDN of the nameserverroot@example.com
email address of the user who is responsible for the zoneserial
: A numerical value that is incremented each time the zone file is altered to indicate when it is time for the named service to reload the zonerefresh
: The elapsed time after which the primary nameserver notifies secondary nameservers to refresh their databaseretry
: The time to wait after which a refresh fails before trying to refresh againexpire
: The time after which the zone is no longer authoritative and the root nameservers must be queriedminimum
: The amount of that time that other nameservers cache the zone’s information.
The NS (Nameserver) record announces authoritative nameservers for a particular zone by using the format:
IN NS dns.example.com.
The A (Address) records specify the IP address to be assigned to a name by using the format:
hostname IN A IP-address