Настройка BIND 9 на контроллере домена RedOS, МСВСфера, AlterOS

Для настройки DNS-сервера BIND 9 на контроллере домена Avanpost DS необходимо выполнить шаги:

Шаг 1. Установить пакеты.

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

sudo dnf install -y bind bind-dyndb-ldap bind-utils openldap-clients krb5-workstation cyrus-sasl-gssapi

Шаг 2. Перевести Avanpost DS в режим управления сервисом "bind-dyndb".

Для этого требуется:

2.1. Открыть для редактирования конфигурационный файл "/opt/avanpost/ads/config/config.yaml":

sudo nano /opt/avanpost/ads/config/config.yaml

2.2. Изменить значение параметра "dns_service" на "bind-dyndb":

/opt/avanpost/ads/config/config.yaml
service_control:
  dns_service: bind-dyndb
  dns_control: true
dnssec:
  key_path: /var/named/dyndb-ldap/avanpost_local_ldap

Внимание!

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

Шаг 3. Настроить директории и разрешения для Bind.

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

sudo mkdir -p /var/named/dyndb-ldap/avanpost_local_ldap /var/named/data /run/named
sudo touch /etc/named/named.conf
sudo chown -R named:named /var/named/dyndb-ldap/ /var/named/data /run/named /etc/named/
sudo setfacl -d -m u:ads:rw /var/named/dyndb-ldap/avanpost_local_ldap
sudo setfacl -m u:ads:rwx /var/named/dyndb-ldap/avanpost_local_ldap /etc/named/
sudo setfacl -m u:ads:rw /etc/named.conf /etc/named/named.conf
sudo setfacl -m g:named:r /etc/krb5.keytab

Шаг 4. Перезапустить сервис Avanpost DS.

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

sudo systemctl restart ads && sudo systemctl status ads

Шаг 5. Настроить конфигурацию Bind.

Для этого требуется:

5.1. В разделе "DNS" веб-интерфейса Avanpost DS нажать .

5.2. В открывшемся окне на вкладке "Bind (dyndb)" заполнить поле "Настройки авторитативного DNS сервера (srv_bind_dyndb)" по шаблону:

Шаблон настроек авторитативного DNS сервера (srv_bind_dyndb)
#Avanpost DS auto generate
options {
    directory "/var/named";
    listen-on port 53 { 127.0.0.1;  ${LDAPHost}; };
    listen-on-v6 { none; };
    allow-query { any; };
    recursion yes;
    allow-recursion { any; };
    forward only;
    forwarders { 77.88.8.8; };
    dnssec-validation no;
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

controls { };

dyndb "avanpost_local_ldap" "/usr/lib64/bind/ldap.so" {
    uri "ldap://${HostFQDN}:389";
    base "ou=dyndb,ou=dns,dc=system";
    server_id "${HostFQDN}";
    directory "dyndb-avanpost_local_ldap";
    auth_method "sasl";
    sasl_mech "GSSAPI";
    krb5_keytab "FILE:/etc/krb5.keytab";
    krb5_principal "host/${HostFQDN}@[REALM]";
    dyn_update no;
    sync_ptr yes;
    connections 2;
    timeout 10;
    reconnect_interval 60;
};

Заменить [REALM] на имя домена Avanpost DS в верхнем регистре.

Пример настроек авторитативного DNS сервера (srv_bind_dyndb)
#Avanpost DS auto generate
options {
    directory "/var/named";
    listen-on port 53 { 127.0.0.1;  ${LDAPHost}; };
    listen-on-v6 { none; };
    allow-query { any; };
    recursion yes;
    allow-recursion { any; };
    forward only;
    forwarders { 77.88.8.8; };
    dnssec-validation no;
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

controls { };

dyndb "avanpost_local_ldap" "/usr/lib64/bind/ldap.so" {
    uri "ldap://${HostFQDN}:389";
    base "ou=dyndb,ou=dns,dc=system";
    server_id "${HostFQDN}";
    directory "dyndb-avanpost_local_ldap";
    auth_method "sasl";
    sasl_mech "GSSAPI";
    krb5_keytab "FILE:/etc/krb5.keytab";
    krb5_principal "host/${HostFQDN}@AVANPOST.LOCAL";
    dyn_update no;
    sync_ptr yes;
    connections 2;
    timeout 10;
    reconnect_interval 60;
};

5.3. Нажать кнопку .

Шаг 6. Запустить сервис "named" и добавить его в автозапуск.

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

sudo systemctl enable named
sudo systemctl restart named


Обсуждение