Для настройки DNS-сервера BIND 9 на контроллере домена Avanpost DS необходимо выполнить шаги:
- Шаг 1. Установить пакеты.
- Шаг 2. Перевести Avanpost DS в режим управления сервисом "bind-dyndb".
- Шаг 3. Перезапустить сервис Avanpost DS.
- Шаг 4. Создать конфигурацию BIND.
- Шаг 5. Заполнить конфигурационный файл "/etc/bind/named.conf".
- Шаг 6. Выдать ACL-разрешения на keytab-файл.
- Шаг 7. Настроить директорию "/var/lib/bind/etc/dyndb-ldap".
- Шаг 8. Проверить конфигурацию BIND.
- Шаг 9. Перезапустить сервис "bind.service".
Шаг 1. Установить пакеты.
Для этого требуется выполнить команду:
apt-get update && apt-get install bind bind-utils bind-control bind-dyndb-ldap krb5-kdc krb5-kadmin krb5-kinit libsasl2-plugin-gssapi acl kstart
Шаг 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_control: dns_service: bind-dyndb dns_control: true
Внимание!
При редактировании файлов в формате YAML требуется выставлять корректные отступы. Для вложенных параметров используется два пробела. Табуляцию использовать не рекомендуется.
Шаг 3. Перезапустить сервис Avanpost DS.
Для этого требуется выполнить команду:
sudo systemctl restart ads.service && sudo systemctl status ads.service
Шаг 4. Создать конфигурацию BIND.
Для этого требуется выполнить команды:
control bind-chroot disabled mkdir -p /var/lib/bind/zone chown root:named /var/lib/bind /var/lib/bind/etc /var/lib/bind/zone chmod 0755 /var/lib/bind /var/lib/bind/etc /var/lib/bind/zone
Шаг 5. Заполнить конфигурационный файл "/etc/bind/named.conf".
Для этого требуется:
5.1. Открыть для редактирования конфигурационный файл "/etc/bind/named.conf":
sudo nano /etc/bind/named.conf
5.2. Заполнить файл по шаблону:
include "/etc/bind/rndc.conf";
options {
directory "/etc/bind/";
listen-on port 53 { 127.0.0.1; [IP]; };
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://[IP]:389";
base "ou=dyndb,ou=dns,dc=system";
auth_method "sasl";
sasl_mech "GSSAPI";
krb5_keytab "FILE:/etc/krb5.keytab";
krb5_principal "host/[FQDN]@[REALM]";
ldap_hostname "[FQDN]";
dyn_update no;
sync_ptr no;
connections 2;
timeout 20;
reconnect_interval 5;
verbose_checks yes;
directory "dyndb-ldap/avanpost_local_ldap";
};
Заменить [IP] на IP-адрес LDAP сервера. Если BIND и Avanpost DS развернуты на одном и том же сервере, то рекомендуется указать адрес "127.0.0.1".
Заменить [FQDN] на полное доменное имя сервера, на котором развернут BIND.
Заменить [REALM] на имя домена Avanpost DS в верхнем регистре.
include "/etc/bind/rndc.conf";
options {
directory "/etc/bind/";
listen-on port 53 { 127.0.0.1; 10.10.10.3; };
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://10.10.10.3:389";
base "ou=dyndb,ou=dns,dc=system";
auth_method "sasl";
sasl_mech "GSSAPI";
krb5_keytab "FILE:/etc/krb5.keytab";
krb5_principal "host/ds01.avanpost.local@AVANPOST.LOCAL";
ldap_hostname "ds01.avanpost.local";
dyn_update no;
sync_ptr no;
connections 2;
timeout 20;
reconnect_interval 5;
verbose_checks yes;
directory "dyndb-ldap/avanpost_local_ldap";
};
Шаг 6. Выдать ACL-разрешения на keytab-файл.
Для этого требуется выполнить команду:
setfacl -m g:named:r-- /etc/krb5.keytab
Шаг 7. Настроить директорию "/var/lib/bind/etc/dyndb-ldap".
Для этого требуется выполнить команды:
mkdir -p -m 0750 /var/lib/bind/etc/dyndb-ldap/avanpost_local_ldap chown -R named:named /var/lib/bind/etc/dyndb-ldap
Шаг 8. Проверить конфигурацию BIND.
Для этого требуется выполнить команду:
sudo named-checkconf -z /etc/named.conf
Шаг 9. Перезапустить сервис "bind.service".
Для этого требуется выполнить команды:
systemctl enable --now bind.service systemctl status bind.service