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 |
此区域的类型(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 的所有 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 国际许可证 获得许可。