Zone File - File Format

File Format

The format of a zone file is defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1). This format was originally used by the Berkeley Internet Name Domain (BIND) software package, but has been widely adopted by other DNS server software - though some of them (e.g. NSD, PowerDNS) are using the zone files only as a starting point to compile them into database format, see also Microsoft DNS with Active Directory-database integration.

A zone file is a sequence of entries for resource records. Each line is a text description that defines a single resource record (RR). The description consists of several fields separated by white space (blanks, or tabulation characters). The first field is the domain name, called the owner of the record, but if left blank, defaults to the owner of the previous record. The domain name is followed by the time to live field, the record class, the record type, and one or possibly several fields of type-specific data.

The time-to-live field specifies the time after which a domain name client must discard the record and perform a new resolution operation to obtain fresh information. The record class indicates the namespace of the record's information. The most commonly used namespace is that of the Internet, indicated by parameter IN, but others exist and are in use, e.g., CHAOS. The type of the resource record is a short mnemonic for the type of information stored in the record and determines the number of parameters needed. The type also provides the name of each record. For example, an address record, having mnemonic A for IPv4 and AAAA for IPv6, maps the domain name in the first field to an IP address in the fourth field, and a mail exchanger record (type MX) specifies the Simple Mail Transfer Protocol (SMTP) mail host for a domain.

Resource records may occur in any order in a zone file. For formatting convenience, resource records may span several lines by enclosing in parentheses a set of parameters that spans several lines, but belongs to the same record. The file may contain comment text by preceding such text with a semicolon, either at the beginning of a line, or after the last field on any line, or on a blank line. Comments end at the end of a line. The zone file may contain any number of blank lines with or without comments.

The zone file may also contain various directives that are marked with a keyword starting with the dollar sign character. The most notable is the $ORIGIN keyword, which specifies the starting point for the zone in the DNS hierarchy. If this keyword is omitted from a zone file, the origin is inferred by the server software from the reference to the zone file in its server configuration.

An example of a zone file is the following:

$ORIGIN example.com. ; designates the start of this zone file in the namespace $TTL 1h ; default expiration time of all resource records without their own TTL value example.com. IN SOA ns.example.com. username.example.com. ( 2007120710 ; serial number of this zone file 1d ; slave refresh (1 day) 2h ; slave retry time in case of a problem (2 hours) 4w ; slave expiration time (4 weeks) 1h ; maximum caching time in case of failed lookups (1 hour) ) example.com. NS ns ; ns.example.com is a nameserver for example.com example.com. NS ns.somewhere.example. ; ns.somewhere.example is a backup nameserver for example.com example.com. MX 10 mail.example.com. ; mail.example.com is the mailserver for example.com @ MX 20 mail2.example.com. ; equivalent to above line, "@" represents zone origin @ MX 50 mail3 ; equivalent to above line, but using a relative host name example.com. A 192.0.2.1 ; IPv4 address for example.com AAAA 2001:db8:10::1 ; IPv6 address for example.com ns A 192.0.2.2 ; IPv4 address for ns.example.com AAAA 2001:db8:10::2 ; IPv6 address for ns.example.com www CNAME example.com. ; www.example.com is an alias for example.com wwwtest CNAME www ; wwwtest.example.com is another alias for www.example.com mail A 192.0.2.3 ; IPv4 address for mail.example.com, ; any MX record host must be an address record ; as explained in RFC 2181 (section 10.3) mail2 A 192.0.2.4 ; IPv4 address for mail2.example.com mail3 A 192.0.2.5 ; IPv4 address for mail3.example.com

As a minimum, the zone file must specify the Start of Authority (SOA) record with the name of the authoritative master nameserver for the zone and the email address of someone responsible for management of the nameserver. Some DNS server software, such as BIND, also requires at least one additional name server record. The email address in the SOA RR has the @ symbol replaced by a period. In the zone file, host names that do not end in a period are relative to the zone origin. For example, in the example above, www refers to www.example.com, and example.com. is example.com, and not example.com.example.com. Names ending with a full stop (or point) are said to be fully qualified domain names.

A zone file is referenced by the configuration file of the nameserver software such as bind, typically by a statement such as:

zone "example.com" { type master; file "/var/named/db.example.com"; };

Read more about this topic:  Zone File

Famous quotes containing the word file:

    I have been a soreheaded occupant of a file drawer labeled “Science Fiction” ... and I would like out, particularly since so many serious critics regularly mistake the drawer for a urinal.
    Kurt Vonnegut, Jr. (b. 1922)