stuvusIT.pdns-authoritative-api

pdns-authoritative-api

Ce rôle Ansible gère les zones DNS via l'API HTTP de PowerDNS.

Exigences

Debian ou Ubuntu

Variables du rôle

Nom Par défaut / Requis Description
pdns_auth_api_connect :heavy_check_mark: Se connecter à cette URL (ex. http://127.0.0.1:1234)
pdns_auth_api_server localhost Instance de serveur à laquelle se connecter
pdns_auth_api_key :heavy_check_mark: Clé API à utiliser (peut être vide si vous n'en avez pas)
pdns_auth_api_zones :heavy_check_mark: Dictionnaire des noms de zones DNS (voir ci-dessous)
pdns_auth_api_remove_unknown_zones false Supprimer les zones inconnues pour ce rôle
pdns_auth_api_default_metadata Métadonnées par défaut pouvant être remplacées par zone

Zones DNS

Nom Par défaut / Requis Description
kind Master Type de cette zone (Master, Slave ou Native)
soaEdit (:heavy_check_mark:) (pas pour les zones Slave) Valeur SOA-EDIT pour cette zone
soaEditApi ({{soaEdit}} (pas pour les zones Slave) Valeur SOA-EDIT-API
dnssec false (pas pour les zones Slave) Activer DNSSEC et NSEC3 pour cette zone
presigned false (pas pour les zones Slave) Indique si la zone est pré-signée et n'a pas besoin d'être signée par PowerDNS
apiRectify true (pas pour les zones Slave) Indique s'il faut automatiquement rectifier lors de modifications via l'API
nsec3Param (pas pour les zones Slave) Valeur du champ NSEC3PARAM
nsec3Narrow false (pas pour les zones Slave) Indique s'il faut utiliser NSEC3 en mode étroit (mensonges bénins)
masters (:heavy_check_mark:) Liste des maîtres de cette zone
records pas pour les zones Slave Liste de tous les enregistrements dans cette zone (voir ci-dessous)
defaultTTL (:heavy_check_mark:) (pas pour les zones Slave) TTL pour tous les RRsets n'ayant pas de TTL explicitement défini
metadata Dictionnaire avec les métadonnées du domaine. Les éléments présents dans la base de données, mais pas ici, sont supprimés

Enregistrements

Ce rôle trie automatiquement les enregistrements du même nom et type en RRsets. Chaque enregistrement peut soit définir un contenu (c) ou définir un TTL qui s'applique à l'ensemble du RRset (t).

Les enregistrements sont regroupés par types qui sont eux-mêmes regroupés par noms. Voir l'exemple ci-dessous. Les RRsets inconnus sont supprimés.

Si un enregistrement SOA a AUTO comme son numéro de série, la valeur actuelle de la zone en cours est utilisée. Ceci est utile lorsque vous définissez soaEditApi pour incrémenter automatiquement le numéro de série.

Contenus

Nom Par défaut / Requis Description
c (:heavy_check_mark:) Contenu de cet enregistrement. Doit être omis lorsque t est défini
t (:heavy_check_mark:) TTL de ce RRset. Doit être omis lorsque c est défini
r Définit également l'enregistrement PTR dans la zone inverse

Exemple de Playbook

- 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

Licence

Ce travail est sous licence Creative Commons Attribution-ShareAlike 4.0 International License.

Informations sur l'auteur

À propos du projet

Configure PowerDNS zones via the HTTP API

Installer
ansible-galaxy install stuvusIT.pdns-authoritative-api
Licence
other
Téléchargements
167
Propriétaire
stuvus IT Team - Studierendenvertretung Universität Stuttgart