Установка с использованием инсталлятора
Инсталлятор позволяет автоматизировать операции по развертыванию и первоначальной настройке компонентов продукта «Служба каталогов "Эллес"» с помощью ролей Ansible.
Роли
В состав инсталлятора входят:
-
роль
bind
— развертывание и первоначальная настройка DNS-сервера BIND 9 на ОС Astra Linux SE 1.7 и РЕД ОС 7.3:-
установка пакетов, соответствующих используемой на сервере ОС;
-
настройка BIND 9 в качестве DNS-бэкенда для Эллес;
-
конфигурирование DNS-сервера в соответствии с заданными настройками роли;
-
-
роль
samba
— развертывание домена Эллес / ввод сервера в качестве контроллера домена в существующий домен Эллес , Samba или Active Directory на ОС Astra Linux SE 1.7 и РЕД ОС 7.3:-
подготовка сервера в соответствии с заданными настройками роли:
-
задание имени хоста;
-
создание резервных копий и изменение файлов hosts, resolve.conf и krb5.conf;
-
очистка следов прошлых установок;
-
переключение службы SELinux в режим
permissive
на сервере с РЕД ОС;
-
-
установка пакетов, соответствующих используемой на сервере ОС, из apt/yum-репозитория или с использованием локальных файлов, указанных в настройках роли;
-
выполнение команды развертывания домена (
samba-tool domain provision
) / присоединения к домену (samba-tool domain join
) с параметрами, заданными в настройках роли; -
корректировка записи DNS в файле resolv.conf;
-
включение и запуск доменной службы
inno-samba
; -
перезапуск DNS-сервера;
-
настройка обратной зоны DNS и создание записей DNS (при необходимости);
-
-
роль
dsm
– развертывание приложения «Менеджер службы каталогов» (DSM) на ОС Astra Linux SE 1.7 и РЕД ОС 7.3:-
создание каталогов для размещения конфигурационного файла и файлов сертификатов;
-
установка пакетов, соответствующих используемой на сервере ОС, из apt/yum-репозитория или с использованием локальных файлов, указанных в настройках роли;
-
создание закрытого ключа, создание запроса на получение сертификата (Certificate Signing Request, CSR), создание самоподписанного сертификата, формирование файла PKCS12;
-
формирование конфигурационного файла DSM по шаблону в соответствии с параметрами, заданными в настройках роли;
-
перезапуск службы
dsm
;
-
-
роль
samba-dc-exporter
— развертывание сервиса мониторинга (экспортера метрик Prometheus) на ОС Astra Linux SE 1.7 и РЕД ОС 7.3:-
установка пакетов, соответствующих используемой на сервере ОС, из apt/yum-репозитория или с использованием локальных файлов, указанных в настройках роли;
-
формирование конфигурационного файла DSM и файла с данными учетных записей по шаблонам в соответствии с параметрами, заданными в настройках роли;
-
перезапуск службы
samba-dc-exporter
;
-
-
роль
robocopy
— настройка односторонней репликации SYSVOL с контроллера домена на ОС Windows Server на контроллеры домена Эллес на ОС Linux:-
создание на контроллере домена на ОC Windows Server файла с настройками запуска скрипта репликации;
-
загрузка на контроллер домена на ОC Windows Server скрипта репликации;
-
создание учетной записи Managed Service Account (MSA), от имени которой будет запускаться скрипт;
-
создание периодически запускаемой задачи для выполнения скрипта.
-
Последовательность установки
В общем случае процесс установки с использованием инсталлятора состоит из следующих шагов:
Создание схемы развертывания
Схема развертывания (inventory в терминах Ansible) описывает хосты и группы хостов, на которых будут развертываться сервисы продукта. Также она может содержать значения переменных, относящиеся к отдельным хостам и группам хостов.
В дистрибутиве продукта поставляются примеры схем развертывания в формате YAML:
-
Файл installer/inventory/example_1.yaml содержит пример установки на серверах сервисов продукта (пакеты bind9, inno-samba, inno-samba-dc-exporter и dsm) с последующим вводом в роли контроллеров в существующий домен Active Directory.
-
Файл installer/inventory/example_2.yaml содержит пример установки на серверах сервисов продукта (пакеты bind9, inno-samba и inno-samba-dc-exporter) с последующим развертыванием домена Эллес.
Группы хостов
Инсталлятор поддерживает следующие группы хостов:
-
SAMBA_DC
— группа хостов, на которых развертывается контроллер домена Эллес;В этой группе указываются настройки Эллес, BIND 9 и домена, который создается или к которому выполняется присоединения.
-
DC_EXPORTER
— группа хостов, на которые устанавливается сервис мониторинга inno-samba-dc-exporter; -
DSM
— группа хостов, на которые устанавливается приложение «Менеджер службы каталогов» (DSM); -
WIN_DC
— группа контроллеров на ОС Windows Server, на которых настраивается репликация SYSVOL.
Хосты в группах указываются в разделе hosts
. Для установки на один хост нескольких сервисов требуется указать его в соответствующих группах.
Пример структуры задания групп для установки нескольких сервисов на одни и те же хосты:
SAMBA_DC:
hosts:
host_01:
ansible_host: "192.168.0.2"
host_02:
ansible_host: "192.168.0.3"
DC_EXPORTER:
hosts:
host_01:
host_02:
DSM:
hosts:
host_01:
host_02:
Переменные
Ansible поддерживает задание переменных на разных уровнях и в разных форматах, включая использование подстановок (см. подробное описание доступных возможностей по работе с переменными в документации Ansible).
Например, настройки развертывания в виде переменных могут указываться в схеме развертывания как на уровне группы хостов, так и на уровне отдельного хоста.
Пример задания настроек:
all:
vars:
variable: "value"
variable: "value"
...
HOST_GROUP:
vars:
variable: "{{ var_substitution }}"
variable: true
hosts:
host_01:
variable: "{{ var_substitution }}"
variable: "{{ var_substitution }}"
variable:
- value
- value
host_02:
variable: "{{ var_substitution }}"
variable: "{{ var_substitution }}"
variable:
- value
- value
Настройка переменных ролей
Для настройки ролей используются переменные.
Переменные роли bind
Роль bind
обеспечивает развертывание DNS-сервера BIND 9. Выполняется в случае задания в переменной samba__dns_backend
роли samba
значения BIND9_DLZ
(по умолчанию).
Для настройки роли доступны переменные:
-
интеграция с Эллес:
-
bind__samba_integration_enabled
— включение интеграции с Эллес:-
в файл named.conf добавляется дополнительная директива
include
из переменнойbind__samba_conf_include
; -
в файл named.conf.options добавляются дополнительные опции из переменной
bind__samba_conf_opts
;
-
-
bind__samba_conf_include
— путь к файлу named.conf, формируемому Эллес (по умолчанию —"/app/inno-samba/bind-dns/named.conf"
) -
bind__samba_conf_opts
— дополнительные настройки для интеграции с Эллес;Значение по умолчанию:
bind__samba_conf_opts: minimal-responses: "yes" tkey-gssapi-keytab: "/app/inno-samba/bind-dns/dns.keytab"
-
bind__samba_domain_forwarders
— список словарей с описанием доменов, для которых требуется переадресация зон (по умолчанию –[]
);Каждое поле словаря содержит имя домена и список IP-адресов контроллеров в этом домене.
Например:
bind__samba_domain_forwarders: - domain: "root.lan" forwarders: - 10.6.32.5 - 10.6.32.6
В этом случае будет добавлено три зоны:
-
zone "root.lan" IN { type forward; forwarders: { 10.6.32.5; 10.6.32.6; }; }
-
zone "_msdcs.root.lan" IN { type forward; forwarders: { 10.6.32.5; 10.6.32.6; }; }
-
zone "32.6.10.in-addr.arpa" IN { type forward; forwarders: { 10.6.32.5; 10.6.32.6; }; }
-
-
-
общие настройки, переадресация и зоны DNS:
-
bind__named_conf_include
— список дополнительных внешних или внутренних конфигураций для DNS; указывается путь к конфигурации (по умолчанию —[]
); -
bind__forwarders
— список вышестоящих DNS-серверов, на которые будут переправляться неавторитетные запросы (по умолчанию —[]
);Пример значения:
bind__forwarders: - 8.8.8.8
-
bind__zone_conf_opts
— список конфигураций дополнительных зон (по умолчанию —[]
);Пример значения:
bind__zone_conf_opts: - name: inno.tech type: "master" file: "\"{{ bind__config_map[ansible_os_family][ansible_distribution].bind__dir }}/inno.tech\"" allow-transfer: "{ 192.168.59.101; 192.168.59.100; }" allow-update: "{ 192.168.59.1; }" - name: test.inno.tech type: "master" file: "\"{{ bind__config_map[ansible_os_family][ansible_distribution].bind__dir }}/test.inno.tech\""
-
bind_zone_soa_conf_opts
— список конфигураций SOA для дополнительных зон (по умолчанию —[]
);Пример значения:
bind_zone_soa_conf_opts: - name: 'inno.tech' name_servers: - "it-dns-01.inno.tech." - "it-dns-02.inno.tech." name_servers_ip: - name: "it-dns-01.inno.tech." ip: "10.0.16.7" - name: "it-dns-02.inno.tech." ip: "10.0.16.8" hostmaster_email: admin - name: 'test.inno.tech' hostmaster_email: admin
-
bind__zone_ttl
— время жизни записей в зоне, обслуживаемой DNS-сервером (по умолчанию —"1W"
); -
bind__zone_time_to_refresh
— время обновления записей зон, обслуживаемых DNS-сервером (по умолчанию —"1D"
); -
bind__zone_time_to_retry
— время до повторного обновления записей зон при неудачном обновлении (по умолчанию —"1H
); -
bind__zone_time_to_expire
— время до истечения периода действия записей зон (по умолчанию —"1W"
); -
bind__zone_minimum_ttl
– минимальное время жизни записей в зоне, обслуживаемой DNS-сервером (по умолчанию –"1D"
); -
bind__zone_forwarders
— список словарей с описанием серверов переадресации для зон (по умолчанию –[]
).Каждое поле словаря содержит имя зоны и список IP-адресов, на которые должна выполняться переадресация для этой зоны.
Пример значения:
bind__zone_forwarders: - zone: "root.lan" forwarders: - 10.0.0.1 - 10.0.0.2
В этом случае будет добавлено зона со следующими настройками переадресации:
zone "root.lan" IN { type forward; forwarders: { 10.0.0.1; 10.6.32.2; }; }
-
Переменные роли samba
Роль samba
обеспечивает установку пакета inno-samba
с последующим созданием домена Эллес либо присоединением к существующему домену Эллес, Samba или Active Directory.
Для настройки роли доступны переменные:
-
samba__install
— режим установки пакета inno-samba:-
repo
(по умолчанию) — установка из репозитория apt/yum;Для настройки репозитория используется переменная
samba__repo
. Требуемая версия пакета указывается в переменнойsamba__version
. -
file
— установка из deb/rpm-файла;Путь к файлу пакета указывается в переменной
samba__package_file
. Файл будет загружен на хост и установлен. -
no
— установка не требуется;
-
-
samba__domain
(обязательный параметр) — полное имя домена в верхнем регистре:-
имя нового домена, если
samba__dc_role = primary
; -
имя существующего домена, если
samba__dc_role = secondary
илиsamba__dc_role = secondary_ro
;
-
-
samba__dc_role
— роль контроллера домена:-
primary
(по умолчанию) — первый контроллер в новом домене; -
secondary
— второй и последующий контроллер в существующем домене (RWDC); -
secondary_ro
— второй и последующий контроллер с доступом к базе каталога только на чтение в существующем домене (RODC); -
standalone
— установка пакета inno-samba без настройки контроллера домена;
-
-
samba__domain_admin
— учетная запись администратора домена (по умолчанию —Administrator@{{ samba__domain }}
); -
samba__domain_admin_password
(обязательный параметр) — пароль от учетной записи администратора домена;Может быть задан через переменную окружения
SAMBA_ADMIN_PASSWORD
. -
samba__workgroup
— имя рабочей группы (по умолчанию — первая частьsamba__domain
); -
samba__domain_dns_server_ip
— IP-адрес DNS-сервера домена, к которому должен быть присоединен новый контроллер домена; обычно это IP-адрес основного контроллера домена;Переменная обязательна для
samba__dc_role = secondary
иsamba__dc_role = secondary_ro
. -
samba__dc_site
— имя сайта для размещения присоединяемого контроллера домена;Может быть задана для
samba__dc_role = secondary
иsamba__dc_role = secondary_ro
. -
samba__dns_backend
— тип DNS-бэкенда:-
BIND9_DLZ
(по умолчанию) — в качестве DNS-сервера используется BIND 9; в этом случае установка включает развертывание на хосте BIND 9 с помощью ролиbind
; -
SAMBA_INTERNAL
— использование встроенного DNS-сервера;
-
-
samba__dns_forwarder
— внешний DNS-сервер;Используется при
samba__dns_backend = SAMBA_INTERNAL
. -
samba__backend_store
— тип базы данных каталога; значение параметра--backend-store
для подкомандsamba-tool domain provision
иsamba-tool domain join
:-
mdb
(по умолчанию) — использование БД LMDB; -
tdb
— использование БД TDB;
-
-
samba__backend_store_size
— максимальный размер базы данных каталога (при использовании LMDB); значение параметра--backend-store-size
для подкомандsamba-tool domain provision
иsamba-tool domain join
(по умолчанию —16Gb
); -
samba__ldap_strong_auth
— флаг включения обязательного подписания или подписания и шифрования трафика LDAP; значение конфигурационного параметраldap server require strong auth
(возможные значения —true | false
; по умолчанию —false
); -
samba__functional_level
— функциональный уровень (режим работы) домена и леса; значение параметра--function-level
для подкомандыsamba-tool domain provision
и конфигурационного параметраad dc functional level
(по умолчанию —2016
):-
возможные значения для
--function-level
—2000 | 2003 | 2008 | 2008_R2 | 2016
; -
возможные значения для
ad dc functional level
—2008_R2 | 2012 | 2012_R2 | 2016
;
-
-
samba__resolv_conf_nameserver
— DNS-сервер для добавления в файл resolv.conf по окончании установки (по умолчанию —127.0.0.1
); -
samba__force_reprovision
— флаг запуска очистки и повторной установки пакета inno-samba с последующим переконфигурированием контроллера домена (возможные значения —true | false
; по умолчанию —false
); -
samba__system_user
— имя пользователя и группа для запуска systemd-сервисаinno-samba.service
(по умолчанию —root
); -
samba__system_group
— группа для запуска systemd-сервисаinno-samba.service
(по умолчанию —root
); -
samba__global_opts_primary_dc
— конфигурационные параметры для добавления в файл smb.conf с помощью ключа--option="<parameter name> = <parameter value>"
при выполнении подкомандыsamba-tool domain provision
, еслиsamba__dc_role = primary
;По умолчанию добавляются следующие конфигурационные параметры:
dns forwarder: "{{ samba__dns_forwarder }}" netbios name: "{{ ansible_hostname }}" realm: "{{ samba__domain }}" server role: "active directory domain controller" workgroup: "{{ samba__workgroup }}" idmap_ldb:use rfc2307: "yes" allow dns updates: "nonsecure and secure" ldap server require strong auth: "{{ samba__ldap_strong_auth }}" domain master: "yes" local master: "yes" preferred master: "yes" vfs objects: "dfs_samba4 acl_xattr" map acl inherit: "yes" store dos attributes: "yes" ad dc functional level: "{{ samba__functional_level }}"
См. полный список параметров с информацией об их назначении и возможных значениях в документации по smb.conf.
-
samba__global_opts_secondary_dc
— конфигурационные параметры для добавления в файл smb.conf с помощью ключа--option="<parameter name> = <parameter value>"
при выполнении подкомандыsamba-tool domain join
, еслиsamba__dc_role = secondary
;По умолчанию добавляются следующие конфигурационные параметры:
ad dc functional level: "{{ samba__functional_level }}" dns forwarder: "{{ samba__dns_forwarder }}" ldap server require strong auth: "{{ samba__ldap_strong_auth }}"
См. полный список параметров с информацией об их назначении и возможных значениях в документации по smb.conf.
-
samba__log_level
— уровень логирования для добавления в smb.conf (по умолчанию —3
); -
samba__additional_opts
— дополнительные опции дляsamba-tool
(по умолчанию — "");Пример значения:
samba__additional_opts: "--no-gc --server win-dc1"
См. список опций в разделе «Присоединение к домену».
-
samba__configure_reverse_zone
— флаг создания обратной зоны DNS и записи PTR записи в ней для текущего контроллера домена (возможные значения —true | false
; по умолчанию —true
); -
samba__recyclebin_enable
— флаг включения функциональности корзины (возможные значения —true | false
; по умолчаниюfalse
);См. подробнее в разделе «Управление корзиной».
Флаг предназначен для использования при присоединении сервера к домену Active Directory, в котором уже включена функциональность корзины. -
samba__reset_sysvol_acl
— флаг сброса прав доступа к каталогу SYSVOL (возможные значения —true | false
; по умолчаниюtrue
).Если флаг установлен, после развертывания контроллера домена выполняется подкоманда
samba-tool ntacl sysvolreset
.Требуется для настройки синхронизации SYSVOL с помощью robocopy.
-
samba__repo
— дополнительный репозиторий apt/yum для установки пакета inno-samba; параметры репозитория:-
url
— ссылка на репозиторий; -
host
(необязательный параметр) — хост репозитория (только для при использовании базовой авторизации в репозитории apt); -
username
(необязательный параметр) — имя пользователя для базовой авторизации в репозитории; -
password
(необязательный параметр) — пароль для базовой авторизации в репозитории; -
key
(необязательный параметр) — GPG-ключ для доступа к репозиторию.
-
Пример сценария Ansible для присоединения к существующему домену:
- hosts: SAMBA
vars:
samba__domain: DEMO.LAN
samba__dc_role: secondary
samba__domain_dns_server_ip: 192.168.0.1
samba__domain_admin: Administrator
samba__domain_admin_password: password
roles:
- role: samba
Переменные роли dsm
Роль dsm
обеспечивает установку и предварительную настройку приложения «Менеджер службы каталогов» (DSM).
Для настройки роли доступны переменные:
-
dsm__install
— режим установки пакета dsm:-
repo
(по умолчанию) — установка из репозитория apt/yum;Требуемая версия пакета указывается в переменной
dsm__version
. -
file
— установка из deb/rpm-файла;Путь к файлу пакета указывается в переменной
dsm__package_file
. Файл будет загружен на хост и установлен. -
no
— установка не требуется;
-
-
dsm__domain
(обязательный параметр) — домен, с которым будет работать приложение; значение для параметраdomain.name
в конфигурационном файле application.yml; -
dsm__port
— порт, на котором будет доступно веб-приложение; значение для параметраserver.port
в конфигурационном файле application.yml (по умолчанию —8080
); -
dsm__api_port
— порт для доступа к API DSM (по умолчанию —8081
); -
dsm__swagger_ui_enabled
— флаг включения интерфейса Swagger UI для доступа к API (возможные значения —true | false
; по умолчанию —true
); -
dsm__spring_connection_sambatool_ssh_enabled
— флаг включения подключения к LDAP посредствомsamba-tool
по SSH (возможные значения —true | false
; по умолчанию —false
); -
настройки LDAP-соединения (раздел
ldap
в application.yml):-
dsm__ldap_base_dn
(обязательный параметр) — базовое DN-имя; -
dsm__ldap_host
— хост LDAP (по умолчанию —127.0.0.1
); -
dsm__ldap_port
— порт LDAP (по умолчанию —389
); -
dsm__ldap_user_dn
— DN-имя пользователя для авторизации в LDAP (по умолчанию —CN=Administrator,CN=Users,{{ dsm__ldap_base_dn }}
); -
dsm__ldap_password
(обязательный параметр) — пароль для авторизации в LDAP; -
dsm__ldap_pool_size
— максимальное количество одновременных подключений к серверу LDAP (по умолчанию —5
);
-
-
настройки SSL-соединения (раздел
ssl
в application.yml):-
dsm__ssl_enabled
— флаг включения доступа к веб-приложению по HTTPS (возможные значения —true | false
; по умолчанию —true
);См. более подробную информацию по настройке работы DSM по HTTPS в разделе «Настройки для работы по HTTPS».
-
dsm__keystore
— путь к keystore (по умолчанию/opt/dsm/springboot.p12
); -
dsm__keystore_password
— пароль для keystore (по умолчанию —pAssw0rd
);Используется, если
dsm__ssl_enabled: true
. -
dsm__privatekey_password
— пароль для закрытого ключа (по умолчанию —pAssw0rd
);Используется, если
dsm__ssl_enabled: true
.
-
-
настройки для формирования самоподписанного SSL-сертификата:
-
dsm__generate_cert
— флаг включения формирования закрытого ключа и самоподписанного сертификата (возможные значения —true | false
; по умолчанию —true
); -
dsm__privatekey_path
— путь для формирования закрытого ключа (по умолчанию —/etc/ssl/private/dsm_selfsigned.key
); -
dsm__certificate_path
— путь для формирования сертификата (по умолчанию —/etc/ssl/csr/dsm_selfsigned.crt
); -
dsm__tiket_certificate_path
— путь для формирования запроса на получение сертификата (по умолчанию —/etc/ssl/csr/dsm_selfsigned.csr
); -
dsm__certificate_san
— список значений для добавления в запрос на получение сертификата в рамках расширения Subject Alternative Name (SAN).Требуется для обеспечения корректной проверки сертификата SSL при запросе доступа к IP-адресу.
Значениям должен предшествовать префикс в формате
Option:Value
, гдеOption
—IP
илиDNS
, аValue
— IP-адрес или имя домена.Например:
["IP:192.168.0.1", "DNS:dsm.example.com"]
.Пример значений для запроса на получения сертификата для DSM:
dsm__certificate_request: country_name: RU # Двухбуквенный код state_of_province_name: St Petersburg # Регион размещения организации locality_name: St Petersburg # Город organization_name: Innotech # Организация organizational_unit_name: Example Org # Подразделение common_name: dsm.example.com # Полное доменное имя email_address: "YEmail@example.com" # Эл. почта
-
Переменные роли samba-dc-exporter
Роль samba-dc-exporter
обеспечивает установку и предварительную настройку сервиса мониторинга.
Для настройки роли доступны переменные:
-
samba_dc_exporter__install
— режим установки пакета inno-samba-dc-exporter:-
repo
(по умолчанию) — установка из репозитория apt/yum;Требуемая версия пакета inno-samba-dc-exporter указывается в переменной
samba_dc_exporter__version
, а пакета python3-prometheus-client — в переменнойsamba_dc_exporter__prometheus_client_version
. -
file
— установка из deb/rpm-файла;Путь к файлу пакета inno-samba-dc-exporter указывается в переменной
samba_dc_exporter__package_file
, а к файлу пакета python3-prometheus-client — в переменнойsamba_dc_exporter__prometheus_client_package_file
. Файлы будут загружен на хост и установлен. -
no
— установка не требуется;
-
-
samba_dc_exporter__domain
— имя домена, в рамках которого осуществляется мониторинг; значение для параметраdomain_name
в конфигурационном файле config.yaml; -
samba_dc_exporter__hostname
— имя хоста (без домена) контроллера домена Эллес, для которого осуществляется мониторинг; значение для параметраdc_hostname
в конфигурационном файле config.yaml (по умолчанию —{{ ansible_hostname }}
); -
samba_dc_exporter__port
— номер порта для запуска HTTP-сервера для предоставления метрик (по умолчанию —9099
); -
samba_dc_exporter__metric_collect_interval_sec
— интервал сбора метрик в секундах в секундах; значение для параметраmetric_collect_interval_sec
в конфигурационном файле config.yaml (по умолчанию —5
); -
настройки логирования:
-
samba_dc_exporter__log_level
— уровень логирования; значение для параметраlog.logLevel
в конфигурационном файле config.yaml (по умолчанию —INFO
); -
samba_dc_exporter__log_dir
— путь к каталогу с логами; значение для параметраlog.logDir
в конфигурационном файле config.yaml (по умолчанию —/app/samba-dc-exporter/logs
);
-
-
настройки LDAP-соединения:
-
samba_dc_exporter__ldap_user
— имя пользователя для авторизации в LDAP (sAMAccountName); значение для параметраldap_user
в файле cred; -
samba_dc_exporter__ldap_password
— пароль пользователя для авторизации в LDAP; значение для параметраldap_password
в файле cred; -
samba_dc_exporter__ldap_base_dn
— базовое DN-имя для проверки LDAP-поиска; -
samba_dc_exporter__ldap_search_path
— базовое DN-имя для поиска пользователя LDAP по указанному имени; значение для параметраldap_search_path
в файле config.yaml (по умолчанию —CN=Users,{{ samba_dc_exporter__ldap_base_dn }}
);
-
-
настройки доступа к метрикам по HTTP:
-
samba_dc_exporter__http_user
— имя пользователя для аутентификации по HTTP; значение для параметраhttp_user
в файле cred; -
samba_dc_exporter__http_user_pw
— пароль пользователя для аутентификации по HTTP; значение для параметраhttp_user_pw
в файле cred; -
samba_dc_exporter__wsgi_headers
— пользовательские HTTP-заголовки; значение для параметраwsgi_headers
в файле config.yaml.Для задания заголовков используйте следующие разделители:
-
;
— разделитель между заголовками; -
:
— разделитель между заголовком и его содержимым; -
\;
— для добавления символа ';'.
Пример:
Server: WSGIServer/0.2\; Python/3.20.1; Second-header: Second Header Content
Результат:
Server: WSGIServer/0.2; Python/3.20.1 Second-header: Second Header Content
-
-
Пример сценария Ansible для установки сервиса мониторинга:
- hosts: samba_server
vars:
samba_dc_exporter__domain: DEMO.LAN
samba_dc_exporter__ldap_user: user
samba_dc_exporter__ldap_pw: password
samba_dc_exporter__ldap_base_dn: DC=DEMO,DC=LAN
roles:
- role: samba-dc-exporter
Переменные роли robocopy
Роль robocopy
обеспечивает настройку синхронизации содержимого каталога SYSVOL между контроллером домена на ОС Windows Server (источник) и контроллерами домена на ОС Linux (целевые контроллеры).
Для настройки роли доступны переменные:
-
robocopy__dc_list
— список хостов контроллеров домена, на которые требуется копировать содержимое SYSVOL; -
robocopy__interval
— интервал запуска задачи синхронизации; указывается в форматеHH:MM:SS
(по умолчанию —00:05:00
, каждые 5 минут); -
robocopy__work_dir
— рабочий каталог, в который будет помещен скрипт PowerShell (по умолчанию —C:\\sysvol_repl
); -
robocopy__msa_account
— имя учетной записи MSA, которая будет создана и будет использоваться для запуска запланированной задачи (по умолчанию —msa_sysvol
).
Запуск инсталлятора
Для запуска установки на хостах и группах хостов, указанных в схеме развертывания, в соответствии с заданными настройками с использованием поставляемого в дистрибутиве сценария (install.yaml) перейдите в каталог с распакованными файлами инсталлятора и выполните:
ansible-playbook -i <path/to/inventory.yaml> install.yaml
В качестве значения ключа -i
укажите путь к файлу с созданной схемой развертывания и его имя.
Для выполнения отдельных задач используйте следующие теги Ansible:
-
bind
— установка и конфигурирование BIND 9; -
bind__reconfigure
— изменение конфигурации BIND 9; -
bind__absent
— удаление BIND 9 с сервера; -
samba
— установка и конфигурирование inno-samba; -
samba__absent
— удаление inno-samba с сервера; -
samba-dc-exporter
— установка и конфигурирование inno-samba-dc-exporter; -
samba-dc-exporter__absent
— удаление inno-samba-dc-exporter с сервера; -
dsm
— установка и конфигурирование dsm; -
dsm__generate_private_key
— формирование файла закрытого ключа; -
dsm__generate_certificate
— формирование файла сертификата; -
dsm__absent
— удаление dsm с сервера.
Например, чтобы удалить сервис, запустите сценарий с тегом <service-name>__absent
:
ansible-playbook -i <path/to/inventory.yaml> install.yaml -t samba_dc_exporter__absent