Penguin
Note: You are viewing an old revision of this page. View the current version.

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

For instance there is a ".co.nz" zonefile that holds information about where to look for all the *.co.nz 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 a SOA? (Start of Authority) Resource Record) which is

dom.ain IN SOA (

primary.name.server ; The name of the primary name server for this domain contact.email.address ; an email address of someone to contact about this zone, with the "@" replaced with a "." serialnumber ; the revision number of this zone, incrimented every time there is a change refresh.timeout ; after the refresh timeout has expired a secondary will check the primary for an updated serial retry.timeout ; if the refresh fails, it will retry after retry.timeout expire.timeout ; if a refresh/retries has failed after the expire timeout expires the secondary will become a LameServer negative TTL ; the TTL to use on the 'no such domain' reply )

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.

AddToMe