Правила описанию “прямой” зоны DNS. Основные ресурсные записи.
Для описания “прямой” зоны DNS используются текстовый файл например, /db.stu. Файлы прямых зон, предназначены для проведения DNS-преобразования доменного имени в IP-адрес. Пример такого файла прямой зоны для приватной части корпоративной сети, домена “stu.”:
$ORIGIN .
stu 28800 IN SOA ns.stu. dnsmaster.stu. (
2005033100 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400 ; Time To Live
)
; авторитетне сервера имен для зоны
28800 IN NS ns.stu.
28800 IN NS ns1.stu.
; почтовый сервер обменник для данной зоны
28800 IN MX 10 stalker.stu.
28800 IN MX 20 cs.stu.
$ORIGIN stu.
; адреса серверов имен
ns IN A 192.168.0.10
ns1 IN A 192.168.0.14
; сервера
dragon IN A 192.168.0.17
auth IN CNAME dragon.stu.
cs IN A 192.168.0.14
stalker IN A 192.168.0.10
www IN CNAME stalker.stu.
mail IN CNAME stalker.stu.
www.docs IN CNAME cs.stu.
kid IN A 192.168.0.12
; рабочие станции
ie-21-7 IN A 192.168.3.40
Описание производиться согласно следующим правилам.
Первая строка – это макрос, говорящий, что все имена далее следуют непосредственно за доменом “точка”. Таким образом, для приватной сети мы используем имена в нашем приватном дереве относительно нашего собственного корня “точка”.
Первой записью всегда идет SOA (Start of Authority), в которой указывается имя зоны (“stu.”, или макрос @), TTL, т.е. время жизни этой записи, дальше – ключевые слова IN (Internet records) и SOA.
Далее следуют стандартные времена в секундах для данной зоны:
− Refresh – время, по истечении которого вторичные сервера должны обновить данные с первичных серверов (zone transfer);
− Retry – время, через которое вторичные сервера должны совершить повторную попытку обновления, если предыдущая попытка не удалась;
− Expire – время, через которое вторичные сервера должны выбросить запись о зоне и считать ее недоступной, если обновления не удались.
− TTL – стандартное время жизни записей из данной зоны для кеширующих серверов.
Следующая группа записей является так же обязательной и указывает на авторитетные сервера имен для данной зоны – записи типа NS. Для задания псевдонимов хостам используется запись CNAME (Canonical Name). Псевдонимы удобны для указания на стандартные сервисы, такие как www, mail, ftp, а так же для задания псевдонимов, используемых для создания виртуальных серверов (см. www, docs).
Запись типа A указывает соответствие между именем и адресом IP. В случае, если в файле зоны имеется несколько записей с одинаковым именем, но разными адресами.
Правила описанию “обратной” зоны DNS. Основные ресурсные записи.
Файлы обратных зон, предназначенные для проведения обратного DNS-преобразования, т.е. "IP-адрес в доменное имя". Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44 можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa, и тот вернёт соответствующее символьное имя. Обратный порядок записи частей IP-адреса объясняется тем, что в IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.
Обратная зона для приватных адресов 192.168.0.0/16:
$ORIGIN .
0.168.192.IN-ADDR.ARPA.
86400 IN SOA ns.stu. dnsmaster.stu. (
3600000)
86400 IN NS ns.stu.
86400 IN NS ns1.stu.
$ORIGIN 0.168.192.IN-ADDR.ARPA.
10 IN PTR stalker.stu.
14 IN PTR cs.stu.
17 IN PTR dragon.stu.
12 IN PTR kid.stu.
Обратная зона для публичных адресов 195.69.76.0/24 приведена ниже:
$ORIGIN .
76.69.195.IN-ADDR.ARPA. 86400 IN SOA ns.stu.cn.ua dnsmaster.stu.cn.ua (2004060200 86400 14400 3600000 345600 )
IN NS ns.stu.cn.ua.IN NS ns1.stu.cn.ua.
$ORIGIN 0.168.192.IN-ADDR.ARPA.
10 IN PTR stalker.stu.cn.ua.12 IN PTR kid.stu.cn.ua.
Отличие данной зоны от предыдущей опять же только в том, что она является публичной и должна делегироваться в соответствии с правилами выдачи и регистрации IP адресов.
В файле обратной зоны присутствует, конечно же, запись SOA, как минимум пара записей типа NS об официальных авторитетных серверах и записи типа PTR (Pointer), ставящие в соответствие адреса и имена.