19.3.3. Example Zone File
Seen individually, directives and resource records can be difficult to grasp. However, when placed together in a single file, they become easier to understand.
The following example shows a very basic zone file.
$ORIGIN example.com. $TTL 86400 @ IN SOA dns1.example.com. hostmaster.example.com. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day ; ; IN NS dns1.example.com. IN NS dns2.example.com. dns1 IN A 10.0.1.1 IN AAAA aaaa:bbbb::1 dns2 IN A 10.0.1.2 IN AAAA aaaa:bbbb::2 ; ; @ IN MX 10 mail.example.com. IN MX 20 mail2.example.com. mail IN A 10.0.1.5 IN AAAA aaaa:bbbb::5 mail2 IN A 10.0.1.6 IN AAAA aaaa:bbbb::6 ; ; ; This sample zone file illustrates sharing the same IP addresses ; for multiple services: ; services IN A 10.0.1.10 IN AAAA aaaa:bbbb::10 IN A 10.0.1.11 IN AAAA aaaa:bbbb::11 ftp IN CNAME services.example.com. www IN CNAME services.example.com. ; ;
In this example, standard directives and
SOA
values are used. The authoritative nameservers are set as dns1.example.com
and dns2.example.com
, which have A
records that tie them to 10.0.1.1
and 10.0.1.2
, respectively.
The email servers configured with the
MX
records point to mail
and mail2
via A
records. Since the mail
and mail2
names do not end in a trailing period (.
), the $ORIGIN
domain is placed after them, expanding them to mail.example.com
and mail2.example.com
. Through the related A
resource records, their IP addresses can be determined.
Services available at the standard names, such as
www.example.com
(WWW), are pointed at the appropriate servers using a CNAME
record.
This zone file would be called into service with a
zone
statement in the named.conf
similar to the following:
zone "example.com" IN { type master; file "example.com.zone"; allow-update { none; }; };