- PVSM.RU - https://www.pvsm.ru -

Установка BIND9 DNS на CentOS

За все время работы не сталкивался с установкой DNS на сервер, а тут пришлось устанавливать Slave DNS на новом сервере клиента. Думаю, что порядок действий будет полезен, как админам так и web-разработчикам.

Установка Master DNS

Заходим на сервер (для примера Master DNS будет ставиться на сервер с IP 10.10.10.10, Slave DNS — IP 20.20.20.20)
В начале проверим что система имеет все последние обновления.

yum update -y

Если не указать "-y" ключ, то придется отвечать на все вопросы установщика, а с ним все ответы ставятся автоматически по умолчанию.

Установить bind и bind-utils.

yum install bind bind-utils -y

На примере моего домена «sibway.pro», для своего поменяйте все вхождения в примерах. Будем считать что master имеет IP 10.10.10.10, slave 20.20.20.20. Master и slave насколько я понимаю деление условное, так как и тот и другой сервер будет выполнять одни и те же функции, различие только в том что slave берет все данные с мастера.

Теперь отредактируем конфигурационный файл любым текстовым редактором, я использую vi так как он есть всегда в любой системе.

vi /etc/named.conf

При установке bind, файл конфигурации ставится автоматически и нам надо только его отредактировать.

options {
	#listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory	"/var/named";
        dump-file	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query { any; };
        allow-transfer     { localhost; 20.20.20.20; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

#listen-on port 53 { 127.0.0.1; };

Комментируем строку, чтобы сервер мог слушать эфир со всех адресов и портов (наверное можно указать просто IP 10.10.10.10, но руки не дошли поэкспериментировать. Извне все равно все закрывает firewall).

allow-query { any; };

Позволяем запрашивать сервер с любого адреса.

allow-transfer     { localhost; 20.20.20.20; };

Позволяем брать информацию о доменах slave серверам.
Добавляем доменную зону, в тот же конфигурационный файл прописываем.

  zone "sibway.pro" IN {
                type master;
                file "sibway.pro.zone";
                allow-update { none; };
        };

Конфигурирование доменных зон

В файле конфигурации мы указали файл sibway.pro.zone как файл конфигурации доменой зоны sibway.pro.
Проще всего взять какой-либо существующий и отредактировать до нужной конфигурации. Файлы можно разместить в поддиректории.

vi /var/named/sibway.pro.zone

Вот простой пример того что необходимо прописать в доменной зоне.

$TTL 86400
@   IN  SOA     ns1.sibway.pro. root.sibway.pro. (
        2014120801  ;Serial ВАЖНО !!! серийный номер должен меняться в большую строну при каждом изменении, иначе slave сервера не обновят данные
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
; Указываем два name сервера
		IN	NS		ns1.sibway.pro.
		IN	NS		ns2.sibway.pro.
; Определяем IP адреса name серверов
ns1		IN	A		10.10.10.10
ns2		IN	A		20.20.20.20

; Define hostname -> IP нашего сервера для этого домена
@		IN	A		213.133.100.77
www		IN	A		213.133.100.77

Делаем рестар name сервера

service named restart

Определяем чтобы name сервер стартовал при загрузки системы.

chkconfig named on

Теперь проверим как работает наш name сервер.

dig @10.10.10.10 sibway.pro

В ответе должен быть указан правильный IP запрошенного домена. Теперь сконфигурируем slave сервер.

Конфигурация slave name сервера

Конфигурирование slave name сервера проходит так же как и master за исключением двух моментов:

  1. При редактировании файла конфигурации named.conf надо указать какие доменные зоны slave
  2. Не надо добавлять доменные зоны, так как они обновятся с master сервера автоматически

В конфигурационном файле необходимо указать type slave и указать IP мастер сервера.

zone "sibway.pro" IN {
	type slave;
	masters { 10.10.10.10; };
	file "sibway.pro.zone";
};

Не забываем стартовать сервер и включить его в автоматический старт при запуске системы.

service named start
chkconfig named on

Теперь у нас есть два сконфигуренных name сервера.
Осталось открыть порт в firewall
Отредактируем файл /etc/sysconfig/iptables:

# vi /etc/sysconfig/iptables

Добавим следующие правила для 53 порта.

-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

Обновляем iptable

# /etc/init.d/iptables restart

Не забудьте обновить этот файл на обоих серверах.
Теперь у нас есть два работающих name сервера.

Автор: sibwaypro

Источник [1]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/dns-2/77206

Ссылки в тексте:

[1] Источник: http://habrahabr.ru/post/245857/