stuvusIT.pdns-authoritative-api

pdns-authoritative-api

这个 Ansible 角色通过 PowerDNS HTTP API 管理 DNS 区域。

需求

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 此区域的类型(MasterSlaveNative
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 的所有 RR 集的 TTL
metadata 包含域的元数据字典。数据库中存在但这里没有的项目将被删除

记录

该角色会自动将相同名称和类型的记录排序到 RR 集中。每条记录可以设置内容(c设置适用于整个 RR 集的 TTL(t)。

记录按类型分组,再按名称分组。请参阅下面的示例。未知 RR 集将被删除。

如果 SOA 记录的序列号为 AUTO,则使用当前区域的当前值。这在设置 soaEditApi 以自动递增序列号时很有用。

内容

名称 默认/必填 描述
c (:heavy_check_mark:) 此记录的内容。当设置 t 时,必须省略此项
t (:heavy_check_mark:) 此 RR 集的 TTL。当设置 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

许可证

此作品根据 知识共享署名-相同方式共享 4.0 国际许可证 获得许可。

作者信息

关于项目

Configure PowerDNS zones via the HTTP API

安装
ansible-galaxy install stuvusIT.pdns-authoritative-api
许可证
other
下载
167
拥有者
stuvus IT Team - Studierendenvertretung Universität Stuttgart