Файлы зон
Пример файла зоны example.org для основного сервера (располагающийся в файле /etc/namedb/example.org) имеет такой вид:
$TTL 3600
example.org. IN SOA ns1.example.org. admin.example.org. ( 5 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL
; DNS Servers @ IN NS ns1.example.org. @ IN NS ns2.example.org.
; Machine Names localhost IN A 127.0.0.1 ns1 IN A 3.2.1.2 ns2 IN A 3.2.1.3 mail IN A 3.2.1.10 @ IN A 3.2.1.30
; Aliases www IN CNAME @
; MX Record @ IN MX 10 mail.example.org.
Заметьте, что все имена хостов, оканчивающиеся на ``.'', задают полное имя, тогда как все имена без символа ``.'' на конце считаются заданными относительно origin. Например, www преобразуется в www.origin. В нашем воображаемом файле ориджином является example.org., так что www преобразуется в www.example.org.
Файл зоны имеет следующий формат:
recordname IN recordtype value
Наиболее часто используемые записи DNS:
SOA
начало зоны ответственности
NS
авторитативный сервер имен
A
адрес хоста
CNAME
каноническое имя для алиаса
MX
обмен почтой
PTR
указатель на доменное имя (используется в обратных зонах DNS)
example.org. IN SOA ns1.example.org. admin.example.org. ( 5 ; Serial 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hour 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 day
example.org.
имя домена, а также ориджин для этого файла зоны.
ns1.example.org.
основной/авторитативный сервер имён для этой зоны.
admin.example.org.
человек, отвечающий за эту зону, адрес электронной почты с подменённым символом ``@''. (admin@example.org> становится admin.example.org)
5
последовательный номер файла. При каждом изменении файла зоны это число должно увеличиваться. В настоящее время для нумерации многие администраторы предпочитают формат ггггммддвв. 2001041002 будет означать, что файл последний раз изменялся 10.04.2001, а последнее число 02 означает, что это была вторая модификация файла за день. Последовательный номер важен, так как он служит для того, чтобы вторичные серверы узнавали об обновлении зоны.
@ IN NS ns1.example.org.
Это NS-запись. Такие записи должны иметься для всех серверов имён, которые будут отвечать за зону. Символ @, используемый здесь, преобразуется в example.org. Этот символ @
соответствует ориджину.
localhost IN A 127.0.0.1 ns1 IN A 3.2.1.2 ns2 IN A 3.2.1.3 mail IN A 3.2.1.10 @ IN A 3.2.1.30
Записи типа A служат для обозначения имён машин. Как это видно выше, имя ns1.example.org будет преобразовано в 3.2.1.2. И снова здесь используется символ ориджина @, обозначая, что example.org будет преобразовано в 3.2.1.30.
www IN CNAME @
Записи с каноническими именами обычно используются для присвоения машинам псевдонимов. В этом примере www является псевдонимом для машины, соответствующей ориджину, то есть example.org (3.2.1.30). Записи CNAME могут использоваться для присвоения псевдонимов именам хостов или для использования одного имени несколькими машинами по очереди.
@ IN MX 10 mail.example.org.
MX-запись указывает, какие почтовые серверы отвечают за обработку входящей электронной почты для зоны. mail.example.org является именем почтового сервера, а 10 обозначает приоритет этого почтового сервера.
Можно иметь несколько почтовых серверов с приоритетами 3, 2 и 1. Почтовый сервер, пытающийся доставить почту для example.org, сначала попробует связаться с машиной, имеющий MX-запись с самым большим приоритетом, затем с приоритетом поменьше и так далее, до тех пор, пока почта не будет отправлена.
Для файлов зон in-addr.arpa (обратные записи DNS) используется тот же самый формат, отличающийся только использованием записей PTR вместо A или CNAME.
$TTL 3600
1.2.3.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. ( 5 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 3600 ) ; Minimum
@ IN NS ns1.example.org. @ IN NS ns2.example.org.
2 IN PTR ns1.example.org. 3 IN PTR ns2.example.org. 10 IN PTR mail.example.org. 30 IN PTR example.org.
В этом файле дается полное соответствие имён хостов IP-адресам в нашем описанном ранее вымышленном домене.