Ansible 在 FreeIPA 中创建 DNS 记录的方式与手动创建的方式不同

Ansible 在 FreeIPA 中创建 DNS 记录的方式与手动创建的方式不同

我发现 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.'.

相关内容