manala.bind

#######################################################################################################

:exclamation: УСТАРЕВШИЙ :exclamation:

Этот репозиторий и связанная с ним роль устарели в пользу Коллекции Ansible Manala

Вы найдете информацию о его использовании в репозитории коллекции

#######################################################################################################

Ansible Роль: Bind Статус сборки

:exclamation: Сообщайте о проблемах и отправляйте Pull Requests в главный репозиторий ролей Ansible :exclamation:

Эта роль отвечает за настройку Bind.

Она является частью стека Manala Ansible, но может использоваться как самостоятельный компонент.

Требования

Нет.

Зависимости

Нет.

Установка

Ansible 2+

С использованием команды ansible galaxy:

ansible-galaxy install manala.bind

С использованием файла зависимостей ansible galaxy:

- src: manala.bind

Фильтры ролей

Имя Описание
manala_bind_zone_file Стандартизация имен файлов зон

Переменные роли

Имя По умолчанию Тип Описание
manala_bind_install_packages ~ Массив Пакеты зависимостей для установки
manala_bind_install_packages_default ['bind9'] Массив Пакеты зависимостей по умолчанию
manala_bind_user 'bind' Строка Пользователь
manala_bind_group 'bind' Строка Группа
manala_bind_options ['-u {{ manala_bind_user }}'] Массив Опции
manala_bind_log_dir '/var/log/bind' Строка Директория логов
manala_bind_configs [] Массив Список конфигурационных файлов
manala_bind_configs_dir '/etc/bind' Строка Директория конфигурационных файлов
manala_bind_zones_dir '/var/cache/bind' Строка Директория файлов зон
manala_bind_zones [] Массив Список файлов зон

Пример конфигурации

Опции

Смотрите: https://linux.die.net/man/8/named

manala_bind_options:
  - -u {{ manala_bind_user }}
  - -4 # Только IPv4

Конфигурации

Путь к file относителен параметру manala_bind_configs_dir.

Содержимое конфигураций можно указать как jinja2 template или как сырой content.

Элементы конфигураций также поддерживают параметр state (present|absent) и параметр omit (false|true).

manala_bind_configs:
  - file: named.conf.options
    template: bind/configs/named.conf.options.j2
  - file: named.conf.local
    content: |
      // Рассмотрите возможность добавления зон 1918 здесь, если они не используются в вашей
      // организации
      include "{{ manala_bind_configs_dir }}/zones.rfc1918";
  - file: named.conf.foo
    state: absent
  - file: named.conf.bar
    omit: true

Зоны - Статические

Параметр zone или file является обязательным. Если не указаны, параметр file будет вычислен из zone.

Путь file относителен параметру manala_bind_zones_dir.

Содержимое конфигураций можно указать как jinja2 template или как сырой content.

Элементы конфигурации также поддерживают параметр state (present|absent) и параметр omit (false|true).

manala_bind_zones:
  - zone: foo.local
    template: bind/zones/db.foo.local.j2
  - zone: bar.local
    content: |
      @  IN SOA ns.bar.local. contact.bar.local. (
                  1       ; серийный номер
                  604800  ; обновление (1 неделя)
                  86400   ; повторная попытка (1 день)
                  2419200 ; истечение (4 недели)
                  86400   ; минимум (1 день)
                  )
      @  IN NS  ns.bar.local.
      ns IN A   172.16.1.1;
  - zone: baz.local
    state: absent
  - zone: qux.local
    omit: true

Зоны - Динамические

Параметр zone является обязательным, а параметр dynamic должен быть установлен в true.

Конфигурация зоны должна позволять обновление (по крайней мере) с локального хоста.

Учитывая динамическую природу файла зоны, параметры content или template учитываются только тогда, когда файл еще не существует. Это можно рассматривать как начальную настройку зоны.

manala_bind_configs:
  - file: named.conf.local
    content: |
      zone "foo.local" {
          type master;
          file "{{ 'foo.local'|manala_bind_zone_file }}";
          allow-update { localhost; };
      };

manala_bind_zones:
  - zone: foo.local
    dynamic: true
    content: |
      @  IN SOA ns.foo.local. contact.foo.local. (
                  1       ; серийный номер
                  604800  ; обновление (1 неделя)
                  86400   ; повторная попытка (1 день)
                  2419200 ; истечение (4 недели)
                  86400   ; минимум (1 день)
                  )
      @  IN NS  ns.foo.local.
      ns IN A   172.16.1.1;
    records:
      - { record: bar, value: 172.16.1.123 }

Пример плейбука

- hosts: servers
  roles:
    - { role: manala.bind }

Лицензия

MIT

Информация об авторе

Manala (http://www.manala.io/)

О проекте

Handle bind

Установить
ansible-galaxy install manala.bind
Лицензия
Unknown
Загрузки
47.7k
Владелец
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.