Master и Slave DNS сервер с помощью BIND на CentOS 6.4 | OS CONFIG

Master и Slave DNS сервер с помощью BIND на CentOS 6.4

В этой статье рассмотрим развёртку Master и Slave DNS-серверов BIND (Berkeley Internet Name Domain) на ОС CentOS 6.4 minimal. Перед тем, как выполнить все действия, описанные в этой статье, необходимо, чтобы была настроена сеть, установлен system-config-firewall-tui и Midnight Commander. Всю первичную настройку CentOS можно прочитать здесь.



На обеих машинах:

устанавливаем Midnight Commander:

yum install mc –y

устанавливаем system-config-firewall-tui:

yum install system-config-firewall-tui –y

вводим в командной строке

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

устанавливаем BIND:

yum install bind-chroot bind-utils –y

Запустим утилиту конфигурирования файрволла и настроим:

system-config-firewall-tui

Отметим звёздочкой DNS

centos_fw_dns1

Жмём «Вперёд». Отметим интерфейс eth0 и жмём «Вперёд»

centos_fw_dns3

Жмём «Вперёд». Отметим интерфейс для маскарада eth0 и жмём «Вперёд»

centos_fw_dns4

Жмём «Вперёд».

centos_fw_dns2

Жмём «Вперёд».

centos_fw_dns5

Жмём «Вперёд».

centos_fw_dns6

Жмём «Вперёд».

centos_fw_dns7

Жмём «Закрыть».

centos_fw_dns8

Жмём «OK».

centos_fw_dns9

Жмём «Да». Готово.

Отключаем SELINUX:

в /etc/selinux/config исправим на SELINUX=disabled

Теперь сгенерируем ключ:

dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndckey

Эта команда создаст два файла в текущем каталоге. В файле *.private в третьей строке будет находится ключ вида:                 wGmtcnMtn9od+ndTc20tGg==

После этого открываем файл /etc/resolv.conf и в самом начале в него пропишем:

nameserver 192.168.0.191

nameserver 192.168.0.192

Master DNS сервер (IP: 192.168.0.191 имя хоста: ns1.localserver12.ru):

создадим каталог /etc/named/master

mkdir /etc/named/master

передадим в хозяйство бинду

chown -R named:named /etc/named/master

Открываем /etc/named.conf. В нём проверяем наличие указанных ниже опций. Если их нет — добавляем, если они отличаются — исправляем:

listen-on port 53 { 127.0.0.1; 192.168.0.191; };

allow-transfer { 192.168.0.192; };

notify yes;

zone «localserver12.ru» IN {

type master;

file «/etc/named/master/localserver12.ru»;

};

Также проверяем наличие таких строк (если нет — добавить перед строкой /* Path to ISC DLV key */)

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

Создадим файл localserver12.ru в каталоге /etc/named/master

touch /etc/named/master/localserver12.ru

Передадим его в хозяйство бинду:

chown -R named:named /etc/named/master/localserver12.ru

Пропишем в него следующее (примерно как на картинке):

localserver12-forward

Стартуем бинд

service named start

Загоняем BIND в автозагрузку, чтобы стартовал во время загрузки системы

chkconfig named on

Master DNS сервер готов.

Slave DNS сервер (IP: 192.168.0.192 имя хоста: ns2.localserver12.ru):

создадим каталог /etc/named/slave

mkdir /etc/named/slave

Передадим его в хозяйство бинду

chown -R named:named /etc/named/slave

Открываем /etc/named.conf. В нём проверяем наличие указанных ниже опций. Если их нет — добавляем, если они отличаются — исправляем:

listen-on port 53 { 127.0.0.1; 192.168.0.192; };

allow-recursion { 192.168.0.0/24; };

recursion yes;

allow-transfer { none; };

notify no;

zone «localserver12.ru» {

type slave;

file «/etc/named/slave/localserver12.ru»;

masters { 192.168.0.191; };

};

Также проверяем наличие таких строк (если нет — добавить перед строкой /* Path to ISC DLV key */)

                dnssec-enable yes;

                dnssec-validation yes;

                dnssec-lookaside auto;

Стартуем бинд

service named start

Загоняем его в автозагрузку, чтобы стартовал во время загрузки системы

chkconfig named on

Slave DNS сервер готов. Также после перезапуска в каталог /etc/named/slave автоматически подтянется файл localserver12.ru

Теперь проверим:

