Linux:Server:DNS: Как создавать обратные зоны в BIND

Содержание

  • Создание реверсной зоны

    • Запись SOA

    • Запись NS

    • Запись Ptr(Pointer)

  • Реализации DNS серверов

  • Использование BIND9 для первичного сервера зоны

  • Использование BIND 9 для вторичного сервера зоны

Создание реверсной зоны

Создание реверсной зоны является тем же самым процессом как и создание любого другого зонного файла. Записи SOA и начальная NS такие же как и в любой другой нормальной зоне. Однако здесь требуется создание дополнительных PTR записей. Далее будем ориентироваться
при создании зоны на использование BIND. В принципе все должно быть тоже самое как и для других реализаций DNS серверов. Однако, детали судя по всему буду различны.

Запись – Start of Authority (SOA)

Запись SOA является первой записью в правильно сконфигурированной зоне. Она содержит информацию в строке полей. Запись SOA указывает серверу быть авторитативным для зоны. Запись имеет следующий формат:

<mydomain.where.> IN SOA <ns-computer.mydomain.where.> <mailbox.mydomain.where> ( <serial-number>
<refresh>
<retry>
<expire>
<minimum-ttl> )

Здесь:

Поле Описание
mydomain.where Имя домена которому SOA принадлежит. Вместо записи полного домена, можно использовать ‘@’ в файле и сервер должен это заменить автоматически.Пример:28.12.202.in-addr.arpa.@
IN Класс DNS записи. ‘IN’ – абревиатура Internet’.
SOA Тип DNS записи, ‘Start of Authority’.
ns-computer.mydomain.where. Так же известно как ‘master’ поле записи. Содержит имя узла, являющегося
первичным сервером зоны. Это указывает по сути компьютер на котором делают изменения зонных файлов.
mailbox.mydomain.wherename. Содержит e-mail адрес человека, ответственного за поддержание зоны. “@” символ не используется, а заменен точкой ‘.’, и любые ‘.’ перед “@” заменяються ‘\’.Пример:

Email адрес Соответствующий вид в поле
dns-admin@sysnet.by dns-admin.sysnet.by
dns.admin@sysnet.by dns\admin.sysnet.by

Недавно, случайные символы стали разрешены в этом поле, и ‘@’ сейчас стал допустим. Однако, старый формат используется большинством администратором и подразумевается многими DNS утилитами проверки.

serial-number Последовательный номер текущей версии базы. Если у вторичного
сервера номер меньше, чем у первичного, это указывает, что запись вторичного сервера устарела и что требуется передача зоны с первичного сервера.
refresh Указывается первичному серверу как часто опрашивать первичный сервер и проверять изменение поля серийного номера.
retry Если попытка обновления зоны неудачна, то вторичный сервер должен
повторить ее после данного интервала.
expire Если попытки обновления и повторы неудачны, вторичный сервер должен
остановить обслуживание зоны после указанного периода.
minimum-ttl TTL (Time To Live) – значение по умолчанию для каждой записи в зоне. Используется только когда определенная запись не имеет собственного значения TTL. Когда изменения часто делаются в зоне, то обычно устансерверовавливается порядка 10 минут или меньше.

Пример SOA:

20.120.202.in-addr.arpa. IN SOA ns.sysnet.by. admin.sysnet.by. (
20089040701 ;Serial number
10800 ;Refresh
3600 ; Retry
604800 ; Expire
86400) ; Minimum TTL

Символ ‘;’ указывает, что оставшаяся часть строки является комментарием и должна игнорироваться сервером. Также завершающая точка (‘.’) после каждой записи ссылается на имя узла. Без нее сервер добавит текущую зону в конец записи. Для примера, ns.sysnet.by
должен быть интерпритирован как ns.sysnet.by.20.120.202.in-addr.arpa.

Запись сервера разрешения имен – NS

NS запись обьявляет сервера имен, которые обслуживают эту зону и имеет следующий формат:
Пример:

mydomen.where. IN NS hostname.mydomain.where.

Здесь:

Поле Описание
mydomain.where Имя домена, которму принадлежит NS. Вместо записи полной строки , можно использовать ‘@’, что даст возможность серверу заполнить его автоматически.
IN Класс записи. ‘IN’ – аббревиатура для Internet.
NS Тип записи. В данном случае ‘Name Server’.
hostname.mydomen.where. Имя авторитативного сервера.

Пример NS записи:

IN NS ns.sysnet.by.
IN NS ns.sexmarket.by.

Запись указатель – PTR

В домене, необходимо создавать записи доменного указателя (PTR) для каждого IP адресса. Для примера с адресом ‘193.23.27.133’, это будет:

133.27.23.193.in-addr.arpa. IN PTR stock.sexmarket.by.

Однако, так как SOA запись уже содержит in-addr.arpa домен, то можно не писать это снова, а только сократить до:

133 IN PTR men.sexmarket.by.

После создания PTR записи следующим шагом становиться задача загрузки в сервер.

Реализация DNS серверов

Существуют различные реализации DNS протокола. Наиболее популярный на сегодняшний день это BIND (Berkeley Internet Name Domain). Информация о последней версии доступна:

  • ISC BIND (http://www.dns.net/dnsrd/servers.html)

APNIC рекомендует устанавливать и использовать BIND9, как имеющий наибольшее число характеристик и исправленные ошибки безопасности.

Список остальных серверов можно поискать здесь:

Использование BIND9 для установки первичного сервера зоны.

1. Добавить запись с указанием первичного сервера в файл named.conf, используя следующий формат:

zone “<domain_name>” in {
type master;
file “<path-name>”;
};

где:

Поле Описание
domain_name Имя домена.Например: 14.12.211.in-addr.arpa.
type master Определяет, что этот сервер является первичным для данного домена.
path-name Расположение файла, содержащего зональные данные. Имя файла может быть любым.

2. Даем команду серверу перечитать новый файл:

rndc reconfig

Пример первичного сервера:

zone “14.12.211.in-addr.arpa” in {
type master;
file “reverse/14.12.211.in-addr.arpa”; };

Использование BIND9 для установки вторичного сервера зоны

1. Добавить запись с указанием вторичного сервера в файл named.conf, используя следующий формат:

zone “<domain-name>” {
type slave;
file “path-name”;
masters { <ip-address>; };
};

где:

Поле Описание
domain-name Имя домена: Например 14.12.211.in-addr.arpa.
type slave Определяет вторичный сервер.
path-name Расположение файла содержащего зональные данные. Имя файла может быть любым.
masters Указание адреса первичного (мастер).
ip-address IP адресс первичного сервера.

2. Даем команду серверу перечитать новый файл:

rndc reconfig

Пример вторичного сервера:

zone "14.12.211.in-addr.arpa" {
     type slave;
     file "slave/14.12.211.in-addr.arpa";
     masters {  212.11.14.100;};
};

Linux:Консоль – Сравнение содержимого директорий

Очень часто нужно сравнивать содержимое двух директорий в файловой системе для выяснения необходимости повторной синхронизации, для уточнения какие-файлы изменились, появились или исчезли. В этом очень помогает удивительная утилита diff.

Сравнение содержимого двух директорий и вывод только информации по отсутствующим или различным файлам:

diff -qrN /dir/1 /dir/2
r – лезем в поддиректории
q – выводим сообщения только для различий
N – считаем отсутствующие файлы пустыми

Вообще-то, возможности этой утилиты гораздо шире и важнее, но это обсуждать нужно в своем контексте.
Говорим спасибо авторам: Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, and Len Tower.

Scroll to top