The file that contains information about a 'Zone' (a DNS domain).

For instance there is a "" zonefile that holds information about where to look for all the * domains.

A Zone File can have some directives to the name server, which start on a line by themself and begin with a $, such as
$TTL n

which sets the default TTL for records that don't have one.

$ORIGIN domain

which specifies the domain to add to a record that doesn't have one.

A Zone file can also contain comments, which are lines that start with a semicolon.

Otherwise a zone file contains 'resource records' which are an optional name, an optional TTL, an optional class (The only one you'll ever use is IN for Internet, others exist such as CH for Chaos, but noone uses them), the resource record type and any parameters it requires.

If the name is omitted then the name of the previous record is used, if the TTL is omitted the default TTL (as specified by $TTL) is used, the default class can be specified in the name server configuration.

All zones must start with an SOA ResourceRecord.

Then come the individual entries
hostname (optional TTL) IN type arguments ; The single record can be given it's own TTL seperate from the defaulted SOA TTL

You can use a "@" to refer to the current zone instead of explicitly typing out a hostname.