- Регистрация
- 04.03.23
- Сообщения
- 439
- Реакции
- 70
Перед импортом следует определить параметры подключения к серверу через переменные окружения bash от admin
export ALDPRO_API_SERVER='dc.ald.company.lan'
export ALDPRO_API_CA_PATH='/etc/ipa/ca.crt'
export ALDPRO_API_LOGIN='admin'
export ALDPRO_API_PASSWORD='AstraLinux_174'
Положить рядом со скриптами файл policy.py
Выполнить chmod +x import_parameter_dyndns.sh
Для импорта следует запустить в терминале ./import_parameter_dyndns.sh
import_parameter_dyndns.sh
import_parameter_dyndns.sls
export ALDPRO_API_SERVER='dc.ald.company.lan'
export ALDPRO_API_CA_PATH='/etc/ipa/ca.crt'
export ALDPRO_API_LOGIN='admin'
export ALDPRO_API_PASSWORD='AstraLinux_174'
Положить рядом со скриптами файл policy.py
Выполнить chmod +x import_parameter_dyndns.sh
Для импорта следует запустить в терминале ./import_parameter_dyndns.sh
import_parameter_dyndns.sh
Код:
python3 policy.py parameter add \
--host \
--id 'rbta_ldap_custom_gp_host_dyndns' \
--name 'Динамическое обновление DNS' \
--parent-folder 'Дополнительные параметры' \
--description 'Позволяет централизованно управлять настройками динамического обновления DNS-записей компьютеров путем изменения соответствующих параметров конфигурационного файла sssd.conf
Атрибут "Обновлять A-запись" определяет, будет ли обновляться A-запись при изменении IP адреса компьютера. Допустимые значения:
- true - включает обновление А-записи (по умолчанию)
- false - отключает обновление A-записи
Атрибут "Обновлять PTR-запись" определяет, будет ли обновляться PTR-запись при изменении IP адреса компьютера. Допустимые значения:
- true - включает обновление PTR-записи (по умолчанию)
- false - отключает обновление A-записи
Атрибут "Интервал обновления" определяет, как часто компьютер будет обновлять DNS-записи. Если синхронизировать это значение с продолжительностью аренды адресов на DHCP сервере, то обновление DNS записей будет происходить сразу после выдачи новой аренды IP адреса. Значение по умолчанию 86400 секунд (24 часов).
Атрибут "TTL" определяет TTL записей DNS. Значение по умолчанию 3600 секунд (1 час).' \
--attr 'Обновлять A-запись':dyndns_update:'' \
--attr 'Обновлять PTR-запись':dyndns_update_ptr:'' \
--attr 'Интервал обновления':dyndns_refresh_interval:'' \
--attr 'TTL':dyndns_ttl:'' \
--script 'import_parameter_dyndns.sls' \
--script-comment 'Версия 1.0'
Код:
{% set id = 'rbta_ldap_custom_gp_host_dyndns' %}
{% set node = salt['grains.get']('nodename') %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + id) %}
{% if gpo %}
{% macro getvalid(value, available) -%}
{{- value if value!='' and value.lower() in available|lower else available[0] -}}
{%- endmacro %}
{% set domain = salt['grains.get']('domain') %}
{% set dyndns_update = getvalid(gpo['dyndns_update'], ['true', 'false'])|lower %}
{% set dyndns_update_ptr = getvalid(gpo['dyndns_update_ptr'], ['true', 'false'])|lower %}
{% set dyndns_refresh_interval = gpo['dyndns_refresh_interval'] if gpo['dyndns_refresh_interval'] != '' and gpo['dyndns_refresh_interval']|int != 0 else '43200' %}
{% set dyndns_ttl = gpo['dyndns_ttl'] if gpo['dyndns_ttl'] != '' and gpo['dyndns_ttl']|int != 0 else '3600' %}
{{id}}_dyndns_update:
ini.options_present:
- name: /etc/sssd/sssd.conf
- separator: '='
- sections:
domain/{{domain}}:
dyndns_update: {{dyndns_update}}
{{id}}_dyndns_update_ptr:
ini.options_present:
- name: /etc/sssd/sssd.conf
- separator: '='
- sections:
domain/{{domain}}:
dyndns_update_ptr: {{dyndns_update_ptr}}
{{id}}_dyndns_refresh_interval:
ini.options_present:
- name: /etc/sssd/sssd.conf
- separator: '='
- sections:
domain/{{domain}}:
dyndns_refresh_interval: {{dyndns_refresh_interval}}
{{id}}_dyndns_ttl:
ini.options_present:
- name: /etc/sssd/sssd.conf
- separator: '='
- sections:
domain/{{domain}}:
dyndns_ttl: {{dyndns_ttl}}
{% endif %}
Вложения
Последнее редактирование: