我发现 Ansible 创建 DNS 记录的方式与我手动创建的方式不同;特别是在创建反向 DNS 记录 (PTR) 时。我在 Rocky Linux 版本 8.5 上运行 Ansible 版本 2.9.27。
例如,假设我从身份管理控制台手动为 IP 地址为 100.99.97.7 的名为“MyTest”的计算机添加 DNS 记录,并选中复选框以创建反向记录。然后从域中的单独计算机 (mts.sys) 使用“dig -x 100.99.97.7”执行反向查找。它将在结果答案中收到“MyTest.mts.sys”。这是期望的结果。
如果我改用 Ansible 创建 DNS 记录,那么我必须使用两个 Ansible 任务来完成它。第一个任务是创建基本 A 记录,第二个任务是将 PTR 记录添加到反向 DNS 区域。以下是这两个任务目前的样子:
- name: MyTest.mts.sys forward
ipa_dnsrecord:
ipa_pass: <password-redacted>
ipa_user: <user-redacted>
zone_name: mts.sys
record_name: MyTest
record_type: 'A'
record_value: 100.99.97.7
state: present
- name: MyTest.mts.sys reverse
ipa_dnsrecord:
ipa_pass: <password-redacted>
ipa_user: <user-redacted>
zone_name: 97.99.100.in-addr.arpa
record_name: '7'
record_type: 'PTR'
record_value: 'MyTest'
state: present
运行这两个任务后,我可以通过查看 Identity Manager 中的记录来确认这些记录已创建。据我所知,它们看起来与我手动创建的完全相同。但是,如果我使用与之前相同的命令“dig -x 100.99.97.7”,则答案将返回“MyTest.mts.sys.97.99.100.in-addr-arpa”。发生这种情况时,我无法在剧本的后期成功安装 Foreman。
使用 Ansible 在 FreeIPA 中创建 DNS 记录(A 和 PTR)的正确方法是什么?
答案1
无论是否是 Ansible,PTR 值都应该是(以 为后缀),否则 DNS 服务器将始终在其后附加区域名称。'MyTest.mts.sys.'
.