на слэйве вводим команду

dig @ns1.localserver12.ru localserver12.ru axfr

и на мастере такую

dig @ns2.localserver12.ru localserver12.ru axfr

в обоих случаях выводятся данные и DNS записи из файла localserver12.ru

Всё. DNS сервера готовы.


Если Вам помогла статья, вы можете отблагодарить автора:
перечислить на WMR кошелёк (WebMoney): R301575071888
перечислить на Яндекс.Кошелёк: 410011003938168
или на PayPal:

Вы можете оставить комментарий, или ссылку на Ваш сайт.
  • Андрей

    Вот не могу понять обязательны ли на компах имена ns1 ns2? или можно их имена любые оставить а уже в файле зоны их так обозвать? и как быть если и www и ftp и ns это один и тот же комп?

    • OSC_Evgeny

      нет, не обязательны.

      насчет того, что www, ftp и ns на одном компе: просто пропишите им тот же IP, что и в ns.

  • Константин

    Делал все по инструкции. Но при попытке запуска службы выдает ошибку:
    [root@node1 master]# service named start

    Starting named:

    Error in named configuration:

    /etc/named.conf:23: unknown option ‘zone’

    [FAILED]

    [root@node1 master]#

    //

    // named.conf

    //

    // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

    // server as a caching only nameserver (as a localhost DNS resolver only).

    //

    // See /usr/share/doc/bind*/sample/ for example named configuration files.

    //

    options {

    #listen-on port 53 { 127.0.0.1; };

    listen-on port 53 { 127.0.0.1; 192.168.162.191; };

    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 { localhost; };

    allow-transfer { 192.168.162.192; };

    recursion yes;

    notify yes;

    zone «node.com» IN {

    type master;

    file «/etc/named/master/node.com»;};

    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»;

    };

    //

    // named.conf

    //

    // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

    // server as a caching only nameserver (as a localhost DNS resolver only).

    //

    // See /usr/share/doc/bind*/sample/ for example named configuration files.

    //

    options {

    #listen-on port 53 { 127.0.0.1; };

    listen-on port 53 { 127.0.0.1; 192.168.162.191; };

    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 { localhost; };

    allow-transfer { 192.168.162.192; };

    recursion yes;

    notify yes;

    zone «node.com» IN {

    type master;

    file «/etc/named/master/node.com»;};

    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»;

    };

  • Константин

    Упс. Чет два раза вставился файл конфига. Но, не суть. Я так понял ошибка в зоне. Служба ее не воспринимает и при запуске почему-то ругается. Чего так?

    • OSC_Evgeny

      а файл зоны создан?

  • Константин

    Вы этот имеете ввиду?

    [root@node1 ~]# vi /etc/named/master/node.com

    $TTL 3600

    @ IN SOA node1.node.com. root.node.com. (

    20130516 ;Serial

    3600 ;Refresh

    900 ;Retry

    3600000 ;Expire

    3600 ;Minimum TTL

    )

    @ IN NS ns1.node.com

    @ IN NS ns2.node.com

    www IN A 192.168.162.100

    ftp IN A 192.168.162.101

    node1 IN A 192.168.162.191

    node2 IN A 192.168.162.192

  • Константин

    упс. не тот файл открыл. вот он.

    • OSC_Evgeny

      смотрите, ошибка в секции ; DNS Servers. Написать надо так:

      @ IN A node1.node.com
      @ IN A node2.node.com

      у Вас:

      @ IN node1.node.com
      @ IN node2.node.com

  • Константин

    чет не вставляется скрин.

    придется из буфера.

    $TTL 3600

    IN SOA node1.node.com. admin.node.com. (

    20130516 ; Serial

    3600 ; Refresh

    900 ; Retry

    3600000 ; Expire

    3600 ) ; Minimum

    ; DNS servers

    @ IN node1.node.com.

    @ IN node2.node.com

    ; A records

    www IN A 192.168.162.101

    ftp IN A 192.168.162.101

    node1 IN A 192.168.162.191

    node2 IN A 192.168.162.192

    ~

  • Nik02

    При попытки запуститьговорит: ERROR: FirewallD is active, please use firewall-cmd.
    Запускается после: systemctl stop firewalld.service

    • OSC_Evgeny

      это вы наверное на CentOS 7.0 разворачиваете. Здесь описано для 6-ой ветки



Яндекс.Метрика
Проверка ТИЦ Яндекс цитирования