stuvusIT.pdns-authoritative-api

pdns-authoritative-api

Diese Ansible-Rolle verwaltet DNS-Zonen über die PowerDNS HTTP-API.

Anforderungen

Debian oder Ubuntu

Rollenvariablen

Name Standard/Erforderlich Beschreibung
pdns_auth_api_connect :heavy_check_mark: Verbinden mit dieser URL (z.B. http://127.0.0.1:1234)
pdns_auth_api_server localhost Serverinstanz, mit der verbunden werden soll
pdns_auth_api_key :heavy_check_mark: API-Schlüssel, der verwendet werden soll (kann leer sein, wenn keiner vorhanden ist)
pdns_auth_api_zones :heavy_check_mark: Dictionary der DNS-Zonennamen mit Inhalten (siehe unten)
pdns_auth_api_remove_unknown_zones false Zonen löschen, die dieser Rolle nicht bekannt sind
pdns_auth_api_default_metadata Standardmetadaten, die pro Zone überschrieben werden können

DNS-Zonen

Name Standard/Erforderlich Beschreibung
kind Master Typ dieser Zone (Master, Slave oder Native)
soaEdit (:heavy_check_mark:) (nicht für Slave-Zonen) SOA-EDIT-Wert für diese Zone
soaEditApi ({{soaEdit}} (nicht für Slave-Zonen) SOA-EDIT-API-Wert
dnssec false (nicht für Slave-Zonen) Aktivieren von DNSSEC und NSEC3 für diese Zone
presigned false (nicht für Slave-Zonen) Ob die Zone vorausunterzeichnet ist und nicht von PowerDNS signiert werden muss
apiRectify true (nicht für Slave-Zonen) Ob Änderungen automatisch über die API korrigiert werden sollen
nsec3Param (nicht für Slave-Zonen) NSEC3PARAM-Datensatzwert
nsec3Narrow false (nicht für Slave-Zonen) Ob NSEC3 im engen Modus verwendet werden soll (white lies)
masters (:heavy_check_mark:) Liste der Master dieser Zone
records nicht für Slave-Zonen Liste mit allen Datensätzen in dieser Zone (siehe unten)
defaultTTL (:heavy_check_mark:) (nicht für Slave-Zonen) TTL für alle RRsets ohne explizit festgelegte TTL
metadata Dictionary mit den Domain-Metadaten. Elemente, die in der Datenbank vorhanden, aber hier nicht vorhanden sind, werden entfernt

Datensätze

Diese Rolle sortiert automatisch Datensätze mit demselben Namen und Typ in RRsets. Jeder Datensatz kann entweder einen Inhalt (c) oder eine TTL setzen, die für das gesamte RRset gilt (t).

Datensätze werden nach Typen gruppiert, die nach Namen gruppiert werden. Siehe das untenstehende Beispiel. Unbekannte RRsets werden entfernt.

Wenn ein SOA-Datensatz AUTO als seine Seriennummer hat, wird der aktuelle Wert aus der aktuellen Zone verwendet. Dies ist hilfreich, wenn soaEditApi festgelegt wird, um die Seriennummer automatisch zu erhöhen.

Inhalte

Name Standard/Erforderlich Beschreibung
c (:heavy_check_mark:) Inhalt dieses Datensatzes. Muss weggelassen werden, wenn t gesetzt ist
t (:heavy_check_mark:) TTL dieses RRsets. Muss weggelassen werden, wenn c gesetzt ist
r Setzt auch den PTR-Datensatz in der umgekehrten Zone

Beispiel-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

Lizenz

Diese Arbeit steht unter einer Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Autor Informationen

Über das Projekt

Configure PowerDNS zones via the HTTP API

Installieren
ansible-galaxy install stuvusIT.pdns-authoritative-api
Lizenz
other
Downloads
167
Besitzer
stuvus IT Team - Studierendenvertretung Universität Stuttgart