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/ansible-role-bind
Лицензия
Unknown
Загрузки
37933
Владелец
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.