Product SiteDocumentation Site

4.8. Домен с BIND9_DLZ

В состав Samba входит модуль BIND9_DLZ, позволяющий использовать в качестве DNS-сервера решение с открытым исходным кодом BIND 9.
BIND 9 представляет собой полнофункциональную реализацию протокола DNS, включающую поддержку DNSSEC, DNS over HTTPS (DoH) и DNS over TLS (DoT).
Служба DNS может разворачиваться как на отдельном сервере, так и на контроллере домена совместно с Samba.
Работа с внешним сервером DNS осуществляется с помощью бэкенда BIND9_DLZ и используется в следующих случаях:
  • сложная схема зон DNS;
  • поддержка более одного сервера форвардинга (параметр dns forwarder на бэкенде SAMBA_INTERNAL работает только с одним адресом).
Если планируется настроить контроллер домена Samba AD с использованием серверной части BIND9_DLZ, необходимо сначала установить и настроить DNS-сервер BIND.

4.8.1. Настройка DNS-сервера BIND

На сервере должны быть установлены пакеты bind и bind-utils:
# apt-get install bind bind-utils

Примечание

Пакет bind содержит различные утилиты, связанные с DNS, например:
  • named-checkconf — проверка синтаксиса файлов конфигурации;
  • named-checkzone — проверка файлов зон DNS;
  • rndc — инструмент управления службой DNS.
Пакет bind-utils содержит следующие утилиты:
  • dig — многофункциональный инструмент для опроса DNS-серверов;
  • host — позволяет получить информацию о DNS-связях между доменными именами и IP-адресами;
  • nslookup — позволяет получить информацию DNS об удаленном сервере;
  • nsupdate — инструмент для динамического обновления записей DNS.

Примечание

Основные файлы настройки DNS и некоторые параметры конфигурационного файла bind описаны в разделе Bind. Для получения более подробной информации следует обратиться к man странице named.conf(5).
Настройка BIND9 для работы с Альт Домен:
  1. Отключить chroot:
    # control bind-chroot disabled
    
  2. Отключить KRB5RCACHETYPE:
    # grep -q KRB5RCACHETYPE /etc/sysconfig/bind || echo 'KRB5RCACHETYPE="none"' >> /etc/sysconfig/bind
    
  3. Подключить плагин BIND_DLZ:
    # grep -q 'bind-dns' /etc/bind/named.conf || echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/bind/named.conf
    
  4. Отредактировать файл /etc/bind/options.conf:
    • в раздел options добавить строки:
      tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
      minimal-responses yes;
      
    • в параметре forwarders указать сервера, куда будут перенаправляться запросы, на которые нет информации в локальной зоне (если этой информации нет в файле /etc/bind/resolvconf-options.conf):
      forward first;
      forwarders { 8.8.8.8; };
      
    • в параметр listen-on добавить IP-адрес DNS-сервера, на котором он будет принимать запросы;
    • раскомментировать параметр allow-query и указать в нём подсети, из которых разрешено подавать запросы;
    • раскомментировать параметр allow-recursion и указать в нём подсети, из которых будут обрабатываться рекурсивные запросы;
    • в раздел logging добавить строку:
      category lame-servers {null;};
      
    Пример файла /etc/bind/options.conf:
    options {
            version "unknown";
            directory "/etc/bind/zone";
            dump-file "/var/run/named_dump.db";
            statistics-file "/var/run/named.stats";
            recursing-file "/var/run/recursing";
    
    
            // disables the use of a PID file
            pid-file none;
            tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
            minimal-responses yes;
    
            listen-on { 127.0.0.1; 192.168.0.132; };
            listen-on-v6 { ::1; };
    
            include "/etc/bind/resolvconf-options.conf";
    
            allow-query { localnets; 192.168.0.0/24; };
            allow-recursion { localnets; 192.168.0.0/24; };
    
            //max-cache-ttl 86400;
    
    };
    
    logging {
            category lame-servers {null;};
    };
    
  5. В файле /etc/bind/resolvconf-options.conf в параметре forwarders должен быть указан DNS-сервер, на который будут перенаправляться запросы клиентов;
  6. Выполнить остановку bind:
    # systemctl stop bind