В статье приводится описание процесса настройки основного и вспомогательного DNS-серверов минимальной конфигурации и размещения на них DNS-зоны

Будем считать, что имя делегированной нам DNS-зоны — domain.com, а IP-адреса основного и второстепенного серверов — 1.1.1.1 и 2.2.2.2 соответственно

Настройку будем выполнять на CentOS 7 с использованием BIND версии 9.9.4


Настройка основного DNS-сервера


  • устанавливаем BIND из репозитория CentOS
  • yum install bind-chroot
  • удаляем содержимое файла /etc/named.conf и добавляем следующее
  • options {
    listen-on port 53 { any; };
    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-query-cache { none; };
    recursion no;
    dnssec-enable no;
    dnssec-validation no;
    notify master-only;
    pid-file «/run/named/named.pid»;
    };

    logging {
    channel default_debug {
    file «/var/named/data/named.run»;
    severity dynamic; };
    };

    zone «domain.com» IN {
    type master;
    file «/etc/named/domain.com.zone»;
    allow-transfer { 2.2.2.2; };
    };

  • создаем файл зоны /etc/named/domain.com.zone следующего содержания
  • $TTL 3600
    $ORIGIN domain.com
    domain.com. 3600 IN SOA ns1.domain.com. hostmaster.domain.com. (
    1352523645 ; serial
    3600 ; refresh
    900 ; retry
    2592000 ; expire
    3600 ; minimum
    )
    domain.com. 3600 IN NS ns1.domain.com.
    domain.com. 3600 IN NS ns2.domain.com.
    ns1.domain.com. 3600 IN A 1.1.1.1
    ns2.domain.com. 3600 IN A 2.2.2.2
  • настраиваем владельца файла /etc/named/domain.com.zone и права доступа к нему
  • chown root:named /etc/named/domain.com.zone
    chmod 640 /etc/named/domain.com.zone
  • отключаем поддержку IPv6, для чего в файл /etc/sysconfig/named добавляем строку
  • OPTIONS = «-4»
  • настраиваем автоматический запуск BIND при старте системы
  • systemctl enable named-chroot
  • запускаем BIND
  • service bind-chroot start
  • Замечание: в результате в папке /var/named/chroot будут созданы ссылки на все используемые BIND файлы и папки, с учетом их расположения в файловой системе (например, для файла /etc/named/domain.com.zone будет создана ссылка /var/named/chroot/etc/named/domain.com.zone)

Настройка вспомогательного DNS-сервера


  • устанавливаем BIND из репозитория CentOS
  • yum install bind-chroot
  • удаляем содержимое файла /etc/named.conf и добавляем следующее
  • options {
    listen-on port 53 { any; };
    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-query-cache { none; };
    recursion no;
    dnssec-enable no;
    dnssec-validation no;
    notify master-only;
    pid-file «/run/named/named.pid»;
    };

    logging {
    channel default_debug {
    file «/var/named/data/named.run»;
    severity dynamic; };
    };

    zone «domain.com» IN {
    type slave;
    file «/var/named/slaves/domain.com.zone»;
    masters { 1.1.1.1; };
    };

  • отключаем поддержку IPv6, для чего в файл /etc/sysconfig/named добавляем строку
  • OPTIONS = «-4»
  • настраиваем автоматический запуск BIND при старте системы
  • systemctl enable named-chroot
  • запускаем BIND
  • service bind-chroot start
  • Замечание: в результате в папке /var/named/chroot будут созданы ссылки на все используемые BIND файлы и папки, с учетом их расположения в файловой системе, а также выполнена передача зон с основного сервера, информация о которых будет сохранена в файле /var/named/slaves/domain.com.zone
Замечание 1: для успешной передачи зоны с основного сервера на второстепенный при каждом ее изменении необходимо также увеличивать серийный номер зоны в SOA-записи

Замечание 2: на основном сервере должен быть разрешен входящий трафик как для протокола UDP, используемого клиентами для отправки запросов, так и для протокола TCP, который используется второстепенным сервером при передаче зоны с основного сервера (при этом уведомления об изменениях рассылаются основным сервером посредством протокола UDP). На второстепенном сервере достаточно разрешить только входящий UDP-трафик

Добавить комментарий