33.6. 管理 DNS 转发
DNS 转发会影响 DNS 查询的回答方式.默认情况下,与 IdM 集成的 BIND 服务配置为充当权威和递归 DNS 服务器。
当 DNS 客户端查询属于 IdM 服务器具有权威的 DNS 区域的名称时,BIND 会回复配置区域中包含的数据。权威数据始终优先于任何其他数据。
当 DNS 客户端查询 IdM 服务器不是权威的名称时,BIND 会尝试使用其他 DNS 服务器解析查询。如果没有定义转发器,BIND 会询问 Internet 上的根服务器,并使用递归解析算法回答 DNS 查询。
在某些情况下,不建议让 BIND 直接联系其他 DNS 服务器,并根据 Internet 上的可用数据执行递归。这些情况包括:
- 拆分 DNS 配置,也称为 DNS 视图 配置,其中 DNS 服务器向不同的客户端返回不同的答案。拆分 DNS 配置是典型的环境,即部分 DNS 名称在公司网络内可用,但不从外部提供。
- 防火墙限制对 Internet 上 DNS 的访问的配置。
- 在 DNS 级别上带有集中过滤或日志记录的配置。
- 配置,它转发到本地 DNS 缓存,这有助于优化网络流量。
在这种配置中,BIND 不会对公共 Internet 使用完全递归。相反,它使用另一个 DNS 服务器(所谓的 转发器 )来解析查询。当 BIND 配置为使用转发器时,查询和答案会在 IdM 服务器和转发器之间来回转发,IdM 服务器则充当非权威数据的 DNS 缓存。
forward 策略
IdM 支持 第一个 和 唯一的 标准 BIND 转发策略,以及 none IdM 特定的转发策略。
- 转发第一(默认)
- DNS 查询转发到配置的转发器。如果查询因为服务器错误或超时而失败,BIND 将使用 Internet 上的服务器返回递归解析。forward first 策略是默认策略。它适用于流量优化。
- 仅转发
- DNS 查询转发到配置的转发器。如果查询因为服务器错误或超时而失败,BIND 会向客户端返回错误。对于采用拆分 DNS 配置的环境,建议使用 forward only 策略。
- 无:转发禁用
- DNS 查询不会被转发。禁用转发仅作为全局转发配置的特定区域覆盖。这个选项等同于在 BIND 配置中指定一个空转发器列表。
转发不会合并 IdM 和其他 DNS 服务器中的数据
转发无法用于将 IdM 中的数据与其他 DNS 服务器的数据组合。您只能在 IdM DNS 中转发对 master 区的特定子区的查询:请参阅 “IdM DNS Master 区域中的区委派”一节。
默认情况下,如果查询的 DNS 名称属于 IdM 服务器对其具有权威的区域,BIND 服务不会将查询转发到其他服务器。在这种情况下,如果无法在 IdM 数据库中找到查询的 DNS 名称,则会返回
NXDOMAIN 回答。不使用转发。
例 33.9. Scenario 示例
IdM 服务器对
test.example 具有权威。DNS 区域.BIND 配置为将查询转发到 IP 地址 192.0.2.254 的 DNS 服务器。
客户端发送对
不存在.test.example的查询时。DNS 名称,BIND 检测到 IdM 服务器对 test.example. 区域具有权威,并且不会将查询转发到 192.0.2.254. 服务器。因此,DNS 客户端会收到 NXDomain 回答,通知用户查询的域不存在。
IdM DNS Master 区域中的区委派
可以在 IdM DNS 中转发对 master 区的特定子区的查询。例如,如果 IdM DNS 处理区域
idm.example.com,您可以将 sub_zone1.idm.example.com 子区的颁发机构委派给不同的 DNS 服务器。要实现此行为,您需要按上文所述使用转发以及将子区域委派给其他 DNS 服务器的名称服务器记录。在以下示例中,sub_zone1 是子区,192.0.2.1 是子区委托给的 DNS 服务器的 IP 地址:
ipa dnsrecord-add idm.example.com. sub_zone1 --ns-rec=192.0.2.1
$ ipa dnsrecord-add idm.example.com. sub_zone1 --ns-rec=192.0.2.1
添加 forward 区域后类似如下:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ipa dnsforwardzone-add sub_zone1.idm.example.com. --forwarder 192.0.2.1
$ ipa dnsforwardzone-add sub_zone1.idm.example.com. --forwarder 192.0.2.1
33.6.1. 配置全局转发器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
全局转发 器是 DNS 服务器,用于解析 IdM 服务器不具有权威的所有 DNS 查询,如 第 33.6 节 “管理 DNS 转发” 所述。
管理员可以通过以下两种方式为全局转发配置 IP 地址和转发策略:
- 使用 ipa dnsconfig-mod 命令或 IdM Web UI
- 使用这些原生 IdM 工具设置的配置会立即应用到所有 IdM DNS 服务器。如 第 33.3 节 “DNS 配置优先级” 所述,全局 DNS 配置的优先级高于
/etc/named.conf文件中定义的本地配置。 - 通过编辑
/etc/named.conf文件 - 在每个 IdM DNS 服务器上手动编辑
/etc/named.conf,允许在每个服务器上使用不同的全局转发器和策略。请注意,在更改/etc/named.conf后,必须重启 BIND 服务。
在 Web UI 中配置 Forwarders
在 IdM Web UI 中定义 DNS 全局配置:
- 单击 Network Services 选项卡,然后选择 DNS 子选项卡,后跟 DNS Global Configuration 部分。
- 要添加新的全局转发器,请点 并输入 IP 地址。要定义新的转发策略,请从可用策略列表中选择它。
图 33.28. 在 Web UI 中编辑全局 DNS 配置
- 单击 以确认新配置。
从命令行配置转发器
要从命令行设置全局转发器的全局列表,请使用 ipa dnsconfig-mod 命令。它通过编辑 LDAP 数据来编辑 DNS 全局配置。ipa dnsconfig-mod 命令及其选项会一次性影响所有 IdM DNS 服务器,并覆盖任何本地配置。
例如,要使用 ipa dnsconfig-mod 编辑全局转发器列表:
ipa dnsconfig-mod --forwarder=192.0.2.254
[user@server ~]$ ipa dnsconfig-mod --forwarder=192.0.2.254
Global forwarders: 192.0.2.254
33.6.2. 配置转发区 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
转发区域不包含任何权威数据,并指示名称服务器仅将属于特定区域的查询转发到配置的转发器。
重要
除非绝对需要,否则不要使用 forward 区域。限制对覆盖全局转发配置的使用。在大多数情况下 ,不需要只配置全局转发 ( 第 33.6.1 节 “配置全局转发器” 描述)和转发区。
forward zone 是一个非标准的解决方案,使用它们可能会导致意外和有问题的行为。在创建新的 DNS 区域时,红帽建议始终使用 NS 记录使用标准 DNS 委派,并避免转发区域。
有关支持的转发策略的详情请参考 “forward 策略”一节。
有关 BIND 服务的详情,请查看 Red Hat Enterprise Linux 网络指南,BIND 9 管理员参考手册,包含在
/usr/share/doc/bind-version_number/ 目录或外部源 [5] .
在 Web UI 中配置转发区
要在 Web UI 中管理转发区域,请单击 Network Services 选项卡,然后选择 DNS 子选项卡,后跟 DNS Forward Zones 部分。
图 33.29. 管理 DNS 转发区域
在 DNS Forward Zones 部分中,管理员可以处理有关转发区域的所有必要操作:显示当前转发区域列表、添加新的转发区域、删除区、显示转发区,允许每个转发区修改转发器和转发策略,以及禁用或启用转发区域。
从命令行配置转发区
要从命令行管理转发区域,请使用下面描述的 ipa dnsforwardzone the 命令。
注意
ipa dnsforwardzone the 命令的行为与用于管理 master 区的 ipa dnszone the 命令一致。
ipa dnsforwardzone the 命令接受几个选项,特别是
--forwarder、--forward-policy 和 --name-from-ip 选项。有关可用选项的详情,请参考 表 33.1 “zone 属性” 或添加 --help 选项运行命令,例如:
ipa dnsforwardzone-add --help
ipa dnsforwardzone-add --help
- 添加转发区
- 使用 dnsforwardzone-add 命令添加新的转发区域。如果转发策略没有设置为
none,则需要至少指定一个转发器。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 修改转发区
- 使用 dnsforwardzone-mod 命令修改转发区域。如果转发策略不是任何,则需要至少指定一个转发器。
可以通过多种方式进行修改。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 显示转发区域
- 使用 dnsforwardzone-show 命令显示指定转发区域的信息。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 查找转发区域
- 使用 dnsforwardzone-find 命令查找指定的转发区域。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 删除转发区
- 使用 dnsforwardzone-del 命令删除指定的转发区域。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 启用和禁用转发区域
- 使用 dnsforwardzone-enable 和 dnsforwardzone-disable 命令来启用和禁用转发区。请注意,转发区会被默认启用。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 添加和删除权限
- 使用 dnsforwardzone-add-permission 和 dnsforwardzone-remove-permission 命令来添加或删除系统权限。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow