pdns-authoritative-api

pdns-authoritative-api

Эта роль Ansible управляет DNS-зонами через HTTP API PowerDNS.

Требования

Debian или Ubuntu

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

Название Обязательное/По умолчанию Описание
pdns_auth_api_connect :heavy_check_mark: URL для подключения (например, http://127.0.0.1:1234)
pdns_auth_api_server localhost Сервер, к которому нужно подключиться
pdns_auth_api_key :heavy_check_mark: API-ключ для использования (может быть пустым)
pdns_auth_api_zones :heavy_check_mark: Словарь с именами и содержимым DNS-зон (см. ниже)
pdns_auth_api_remove_unknown_zones false Удалять зоны, которые не известны этой роли
pdns_auth_api_default_metadata Метаданные по умолчанию, которые могут быть переопределены для каждой зоны

DNS-зоны

Название Обязательное/По умолчанию Описание
kind Master Тип этой зоны (Master, Slave или Native)
soaEdit (:heavy_check_mark:) (не для Slave-зон) значение SOA-EDIT для этой зоны
soaEditApi ({{soaEdit}} (не для Slave-зон) значение SOA-EDIT-API
dnssec false (не для Slave-зон) Включить DNSSEC и NSEC3 для этой зоны
presigned false (не для Slave-зон) Является ли зона предварительно подписанной и не требует подписания PowerDNS
apiRectify true (не для Slave-зон) Автоматически исправлять изменения через API
nsec3Param (не для Slave-зон) значение записи NSEC3PARAM
nsec3Narrow false (не для Slave-зон) Использовать ли NSEC3 в узком режиме (небольшие обман)
masters (:heavy_check_mark:) Список мастеров этой зоны
records не для Slave-зон Список всех записей в этой зоне (см. ниже)
defaultTTL (:heavy_check_mark:) (не для Slave-зон) TTL для всех RRset без явно установленного TTL
metadata Словарь с метаданными домена. Элементы, присутствующие в базе данных, но отсутствующие здесь, удаляются

Записи

Эта роль автоматически сортирует записи с одинаковыми именами и типами в RRset. Каждая запись может либо указывать содержимое (c), или устанавливать TTL, который применяется ко всему RRset (t).

Записи группируются по типам, которые, в свою очередь, группируются по именам. См. пример ниже. Неизвестные RRset удаляются.

Если запись SOA имеет AUTO в качестве своего серийного номера, текущее значение из текущей зоны используется. Это полезно при установке soaEditApi, чтобы автоматически увеличивать серийный номер.

Содержимое

Название Обязательное/По умолчанию Описание
c (:heavy_check_mark:) Содержимое этой записи. Должно быть опущено, если задано t
t (:heavy_check_mark:) TTL этого RRset. Должно быть опущено, если задано c
r Также установить PTR-запись в обратной зоне

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

- hosts: dns
  roles:
  - pdns-authoritative-api
     pdns_auth_api_connect: 'http://127.0.0.1:1234'
     pdns_auth_api_key: 'secretsecretkey'
     pdns_auth_api_zones:
       - name: example.com
         dnssec: true
         nsec3Salt: abab
         defaultNameservers:
           - ns1.example.com
           - ns2.example.com
         metadata:
           ALLOW-AXFR-FROM:
             - AUTO-NS
             - 2001:db8::/48
         records:
           example.com:
             SOA:
               - c: ns1.example.com admin.example.com AUTO 3600 1800 604800 600
             NS:
               - c: ns1.example.com.
               - c: ns2.example.com.
               - t: 15200
           ns1.example.com:
             A:
               - c: 10.0.0.2
                 r: True
             AAAA:
               - c: fe80::1
                 r: True

Лицензия

Эта работа лицензирована под Creative Commons Attribution-ShareAlike 4.0 International License.

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

О проекте

Configure PowerDNS zones via the HTTP API

Установить
ansible-galaxy install stuvusIT/pdns-authoritative-api
Лицензия
other
Загрузки
158
Владелец
stuvus IT Team - Studierendenvertretung Universität Stuttgart