第 3 章 使用 Ansible playbook 管理 IdM DNS 区域
作为 Identity Management(IdM)管理员,您可以使用 ansible-freeipa 软件包中的 dnszone 模块来管理 IdM DNS 区域的工作方式。
先决条件
- DNS 服务安装在 IdM 服务器中。有关如何使用 Ansible 安装带有集成 DNS 的 IdM 服务器的更多信息,请参阅使用 Ansible playbook 安装身份管理服务器。
3.1. 支持的 DNS 区类型 复制链接链接已复制到粘贴板!
本节论述了 Identity Management (IdM)支持( primary 和 forward 区域)的两种 DNS 区域类型,并包括 DNS 转发的示例场景。
本节对区域类型使用 BIND 术语,它与用于 Microsoft Windows DNS 的术语不同。BIND 服务器中的 Primary zones 与 Microsoft Windows DNS 中的 forward lookup zones 和 reverse lookup zones 作用相同。BIND 中的转发区与 Microsoft Windows DNS 中的 条件转发转发器 相同。
- 主 DNS 区域
主 DNS 区域包含权威 DNS 数据,并可以接受动态 DNS 更新。这个行为等同于标准 BIND 配置中的
type master设置。您可以使用ipa dnszonefluentd 命令管理主区。在符合标准 DNS 规则的情况下,每个主区域必须包含
start of authority(SOA) andnameserver(NS) 记录。IdM 在创建 DNS 区域时自动生成这些记录,但您必须手动将 NS 记录复制到父区以创建正确的委托。根据标准 BIND 行为,查询该服务器不是权威服务器将转发到其他 DNS 服务器的名称。这些 DNS 服务器(也称为转发器)可能也可能不是查询的权威。
例 3.1. DNS 转发示例
IdM 服务器包含
test.example.primary zone。此区域包含sub.test.example.name 的 NS 委派记录。另外,test.example.区域被配置为sub.text.example子区的192.0.2.254转发器 IP 地址。查询名称
nonexistent.test.example.的客户端会接收到NXDomain回答,且不会发生转发,因为 IdM 服务器对该名称具有权威。另一方面,查询
host1.sub.test.example.名称将转发到配置的 forwarder192.0.2.254,因为 IdM 服务器对这个名称没有权威。- 转发 DNS 区域
从 IdM 的角度来看,转发 DNS 区域不包含任何权威数据。实际上,转发的"zone"通常仅包含两部分信息:
- 一个域名
- 与域关联的 DNS 服务器的 IP 地址
属于定义域的名称的所有查询都转发到指定的 IP 地址。这个行为等同于标准 BIND 配置中的 type forward 设置。您可以使用 ipa dnsforwardzone fluentd 命令管理转发区。
在 IdM-Active Directory(AD)信任上下文中转发 DNS 区域特别有用。如果 IdM DNS 服务器对 idm.example.com 区域有权威,并且 AD DNS 服务器对 ad.example.com 区域有权威,则 ad.example.com 是 idm.example.com 主区域的 DNS 转发区。这意味着,当查询来自 IdM 客户端以获取 somehost.ad.example.com 的 IP 地址时,IdM DNS 服务器将查询转发到 ad.example.com IdM DNS 转发区域中指定的 AD 域控制器。