2.2 Настройка репликации bind

Перед использованием инструкции, вы должны ознакомиться и настроить DNS сервер по инструкции настройки DNS сервера bind.

Подготовка master сервера

Открываем на редактирование конфигурационный файл bind:

# vi /etc/named.conf

и редактируем следующее в блоке options:

allow-recursion { none; };

Находим и закомменитуем строку

dnssec-validation yes;

Рассмотрим подробнее, то что мы написали:
allow-recursion { none; }— Отключаем использование рекурсивных запросов т.к. это сильно снижает скорость работы, да и нее имеет смысла опрашивать вышестоящие DNS сервера по поводу зоны которую сами же и обслуживаем.

Добавьте строки в блоки ваших локальных зон

allow-transfer {<ip адрес реплики>;};
allow-update {<ip адрес реплики>;};
notify yes;

Давайте разберемся, что мы туда добавили
allow-transfer {<ip адрес реплики>;} -разрешаем передачу данной зоны на остальные наши DNS сервера.
allow-update {<ip адрес реплики>;} — разрешаем обновление.
notify yes -включаем автоматическое уведомление подчиненных серверов об обновлении файла настроек DNS зоны.

Перезагрузите bind.

# systemctl restart bind

Настройка slave сервера.

Устанавливаем все обновления:

# yum update

Устанавливаем утилиту для синхронизации времени, отключаем cronyd и запускаем ntpd

# yum install ntp
# systemctl disable chronyd
# systemctl enable ntpd
# systemctl stop chronyd
# systemctl start ntpd

Cинхронизируем время с внешним сервером:

# ntpdate ntp.ipa.test

Устанавливаем DNS-сервер следующей командой:

# yum install bind

Разрешаем автозапуск:

# systemctl enable named

Запускаем сервис имен:

# systemctl start named

И проверяем, что он работает корректно:

# systemctl status named

Открываем на редактирование конфигурационный файл bind:

# vi /etc/named.conf

и редактируем следующее в блоке options:

listen-on port 53 { 127.0.0.1; <ip данного сервера>;};
listen-on-v6 port 53 { none; };
allow-query { any; };
forward first;
forwarders {8.8.8.8;};
allow-recursion { none; };

Находим и закомменитуем строку

dnssec-validation yes;

добавляем туда запись, только на этот раз она будет немного отличаться:

zone "example.org" IN {
         type slave;
         file "/var/named/slaves/slave.example.org";
         masters { <ip адрес мастера>; };
         allow-transfer {"none";};
};

Рассмотрим подробнее изменения:
type slave;-тип зоны подчиненная
file /var/named/slaves/slave.example.org» -путь к файлу с настройками, в этот раз в имени файла указано slave.example.org чтобы было понятно на каком сервере вы находитесь.
masters { <ip адрес мастера>; } — IP адрес Мастер сервера, откуда будет производиться запрос файлов с настройками DNS зон.
allow-transfer {none;} — Отключаем передачу зоны другим серверам, чтобы нельзя было получить все записи в домене

Впишите вышеописанные блоки для каждой зоны.

Перезагрузите DNS сервер.

# systemctl restart named

Теперь должны появиться файлы DNS зон по пути, который указан.

Важно
Каждый раз, когда в настройки зоны на мастере вносятся изменения, к серийному номеру прибавляется единица, это делается для того чтобы подчиненные сервера увидели изменения в записях и приняли обновленный файл зоны, если после внесения изменений в файл, серийный номер остался прежним или уменьшился, то подчиненные DNS сервера НЕ станут подтягивать обновления считая что на мастер сервере изменений небыло!

Для редактирования серийного номера DNS зоны, откройте её файл и отредактируйте параметр serial.

Пример файла зоны:

...
@        IN       SOA     ns0.ipa.test. postmaster.ipa.test. (
                  2018042804  ;serial
...

Это значение нужно увеличивать каждый раз при редактировании файла доменной зоны. Оно записано в формате YY-MM-DD + наращиваемый порядковый номер.

Для проверки работоспособности сервера с другого компьютера сети выполняем команду:

# nslookup test.example.org <ip адрес реплики>

* данной командой мы пытаемся узнать IP-адреса сайта test.example.org через сервер репликации DNS.

Должно получиться, примерно, следующее:

Server:      192.168.0.1
Address:     192.168.0.1#53
Name:        test.example.org
Address: 192.168.10.12

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email