aalaesar.manage-bind
Ansible Роль: manage-bind 2.0
Эта роль создана как абстракция для настройки bind и создания зон DNS с использованием синтаксиса YAML.
- Установите и управляйте вашим сервером bind9 на серверах Debian/Ubuntu.
- Используйте синтаксис/файлы YAML для настройки параметров Bind, зон и др.
Требования
Ansible 2.4+
Примечание: эта роль требует root-доступа к серверу bind.
playbook.yml:
- hosts: dnsserver
roles:
- role: aalaesar.manage-bind
become: yes
Переменные роли
# конфигурация хоста
bind_user: bind
bind_group: bind
host_dns_srv: self
# директория для логов
bind_log_dir: /var/log/bind
# Конфигурация установки
bind_pkg_state: present
bind_pkgs: ['bind9', 'dnsutils']
bind_service_state: started
bind_service_enabled: yes
# Конфигурации
bind_configs_dir: /etc/bind
bind_config_master_zones: []
bind_config_default_zones: 'yes'
RFC1918: no
# Файлы зон
bind_zones_dir: /var/lib/bind
# Настройки по умолчанию для зон
zones_config_ttl: 38400 #10ч45м
zones_config_refresh: 10800 #3ч
zones_config_retry: 3600 #1ч
zones_config_expire: 604800 #1н
zones_config_minimum: 38400 #10ч45м
# Удалять неуправляемые файлы для чистоты сервера
remove_unmanaged_files: true
# Инициализировать список управляемых файлов зон:
list_zone_files: []
Конфигурация Bind
Введение в конфигурацию Bind
Bind использует механизм наследования заявлений, чтобы разрешить точную настройку.
- клауза — это класс со своим набором заявлений.
- Они могут иметь специфические или общие утверждения.
- Клауза, определенная внутри другой, будет неявно наследовать общие утверждения своей «матери».
- заявление — это свойство клаузы.
- Оно описывает поведение сервера, как выполнять задачу, когда и т. д.
- Оно может быть явно или неявно определено.
Варианты и утверждения роли
- Роль manage-bind поддерживает следующие
клаузу
:- options
- zone
- key
Список поддерживаемых заявлений
:
Смотрите ./vars/main.yml
ВНИМАНИЕ: При определении заявления!
- Некоторые заявления имеют сложные сопоставления, в то время как другим требуется лишь простое значение. У каждого заявления есть свой шаблон, который сам документирован.
- manage-bind использует утилиты Bind named-checkconf и named-checkzone для настройки и проверки зон. Однако эти инструменты ограничены проверкой синтаксиса и легкой согласованности. Эта роль не предоставляет продвинутых методов проверки.
- Экранируйте специальные символы, такие как @, с помощью кавычек.
- Некоторые заявления требуют строковых значений "yes|no": экранируйте yes и no с помощью кавычек, так как Ansible рассматривает их как булевы значения.
... (дальнейшая часть текста следует аналогичной структуре, описывающей другие функции и настройки).
Примеры Плейбуков
Пример конфигурации:
- У вас есть зоны example.tld, example.com и example.org.
- У вас есть 2 DNS-сервера: dnserver1 (11.22.33.44) и dnserver2 (55.66.77.88).
- dnserver1 - мастер для example.tld и слейв для example.com.
- dnserver2 - мастер для example.com и слейв для example.tld.
- example.tld динамически заполняется DHCP-сервером.
Плейбук для dnserver1:
---
- hosts: dnserver1
roles:
- role: aalaesar.manage-bind
options:
allow_recursion: '55.66.77.88'
allow_transfer: '55.66.77.88'
zones:
example.tld:
type: master
force_file: no
notify: '55.66.77.88'
allow_update:
- key dhcp_updater
records:
- SOA:
serial: 2016080401
ns: dnserver1.example.tld.
email: admin.example.tld.
- NS:
- dnserver1.example.tld.
- dnserver2.example.tld.
- A:
dnserver1: 11.22.33.44
dnserver2: 55.66.77.88
example.com:
type: slave
masters: '55.66.77.88'
keys:
- name: dhcp_updater
algorithm: "hmac-md5"
secret: "{{myvault_dhcp_key}}"
(здесь может быть добавлен остальной текст в том же духе).
Лицензия
BSD
О проекте
Use YAML syntax/files to configure Bind (options, zones data, etc) from Ansible. (Also install and manage the bind9 server on Debian/Ubuntu servers).
Установить
ansible-galaxy install aalaesar.manage-bind
Лицензия
Unknown
Загрузки
568
Владелец
Yet another DevOps.
I just want things to become easier and faster,
... and understand how it works !
That's a lot of work ...