Настройка elles-dns-dyndb с использованием конфигурационных файлов
Плагин elles-dns-dyndb конфигурируется с помощью следующих файлов:
-
Файл конфигурации BIND 9 (named.conf или включаемый файл, например /app/inno-samba/bind-dns/named.conf), где описывается блок
dyndb. -
Файл конфигурации «Эллес» (/app/inno-samba/etc/smb.conf), где настраиваются параметры сервиса
dyndb_helper, отвечающего за проверку ACL и управление владельцами объектов (SOO).
|
Обратите внимание:
|
Параметры блока dyndb в named.conf
Блок dyndb в конфигурации BIND 9 определяет параметры подключения к LDAP-бэкенду и аутентификации.
Список параметров
| Параметр | Описание |
|---|---|
|
Обязательно. URL LDAP-сервера.
Пример: |
|
Метод аутентификации.
Допустимые значения: |
|
DN (Distinguished Name) учетной записи для простой аутентификации.
Используется только при |
|
Пароль для простой аутентификации.
Используется только при |
|
Механизм SASL.
Используется только при |
|
Имя пользователя (принципал) для SASL-аутентификации.
Используется только при |
|
Имя пользователя, используемое для SASL-аутентификации. Значение по умолчанию: пустая строка |
|
Пароль, используемый для SASL-аутентификации. Значение по умолчанию: пустая строка |
|
Имя области (realm) SASL. Значение по умолчанию: пустая строка |
|
Путь к keytab-файлу для Kerberos-аутентификации.
Используется только при |
|
Принципал Kerberos, используемый для SASL-аутентификации.
Если не задан, то копируется из |
|
Имя хоста LDAP-сервера.
Если не указано, используется текущее имя хоста системы ( |
|
Путь к Unix-сокету для проверки ACL (Access Control List).
Этот сокет используется плагином для отправки запросов к сервису |
|
Путь к Unix-сокету для обработки запросов Set Object Owner (SOO). Используется для установки владельца DNS-объекта после успешного обновления. Значение по умолчанию: пустая строка |
|
Флаг включения/отключения использования внешних сокетов для ACL.
Значения: |
|
TTL по умолчанию для DNS-записей, если он не указан в LDAP-объекте.
Значение по умолчанию: |
|
Максимальное количество одновременных соединений с LDAP-сервером.
Значение по умолчанию: |
|
Интервал повторных попыток подключения к LDAP при обрыве связи (в секундах).
Значение по умолчанию: |
|
Размер страницы при пагинации LDAP-запросов.
Значение по умолчанию: |
|
Таймаут ожидания ответа от LDAP-сервера (в секундах).
Значение по умолчанию: |
|
Включение синхронизации PTR-записей.
Значения: |
|
Включение поддержки динамических обновлений DNS (GSS-TSIG).
Значения: |
|
Вывод подробных логов при проверке ACL.
Значения: |
|
Рабочий каталог для плагина.
Каталог должен быть доступен для записи пользователем |
|
Идентификатор сервера.
Плагин будет использовать только объекты конфигурации в LDAP, значение атрибута |
Примеры конфигурации named.conf
Простая аутентификация (Simple Auth)
Для использования простой аутентификации необходимо указать auth_method "simple", а также параметры bind_dn и password:
dyndb "LDAP backend" "/usr/lib/x86_64-linux-gnu/bind/dyndb-elles.so" {
uri "ldap://server1.example.com";
auth_method "simple";
bind_dn "CN=Administrator,CN=Users,DC=example,DC=com";
password "SecretPassword";
ext_acl_sock_path "/tmp/dyndb_helper_acl.sock";
ext_soo_sock_path "/tmp/dyndb_helper_soo.sock";
};
|
Для простой аутентификации в «Эллес» необходимо добавить следующую настройку в секцию
|
Аутентификация Kerberos (SASL/GSSAPI)
Для безопасной работы с «Эллес» рекомендуется использовать SASL-аутентификацию с механизмом GSSAPI:
dyndb "LDAP backend" "/usr/lib/x86_64-linux-gnu/bind/dyndb-elles.so" {
uri "ldap://dc1.example.com";
auth_method "sasl";
sasl_mech "GSSAPI";
sasl_user "dns-HOSTNAME@REALM";
krb5_keytab "FILE:/app/inno-samba/bind-dns/dns.keytab";
ext_acl_sock_path "/tmp/dyndb_helper_acl.sock";
ext_soo_sock_path "/tmp/dyndb_helper_soo.sock";
};
Параметры сервиса dyndb_helper в smb.conf
Сервис dyndb_helper работает как набор отдельных рабочих процессов внутри архитектуры «Эллес» и предоставляет сокеты для плагина BIND 9. Его параметры настраиваются в секции [global] файла smb.conf.
Список параметров
| Параметр | Описание |
|---|---|
|
Путь к сокету для проверки ACL.
Должен совпадать с |
|
Имя системного пользователя, которому принадлежит ACL-сокет.
Обычно это пользователь, от имени которого запущен BIND 9 (например, |
|
Путь к сокету для обработки SOO-запросов.
Должен совпадать с |
|
Имя системного пользователя, которому принадлежит SOO-сокет.
Значение по умолчанию: |
Количество рабочих процессов
По умолчанию в режиме prefork при старте «Эллес» для сервиса dyndb_helper запускается 4 рабочих процесса (определяется значением параметра prefork children), которые принимают и обслуживают соединения (запросы от BIND 9 и DynDB). При необходимости количество процессов может быть изменено с помощью параметра prefork children:dyndb_helper. В этом случае рекомендуется, чтобы количество рабочих процессов dyndb_helper не превышало количество рабочих процессов LDAP.
Пример конфигурации smb.conf
[global]
...
# Включаем сервис dyndb_helper в список запущенных сервисов
server services = +dyndb_helper
# Настройка путей к сокетам
dyndb_helper:acl_socket_path = /tmp/dyndb_helper_acl.sock
dyndb_helper:soo_socket_path = /tmp/dyndb_helper_soo.sock
# Настройка владельца сокетов (должен совпадать с пользователем bind)
dyndb_helper:acl_socket_owner = bind
dyndb_helper:soo_socket_owner = bind
...
Проверка и применение конфигурации
После изменения конфигурации выполните следующие шаги:
-
Проверьте синтаксис named.conf:
sudo named-checkconf
-
Перезапустите службу «Эллес» для применения изменений в smb.conf и создания сокетов:
sudo systemctl restart inno-samba.service
-
Убедитесь, что сокеты созданы и имеют правильные права:
ls -l /tmp/dyndb_helper_acl.sock ls -l /tmp/dyndb_helper_soo.sock
-
Перезапустите службу BIND 9:
sudo systemctl restart bind9.service
-
Проверьте логи на наличие ошибок:
sudo journalctl -u inno-samba | grep -i "dyndb_helper" sudo tail -f /var/log/syslog | grep -i dyndb
Обновлено: