2.7. IdM 的主机名和 DNS 要求
以下概述了服务器和副本系统的主机名和 DNS 要求,以及如何验证系统是否满足要求。
这些要求适用于所有身份管理(IdM)服务器,以及那些带有集成 DNS 的服务器和没有集成 DNS 的服务器。
DNS 记录对于几乎所有 IdM 域功能至关重要,包括运行 LDAP 目录服务、Kerberos 和 Active Directory 集成。请非常小心,并确保:
- 您有一个经过测试且可以正常工作的 DNS 服务
- 该服务已被正确配置
这个要求适用于带有和不带有集成 DNS 的 IdM 服务器。
- 验证服务器主机名
主机名必须是完全限定域名,如
server.idm.example.com
。重要不要使用单标签域名,例如
.company
: IdM 域必须由一个或多个子域和一个顶级域组成,如example.com
或company.example.com
。完全限定域名必须满足以下条件:
- 它是一个有效的 DNS 名称,即只允许数字、字母字符和连字符(-)。主机名中的其他字符(如下划线(_))会导致 DNS 失败。
- 都是小写。不允许使用大写字母。
-
它无法解析回送地址。它必须解析系统的公共 IP 地址,而不是
127.0.0.1
。
要验证主机名,在您要安装的系统中使用
hostname
工具:# hostname server.idm.example.com
hostname
的输出不能是localhost
或localhost6
。- 验证转发和反向 DNS 配置
获取服务器的 IP 地址。
ip addr show
命令显示 IPv4 和 IPv6 地址。在以下示例中,相关的 IPv6 地址为2001:DB8::1111
,因为其范围是全局的:[root@server ~]# ip addr show ... 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:1a:4a:10:4e:33 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic eth0 valid_lft 106694sec preferred_lft 106694sec inet6 2001:DB8::1111/32 scope global dynamic valid_lft 2591521sec preferred_lft 604321sec inet6 fe80::56ee:75ff:fe2b:def6/64 scope link valid_lft forever preferred_lft forever ...
使用
dig
工具证正向 DNS 配置。运行
dig +short server.idm.example.com A
命令。返回的 IPv4 地址必须与ip addr show
返回的 IP 地址匹配:[root@server ~]# dig +short server.idm.example.com A 192.0.2.1
运行
dig +short server.idm.example.com AAAA
命令。如果返回一个地址,它必须与ip addr show
返回的 IPv6 地址匹配:[root@server ~]# dig +short server.idm.example.com AAAA 2001:DB8::1111
注意如果
dig
没有返回 AAAA 记录的任何输出,那么这并不表示配置不正确。没有输出只表示系统在 DNS 中没有配置 IPv6 地址。如果您不打算在网络中使用 IPv6 协议,则可以继续进行安装。
验证反向 DNS 配置(PTR 记录)。使用
dig
工具并添加 IP 地址。如果以下命令显示不同的主机名或没有主机名,则反向 DNS 配置不正确。
运行
dig +short -x IPv4_address
命令。输出必须显示服务器主机名。例如:[root@server ~]# dig +short -x 192.0.2.1 server.idm.example.com
如果上一步中的
dig +short -x server.idm.example.com AAAA
命令返回 IPv6 地址,请使用dig
查询 IPv6 地址。输出必须显示服务器主机名。例如:[root@server ~]# dig +short -x 2001:DB8::1111 server.idm.example.com
注意如果上一步中的
dig +short server.idm.example.com AAAA
没有显示任何 IPv6 地址,则查询 AAAA 记录不会输出任何内容。在这种情况下,这是正常的行为,不代表配置不正确。警告如果反向 DNS(PTR 记录)搜索返回多个主机名,那么
httpd
和其他与 IdM 关联的软件可能会显示无法预测的行为。红帽强烈建议每个 IP 只配置一个 PTR 记录。
- 验证 DNS 正向解析器的标准合规性(仅集成DNS需要)
确保您要与 IdM DNS 服务器一起使用的所有 DNS 正向解析器均符合 DNS(EDNS0)扩展机制和 DNS 安全扩展扩展(DNSSEC)标准。要做到这一点,请分别检查每个正向解析器的以下命令的输出:
$ dig +dnssec @IP_address_of_the_DNS_forwarder . SOA
命令显示的预期输出包含以下信息:
-
状态:
NOERROR
-
标记:
ra
-
EDNS 标志:
do
-
RRSIG
记录必须在ANSWER
部分中存在
如果输出中缺少任何这些项,请检查您的 DNS 正向解析器文档,验证是否支持并启用了 EDNS0 和 DNSSEC。在最新版本的 BIND 服务器中,
dnssec-enable yes;
选项必须在/etc/named.conf
文件中设置。dig
生成的预期输出示例:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48655 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; ANSWER SECTION: . 31679 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015100701 1800 900 604800 86400 . 31679 IN RRSIG SOA 8 0 86400 20151017170000 20151007160000 62530 . GNVz7SQs [...]
-
状态:
- 验证
/etc/hosts
文件 验证
/etc/hosts
文件是否满足以下条件之一:- 该文件不包含主机的条目。它只列出主机的 IPv4 和 IPv6 localhost 条目。
该文件包含主机条目,并且文件满足以下所有条件:
- 前两个条目是 IPv4 和 IPv6 localhost 条目。
- 下一个条目指定 IdM 服务器 IPv4 地址和主机名。
-
IdM 服务器的
FQDN
位于 IdM 服务器的短名称之前。 - IdM 服务器主机名不是 localhost 条目的一部分。
以下是正确配置的
/etc/hosts
文件示例:
127.0.0.1 localhost localhost.localdomain \ localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain \ localhost6 localhost6.localdomain6 192.0.2.1 server.idm.example.com server 2001:DB8::1111 server.idm.example.com server