安装身份管理
安装 IdM 服务器和客户端的方法
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
通过 Jira 提交反馈(需要帐户)
- 登录到 Jira 网站。
- 单击顶部导航栏中的 Create。
- 在 Summary 字段中输入描述性标题。
- 在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 点对话框底部的 Create。
第 1 章 如何使用本指南 复制链接链接已复制到粘贴板!
身份管理(IdM)域包括 IdM 服务器,也称为副本和 IdM 客户端。虽然 安装 IdM 部署 总是以安装主 IdM 服务器开始,但下一个安装步骤的顺序取决于目标拓扑。例如,您可以在安装 IdM 客户端之前或之后安装 IdM 副本。另外,某些 IdM 部署需要 与活动目录的信任,而其他 IdM 部署则不需要。
部分 I. 安装身份管理 复制链接链接已复制到粘贴板!
第 2 章 为 IdM 服务器安装准备系统 复制链接链接已复制到粘贴板!
以下章节列出了安装身份管理(IdM)服务器的要求。在安装前,请验证您的系统满足这些要求。
2.1. 先决条件 复制链接链接已复制到粘贴板!
-
您需要
root特权才能在主机上安装身份管理(IdM)服务器。
2.2. 硬件建议 复制链接链接已复制到粘贴板!
对于性能调整,RAM 是最重要的硬件。请确定您的系统有足够可用 RAM。典型的 RAM 要求是:
- 对于 10,000 个用户和 100 个组:至少 4 GB RAM 和 4 GB 交换(swap)空间
- 对于 100,000 个用户和 50,000 个组:至少 16 GB RAM 和 4 GB swap 空间
对于较大的部署,增加 RAM 比增加磁盘空间更有效,因为大部分数据存储在缓存中。通常,对于大型部署,添加更多 RAM 会因为有更多的缓存使系统具有更好的性能。在虚拟环境中,必须禁用内存膨胀,或者必须为客户机 IdM 服务器保留完整的 RAM。
基本用户条目或带有证书的简单主机条目大约是 5-10 kB 大小。
2.3. IdM 的自定义配置要求 复制链接链接已复制到粘贴板!
在干净的系统上安装身份管理(IdM)服务器,无需为 DNS、Kerberos、Apache 或 Directory Server 等服务进行任何自定义配置。
IdM 服务器安装覆盖了系统文件来设置 IdM 域。IdM 将原始系统文件备份到 /var/lib/ipa/sysrestore/。当在生命周期结束时卸载 IdM 服务器时,会恢复这些文件。
IdM 中的 IPv6 要求
IdM 系统必须在内核中启用 IPv6 协议,并且 localhost (::1)能够使用它。如果禁用 IPv6,IdM 服务使用的 CLDAP 插件将无法初始化。
不必在网络中启用 IPv6。如果需要,可以启用 IPv6 堆栈而不启用 IPv6 地址。
支持 IdM 中的加密类型
Red Hat Enterprise Linux (RHEL)使用 Kerberos 协议版本 5,它支持加密类型,如高级加密标准(AES)、Camellia 和数据加密标准(DES)。
支持的加密类型列表
虽然 IdM 服务器和客户端上的 Kerberos 库可能会支持更多的加密类型,但 IdM Kerberos 分发中心(KDC)只支持以下加密类型:
-
aes256-cts:normal -
aes256-cts:special(默认) -
aes128-cts:normal -
aes128-cts:special(默认) -
aes128-sha2:normal -
aes128-sha2:special -
aes256-sha2:normal -
aes256-sha2:special -
camellia128-cts-cmac:normal -
camellia128-cts-cmac:special -
camellia256-cts-cmac:normal -
camellia256-cts-cmac:special
默认禁用 RC4 加密类型
RHEL 8 中已弃用并默认禁用以下 RC4 加密类型,因为它们被视为不如较新的 AES-128 和 AES-256 加密类型安全:
-
arcfour-hmac:normal -
arcfour-hmac:special
有关手动启用 RC4 支持以与旧活动目录环境兼容的更多信息,请参阅 确保在 AD 和 RHEL 中对通用加密类型的支持。
删除了对 DES 和 3DES 加密的支持
由于安全考虑,在 RHEL 7 中弃用了对 DES 算法的支持。RHEL 8.3.0 中最近重新构建的 Kerberos 软件包从 RHEL 8 中删除了对 single-DES(DES)和 triple-DES(3DES)加密类型的支持。
标准 RHEL 8 IdM 安装默认不使用 DES 或 3DES 加密类型,且不受 Kerberos 升级的影响。
如果您手动配置任何服务或用户只使用DES或 3DES 加密(例如,对于遗留的客户端),您可能会在升级到最新的 Kerberos 软件包后遇到服务中断,例如:
- Kerberos 验证错误
-
unknown enctype加密错误 -
带有 DES 加密数据库主密钥 (
K/M) 的 KDC 无法启动
不要在您的环境中使用 DES 或 3DES 加密。
如果您将环境配置成了使用DES和3DES加密类型,则只需要禁用它们。
支持 IdM 中系统范围的加密策略
IdM 使用 DEFAULT 系统范围的加密策略。此政策为当前威胁模型提供安全设置。它允许 TLS 1.2 和 1.3 协议,以及 IKEv2 和 SSH2 协议。如果 RSA 密钥和 Diffie-Hellman 参数至少是 2048 位,则可以接受它们。此策略不允许 DES、3DES、RC4、DSA、TLS v1.0 和其他较弱的算法。
您不能使用 FUTURE 系统范围的加密策略来安装 IdM 服务器。安装 IdM 服务器时,请确保您使用的是 DEFAULT 系统范围的加密策略。
其它资源
- 系统范围的加密策略
- man IPV6(7)
2.4. FIPS 合规性 复制链接链接已复制到粘贴板!
有了 RHEL 8.3.0 或更高版本,您可以在启用了联邦信息处理标准(FIPS) 140 模式的系统上安装新的 IdM 服务器或副本。
要在 FIPS 模式下安装 IdM,首先在主机上启用 FIPS 模式,然后安装 IdM。IdM 安装脚本会检测是否启用了 FIPS,并将 IdM 配置为只使用符合 FIPS 140 标准的加密类型:
-
aes256-cts:normal -
aes256-cts:special -
aes128-cts:normal -
aes128-cts:special -
aes128-sha2:normal -
aes128-sha2:special -
aes256-sha2:normal -
aes256-sha2:special
要使 IdM 环境符合 FIPS,所有 IdM 副本都必须启用 FIPS 模式。
您还应该在 IdM 客户端中启用 FIPS 模式,特别是如果您想将这些客户端提升到 IdM 副本。最终,由管理员来决定它们如何满足 FIPS 要求;红帽不强制执行 FIPS 标准。
迁移到符合 FIPS 的 IdM
您无法将现有 IdM 安装从非 FIPS 环境迁移到符合 FIPS 的安装。这不是技术问题,而是法律和监管限制。
要操作符合 FIPS 的系统,必须在 FIPS 模式下创建所有加密密钥资料。另外,加密密钥材料不得离开 FIPS 环境,除非它被安全包装,且永远不会在非 FIPS 环境中解封。
如果您的场景需要将非 FIPS IdM 领域迁移到符合 FIPS 的领域,您必须:
- 在 FIPS 模式下创建一个新 IdM 领域
- 使用阻止所有密钥材料的过滤器,从非 FIPS 领域执行到新 FIPS 模式领域的数据迁移
迁移过滤器必须阻止:
- KDC 主密钥、keytab 以及所有相关 Kerberos 密钥材料
- 用户密码
- 所有证书,包括 CA、服务和用户证书
- OTP 令牌
- SSH 密钥和指纹
- DNSSEC KSK 和 ZSK
- 所有 vault 条目
- 与 AD 信任相关的密钥材料
实际上,新的 FIPS 安装是一种不同的安装。即使具有严格的过滤,此类迁移可能无法通过 FIPS 140 认证。您的 FIPS 审核员可能会标记这个迁移。
2.5. 支持启用了 FIPS 模式的跨林信任 复制链接链接已复制到粘贴板!
要在启用了 FIPS 模式的同时建立与 Active Directory(AD)域的跨林信任,您必须满足以下要求:
- IdM 服务器位于 RHEL 8.4.0 或更高版本中。
- 在设置信任时,您必须使用 AD 管理帐户验证。在启用 FIPS 模式时,您无法使用共享 secret 建立信任。
RADIUS 身份验证不符合 FIPS ,因为 RADIUS 协议使用 MD5 哈希函数来在客户端和服务器之间加密密码,在 FIPS 模式下,OpenSSL 禁用 MD5 摘要算法的使用。但是,如果 RADIUS 服务器与 IdM 服务器在同一台主机上运行,您可以临时解决这个问题,并通过执行红帽知识库解决方案 如何在 FIPS 模式下配置 FreeRADIUS 身份验证 中描述的步骤来启用 MD5。
2.6. IdM 的时间服务要求 复制链接链接已复制到粘贴板!
以下章节讨论了使用 chronyd 来使 IdM 主机与中央时间源同步:
2.6.1. IdM 如何使用 chronyd 进行同步 复制链接链接已复制到粘贴板!
您可以使用 chronyd 使 IdM 主机与中央时间源同步,如下所述。
Kerberos 是 IdM 中的底层验证机制,使用时间戳作为其协议的一部分。如果 IdM 客户端的系统时间与密钥发布中心(KDC)的系统时间相差超过 5 分钟,则 Kerberos 身份验证会失败。
为确保 IdM 服务器和客户端与中央时间源同步,IdM 安装脚本会自动配置 chronyd 网络时间协议(NTP)客户端软件。
如果您没有将任何 NTP 选项传给 IdM 安装命令,安装程序将搜索指向网络中 NTP 服务器的 _ntp._udp DNS 服务(SRV)记录,并使用该 IP 地址配置 chrony。如果您没有任何 _ntp._udp SRV 记录,chronyd 会使用 chrony 软件包提供的配置。
因为 ntpd 在RHEL 8 中已被弃用,取而代之的是 chronyd ,所以 IdM 服务器不再被配置为网络时间协议(NTP)服务器,只被配置为 NTP 客户端。RHEL 7 NTP 服务器 IdM 服务器角色在 RHEL 8 中也已被弃用。
2.6.2. IdM 安装命令的 NTP 配置选项列表 复制链接链接已复制到粘贴板!
您可以使用 chronyd 使 IdM 主机与中央时间源同步。
您可以在任何 IdM 安装命令(ipa-server-install、ipa-replica-install、ipa-client-install)中指定以下选项来在设置过程中配置 chronyd 客户端软件。
| 选项 | 行为 |
|---|---|
|
| 使用它指定一个 NTP 服务器。您可以多次使用它来指定多个服务器。 |
|
| 使用它指定一个解析为主机名的多个 NTP 服务器池。 |
|
|
不要配置、启动或启用 |
2.6.3. 确保 IdM 可以引用您的 NTP 时间服务器 复制链接链接已复制到粘贴板!
您可以验证您是否有必要的配置,以使 IdM 能够与您的网络时间协议(NTP)时间服务器同步。
先决条件
-
您已在环境中配置了 NTP 时间服务器。在本例中,之前配置的时间服务器的主机名为
ntpserver.example.com。
流程
对您环境中的 NTP 服务器执行 DNS 服务(SRV)记录搜索。
dig +short -t SRV _ntp._udp.example.com 0 100 123 ntpserver.example.com.
[user@server ~]$ dig +short -t SRV _ntp._udp.example.com 0 100 123 ntpserver.example.com.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果之前的
dig搜索没有返回您的时间服务器,请添加一个指向时间服务器123端口的_ntp._udpSRV 记录。这个过程取决于您的 DNS 解决方案。
验证
在您执行搜索
_ntp._udpSRV 记录时,DNS 验证您的时间服务器的123端口是否返回一条记录。dig +short -t SRV _ntp._udp.example.com 0 100 123 ntpserver.example.com.
[user@server ~]$ dig +short -t SRV _ntp._udp.example.com 0 100 123 ntpserver.example.com.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. 满足 IdM 的 DNS 主机名和 DNS 要求 复制链接链接已复制到粘贴板!
以下概述了服务器和副本系统的主机名和 DNS 要求,以及如何验证系统是否满足要求。
DNS 记录对于几乎所有身份管理(IdM)域功能至关重要,包括运行的 LDAP 目录服务、Kerberos 和活动目录集成。请非常小心,并确保:
- 您有一个经过测试且可以正常工作的 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 server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow hostname的输出不能是localhost或localhost6。- 验证转发和反向 DNS 配置
获取服务器的 IP 地址。
ip addr show命令显示 IPv4 和 IPv6 地址。在以下示例中,相关的 IPv6 地址为2001:DB8::1111,因为其范围是全局的:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
dig工具证正向 DNS 配置。运行
dig +short server.idm.example.com A命令。返回的 IPv4 地址必须与ip addr show返回的 IP 地址匹配:dig +short server.idm.example.com A 192.0.2.1
[root@server ~]# dig +short server.idm.example.com A 192.0.2.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
dig +short server.idm.example.com AAAA命令。如果返回一个地址,它必须与ip addr show返回的 IPv6 地址匹配:dig +short server.idm.example.com AAAA 2001:DB8::1111
[root@server ~]# dig +short server.idm.example.com AAAA 2001:DB8::1111Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果
dig没有返回 AAAA 记录的任何输出,那么这并不表示配置不正确。没有输出只表示系统在 DNS 中没有配置 IPv6 地址。如果您不打算在网络中使用 IPv6 协议,则可以继续进行安装。
验证反向 DNS 配置(PTR 记录)。使用
dig工具并添加 IP 地址。如果以下命令显示不同的主机名或没有主机名,则反向 DNS 配置不正确。
运行
dig +short -x IPv4_address命令。输出必须显示服务器主机名。例如:dig +short -x 192.0.2.1 server.idm.example.com
[root@server ~]# dig +short -x 192.0.2.1 server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果上一步中的
dig +short -x server.idm.example.com AAAA命令返回 IPv6 地址,请使用dig查询 IPv6 地址。输出必须显示服务器主机名。例如:dig +short -x 2001:DB8::1111 server.idm.example.com
[root@server ~]# dig +short -x 2001:DB8::1111 server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果上一步中的
dig +short server.idm.example.com AAAA没有显示任何 IPv6 地址,则查询 AAAA 记录不会输出任何内容。在这种情况下,这是正常的行为,不代表配置不正确。警告如果反向 DNS(PTR 记录)搜索返回多个主机名,那么
httpd和其他与 IdM 关联的软件可能会显示无法预测的行为。红帽强烈建议每个 IP 只配置一个 PTR 记录。
- 验证 DNS 正向解析器的标准合规性(仅集成DNS需要)
确保您要与 IdM DNS 服务器一起使用的所有 DNS 转发器都符合 DNS 的扩展机制(EDNS0)。要做到这一点,请分别检查每个正向解析器的以下命令的输出:
dig @IP_address_of_the_DNS_forwarder . SOA
$ dig @IP_address_of_the_DNS_forwarder . SOACopy to Clipboard Copied! Toggle word wrap Toggle overflow 命令显示的预期输出包含以下信息:
-
状态:
NOERROR -
标记:
ra
如果输出中缺少其中任何一项,请检查您的 DNS 转发器的文档,并验证是否支持并启用了 EDNS0。
-
状态:
- 确定您的 DNS 安全扩展(DNSSEC)策略(仅集成 DNS 需要)
- 警告
DNSSEC 仅在 IdM 中作为技术预览提供。
默认情况下,DNSSEC 验证在 IdM 集成的 DNS 服务器中启用。如果在您的 IdM 部署中不需要 DNSSEC 功能,请在安装主 IdM 服务器和 IdM 副本时将
--no-dnssec-validation选项添加到ipa-server-install --setup-dns和ipa-replica-install --setup-dns命令中。如果您确实想使用 DNSSEC,请确保您要与 IdM DNS 服务器一起使用的所有 DNS 转发器都符合 DNSSEC 标准。要做到这一点,请分别检查每个正向解析器的以下命令的输出:
dig +dnssec @IP_address_of_the_DNS_forwarder . SOA
$ dig +dnssec @IP_address_of_the_DNS_forwarder . SOACopy to Clipboard Copied! Toggle word wrap Toggle overflow 命令显示的预期输出包含以下信息:
-
状态:
NOERROR -
标记:
ra -
EDNS 标志:
do -
RRSIG记录必须在ANSWER部分中存在
如果输出中缺少这些项中的任何一个,请检查您的 DNS 转发器文档,并验证 DNSSEC 是否支持并已启用。在最新版本的 BIND 服务器中,
dnssec-enable yes;选项必须在/etc/named.conf文件中设置。dig +dnssec产成的预期输出的示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在已部署的 IdM 服务器上,您可以通过搜索
/etc/named/ipa-options-ext.conf文件中的dnssec-validation布尔值选项来检查 DNSSEC 验证是否已启用。 -
状态:
- 验证
/etc/hosts文件 验证
/etc/hosts文件是否满足以下条件之一:- 该文件不包含主机的条目。它只列出主机的 IPv4 和 IPv6 localhost 条目。
该文件包含主机条目,并且文件满足以下所有条件:
- 前两个条目是 IPv4 和 IPv6 localhost 条目。
- 下一个条目指定 IdM 服务器 IPv4 地址和主机名。
-
IdM 服务器的
FQDN位于 IdM 服务器的短名称之前。 - IdM 服务器主机名不是 localhost 条目的一部分。
以下是正确配置的
/etc/hosts文件示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.8. IdM 的端口要求 复制链接链接已复制到粘贴板!
身份管理(IdM)使用多个端口 来与其服务进行通信。这些端口必须是开放的,并可用于 IdM 服务器的传入连接,这样 IdM 才能工作。。它们目前不被其他服务使用,或者被 防火墙 阻止。
| 端口 | 端口 | 协议 |
|---|---|---|
| HTTP/HTTPS | 80, 443 | TCP |
| LDAP/LDAPS | 389, 636 | TCP |
| Kerberos | 88, 464 | TCP 和 UDP |
| DNS | 53 | TCP 和 UDP(可选) |
IdM 使用端口 80 和 389。这是一种安全的做法,因为以下保障措施:
- IdM 通常将到达端口 80 的请求重定向到端口 443。端口 80(HTTP)仅用于提供在线证书状态协议(OCSP)响应和证书撤销列表(CRL)。两者均是数字签名的,因此可防止中间人攻击。
- 端口 389(LDAP)使用 STARTTLS 和通用安全服务 API(GSSAPI)进行加密。
另外,端口 8080 和 8443 在内部被 pki-tomcat 使用,并在防火墙中阻止了它们以防止被其他服务使用。端口 749 用于 Kerberos 服务器的远程管理,只有在您打算使用远程管理时才打开。
| 服务名称 | 详情请查看: |
|---|---|
|
|
|
|
|
|
2.9. 打开 IdM 所需的端口 复制链接链接已复制到粘贴板!
您可以打开 IdM 用来与其服务进行通信所需的端口。
流程
验证
firewalld服务是否正在运行。查看
firewalld当前是否正在运行:systemctl status firewalld.service
# systemctl status firewalld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
firewalld并将其配置为在系统引导时自动启动:systemctl start firewalld.service systemctl enable firewalld.service
# systemctl start firewalld.service # systemctl enable firewalld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
firewall-cmd工具打开所需的端口。选择以下选项之一:使用
firewall-cmd --add-port命令在防火墙中添加各个端口。例如,要在默认区中打开端口:firewall-cmd --permanent --add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,88/udp,464/tcp,464/udp,53/tcp,53/udp}# firewall-cmd --permanent --add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,88/udp,464/tcp,464/udp,53/tcp,53/udp}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
firewall-cmd --add-service命令在防火墙中添加firewalld服务。例如,要在默认区中打开端口:firewall-cmd --permanent --add-service={freeipa-4,dns}# firewall-cmd --permanent --add-service={freeipa-4,dns}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关使用
firewall-cmd开放系统上端口的详情,请参考 firewall-cmd(1)手册页。
重新载入
firewall-cmd配置以确保修改立即生效:firewall-cmd --reload
# firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,在生产环境的系统上重新载入
firewalld可能会导致 DNS 连接超时。如果需要,为了避免超时的风险并在运行的系统上永久保留修改,请使用firewall-cmd命令的--runtime-to-permanent选项,例如:firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
登录到客户端子网上的主机,并使用
nmap或nc工具连接到打开的端口或运行端口扫描。例如,要扫描 TCP 流量所需的端口:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要扫描 UDP 流量所需的端口:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您还必须为传入和传出流量打开基于网络的防火墙。
2.10. 安装 IdM 服务器所需的软件包 复制链接链接已复制到粘贴板!
在 Red Hat Enterprise Linux 8 中,安装身份管理(IdM)服务器所需的软件包作为一个模块提供。IdM 服务器模块流称为 DL1 流,您需要先启用这个流,然后才能从此流下载软件包。以下流程演示了如何下载设置您选择的 IdM 环境所需的软件包。
先决条件
- 您有一个新安装的 RHEL 系统。
您已提供所需的软件仓库:
如果您的 RHEL 系统不是在云中运行,您已将您的系统注册到 Red Hat Subscription Manager(RHSM)。详情请查看 订阅中心。您还可以启用 IdM 使用的
BaseOS和AppStream软件仓库:subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms # subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
有关如何使用 RHSM 启用和禁用特定存储库的详情,请参阅 订阅中心。
- 如果您的 RHEL 系统在云中运行请跳过注册。所需的软件仓库已通过 Red Hat Update Infrastructure(RHUI)提供。
- 您之前还没有启用 IdM 模块流。
流程
启用
idm:DL1流:yum module enable idm:DL1
# yum module enable idm:DL1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 切换到通过
idm:DL1流提供的 RPM:yum distro-sync
# yum distro-syncCopy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的 IdM 要求选择以下选项之一:
要下载在没有集成 DNS 的情况下安装 IdM 服务器所需的软件包:
yum module install idm:DL1/server
# yum module install idm:DL1/serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要下载安装带有集成 DNS 的 IdM 服务器所需的软件包:
yum module install idm:DL1/dns
# yum module install idm:DL1/dnsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要下载安装与 Active Directory 具有信任协议的 IdM 服务器所需的软件包:
yum module install idm:DL1/adtrust
# yum module install idm:DL1/adtrustCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要从多个配置集下载软件包,如
adtrust和dns配置集:yum module install idm:DL1/{dns,adtrust}# yum module install idm:DL1/{dns,adtrust}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要下载安装 IdM 客户端所需的软件包:
yum module install idm:DL1/client
# yum module install idm:DL1/clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
当您启用了其他流并从中下载软件包后,当切换到新的模块流时,需要首先明确删除所有安装的相关内容,并在启用新模块流前禁用当前模块流。在不禁用当前流的情况下尝试启用新流会导致错误。有关如何继续操作的详情,请参阅 切换到以后的流。
虽然可以从模块单独安装软件包,但请注意,如果您安装的任何软件包来自于未列为该模块“API”的模块,则该软件包只能在该模块的上下文中被红帽所支持。例如,如果您直接从存储库安装 bind-dyndb-ldap,以用于自定义 389 目录服务器设置,则您遇到的任何问题都会被忽略,除非 IdM 也出现这些问题。
2.11. 为 IdM 安装设置正确的文件模式创建掩码 复制链接链接已复制到粘贴板!
身份管理(IdM)安装过程要求将 root 帐户的文件模式创建掩码(umask)设为 0022。这允许除了 root 之外的用户可以读取在安装过程中创建的文件。如果设置了不同的 umask,IdM 服务器的安装会显示一个警告。如果继续安装,则服务器的一些功能将无法正常工作。例如,您无法从这个服务器安装 IdM 副本。安装后,您可以将 umask 设回其原始值。
先决条件
-
您有
root特权。
流程
可选:显示当前的
umask:umask 0027
# umask 0027Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
umask设为0022:umask 0022
# umask 0022Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:在 IdM 安装完成后,将
umask设置回其原始值:umask 0027
# umask 0027Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.12. 确保 fapolicyd 规则不会阻止 IdM 安装和操作 复制链接链接已复制到粘贴板!
如果您在 RHEL 主机上使用 fapolicyd 软件框架来根据用户定义的策略控制应用程序的执行,则身份管理(IdM)服务器的安装会失败。由于安装和操作需要 Java 程序成功完成,因此,请确保 Java 和 Java 类没有被任何 fapolicyd 规则阻止。
如需更多信息,请参阅红帽知识库解决方案 fapolicy 限制导致 IdM 安装失败。
2.13. IdM 安装命令的选项 复制链接链接已复制到粘贴板!
ipa-server-install、ipa-replica-install、ipa-dns-install 和 ipa-ca-install 等命令有大量的选项,您可以用来为交互式安装提供额外的信息。您还可以使用这些选项来编写无人值守的安装脚本。
下表显示了不同组件的一些最常见的选项。特定组件的选项可在多个命令间共享。例如,您可以在 ipa-ca-install 和 ipa-server-install 命令中使用 --ca-subject 选项。
有关选项的详细列表,请查看 ipa-server-install(1)、ipa-replica-install(1)、ipa-dns-install (1) 和 ipa-ca-install (1) 手册页。
| 参数 | 描述 |
|---|---|
|
| 启用 debug 日志记录来获得更详细的输出。 |
|
| 启用不提示用户输入的无人值守安装会话。 |
|
| IdM 服务器机器的完全限定域名。只允许数字、小写字符和连字符(-)。 |
|
| 指定服务器的 IP 地址。这个选项只接受与本地接口关联的 IP 地址。 |
|
| 用于修改目录服务器实例配置的 LDIF 文件的路径。 |
|
| 用于 IdM 域的 LDAP 服务器域名。这通常基于 IdM 服务器的主机名。 |
|
|
LDAP 服务的超级用户 |
|
|
|
|
|
为 IdM 域创建的 Kerberos 域的名称为大写,如 |
|
| 告知安装脚本在 IdM 域中设置 DNS 服务。 |
|
|
在此副本上安装和配置 CA。如果没有配置 CA,证书操作将转发给安装了 CA 的另一个副本。对于 |
| 参数 | 描述 |
|---|---|
|
| 指定 CA 证书主题可辨识名称(默认为: CN=Certificate Authority,O=REALM.NAME)。相对可辨识名称(RDN)采用 LDAP 顺序,首先是最特定的 RDN。 |
|
| 指定 IdM 发布的证书的主题基础(默认 O=REALM.NAME)。相对可辨识名称(RDN)采用 LDAP 顺序,首先是最特定的 RDN。 |
|
| 生成要由外部 CA 签名的证书签名请求。 |
|
|
指定 IdM CA 证书的签名算法。可能的值为 SHA1withRSA, SHA256withRSA, SHA512withRSA。默认值为 SHA256withRSA。如果外部 CA 不支持默认的签名算法,请将这个选项与 |
| 参数 | 描述 |
|---|---|
|
| 指定要与 DNS 服务一起使用的 DNS 转发器。要指定多个转发器,请多次使用这个选项。 |
|
| 使用带有 DNS 服务而不是转发器的 root 服务器。 |
|
| 设置 DNS 域时,不要创建反向 DNS 区域。如果已经配置了反向 DNS 区域,则使用现有的反向 DNS 区域。
如果没有使用这个选项,则默认值为 |
第 3 章 安装 IdM 服务器:使用集成的 DNS,集成的 CA 作为 root CA 复制链接链接已复制到粘贴板!
安装带有集成 DNS 的新的身份管理(IdM)服务器有以下优点:
- 您可以使用原生 IdM 工具自动执行大多数维护和 DNS 记录管理。例如:在设置过程中自动创建 DNS SRV 记录,之后会自动更新。
- 您可以在安装 IdM 服务器过程中为稳定的外部互联网连接配置全局转发器。全局转发器对 Active Directory 的信任也很有用。
- 您可以设置 DNS 反向区域,以防止来自您的域的电子邮件被 IdM 域之外的电子邮件服务器视为垃圾邮件。
安装带有集成 DNS 的 IdM 有一定的限制:
- IdM DNS 并不意味着用作通用的 DNS 服务器。不支持某些高级 DNS 功能。如需更多信息,请参阅 IdM 服务器中提供的 DNS 服务。
本章描述了如何安装带有集成证书颁发机构(CA)作为根 CA的新 IdM 服务器。
ipa-server-install 命令的默认配置是集成的 CA 作为根CA。如果您没有使用 --http-cert-file 和-- 提供 HTTP 和 LDAP 服务器证书,则 IdM 服务器会安装带有集成 CA。如果您指定了-- dirsrv-cert-file external-ca,则 CA 默认由自签名或外部签名。
3.1. 带有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的交互式安装 复制链接链接已复制到粘贴板!
在使用 ipa-server-install 工具进行交互式安装过程中,您需要提供系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
流程
运行 ipa-server-install 工具程序。
ipa-server-install
# ipa-server-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此脚本提示配置集成的 DNS 服务。输入
yes。Do you want to configure integrated DNS (BIND)? [no]: yes
Do you want to configure integrated DNS (BIND)? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。
- 要接受默认值,请按 Enter 键。
要提供自定义值,请输入所需的值。
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告仔细规划这些名称。安装完成后您将无法更改它们。
输入目录服务器超级用户(
cn=Directory Manager)以及身份管理(IdM)管理系统用户帐户(admin)的密码。Directory Manager password: IPA admin password:
Directory Manager password: IPA admin password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 脚本提示每台服务器的 DNS 转发器。
Do you want to configure DNS forwarders? [yes]:
Do you want to configure DNS forwarders? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要配置每台服务器的 DNS 转发器,请输入
yes,然后按照命令行中的说明操作。安装过程会将转发器 IP 地址添加到 IdM LDAP。-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
--forward-policy描述。
-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
如果您不想使用 DNS 正向解析,请输入
no。如果没有 DNS 转发器,您 IdM 域中的主机将不能解析来自基础架构中其他的、内部的、DNS 域的名称。主机将只剩下公共 DNS 服务器来解析其 DNS 查询。
脚本会提示检查是否需要配置与服务器关联的 IP 地址的任何 DNS 反向(PTR)记录。
Do you want to search for missing reverse zones? [yes]:
Do you want to search for missing reverse zones? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您运行搜索并发现丢失了反向区,脚本会询问您是否创建反向区以及 PTR 记录。
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
输入
yes以确认服务器配置。Continue to configure the system with these values? [no]: yes
Continue to configure the system with these values? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 安装脚本现在配置服务器。等待操作完成。
安装脚本完成后,使用以下方法更新您的 DNS 记录:
将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要每次安装 IdM DNS 服务器后都会重复这个步骤。
-
将时间服务器的
_ntp._udp服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。
3.2. 带有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的非互动安装 复制链接链接已复制到粘贴板!
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
流程
使用选项运行 ipa-server-install 程序来提供所有所需信息。非互动安装的最低所需选项是:
-
--realm提供 Kerberos 领域名 -
--ds-password为目录管理者(DM)(目录服务器超级用户)提供密码 -
--admin-password为admin(身份管理(IdM)管理员)提供密码 -
--unattended,让安装进程为主机名和域名选择默认选项
要安装使用集成 DNS 的服务器,还要添加以下选项:
-
--setup-dns用于配置集成 DNS -
--forwarder或--no-forwarders,取决于您是否要配置 DNS 正向解析器 -
--auto-reverse或--no-reverse,取决于您是否要配置在 IdM DNS 中创建的反向 DNS 区域的自动检测,或者不需要反向区域自动检测
例如:
ipa-server-install --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended --setup-dns --forwarder 192.0.2.1 --no-reverse
# ipa-server-install --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended --setup-dns --forwarder 192.0.2.1 --no-reverseCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
安装脚本完成后,使用以下方法更新您的 DNS 记录:
将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要每次安装 IdM DNS 服务器后都会重复这个步骤。
-
将时间服务器的
_ntp._udp服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。
第 4 章 安装 IdM 服务器:具有集成的 DNS,具有外部 CA 作为根CA 复制链接链接已复制到粘贴板!
安装带有集成 DNS 的新的身份管理(IdM)服务器有以下优点:
- 您可以使用原生 IdM 工具自动执行大多数维护和 DNS 记录管理。例如:在设置过程中自动创建 DNS SRV 记录,之后会自动更新。
- 您可以在安装 IdM 服务器过程中为稳定的外部互联网连接配置全局转发器。全局转发器对 Active Directory 的信任也很有用。
- 您可以设置 DNS 反向区域,以防止来自您的域的电子邮件被 IdM 域之外的电子邮件服务器视为垃圾邮件。
安装带有集成 DNS 的 IdM 有一定的限制:
- IdM DNS 并不意味着用作通用的 DNS 服务器。不支持某些高级 DNS 功能。如需更多信息,请参阅 IdM 服务器中提供的 DNS 服务。
本章描述了如何安装具有外部证书颁发机构(CA)作为根CA的新 IdM 服务器。
4.1. 带有集成 DNS 和外部 CA 作为根 CA 的 IdM 服务器的交互式安装 复制链接链接已复制到粘贴板!
在使用 ipa-server-install 工具进行交互式安装过程中,您需要提供系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
按照以下流程安装服务器:
- 带有集成的 DNS
- 使用外部证书颁发机构(CA)作为 root CA
先决条件
-
您已确定了要通过
--external-ca-type选项指定的外部 CA 的类型。详情请查看ipa-server-install(1)手册页。 如果您使用 Microsoft Certificate Services 证书颁发机构(MS CS CA)作为外部 CA:您已确定要通过
--external-ca-profile选项指定的证书配置文件或模板。默认情况下使用SubCA模板。有关
--external-ca-type和--external-ca-profile选项的更多信息,请参阅 在安装外部 CA 作为根 CA 的 IdM CA 时使用的选项。
流程
使用
--external-ca选项来运行 ipa-server-install 工具。ipa-server-install --external-ca
# ipa-server-install --external-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用 Microsoft 证书服务(MS CS) CA,还使用
--external-ca-type选项,并可选使用--external-ca-profile选项:ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default
[root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您没有使用 MS CS 为 IdM CA 生成签名证书,则不需要其他选项:
ipa-server-install --external-ca
# ipa-server-install --external-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow
此脚本提示配置集成的 DNS 服务。输入
yes或no。在此过程中,我们安装了带有集成 DNS 的服务器。Do you want to configure integrated DNS (BIND)? [no]: yes
Do you want to configure integrated DNS (BIND)? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您要安装没有集成 DNS 的服务器,安装脚本将不会提示您进行 DNS 配置,如下面步骤所述。如需了解安装没有 DNS 的服务器的步骤的详情,请参阅 第 6 章 安装 IdM 服务器: 在不集成 DNS 的情况,将集成的 CA 作为 root CA。
该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。
- 要接受默认值,请按 Enter 键。
要提供自定义值,请输入所需的值。
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告仔细规划这些名称。安装完成后您将无法更改它们。
输入目录服务器超级用户(
cn=Directory Manager)以及身份管理(IdM)管理系统用户帐户(admin)的密码。Directory Manager password: IPA admin password:
Directory Manager password: IPA admin password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 脚本提示每台服务器的 DNS 转发器。
Do you want to configure DNS forwarders? [yes]:
Do you want to configure DNS forwarders? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要配置每台服务器的 DNS 转发器,请输入
yes,然后按照命令行中的说明操作。安装过程会将转发器 IP 地址添加到 IdM LDAP。-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
--forward-policy描述。
-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
如果您不想使用 DNS 正向解析,请输入
no。如果没有 DNS 转发器,您 IdM 域中的主机将不能解析来自基础架构中其他的、内部的、DNS 域的名称。主机将只剩下公共 DNS 服务器来解析其 DNS 查询。
脚本会提示检查是否需要配置与服务器关联的 IP 地址的任何 DNS 反向(PTR)记录。
Do you want to search for missing reverse zones? [yes]:
Do you want to search for missing reverse zones? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您运行搜索并发现丢失了反向区,脚本会询问您是否创建反向区以及 PTR 记录。
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
输入
yes以确认服务器配置。Continue to configure the system with these values? [no]: yes
Continue to configure the system with these values? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在证书系统实例配置过程中,该工具会打印证书签名请求(CSR)的位置:
/root/ipa.csr:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当发生这种情况时:
-
将位于
/root/ipa.csr中的 CSR 提交给外部 CA。这个过程根据要用作外部 CA 的服务的不同而有所不同。 在基础 64 编码 blob 中检索颁发的证书和颁发 CA 的 CA 证书链(Windows CA 的 PEM 文件或 Base_64 证书)。同样,不同的证书服务的进程会有所不同。通常,网页或通知电子邮件中的下载链接允许管理员下载所有需要的证书。
重要确保获取 CA 的完整证书链,而不只是 CA 证书。
再次运行
ipa-server-install,这次指定新发布的 CA 证书和 CA 链文件的位置和名称。例如:ipa-server-install --external-cert-file=/tmp/servercert20170601.pem --external-cert-file=/tmp/cacert.pem
# ipa-server-install --external-cert-file=/tmp/servercert20170601.pem --external-cert-file=/tmp/cacert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
将位于
- 安装脚本现在配置服务器。等待操作完成。
安装脚本完成后,使用以下方法更新您的 DNS 记录:
将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要每次安装 IdM DNS 服务器后都会重复这个步骤。
-
将时间服务器的
_ntp._udp服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。
ipa-server-install --external-ca 命令有时可能会失败,并显示以下错误:
ipa : CRITICAL failed to configure ca instance Command '/usr/sbin/pkispawn -s CA -f /tmp/configuration_file' returned non-zero exit status 1 Configuration of CA failed
ipa : CRITICAL failed to configure ca instance Command '/usr/sbin/pkispawn -s CA -f /tmp/configuration_file' returned non-zero exit status 1
Configuration of CA failed
当设置 *_proxy 环境变量时,会发生此失败。有关此问题的解决方案,请参阅 故障排除:外部 CA 安装失败。
4.2. 故障排除:外部 CA 安装失败 复制链接链接已复制到粘贴板!
ipa-server-install --external-ca 命令失败并显示以下错误:
ipa : CRITICAL failed to configure ca instance Command '/usr/sbin/pkispawn -s CA -f /tmp/configuration_file' returned non-zero exit status 1 Configuration of CA failed
ipa : CRITICAL failed to configure ca instance Command '/usr/sbin/pkispawn -s CA -f /tmp/configuration_file' returned non-zero exit status 1
Configuration of CA failed
env|grep proxy 命令显示如下变量:
env|grep proxy http_proxy=http://example.com:8080 ftp_proxy=http://example.com:8080 https_proxy=http://example.com:8080
# env|grep proxy
http_proxy=http://example.com:8080
ftp_proxy=http://example.com:8080
https_proxy=http://example.com:8080
这意味着:
*_proxy 环境变量会阻止安装服务器。
解决此问题:
使用以下 shell 脚本取消设置
*_proxy环境变量:for i in ftp http https; do unset ${i}_proxy; done# for i in ftp http https; do unset ${i}_proxy; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
pkidestroy工具来删除失败的证书颁发机构(CA)子系统的安装:pkidestroy -s CA -i pki-tomcat; rm -rf /var/log/pki/pki-tomcat /etc/sysconfig/pki-tomcat /etc/sysconfig/pki/tomcat/pki-tomcat /var/lib/pki/pki-tomcat /etc/pki/pki-tomcat /root/ipa.csr
# pkidestroy -s CA -i pki-tomcat; rm -rf /var/log/pki/pki-tomcat /etc/sysconfig/pki-tomcat /etc/sysconfig/pki/tomcat/pki-tomcat /var/lib/pki/pki-tomcat /etc/pki/pki-tomcat /root/ipa.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除失败的身份管理(IdM)服务器的安装:
ipa-server-install --uninstall
# ipa-server-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
重新运行
ipa-server-install --external-ca。
第 5 章 安装 IdM 服务器:使用集成的 DNS,没有 CA 复制链接链接已复制到粘贴板!
安装带有集成 DNS 的新的身份管理(IdM)服务器有以下优点:
- 您可以使用原生 IdM 工具自动执行大多数维护和 DNS 记录管理。例如:在设置过程中自动创建 DNS SRV 记录,之后会自动更新。
- 您可以在安装 IdM 服务器过程中为稳定的外部互联网连接配置全局转发器。全局转发器对 Active Directory 的信任也很有用。
- 您可以设置 DNS 反向区域,以防止来自您的域的电子邮件被 IdM 域之外的电子邮件服务器视为垃圾邮件。
安装带有集成 DNS 的 IdM 有一定的限制:
- IdM DNS 并不意味着用作通用的 DNS 服务器。不支持某些高级 DNS 功能。如需更多信息,请参阅 IdM 服务器中提供的 DNS 服务。
本章描述了如何安装没有证书颁发机构(CA)的新 IdM 服务器。
5.1. 安装没有 CA 的 IdM 服务器所需的证书 复制链接链接已复制到粘贴板!
您需要提供安装没有证书颁发机构(CA)的身份管理(IdM)服务器所需的证书。通过使用描述的命令行选项,您可以将这些证书提供给 ipa-server-install 工具。
您不能使用自签名的第三方服务器证书来安装服务器或副本,因为导入的证书文件必须包含签发 LDAP 和 Apache 服务器证书的 CA 的完整 CA 证书链。
- LDAP 服务器证书和私钥
-
--dirsrv-cert-file用于 LDAP 服务器证书的证书和私钥文件 -
--dirsrv-pin用于访问--dirsrv-cert-file中指定的文件中的私钥的密码
-
- Apache 服务器证书和私钥
-
--http-cert-file用于 Apache 服务器证书的证书和私钥文件 -
--http-pin,用于访问--http-cert-file中指定的文件中的私钥的密码
-
- 发布 LDAP 和 Apache 服务器证书的 CA 完整 CA 证书链
-
--dirsrv-cert-file和--http-cert-file用于具有完整 CA 证书链或部分证书链的证书文件
-
您可以提供在 --dirsrv-cert-file 和 --http-cert-file 选项中指定的以下格式的文件:
- Privacy-Enhanced Mail(PEM)编码的证书(RFC 7468)。请注意,身份管理安装程序接受串联的 PEM 编码的对象。
- 区分编码规则(DER)
- PKCS #7 证书链对象
- PKCS #8 私钥对象
- PKCS #12 归档
您可以多次指定 --dirsrv-cert-file 和 --http-cert-file 选项来指定多个文件。
- 完成完整 CA 证书链的证书文件(某些环境中不需要)
-
--ca-cert-file用于包含签发 LDAP、Apache 服务器和 Kerberos KDC 证书的 CA 证书的一个或多个文件。如果其他选项提供的证书文件中没有 CA 证书,请使用这个选项。
-
使用 --dirsrv-cert-file 和 --http-cert-file 以及 --ca-cert-file 提供的文件必须包含签发 LDAP 和 Apache 服务器证书的 CA 的完整 CA 证书链。
- Kerberos 密钥分发中心(KDC) PKINIT 证书和私钥
如果您有 PKINIT 证书,请使用以下 2 个选项:
-
--pkinit-cert-file用于 Kerberos KDC SSL 证书和私钥 -
--pkinit-pin用于访问--pkinit-cert-file文件中指定的 Kerberos KDC 私钥的密码
-
如果您没有 PKINIT 证书,并希望使用带有自签名证书的本地 KDC 配置 IdM 服务器,请使用以下选项:
-
--no-pkinit用于禁用 pkinit 设置步骤
-
5.2. 带有集成 DNS 和没有 CA 的 IdM 服务器的交互式安装 复制链接链接已复制到粘贴板!
在使用 ipa-server-install 工具进行交互式安装过程中,您需要提供系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
流程
运行
ipa-server-install工具,并提供所有所需的证书。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关提供的证书的详情,请参阅 安装 IdM 服务器所需的不带 CA 的证书 。
此脚本提示配置集成的 DNS 服务。输入
yes或no。在此过程中,我们安装了带有集成 DNS 的服务器。Do you want to configure integrated DNS (BIND)? [no]: yes
Do you want to configure integrated DNS (BIND)? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您要安装没有集成 DNS 的服务器,安装脚本将不会提示您进行 DNS 配置,如下面步骤所述。如需了解安装不带 DNS 的服务器的详细步骤,请参阅 安装 IdM 服务器:没有集成的 DNS,集成的 CA 作为根 CA。
该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。
- 要接受默认值,请按 Enter 键。
要提供自定义值,请输入所需的值。
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告仔细规划这些名称。安装完成后您将无法更改它们。
输入目录服务器超级用户(
cn=Directory Manager)以及身份管理(IdM)管理系统用户帐户(admin)的密码。Directory Manager password: IPA admin password:
Directory Manager password: IPA admin password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 脚本提示每台服务器的 DNS 转发器。
Do you want to configure DNS forwarders? [yes]:
Do you want to configure DNS forwarders? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要配置每台服务器的 DNS 转发器,请输入
yes,然后按照命令行中的说明操作。安装过程会将转发器 IP 地址添加到 IdM LDAP。-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
--forward-policy描述。
-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
如果您不想使用 DNS 正向解析,请输入
no。如果没有 DNS 转发器,您 IdM 域中的主机将不能解析来自基础架构中其他的、内部的、DNS 域的名称。主机将只剩下公共 DNS 服务器来解析其 DNS 查询。
脚本会提示检查是否需要配置与服务器关联的 IP 地址的任何 DNS 反向(PTR)记录。
Do you want to search for missing reverse zones? [yes]:
Do you want to search for missing reverse zones? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您运行搜索并发现丢失了反向区,脚本会询问您是否创建反向区以及 PTR 记录。
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
输入
yes以确认服务器配置。Continue to configure the system with these values? [no]: yes
Continue to configure the system with these values? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 安装脚本现在配置服务器。等待操作完成。
安装脚本完成后,使用以下方法更新您的 DNS 记录:
将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要每次安装 IdM DNS 服务器后都会重复这个步骤。
-
将时间服务器的
_ntp._udp服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。
第 6 章 安装 IdM 服务器: 在不集成 DNS 的情况,将集成的 CA 作为 root CA 复制链接链接已复制到粘贴板!
本章描述了如何安装没有集成 DNS 的新的身份管理(IdM)服务器。
红帽强烈建议在 IdM 部署中为基本用途安装集成 IdM 的 DNS:当 IdM 服务器也管理 DNS 时,DNS 和原生 IdM 工具之间存在紧密集成,从而实现一些 DNS 记录管理的自动化。
如需了解更多详细信息,请参阅 规划 DNS 服务和主机名。
6.1. 没有集成 DNS 的 IdM 服务器的交互式安装,集成的 CA 作为 root CA 复制链接链接已复制到粘贴板!
在使用 ipa-server-install 工具进行交互式安装过程中,您需要提供系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
这个过程安装服务器:
- 没有集成的 DNS
- 集成身份管理(IdM)证书颁发机构(CA)作为根CA,这是默认的 CA 配置
流程
运行
ipa-server-install工具。ipa-server-install
# ipa-server-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此脚本提示配置集成的 DNS 服务。按 Enter 键选择默认的
no选项。Do you want to configure integrated DNS (BIND)? [no]:
Do you want to configure integrated DNS (BIND)? [no]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。
- 要接受默认值,请按 Enter 键。
要提供自定义值,请输入所需的值。
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告仔细规划这些名称。安装完成后您将无法更改它们。
输入目录服务器超级用户(
cn=Directory Manager)和 IdM 管理系统用户帐户(admin)的密码。Directory Manager password: IPA admin password:
Directory Manager password: IPA admin password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。
- 要接受默认值,请按 Enter 键。
要提供自定义值,请输入所需的值。
NetBIOS domain name [EXAMPLE]: Do you want to configure chrony with NTP server or pool address? [no]:
NetBIOS domain name [EXAMPLE]: Do you want to configure chrony with NTP server or pool address? [no]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入
yes以确认服务器配置。Continue to configure the system with these values? [no]: yes
Continue to configure the system with these values? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 安装脚本现在配置服务器。等待操作完成。
安装脚本生成包含 DNS 资源记录的文件:下面示例输出中的
/tmp/ipa.system.records.UFRPto.db文件。将这些记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
6.2. 没有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的非互动安装 复制链接链接已复制到粘贴板!
您可以安装没有集成 DNS 的服务器,或集成身份管理(IdM)证书颁发机构(CA)作为根 CA 的服务器,这是默认的 CA 配置。
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
流程
运行带有选项的
ipa-server-install工具以提供所有必需的信息。非互动安装的最低所需选项是:-
--realm提供 Kerberos 领域名 -
--ds-password为目录管理者(DM)(目录服务器超级用户)提供密码 -
--admin-password为admin(IdM 管理员)提供密码 -
--unattended,让安装进程为主机名和域名选择默认选项
例如:
ipa-server-install --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended
# ipa-server-install --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattendedCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
安装脚本生成包含 DNS 资源记录的文件:下面示例输出中的
/tmp/ipa.system.records.UFRPto.db文件。将这些记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
6.3. 外部 DNS 系统的 IdM DNS 记录 复制链接链接已复制到粘贴板!
在安装了没有集成 DNS 的 IdM 服务器后,您必须将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到外部 DNS 系统中。
ipa-server-install 安装脚本生成一个包含 DNS 资源记录列表的文件,其中文件名格式为 /tmp/ipa.system.records.<random_characters>.db ,并打印添加这些记录的指令:
Please add records in this file to your DNS system: /tmp/ipa.system.records.6zdjqxh3.db
Please add records in this file to your DNS system: /tmp/ipa.system.records.6zdjqxh3.db
这是文件内容的示例:
在将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到 DNS 系统后,请确保 DNS 管理工具没有为 ipa-ca 添加 PTR 记录。DNS 中出现 ipa-ca 的 PTR 记录可能会导致后续的 IdM 副本安装失败。
第 7 章 安装 IdM 服务器: 在不集成 DNS 的情况下,使用外部 CA 作为 root CA 复制链接链接已复制到粘贴板!
您可以安装一个没有集成 DNS 的新身份管理(IdM)服务器,该服务器使用外部证书颁发机构(CA)作为根 CA。
为 IdM 部署中的基本用途安装集成了 IdM 的 DNS。当 IdM 服务器也管理 DNS 时,DNS 和原生 IdM 工具之间有紧密集成,这实现了一些 DNS 记录管理的自动化。
如需了解更多详细信息,请参阅 规划 DNS 服务和主机名。
7.1. 安装外部 CA 作为根 CA 的 IdM CA 时使用的选项 复制链接链接已复制到粘贴板!
如果满足以下条件之一,您可能希望安装一个外部 CA 作为根 CA 的身份管理 IdM 证书颁发机构(CA):
-
您正在使用
ipa-server-install命令安装新的 IdM 服务器或副本。 -
您正在使用
ipa-ca-install命令将 CA 组件安装到现有的 IdM 服务器中。
在安装外部 CA 作为根 CA 的 IdM CA 时,您可以对两个命令使用以下选项来创建证书签名请求(CSR)。
- --external-ca-type=TYPE
-
外部 CA 的类型。可能的值是
generic和ms-cs。默认值为generic。使用ms-cs来在生成的 CSR 中包含 Microsoft 证书服务(MS CS)所需的模板名称。要使用非默认配置文件,请将--external-ca-profile选项与--external-ca-type=ms-cs结合使用。 - --external-ca-profile=PROFILE_SPEC
在为 IdM CA 发布证书时,请指定您希望 MS CS 应用的证书配置文件或模板。
请注意,如果
--external-ca-type是 ms-cs ,则只能使用--external-ca-profile选项。您可以通过以下方法之一识别 MS CS 模板:
-
<oid>:<majorVersion>[:<minorVersion>]。您可以通过其对象标识符(OID)和主版本来指定证书模板。您还可以选择指定次版本。 -
<name>。您可以根据其名称指定证书模板。名称不能包含任何 : 字符,不能是 OID,否则基于 OID 的模板指定符语法优先。 -
default。如果您使用这个指定符,则会使用模板名称SubCA。
-
在某些情场景中,活动目录(AD)管理员可以使用 下级证书机构 (SCA)模板(这是 AD CS 中的内置模板)来创建一个唯一的模板,来更好地满足组织的需求。例如,新模板可以具有自定义的有效期和自定义的扩展。关联的对象标识符(OID)可以在 AD 证书模板 控制台中找到。
如果 AD 管理员禁用了原始的、内置的模板,则您在为 IdM CA 请求证书时,必须指定新模板的 OID 或名称。请您的 AD 管理员为您提供新模板的名称或 OID。
如果原始的 SCA AD CS 模板仍然被启用,则您可以通过指定 --external-ca-type=ms-cs 来使用它,而无需额外使用 --external-ca-profile 选项。在这种情况下,会使用 subCA 外部 CA 配置文件,它是与 SCA AD CS 模板对应的默认 IdM 模板。
7.2. 没有集成 DNS 和外部 CA 作为根 CA 的 IdM 服务器的交互式安装 复制链接链接已复制到粘贴板!
在使用 ipa-server-install 工具进行交互式安装过程中,您需要提供系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
按照以下流程安装服务器:
- 没有集成的 DNS
- 使用外部证书颁发机构(CA)作为 root CA
先决条件
-
您已确定了要通过
--external-ca-type选项指定的外部 CA 的类型。详情请查看ipa-server-install(1)手册页。 如果您使用 Microsoft Certificate Services 证书颁发机构(MS CS CA)作为外部 CA:您已确定要通过
--external-ca-profile选项指定的证书配置文件或模板。默认情况下使用SubCA模板。有关
--external-ca-type和--external-ca-profile选项的更多信息,请参阅 在安装外部 CA 作为根 CA 的 IdM CA 时使用的选项。
流程
使用
--external-ca选项来运行 ipa-server-install 工具。如果您使用 Microsoft 证书服务(MS CS) CA,还使用
--external-ca-type选项,并可选使用--external-ca-profile选项:ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default
[root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您没有使用 MS CS 为 IdM CA 生成签名证书,则不需要其他选项:
ipa-server-install --external-ca
# ipa-server-install --external-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow
此脚本提示配置集成的 DNS 服务。按 Enter 键选择默认的
no选项。Do you want to configure integrated DNS (BIND)? [no]:
Do you want to configure integrated DNS (BIND)? [no]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。
- 要接受默认值,请按 Enter 键。
要提供自定义值,请输入所需的值。
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:
Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告仔细规划这些名称。安装完成后您将无法更改它们。
输入目录服务器超级用户(
cn=Directory Manager)和 IdM 管理系统用户帐户(admin)的密码。Directory Manager password: IPA admin password:
Directory Manager password: IPA admin password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入
yes以确认服务器配置。Continue to configure the system with these values? [no]: yes
Continue to configure the system with these values? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在证书系统实例配置过程中,该工具会打印证书签名请求(CSR)的位置:
/root/ipa.csr:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当发生这种情况时:
-
将位于
/root/ipa.csr中的 CSR 提交给外部 CA。这个过程根据要用作外部 CA 的服务的不同而有所不同。 在基础 64 编码 blob 中检索颁发的证书和颁发 CA 的 CA 证书链(Windows CA 的 PEM 文件或 Base_64 证书)。同样,不同的证书服务的进程会有所不同。通常,网页或通知电子邮件中的下载链接允许管理员下载所有需要的证书。
重要确保获取 CA 的完整证书链,而不只是 CA 证书。
再次运行
ipa-server-install,这次指定新发布的 CA 证书和 CA 链文件的位置和名称。例如:ipa-server-install --external-cert-file=/tmp/servercert20170601.pem --external-cert-file=/tmp/cacert.pem
# ipa-server-install --external-cert-file=/tmp/servercert20170601.pem --external-cert-file=/tmp/cacert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
将位于
- 安装脚本现在配置服务器。等待操作完成。
安装脚本生成包含 DNS 资源记录的文件:下面示例输出中的
/tmp/ipa.system.records.UFRPto.db文件。将这些记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
7.3. 没有集成 DNS 和外部 CA 作为根 CA 的 IdM 服务器的非互动安装 复制链接链接已复制到粘贴板!
您可以安装服务器:
- 没有集成的 DNS
- 使用外部证书颁发机构(CA)作为 root CA
ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
先决条件
-
您已确定了要通过
--external-ca-type选项指定的外部 CA 的类型。详情请查看ipa-server-install(1)手册页。 如果您使用 Microsoft Certificate Services 证书颁发机构(MS CS CA)作为外部 CA:您已确定要通过
--external-ca-profile选项指定的证书配置文件或模板。默认情况下使用SubCA模板。有关
--external-ca-type和--external-ca-profile选项的更多信息,请参阅 在安装外部 CA 作为根 CA 的 IdM CA 时使用的选项。
流程
运行带有选项的
ipa-server-install工具以提供所有必需的信息。使用外部 CA 的 IdM 服务器非互动安装的最低必需选项是:-
--external-ca用于指定外部 CA 是根CA -
--realm提供 Kerberos 领域名 -
--ds-password为目录管理者(DM)(目录服务器超级用户)提供密码 -
--admin-password为admin(IdM 管理员)提供密码 --unattended,让安装进程为主机名和域名选择默认选项例如:
ipa-server-install --external-ca --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended
# ipa-server-install --external-ca --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattendedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您使用 Microsoft 证书服务(MS CS) CA,也使用
--external-ca-type选项,并选择使用--external-ca-profile选项。如需更多信息,请参阅 安装外部 CA 作为根 CA 的 IdM CA 时使用的选项。-
在证书系统实例配置过程中,该工具会打印证书签名请求(CSR)的位置:
/root/ipa.csr:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当发生这种情况时:
-
将位于
/root/ipa.csr中的 CSR 提交给外部 CA。这个过程根据要用作外部 CA 的服务的不同而有所不同。 在基础 64 编码 blob 中检索颁发的证书和颁发 CA 的 CA 证书链(Windows CA 的 PEM 文件或 Base_64 证书)。同样,不同的证书服务的进程会有所不同。通常,网页或通知电子邮件中的下载链接允许管理员下载所有需要的证书。
重要确保获取 CA 的完整证书链,而不只是 CA 证书。
再次运行
ipa-server-install,这次指定新发布的 CA 证书和 CA 链文件的位置和名称。例如:ipa-server-install --external-cert-file=/tmp/servercert20170601.pem --external-cert-file=/tmp/cacert.pem --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended
# ipa-server-install --external-cert-file=/tmp/servercert20170601.pem --external-cert-file=/tmp/cacert.pem --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattendedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
将位于
- 安装脚本现在配置服务器。等待操作完成。
安装脚本生成包含 DNS 资源记录的文件:下面示例输出中的
/tmp/ipa.system.records.UFRPto.db文件。将这些记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
7.4. 外部 DNS 系统的 IdM DNS 记录 复制链接链接已复制到粘贴板!
在安装了没有集成 DNS 的 IdM 服务器后,您必须将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到外部 DNS 系统中。
ipa-server-install 安装脚本生成一个包含 DNS 资源记录列表的文件,其中文件名格式为 /tmp/ipa.system.records.<random_characters>.db ,并打印添加这些记录的指令:
Please add records in this file to your DNS system: /tmp/ipa.system.records.6zdjqxh3.db
Please add records in this file to your DNS system: /tmp/ipa.system.records.6zdjqxh3.db
这是文件内容的示例:
在将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到 DNS 系统后,请确保 DNS 管理工具没有为 ipa-ca 添加 PTR 记录。DNS 中出现 ipa-ca 的 PTR 记录可能会导致后续的 IdM 副本安装失败。
第 8 章 使用 LDIF 文件中的自定义数据库设置安装 IdM 服务器或副本 复制链接链接已复制到粘贴板!
您可以使用活动目录数据库的自定义设置安装 IdM 服务器和 IdM 副本。以下流程演示了如何使用数据库设置创建 LDAP 数据交换格式(LDIF)文件,以及如何将这些设置传递给 IdM 服务器和副本安装命令。
先决条件
- 您已确定了可改进 IdM 环境性能的自定义目录服务器设置。请参阅 调整 IdM 目录服务器性能。
流程
使用自定义数据库设置,创建一个 LDIF 格式的文本文件。使用短划线(-)分隔 LDAP 属性修改。这个示例为空闲超时和最大文件描述符设置了非默认值。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--dirsrv-config-file参数将 LDIF 文件传递给安装脚本。要安装 IdM 服务器:
ipa-server-install --dirsrv-config-file <filename.ldif>
# ipa-server-install --dirsrv-config-file <filename.ldif>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要安装 IdM 副本:
ipa-replica-install --dirsrv-config-file <filename.ldif>
# ipa-replica-install --dirsrv-config-file <filename.ldif>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 9 章 IdM 服务器安装故障排除 复制链接链接已复制到粘贴板!
以下章节节介绍了如何收集有关失败的 IdM 服务器安装的信息,以及如何解决常见的安装问题。
9.1. 查看 IdM 服务器安装错误日志 复制链接链接已复制到粘贴板!
安装身份管理(IdM)服务器时,调试信息会附加到以下日志文件中:
-
/var/log/ipaserver-install.log -
/var/log/httpd/error_log -
/var/log/dirsrv/slapd-INSTANCE-NAME/access -
/var/log/dirsrv/slapd-INSTANCE-NAME/errors
日志文件的最后几行报告成功或失败,而 ERROR 和 DEBUG 条目则提供额外的上下文。
要解决 IdM 服务器安装失败的问题,请查看日志文件末尾的错误,并使用这些信息来解决任何相应的问题。
先决条件
-
您必须具有
root特权才能显示 IdM 日志文件中的内容。
流程
使用
tail命令来显示日志文件的最后几行。以下示例显示了/var/log/ipaserver-install.log的最后 10 行。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要以交互方式查看日志文件,请使用
less工具打开日志文件的末尾,然后使用↑ 和 ↓ 箭头键来导航。以下示例以交互方式打开/var/log/ipaserver-install.log文件。sudo less -N +G /var/log/ipaserver-install.log
[user@server ~]$ sudo less -N +G /var/log/ipaserver-install.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过使用剩余的日志文件重复此查看过程来收集额外的故障排除信息。
sudo less -N +G /var/log/httpd/error_log sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/access sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/errors
[user@server ~]$ sudo less -N +G /var/log/httpd/error_log [user@server ~]$ sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/access [user@server ~]$ sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/errorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
-
如果您无法解决失败的 IdM 服务器安装,且您有一个红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供服务器的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
9.2. 第一个 IdM CA 服务器中的 CA 安装错误日志文件 复制链接链接已复制到粘贴板!
在身份管理(IdM)服务器上安装证书颁发机构(CA)服务时,调试信息会被附加到以下位置(按照推荐的优先级顺序):
| 位置 | 描述 |
|---|---|
|
|
|
|
|
|
|
| 公钥基础设施(PKI)产品核心中的大型 JAVA 堆栈跟踪活动 |
|
| PKI 产品的审计日志 |
| 用于服务主体、主机和其它使用证书实体的证书操作的低级调试数据 |
如果在安装可选 CA 组件时整个 IdM 服务器安装失败,则不会记录有关 CA 的详情;会在 /var/log/ipaserver-install.log 文件中记录一条信息,表示整个安装过程失败。查看上面列出的日志文件,以了解特定于 CA 安装失败的详情。
唯一例外是您要安装 CA 服务,root CA 是外部 CA。如果来自外部 CA 的证书出现问题,则会在 /var/log/ipaserver-install.log 中记录错误。
9.3. 查看第一个 IdM CA 服务器中的 CA 安装错误 复制链接链接已复制到粘贴板!
要解决 IdM CA 安装失败的问题,请查看 第一个 IdM CA 服务器上的 CA 安装错误日志文件末尾的错误,并使用这些信息来解决任何相应的问题。
先决条件
-
您必须具有
root特权才能显示 IdM 日志文件中的内容。
流程
要以交互方式查看日志文件,请使用
less工具打开日志文件的末尾,并在搜索ScriptError条目时使用 kbd:[] 箭头键导航。以下示例将打开/var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log。sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.log
[user@server ~]$ sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 通过使用以上列出的所有日志文件重复此查看过程来收集额外的故障排除信息。
其他资源
-
如果您无法解决失败的 IdM 服务器安装,且您有一个红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供服务器的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
9.4. 删除部分 IdM 服务器安装 复制链接链接已复制到粘贴板!
如果 IdM 服务器安装失败,可以保留一些配置文件。其他尝试安装 IdM 服务器会失败,安装脚本会报告 IPA 已配置。
带有现有部分 IdM 配置的系统示例
要解决这个问题,请卸载部分 IdM 服务器配置并重试安装过程。
先决条件
-
您必须有
root权限。
流程
从您要配置为 IdM 服务器的主机中卸载 IdM 服务器软件。
ipa-server-install --uninstall
[root@server ~]# ipa-server-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您因为重复安装失败而无法安装 IdM 服务器,请重新安装操作系统。
安装 IdM 服务器的要求之一是使用一个没有自定义的“干净”系统。失败的安装可能会因为意外修改系统文件而破坏主机的完整性。
其他资源
- 有关卸载 IdM 服务器的详情,请参考卸载 IdM 服务器。
-
如果重复卸载后尝试安装失败,且您有一个红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供服务器的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
第 10 章 卸载 IdM 服务器 复制链接链接已复制到粘贴板!
按照以下流程卸载名为 server123.idm.example.com (server123)的身份管理(IdM)服务器。在流程中,您首先确保其他服务器运行关键服务,并且在执行卸载前拓扑将继续是冗余的。
先决条件
-
您有访问 server123 的
root权限。 - 您有 IdM 管理员的凭证。
流程
如果您的 IdM 环境使用集成的 DNS,请确保 server123 不是唯一
启用的DNS 服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 server123 是拓扑中唯一剩余的 DNS 服务器,请将 DNS 服务器角色添加到另一台 IdM 服务器。如需更多信息,请参阅您系统上的
ipa-dns-install (1)手册页。如果您的 IdM 环境使用集成证书颁发机构(CA):
确保 server123 不是唯一
启用的CA 服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 server123 是拓扑中唯一剩余的 CA 服务器,请将 CA 服务器角色添加到另一台 IdM 服务器。如需更多信息,请参阅您系统上的
ipa-ca-install (1)手册页。如果您在 IdM 环境中已经启用了 vault,请确保 server123.idm.example.com 不是唯一
启用的密钥恢复机构(KRA)服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 server123 是拓扑中唯一剩余的 KRA 服务器,请将 KRA 服务器角色添加到另一台 IdM 服务器。如需更多信息,请参阅
man ipa-kra-install(1)。确保 server123.idm.example.com 不是 CA 续订服务器:
ipa config-show | grep 'CA renewal' IPA CA renewal master: r8server.idm.example.com
[root@server123 ~]# ipa config-show | grep 'CA renewal' IPA CA renewal master: r8server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 server123 是 CA 续订服务器,请参阅 更改和重置 IdM CA 续订服务器,以了解有关如何将 CA 续订服务器角色移到另一台服务器的更多信息。
确保 server123.idm.example.com 不是当前证书撤销列表(CRL)发布者:
ipa-crlgen-manage status CRL generation: disabled
[root@server123 ~]# ipa-crlgen-manage status CRL generation: disabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果输出显示已在 server123 上启用了 CRL 生成,请参阅 在 IdM CA 服务器上生成 CRL ,以了解有关如何将 CRL 发布者角色移到另一台服务器的更多信息。
连接到拓扑中的另一台 IdM 服务器:
ssh idm_user@server456
$ ssh idm_user@server456Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在服务器上,获取 IdM 管理员的凭证:
kinit admin
[idm_user@server456 ~]$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看拓扑中分配给服务器的 DNA ID 范围:
ipa-replica-manage dnarange-show server123.idm.example.com: 1001-1500 server456.idm.example.com: 1501-2000 [...]
[idm_user@server456 ~]$ ipa-replica-manage dnarange-show server123.idm.example.com: 1001-1500 server456.idm.example.com: 1501-2000 [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示分配给 server123 和 server456 的一个 DNA ID 范围。
如果 server123 是分配了 DNA ID 范围的拓扑中唯一的 IdM 服务器,请在 server456 上创建一个测试 IdM 用户,以确保服务器已分配了 DNA ID 范围:
ipa user-add test_idm_user
[idm_user@server456 ~]$ ipa user-add test_idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从拓扑中删除 server123.idm.example.com:
ipa server-del server123.idm.example.com
[idm_user@server456 ~]$ ipa server-del server123.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要如果删除 server123 会导致断开连接的拓扑,则脚本会发出警告。有关如何在剩余的副本之间创建复制协议,以便删除可以继续的信息,请参阅 使用 CLI 在两个服务器之间设置复制。
注意运行
ipa server-del命令会删除与domain和ca后缀的 server123 相关的所有复制数据和协议。这与域级别 0 IdM 拓扑正相反,其中您最初需要使用ipa-replica-manage del server123命令删除这些数据。域级别 0 IdM 拓扑是运行在 RHEL 7.2 及更早的版本中的拓扑。使用ipa domainlevel-get命令查看当前域级别。返回到 server123.idm.example.com ,并卸载现有的 IdM 安装:
ipa-server-install --uninstall ... Are you sure you want to continue with the uninstall procedure? [no]: true
[root@server123 ~]# ipa-server-install --uninstall ... Are you sure you want to continue with the uninstall procedure? [no]: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 确定指向 server123.idm.example.com 的所有名称服务器(NS)DNS 记录已从您的 DNS 区域中删除。无论您使用由 IdM 还是外部 DNS 管理的集成 DNS,这个均适用。有关如何从 IdM 中删除 DNS 记录的更多信息,请参阅 在 IdM CLI 中删除 DNS 记录。
第 11 章 重命名 IdM 服务器 复制链接链接已复制到粘贴板!
您不能修改现有身份管理(IdM)服务器的主机名。但是,您可以将服务器替换为不同名称的副本。
流程
安装将替换现有服务器的新副本,确保副本具有所需的主机名和 IP 地址。详情请参阅 安装 IdM 副本。
重要如果您要卸载的服务器是证书撤销列表(CRL)发布者服务器,请在继续操作前,将另一台服务器作为 CRL 发布者服务器。
有关在迁移过程中如何进行此操作的详情,请查看以下部分:
停止现有的 IdM 服务器实例。
ipactl stop
[root@old_server ~]# ipactl stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 卸载现有服务器,如 卸载 IdM 服务器 中所述。
第 12 章 更新和降级 IdM 复制链接链接已复制到粘贴板!
12.1. 更新 IdM 软件包 复制链接链接已复制到粘贴板!
您可以使用 yum 工具更新系统上的身份管理(IdM)软件包。
先决条件
- 确保您已应用了所有以前发布的与 RHEL 系统相关的勘误表。如需更多信息,请参阅 如何向我的 RHEL 系统应用软件包更新?KCS 文章。
流程
选择以下选项之一:
更新所有与您的配置集相关且有可用更新的 IdM 软件包:
yum upgrade ipa-*
# yum upgrade ipa-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要安装或更新软件包以匹配任何启用的存储库中可用的配置文件的最新版本:
yum distro-sync ipa-*
# yum distro-sync ipa-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在至少一个服务器中更新 IdM 软件包后,拓扑中的所有其他服务器都会接收更新的模式,即使您没有更新它们的软件包。这将确保任何使用新模式的新条目都可以在其他服务器之间复制。
当更新多个 IdM 服务器时,请在更新一个服务器后至少等待 10 分钟后再更新另一个服务器。但是,服务器成功更新所需的实际时间取决于部署的拓扑、连接的延迟以及更新所生成的修改数量。
当两个或更多个服务器同时更新,或在不同更新之间只能简短的间隔,则可能没有足够的时间来在整个拓扑间复制升级后的数据变化,从而会导致复制事件冲突。
仅升级到下一个版本。例如,如果要升级到 RHEL 8.8 的 IdM,请从 RHEL 8.7 的 IdM 升级。从早期版本升级可能会导致问题。
12.2. 降级 IdM 软件包 复制链接链接已复制到粘贴板!
红帽不支持降级身份管理。
第 13 章 为 IdM 客户端安装准备系统 复制链接链接已复制到粘贴板!
本章描述了您的系统在安装身份管理(IdM)客户端时必须满足的条件。
13.1. 安装 IdM 客户端支持的 RHEL 版本 复制链接链接已复制到粘贴板!
在 Red Hat Enterprise Linux 8 的最新次版本上运行的 IdM 服务器中的身份管理部署支持运行在最新次版本上的客户端:
- RHEL 7
- RHEL 8
- RHEL 9
虽然其他客户端系统(如 Ubuntu)可以与 IdM 8 服务器一起使用,但红帽不提供对这些客户端的支持。
如果您计划使 IdM 部署遵守 FIPS ,红帽强烈建议将您的环境迁移到 RHEL 9。RHEL 9 是计划符合 FIPS 140-3 的第一个主要 RHEL 版本。
13.2. IdM 客户端的 DNS 要求 复制链接链接已复制到粘贴板!
默认情况下,客户端安装程序会尝试为其主机名的父域搜索 _ldap._tcp.DOMAIN DNS SRV 记录。例如,如果客户端机器具有主机名 client1.idm.example.com,安装程序将尝试分别从 _ldap._tcp.idm.example.com、_ldap._tcp.example.com 和 _ldap._tcp.com DNS SRV 记录中检索 IdM 服务器主机名。然后,使用发现的域来在机器上配置客户端组件(如 SSSD 和 Kerberos 5 配置)。
但是,IdM 客户端的主机名不必是主 DNS 域的一部分。如果客户端机器主机名不在 IdM 服务器的子域中,请将 IdM 域作为 ipa-client-install 命令的 --domain 选项传递。在这种情况下,安装客户端后,SSSD 和 Kerberos 组件的配置文件中都会有域设置,并使用它来自动发现 IdM 服务器。
13.3. IdM 客户端的端口要求 复制链接链接已复制到粘贴板!
身份管理(IdM)客户端连接到 IdM 服务器上的多个端口,来与其服务进行通信。
在 IdM 客户端中,这些端口必须在出站方向被打开。如果您使用的防火墙不过滤传出数据包,如 firewalld,这些端口已在传出方向中可用。
13.4. IdM 客户端的 IPv6 要求 复制链接链接已复制到粘贴板!
身份管理(IdM)不需要在您想要注册到 IdM 的主机的内核中启用 IPv6 协议。例如,如果您的内部网络只使用 IPv4 协议,那么您可以将系统安全服务守护进程(SSSD)配置为只使用 IPv4 来与 IdM 服务器进行通信。要做到这一点,您可以将以下行插入到 /etc/sssd/sssd.conf 文件的 [domain/NAME] 部分 :
lookup_family_order = ipv4_only
lookup_family_order = ipv4_only
13.5. 从 idm:client 流安装 IdM 客户端软件包 复制链接链接已复制到粘贴板!
在 Red Hat Enterprise Linux 8 中,安装身份管理(IdM)客户端所需的软件包作为一个模块提供。
idm:client 流是 idm 模块的默认流。如果您不需要在机器上安装服务器组件,请使用这个流来下载 IdM 客户端软件包。如果您需要持续使用长期支持的 IdM 客户端软件,则特别推荐使用 idm:client 流,前提是您不需要服务器组件。
如果您计划在主机上安装 IdM 副本,请不要使用 idm:client 流。在这种情况下,使用 idm:DL1 流。
先决条件
在之前启用了
idm:DL1流,并从中下载了软件包之后,切换到idm:client流时,您需要首先明确删除所有安装的相关内容,并在启用idm:client流之前禁用idm:DL1流。有关如何继续操作的详情,请参阅 切换到以后的流。
重要在不禁用当前流的情况下尝试启用新流会导致错误。
流程
要下载安装 IdM 客户端所需的软件包:
yum module install idm
# yum module install idmCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.6. 从 idm:DL1 流安装 IdM 客户端软件包 复制链接链接已复制到粘贴板!
在 Red Hat Enterprise Linux 8 中,安装身份管理(IdM)客户端所需的软件包作为一个模块提供。
您需要先启用 idm:DL1 流,然后才能从中下载软件包。如果您需要在机器上安装 IdM 服务器组件,请使用此流下载 IdM 客户端软件包。
先决条件
在之前启用了
idm: client流,并从中下载了软件包之后,当切换到idm: DL1流时,您需要首先明确删除所有安装的相关内容,并在启用idm:DL1流前禁用idm: client流。有关如何继续操作的详情,请参阅 切换到以后的流。
重要在不禁用当前流的情况下尝试启用新流会导致错误。
流程
切换到通过
idm:DL1流提供的 RPM:yum module enable idm:DL1 yum distro-sync
# yum module enable idm:DL1 # yum distro-syncCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要下载安装 IdM 客户端所需的软件包:
yum module install idm:DL1/client
# yum module install idm:DL1/clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 14 章 安装 IdM 客户端 复制链接链接已复制到粘贴板!
以下章节介绍了如何通过使用 ipa-client-install 工具将系统配置为身份管理(IdM)客户端。将系统配置为 IdM 客户端将其注册到 IdM 域中,并让系统在域中的 IdM 服务器中使用 IdM 服务。
要成功安装身份管理(IdM)客户端,您必须提供可用于注册客户端的凭证。
14.1. 先决条件 复制链接链接已复制到粘贴板!
- 您已为 IdM 客户端安装准备了系统。详情请参阅 为 IdM 客户端安装准备系统。
14.2. 使用用户凭证安装客户端: 交互式安装 复制链接链接已复制到粘贴板!
按照以下流程,使用授权用户的凭证以交互方式安装身份管理(IdM)客户端,来将系统注册到域中。
先决条件
-
确定您有用户授权将客户端注册到 IdM 域的凭证。例如,这可以是具有注册管理员角色的
hostadmin用户。
流程
在您要配置为 IdM 客户端的系统中运行
ipa-client-install工具。ipa-client-install --mkhomedir
# ipa-client-install --mkhomedirCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加
--enable-dns-updates选项,以便在以下任何一个条件适用时,使用客户端系统的 IP 地址更新 DNS 记录:- 已安装带有集成的 DNS 的 IdM 服务器
- 网络中的 DNS 服务器接受使用 GSS-TSIG 协议的 DNS 条目更新
ipa-client-install --enable-dns-updates --mkhomedir
# ipa-client-install --enable-dns-updates --mkhomedirCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 DNS 更新对以下客户端很有用:
- 具有使用动态主机配置协议发布的动态 IP 地址
- 有一个已分配的静态 IP 地址,但 IdM 服务器不知道它
安装脚本尝试自动获取所有所需的设置,如 DNS 记录。
如果在 IdM DNS 区域中正确设置了 SRV 记录,该脚本会自动发现所有其他必要的值并显示它们。输入
yes以确认。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用不同的值安装系统,请输入
no。然后再次运行ipa-client-install,并通过在ipa-client-install中添加命令行选项来指定所需的值,例如:-
--hostname -
--realm -
--domain -
--server -
--mkhomedir
重要完全限定域名必须是有效的 DNS 名称:
-
仅允许数字、字母字符和连字符(
-)。例如,不允许使用下划线,这可能导致 DNS 失败。 - 主机名必须都是小写。不允许使用大写字母。
-
- 如果脚本自动获取一些设置,它会提示您输入这些值。
该脚本提示其身份用于注册客户端的用户。例如,这可能是具有注册管理员角色的
hostadmin用户:User authorized to enroll computers: hostadmin Password for hostadmin@EXAMPLE.COM:
User authorized to enroll computers: hostadmin Password for hostadmin@EXAMPLE.COM:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装脚本现在配置客户端。等待操作完成。
Client configuration complete.
Client configuration complete.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.3. 使用一次性密码安装客户端:交互式安装 复制链接链接已复制到粘贴板!
按照以下流程,使用一次性密码以交互方式安装身份管理(IdM)客户端,来将系统注册到域中。
先决条件
在域中的服务器上,将未来的客户端系统添加为 IdM 主机。在
ipa host-add命令中使用--random选项,来为注册生成一次性随机密码。注意ipa host-add <client_fqdn>命令要求客户端 FQDN 可通过 DNS 解析。如果无法解析,请使用--ip address选项或其它选项提供 IdM 客户端系统的 IP 地址,并使用--force选项。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当使用生成的密码将机器注册到 IdM 域后,生成的密码将变为无效。注册完成后,它将被一个正确的主机 keytab 替换。
流程
在您要配置为 IdM 客户端的系统中运行
ipa-client-install工具。使用
--password选项来提供一次性随机密码。由于密码通常包含特殊字符,因此用单引号(')括起来。ipa-client-install --mkhomedir --password=password
# ipa-client-install --mkhomedir --password=passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加
--enable-dns-updates选项,以便在以下任何一个条件适用时,使用客户端系统的 IP 地址更新 DNS 记录:- 已安装带有集成的 DNS 的 IdM 服务器
- 网络中的 DNS 服务器接受使用 GSS-TSIG 协议的 DNS 条目更新
ipa-client-install --password 'W5YpARl=7M.n' --enable-dns-updates --mkhomedir
# ipa-client-install --password 'W5YpARl=7M.n' --enable-dns-updates --mkhomedirCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 DNS 更新对以下客户端很有用:
- 具有使用动态主机配置协议发布的动态 IP 地址
- 有一个已分配的静态 IP 地址,但 IdM 服务器不知道它
安装脚本尝试自动获取所有所需的设置,如 DNS 记录。
如果在 IdM DNS 区域中正确设置了 SRV 记录,该脚本会自动发现所有其他必要的值并显示它们。输入
yes以确认。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用不同的值安装系统,请输入
no。然后再次运行ipa-client-install,并通过在ipa-client-install中添加命令行选项来指定所需的值,例如:-
--hostname -
--realm -
--domain -
--server -
--mkhomedir
重要完全限定域名必须是有效的 DNS 名称:
-
仅允许数字、字母字符和连字符(
-)。例如,不允许使用下划线,这可能导致 DNS 失败。 - 主机名必须都是小写。不允许使用大写字母。
-
- 如果脚本自动获取一些设置,它会提示您输入这些值。
安装脚本现在配置客户端。等待操作完成。
Client configuration complete.
Client configuration complete.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.4. 安装客户端: 非互动安装 复制链接链接已复制到粘贴板!
对于非交互式安装,您必须使用命令行选项为 ipa-client-install 工具提供所有必需的信息。以下小节描述了非互动安装的最低所需选项。
- 客户端注册的预期验证方法选项
可用的选项有:
-
--principal和--password指定授权注册客户端的用户的凭证 -
--random指定为客户端生成的一次性随机密码 -
--keytab指定之前注册的 keytab
-
- 无人看守安装的选项
--unattended选项允许在不需要用户确认的情况下运行安装。如果在 IdM DNS 区域中正确设置了 SRV 记录,该脚本会自动发现所有其他必要的值。如果脚本无法自动发现这些值,请使用命令行选项提供它们,例如:
--hostname,指定客户端机器的静态完全限定域名(FQDN)。重要FQDN 必须是一个有效的 DNS 名称:
- 只允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 主机名必须都是小写。不允许使用大写字母。
-
--domain指定现有 IdM 部署的主 DNS 域,如example.com。该名称是 IdM Kerberos 域名的小写版本。 -
--server指定要连接的 IdM 服务器的 FQDN。使用此选项时,会禁用 Kerberos 的 DNS 自动发现,并配置 KDC 和 Admin 服务器的固定列表。在正常情况下,不需要这个选项,因为服务器列表是从主 IdM DNS 域检索的。 -
--realm指定现有 IdM 部署的 Kerberos 域。通常,它是 IdM 安装所使用的主 DNS 域的大写版本。。在正常情况下,不需要这个选项,因为域名是从 IdM 服务器检索的。
非交互式安装的基本的 ipa-client-install 命令示例:
ipa-client-install --password 'W5YpARl=7M.n' --mkhomedir --unattended
# ipa-client-install --password 'W5YpARl=7M.n' --mkhomedir --unattended
带有更多选项的用于非互动安装的 ipa-client-install 命令示例:
ipa-client-install --password 'W5YpARl=7M.n' --domain idm.example.com --server server.idm.example.com --realm IDM.EXAMPLE.COM --mkhomedir --unattended
# ipa-client-install --password 'W5YpARl=7M.n' --domain idm.example.com --server server.idm.example.com --realm IDM.EXAMPLE.COM --mkhomedir --unattended
14.5. 安装客户端后删除前 IdM 配置 复制链接链接已复制到粘贴板!
ipa-client-install 脚本不会从 /etc/openldap/ldap.conf 和 /etc/sssd/sssd.conf 文件中删除任何以前的 LDAP 和系统安全服务守护进程(SSSD)配置。如果在安装客户端前修改了这些文件中的配置,该脚本会添加新的客户端值,但会将它们注释掉。例如:
BASE dc=example,dc=com URI ldap://ldap.example.com #URI ldaps://server.example.com # modified by IPA #BASE dc=ipa,dc=example,dc=com # modified by IPA
BASE dc=example,dc=com
URI ldap://ldap.example.com
#URI ldaps://server.example.com # modified by IPA
#BASE dc=ipa,dc=example,dc=com # modified by IPA
流程
应用新的身份管理(IdM)} 配置值:
-
打开
/etc/openldap/ldap.conf和/etc/sssd/sssd.conf。 - 删除前面的配置。
- 取消对新 IdM 配置的注释。
-
依赖于系统范围的 LDAP 配置的服务器进程可能需要重启来应用更改。使用
openldap库的应用程序通常会在启动时导入配置。
14.6. 测试 IdM 客户端 复制链接链接已复制到粘贴板!
命令行通知您 ipa-client-install 成功,但您也可以做自己的测试。
要测试身份管理(IdM)客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户:
id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
[user@client ~]$ id admin
uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
要测试身份验证是否正常工作,请从非 root 用户 su 到 root 用户:
su - Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[user@client ~]$ su -
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[root@client ~]#
14.7. 在 IdM 客户端安装过程中执行的连接 复制链接链接已复制到粘贴板!
在 IdM 客户端安装过程中执行的请求 列出了身份管理(IdM)客户端安装工具 ipa-client-install 执行的操作。
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址;(可选)添加 A/AAAA 和 SSHFP 记录 |
| 对 IdM 副本上的端口 88(TCP/TCP6 和 UDP/UDP6)的请求 | Kerberos | 要获得 Kerberos ticket |
| JSON-RPC 在已发现或配置的 IdM 服务器中调用基于 IdM Apache 的 web-service | HTTPS | IdM 客户端注册;如果 LDAP 方法失败,检索 CA 证书链;根据需要请求证书验证 |
| 使用 SASL GSSAPI 身份验证、普通 LDAP 或两者,通过 TCP/TCP6 向 IdM 服务器上的 389 端口发请求。 | LDAP | IdM 客户端注册;通过 SSSD 进程进行身份检索;对主机主体的 Kerberos 密钥进行检索 |
| 网络时间协议(NTP)发现和解析(可选) | NTP | 将客户端系统和 NTP 服务器之间的时间同步 |
14.8. IdM 客户端在安装后部署过程中与服务器的通信 复制链接链接已复制到粘贴板!
身份管理(IdM)框架的客户端通过两个不同的应用程序来实现:
-
ipa命令行界面(CLI) - (可选)基于浏览器的 Web UI
CLI 安装后操作 显示了 IdM 客户端安装后部署过程中 CLI 执行的操作。Web UI 安装后操作 显示了 IdM 客户端安装后部署过程中 Web UI 执行的操作。
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址 |
| 对 IdM 副本上的端口 88(TCP/TCP6 和 UDP/UDP6)和 464(TCP/TCP6 和 UDP/UDP6)的请求 | Kerberos | 要获取 Kerberos 票据 ; 更改 Kerberos 密码 ; 与 IdM Web UI 进行身份验证 |
| JSON-RPC 在已发现或配置的 IdM 服务器中调用基于 IdM Apache 的 web-service | HTTPS |
任何 |
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| JSON-RPC 在已发现或配置的 IdM 服务器中调用基于 IdM Apache 的 web-service | HTTPS | 检索 IdM Web UI 页面 |
其他资源
-
请参考 SSSD 通信模式 以了解有关
SSSD守护进程如何与 IdM 和活动目录服务器上提供的服务进行通信的更多信息。 -
请参考 certmonger 通信模式 以了解有关
certmonger守护进程如何与 IdM 和活动目录服务器上提供的服务进行通信的更多信息。
14.9. SSSD 通信模式 复制链接链接已复制到粘贴板!
系统安全服务守护程序(SSSD)是一种用于访问远程目录和身份验证机制的系统服务。如果在身份管理 IdM 客户端上配置了,它将连接到 IdM 服务器,该服务器提供身份验证、授权和其他身份和策略信息。如果 IdM 服务器与 Active Directory(AD)是信任关系,SSSD 也会连接到 AD,使用 Kerberos 协议为 AD 用户执行身份验证。默认情况下,SSSD 使用 Kerberos 验证任何非本地用户。特殊情况下,SSSD 可能会被配置为使用 LDAP 协议。
SSSD 可以配置为与多个服务器通信。下表显示了 IdM 中 SSSD 的常见通信模式。
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址 |
| 向身份管理副本和 Active Directory 域控制器上的端口 88(TCP/TCP6 和 UDP/UDP6)、464(TCP/TCP6 和 UDP/UDP6)和 749(TCP/TCP6)发请求 | Kerberos | 获取 Kerberos 票据 ; 修改 Kerberos 密码 |
| 使用 SASL GSSAPI 身份验证、普通 LDAP 或两者,通过 TCP/TCP6 向 IdM 服务器上的 389 端口发请求。 | LDAP | 要获取有关 IdM 用户和主机的信息,请下载 HBAC 和 sudo 规则、自动挂载映射、SELinux 用户上下文、公共 SSH 密钥以及存储在 IdM LDAP 中的其他信息 |
| (可选)如果是智能卡身份验证,则请求在线证书状态协议(OCSP)响应器(如果已配置)。这通常通过端口 80 完成,但它取决于客户端证书中的 OCSP 响应程序 URL 的实际值。 | HTTP | 获取在智能卡中安装的证书状态的信息 |
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址 |
| 向身份管理副本和 Active Directory 域控制器上的端口 88(TCP/TCP6 和 UDP/UDP6)、464(TCP/TCP6 和 UDP/UDP6)和 749(TCP/TCP6)发请求 | Kerberos | 要获得 Kerberos 票据 ; 更改 Kerberos 密码 ; 远程管理 Kerberos |
| 向端口 389(TCP/TCP6 和 UDP/UDP6)和 3268(TCP/TCP6)发请求. | LDAP | 查询 Active Directory 用户和组群信息 ; 发现 Active Directory 域控制器 |
| (可选)如果是智能卡身份验证,则请求在线证书状态协议(OCSP)响应器(如果已配置)。这通常通过端口 80 完成,但它取决于客户端证书中的 OCSP 响应程序 URL 的实际值。 | HTTP | 获取在智能卡中安装的证书状态的信息 |
14.10. certmonger 通讯特征 复制链接链接已复制到粘贴板!
Certmonger 是一个运行在身份管理(IdM)服务器和 IdM 客户端上的守护进程,允许及时续订与主机上的服务相关联的 SSL 证书。表 14.6 “certmonger 通讯特征” 展示了 IdM 服务器上 certmonger 工具所执行的操作。
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址 |
| 对 IdM 副本上的端口 88(TCP/TCP6 和 UDP/UDP6)和 464(TCP/TCP6 和 UDP/UDP6)的请求 | Kerberos | 要获得 Kerberos ticket |
| JSON-RPC 在已发现或配置的 IdM 服务器中调用基于 IdM Apache 的 web-service | HTTPS | 请求新证书 |
| 通过 IdM 服务器的端口 8080(TCP/TCP6)进行访问 | HTTP | 为了获得在线证书状态协议(OCSP)响应器和证书状态 |
| (在第一个安装的服务器或传输了证书跟踪的服务器上)通过 IdM 服务器的端口 8443(TCP/TCP6)进行访问 | HTTPS |
要在 IdM 服务器上管理证书颁发机构(只在 IdM 服务器和副本安装过程中)。服务器上的 |
第 15 章 使用 Kickstart 安装 IdM 客户端 复制链接链接已复制到粘贴板!
在安装 Red Hat Enterprise Linux 时,Kickstart 注册会自动将新系统添加到身份管理(IdM)域。
15.1. 使用 Kickstart 安装客户端 复制链接链接已复制到粘贴板!
按照以下流程,使用 Kickstart 文件安装身份管理(IdM)客户端。
先决条件
-
在 kickstart 注册之前,请勿启动
sshd服务。在注册客户端前启动sshd会自动生成 SSH 密钥,但 第 15.2 节 “用于客户端安装的 Kickstart 文件” 中的 Kickstart 文件会使用脚本来实现相同的目的,这是首选的解决方案。
流程
在 IdM 服务器上预先创建主机条目,并为该条目设置临时密码:
ipa host-add client.example.com --password=secret
$ ipa host-add client.example.com --password=secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kickstart 使用密码在客户端安装过程中进行验证,并在第一次验证尝试后过期。成功安装客户端后,它会使用它的 keytab 进行验证。
-
创建一个包含 第 15.2 节 “用于客户端安装的 Kickstart 文件” 中描述的内容的 Kickstart 文件。使用
network命令,确保在 Kickstart 文件中正确配置了网络。 - 使用 Kickstart 文件安装 IdM 客户端。
15.2. 用于客户端安装的 Kickstart 文件 复制链接链接已复制到粘贴板!
您可以使用 Kickstart 文件安装身份管理(IdM)客户端。此处概述的 Kickstart 文件的内容必须满足某些要求。
- 要安装软件包列表中的
ipa-client软件包 将
ipa-client软件包添加到 Kickstart 文件的 %packages 部分。例如:%packages ... ipa-client ...
%packages ... ipa-client ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - IdM 客户端的安装后说明
安装后的说明必须包括:
- 确保 SSH 密钥在注册前生成的说明
运行
ipa-client-install工具的指令,同时指定:- 访问和配置 IdM 域服务所需的所有信息
- 在 IdM 服务器中预创建客户端主机时设置的密码。在 第 15.1 节 “使用 Kickstart 安装客户端” 中。
例如:使用一次性密码的 Kickstart 安装后说明,以及从命令行而不是通过 DNS 检索所需的选项,如下所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
另外,您还可以在 Kickstart 文件中包括其他选项,例如:
-
对于非交互式安装,将
--unattended选项添加到ipa-client-install。 要让客户端安装脚本为机器请求证书:
-
将
--request-cert选项添加到ipa-client-install。 将 Kickstart
chroot环境中的getcert和ipa-client-install工具的系统总线地址设为/dev/null。要做到这一点,在ipa-client-install指令前将这些行添加到 Kickstart 文件中的安装后说明中:env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null getcert list env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null ipa-client-install
# env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null getcert list # env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null ipa-client-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
将
15.3. 测试 IdM 客户端 复制链接链接已复制到粘贴板!
命令行通知您 ipa-client-install 成功,但您也可以做自己的测试。
要测试身份管理(IdM)客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户:
id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
[user@client ~]$ id admin
uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
要测试身份验证是否正常工作,请从非 root 用户 su 到 root 用户:
su - Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[user@client ~]$ su -
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[root@client ~]#
第 16 章 IdM 客户端安装故障排除 复制链接链接已复制到粘贴板!
以下小节论述了如何收集有关无法安装 IdM 客户端的信息,以及如何解决常见安装问题。
16.1. 检查 IdM 客户端安装错误 复制链接链接已复制到粘贴板!
安装身份管理(IdM)客户端时,调试信息会附加到 /var/log/ipaclient-install.log 中。如果客户端安装失败,安装程序会记录失败并回滚更改以撤销对主机的任何修改。安装失败的原因可能不是在日志文件的末尾,因为安装程序也会记录回滚过程。
要解决 IdM 客户端安装失败的问题,请查看 /var/log/ipaclient-install.log 文件中标有 ScriptError 的行,并使用这些信息来解决任何相应的问题。
先决条件
-
您必须具有
root特权才能显示 IdM 日志文件中的内容。
流程
使用
grep工具从/var/log/ipaserver-install.log文件中检索任何出现关键字ScriptError的内容。sudo grep ScriptError /var/log/ipaclient-install.log [sudo] password for user: 2020-05-28T18:24:50Z DEBUG The ipa-client-install command failed, exception: ScriptError: One of password / principal / keytab is required.
[user@server ~]$ sudo grep ScriptError /var/log/ipaclient-install.log [sudo] password for user: 2020-05-28T18:24:50Z DEBUG The ipa-client-install command failed, exception: ScriptError: One of password / principal / keytab is required.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要以交互方式查看日志文件,请使用
less工具打开日志文件的末尾,然后使用↑ 和 ↓ 箭头键来导航。sudo less -N +G /var/log/ipaclient-install.log
[user@server ~]$ sudo less -N +G /var/log/ipaclient-install.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
-
如果您无法解决失败的 IdM 客户端安装,且您有一个红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供客户端的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
16.2. 解决客户端安装无法更新 DNS 记录时的问题 复制链接链接已复制到粘贴板!
IdM 客户端安装程序会使用 nsupdate 命令来创建 PTR、SSHFP 和其他 DNS 记录。但是,如果客户端在安装和配置了客户端软件后无法更新 DNS 记录,则安装过程会失败。
要解决这个问题,请验证配置,并查看 /var/log/client-install.log 中的 DNS 错误。
先决条件
- 您使用 IdM DNS 作为 IdM 环境的 DNS 解决方案
流程
确保客户端所在的 DNS 区的动态更新已被启用:
ipa dnszone-mod idm.example.com. --dynamic-update=TRUE
[user@server ~]$ ipa dnszone-mod idm.example.com. --dynamic-update=TRUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保运行 DNS 服务的 IdM 服务器对 TCP 和 UDP 协议开放了端口 53。
sudo firewall-cmd --permanent --add-port=53/tcp --add-port=53/udp [sudo] password for user: success firewall-cmd --runtime-to-permanent success
[user@server ~]$ sudo firewall-cmd --permanent --add-port=53/tcp --add-port=53/udp [sudo] password for user: success [user@server ~]$ firewall-cmd --runtime-to-permanent successCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
grep工具从/var/log/client-install.log中检索nsupdate命令的内容,以查看哪个 DNS 记录更新失败了。sudo grep nsupdate /var/log/ipaclient-install.log
[user@server ~]$ sudo grep nsupdate /var/log/ipaclient-install.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
-
如果您无法解决失败的安装,且您有红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供客户端的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
16.3. 解决客户端安装无法加入 IdM Kerberos 域时的问题 复制链接链接已复制到粘贴板!
如果客户端无法加入 IdM Kerberos 域,IdM 客户端安装过程会失败。
Joining realm failed: Failed to add key to the keytab child exited with 11 Installation failed. Rolling back changes.
Joining realm failed: Failed to add key to the keytab
child exited with 11
Installation failed. Rolling back changes.
这个失败可能是由空 Kerberos keytab 造成的。
先决条件
-
删除系统文件需要
root特权。
流程
删除
/etc/krb5.keytab。sudo rm /etc/krb5.keytab [sudo] password for user: ls /etc/krb5.keytab ls: cannot access '/etc/krb5.keytab': No such file or directory
[user@client ~]$ sudo rm /etc/krb5.keytab [sudo] password for user: [user@client ~]$ ls /etc/krb5.keytab ls: cannot access '/etc/krb5.keytab': No such file or directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重试 IdM 客户端安装。
其他资源
-
如果您无法解决失败的安装,且您有红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供客户端的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
16.4. 解决客户端安装无法配置自动挂载的问题 复制链接链接已复制到粘贴板!
在 RHEL 7 中,您可以在客户端安装过程中为客户端配置一个自动挂载位置。在 RHEL 8 中,运行带有 --automount-location <raleigh> 的 ipa-client-install 命令无法配置自动挂载位置。但是,由于剩下的安装成功,在安装后运行 /usr/sbin/ipa-client-automount <raleigh> 来为客户端正确配置一个自动挂载位置。
先决条件
除了配置自动挂载位置外,IdM 客户端安装一切正常。CLI 输出为:
The ipa-client-install command was successful.
The ipa-client-install command was successful.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
配置自动挂载位置:
/usr/sbin/ipa-client-automount -U --location <raleigh>
/usr/sbin/ipa-client-automount -U --location <raleigh>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 17 章 重新注册 IdM 客户端 复制链接链接已复制到粘贴板!
如果客户端计算机因为客户端的硬件故障而被破坏并失去了与 IdM 服务器的连接,但您仍然拥有其 keytab,那么您可以重新注册客户端。在这种情况下,您希望使用相同的主机名将客户端恢复回 IdM 环境。
17.1. IdM 中的客户端重新注册 复制链接链接已复制到粘贴板!
如果客户端计算机因为客户端的硬件故障而被破坏并失去了与 IdM 服务器的连接,但您仍然拥有其 keytab,那么您可以重新注册客户端。在这种情况下,您希望使用相同的主机名将客户端恢复回 IdM 环境。
在重新注册过程中,客户端会生成一个新的 Kerberos 密钥和 SSH 密钥,但 LDAP 数据库中客户端的身份保持不变。重新注册后,在机器与 IdM 服务器失去连接之前,主机像以前一样,其密钥和其他信息放在具有相同 FQDN 的同一 LDAP 对象中。
您只能重新注册域条目仍然活跃的客户端。如果您卸载了客户端(使用 ipa-client-install --uninstall)或者禁用了其主机条目(使用 ipa host-disable),则无法重新注册它。
您不能在重命名客户端后重新注册客户端。这是因为在 IdM 中,LDAP 中客户端条目的关键属性是客户端的主机名,即其 FQDN。与重新注册客户端(在此期间客户端的 LDAP 对象保持不变)不同,重命名客户端的结果是,客户端的密钥和其他信息位于具有新 FQDN 的不同的 LDAP 对象中。因此,重命名客户端的唯一方法是从 IdM 卸载主机,更改主机的主机名,并使用新名称将其安装为 IdM 客户端。有关如何重命名客户端的详情,请参阅 重命名 IdM 客户端系统。
客户端重新注册过程中会发生什么
在重新启用过程中,IdM:
- 撤销原始主机证书
- 创建新 SSH 密钥
- 生成一个新的 keytab
17.2. 使用用户凭证重新注册客户端: 交互式重新注册 复制链接链接已复制到粘贴板!
使用授权用户的凭证以交互方式重新注册身份管理(IdM)客户端。
步骤
- 重新创建具有相同主机名的客户端机器。
在客户端机器上运行
ipa-client-install --force-join命令:ipa-client-install --force-join
# ipa-client-install --force-joinCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该脚本提示其身份用于重新注册客户端的用户。例如,这可能是具有注册管理员角色的
hostadmin用户:User authorized to enroll computers: hostadmin Password for hostadmin@EXAMPLE.COM:
User authorized to enroll computers: hostadmin Password for hostadmin@EXAMPLE.COM:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您可以使用之前部署中的客户端系统的 krb5.keytab keytab 文件,以非交互方式重新注册身份管理(IdM)客户端。例如,使用客户端 keytab 重新注册适用于自动安装。
先决条件
- 您已在另一个系统上从以前的部署中备份了客户端的 keytab。
步骤
- 重新创建具有相同主机名的客户端机器。
将 keytab 文件从备份位置复制到重新创建的客户端机器,例如
/tmp/目录。重要不要将 keytab 放在
/etc/krb5.keytab文件中,因为在执行ipa-client-install安装脚本过程中,已从这个位置删除了旧密钥。使用
ipa-client-install工具重新注册客户端。使用--keytab选项指定 keytab 位置:ipa-client-install --keytab /tmp/krb5.keytab
# ipa-client-install --keytab /tmp/krb5.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意--keytab选项中指定的 keytab 仅在验证时使用,以进行重新注册。在重新注册过程中,IdM 为客户端生成一个新的 keytab。
17.4. 测试 IdM 客户端 复制链接链接已复制到粘贴板!
命令行通知您 ipa-client-install 成功,但您也可以做自己的测试。
要测试身份管理(IdM)客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户:
id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
[user@client ~]$ id admin
uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
要测试身份验证是否正常工作,请从非 root 用户 su 到 root 用户:
su - Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[user@client ~]$ su -
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[root@client ~]#
第 18 章 卸载 IdM 客户端 复制链接链接已复制到粘贴板!
作为管理员,您可以从环境中删除身份管理(IdM)客户端。
18.1. 卸载 IdM 客户端 复制链接链接已复制到粘贴板!
卸载客户端会从身份管理(IdM)域中移除客户端,以及系统服务的所有特定的 IdM 配置,如系统安全服务守护进程(SSSD)。这会恢复客户端系统的以前的配置。
流程
输入
ipa-client-install --uninstall命令:ipa-client-install --uninstall
[root@client ~]# ipa-client-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:检查您是否能为 IdM 用户获得 Kerberos 单据授予单(TGT):
kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
[root@client ~]# kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials [root@client ~]#Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果成功返回 Kerberos TGT 单,请遵循 卸载 IdM 客户端:多次安装后的其它步骤 中的其他卸载步骤。
在客户端上,从每个已识别的 keytab ,而不是
/etc/krb5.keytab中删除旧的 Kerberos 主体:ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.COM
[root@client ~]# ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 IdM 服务器中,从 IdM 中删除客户端主机的所有 DNS 条目:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 IdM 服务器中,从 IdM LDAP 服务器中删除客户端主机条目。这会删除所有服务并撤销为该主机发布的所有证书:
ipa host-del client.idm.example.com
[root@server ~]# ipa host-del client.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要如果您认为将来可能会使用不同的 IP 地址或不同的主机名来重新注册客户端,那么从 IdM LDAP 服务器中删除客户端主机条目至关重要。
18.2. 卸载 IdM 客户端:在以前的安装后执行额外的步骤 复制链接链接已复制到粘贴板!
如果您多次将主机作为身份管理(IdM)客户端来安装和卸载,那么卸载过程可能无法恢复 IdM 之前的 Kerberos 配置。
在这种情况下,您必须手动删除 IdM Kerberos 配置。在某些情况下,您必须重新安装操作系统。
先决条件
-
您已使用
ipa-client-install --uninstall命令来从主机中卸载 IdM 客户端配置。但是,您仍然可以从 IdM 服务器获得 IdM 用户的 Kerberos 单据授予单(TGT)。 -
您已检查了
/var/lib/ipa-client/sysrestore目录是否为空,因此您不能使用目录中的文件来恢复系统的 IdM 客户端之前的配置。
流程
检查
/etc/krb5.conf.ipa文件:如果
/etc/krb5.conf.conf.ipa文件的内容与安装 IdM 客户端之前的krb5.conf文件的内容相同,您可以:删除
/etc/krb5.conf文件:rm /etc/krb5.conf
# rm /etc/krb5.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/etc/krb5.conf.ipa文件重命名为/etc/krb5.conf:mv /etc/krb5.conf.ipa /etc/krb5.conf
# mv /etc/krb5.conf.ipa /etc/krb5.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
如果
/etc/krb5.conf.ipa文件的内容与安装 IdM 客户端之前的krb5.conf文件的内容不同,那么您可以至少将 Kerberos 配置直接恢复到安装操作系统之后的状态:
重新安装
krb5-libs软件包:yum reinstall krb5-libs
# yum reinstall krb5-libsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作为依赖项,此命令还将重新安装
krb5-workstation软件包和/etc/krb5.conf文件的原始版本。
-
删除
var/log/ipaclient-install.log文件(如果存在的话)。
验证
尝试获取 IdM 用户凭证。这应该失败:
kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
[root@r8server ~]# kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials [root@r8server ~]#Copy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/krb5.conf 文件现在恢复到其出厂状态。因此,您无法为主机上的 IdM 用户获取 Kerberos TGT。
第 19 章 重命名 IdM 客户端系统 复制链接链接已复制到粘贴板!
您可以更改身份管理(IdM)客户端系统的主机名。
重新命名客户端是一个手动过程。除非绝对需要修改主机名,否则请勿执行此操作。
重命名身份管理客户端涉及:
- 准备主机。详情请参阅 准备 IdM 客户端以进行重命名。
- 从主机卸载 IdM 客户端。详情请参阅 卸载身份管理客户端。
- 重命名主机。详情请参阅 重命名主机系统。
- 使用新名称在主机上安装 IdM 客户端。详情请参阅 安装身份管理 中的 安装身份管理客户端 。
- 在 IdM 客户端安装后配置主机。详情请查看 重新添加服务、重新生成证书和重新添加主机组。
19.1. 准备 IdM 客户端以进行重命名 复制链接链接已复制到粘贴板!
在卸载当前客户端之前,请记下客户端的某些设置。在使用新的主机名重新注册计算机后,您将应用此配置。
确定在机器上运行哪些服务:
使用
ipa service-find命令,并在输出中识别带有证书的服务:ipa service-find old-client-name.example.com
$ ipa service-find old-client-name.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
此外,每个主机都有一个默认 主机服务 ,该服务不会出现在
ipa service-find输出中。主机服务的服务主体(也称为 主机主体)是host/old-client-name.example.com。
对于
ipa service-find old-client-name.example.com显示的所有服务主体,请确定old-client-name.example.com系统上相应的 keytab 的位置:find / -name "*.keytab"
# find / -name "*.keytab"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 客户端系统上的每个服务都有一个格式为 service_name/host_name@REALM 的 Kerberos 主体,例如
ldap/old-client-name.example.com@EXAMPLE.COM.识别机器所属的所有主机组。
ipa hostgroup-find old-client-name.example.com
# ipa hostgroup-find old-client-name.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
19.2. 卸载 IdM 客户端 复制链接链接已复制到粘贴板!
卸载客户端会从身份管理(IdM)域中移除客户端,以及系统服务的所有特定的 IdM 配置,如系统安全服务守护进程(SSSD)。这会恢复客户端系统的以前的配置。
流程
输入
ipa-client-install --uninstall命令:ipa-client-install --uninstall
[root@client ~]# ipa-client-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:检查您是否能为 IdM 用户获得 Kerberos 单据授予单(TGT):
kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
[root@client ~]# kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials [root@client ~]#Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果成功返回 Kerberos TGT 票据,请遵循 卸载 IdM 客户端:多次安装后的其他步骤 中的其他卸载步骤。
在客户端上,从每个已识别的 keytab ,而不是
/etc/krb5.keytab中删除旧的 Kerberos 主体:ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.COM
[root@client ~]# ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 IdM 服务器中,从 IdM 中删除客户端主机的所有 DNS 条目:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 IdM 服务器中,从 IdM LDAP 服务器中删除客户端主机条目。这会删除所有服务并撤销为该主机发布的所有证书:
ipa host-del client.idm.example.com
[root@server ~]# ipa host-del client.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要如果您认为将来可能会使用不同的 IP 地址或不同的主机名来重新注册客户端,那么从 IdM LDAP 服务器中删除客户端主机条目至关重要。
19.3. 卸载 IdM 客户端:在以前的安装后执行额外的步骤 复制链接链接已复制到粘贴板!
如果您多次将主机作为身份管理(IdM)客户端来安装和卸载,那么卸载过程可能无法恢复 IdM 之前的 Kerberos 配置。
在这种情况下,您必须手动删除 IdM Kerberos 配置。在某些情况下,您必须重新安装操作系统。
先决条件
-
您已使用
ipa-client-install --uninstall命令来从主机中卸载 IdM 客户端配置。但是,您仍然可以从 IdM 服务器获得 IdM 用户的 Kerberos 单据授予单(TGT)。 -
您已检查了
/var/lib/ipa-client/sysrestore目录是否为空,因此您不能使用目录中的文件来恢复系统的 IdM 客户端之前的配置。
流程
检查
/etc/krb5.conf.ipa文件:如果
/etc/krb5.conf.conf.ipa文件的内容与安装 IdM 客户端之前的krb5.conf文件的内容相同,您可以:删除
/etc/krb5.conf文件:rm /etc/krb5.conf
# rm /etc/krb5.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/etc/krb5.conf.ipa文件重命名为/etc/krb5.conf:mv /etc/krb5.conf.ipa /etc/krb5.conf
# mv /etc/krb5.conf.ipa /etc/krb5.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
如果
/etc/krb5.conf.ipa文件的内容与安装 IdM 客户端之前的krb5.conf文件的内容不同,那么您可以至少将 Kerberos 配置直接恢复到安装操作系统之后的状态:
重新安装
krb5-libs软件包:yum reinstall krb5-libs
# yum reinstall krb5-libsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作为依赖项,此命令还将重新安装
krb5-workstation软件包和/etc/krb5.conf文件的原始版本。
-
删除
var/log/ipaclient-install.log文件(如果存在的话)。
验证
尝试获取 IdM 用户凭证。这应该失败:
kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
[root@r8server ~]# kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials [root@r8server ~]#Copy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/krb5.conf 文件现在恢复到其出厂状态。因此,您无法为主机上的 IdM 用户获取 Kerberos TGT。
19.4. 重命名主机系统 复制链接链接已复制到粘贴板!
根据需要重命名机器。例如:
hostnamectl set-hostname new-client-name.example.com
# hostnamectl set-hostname new-client-name.example.com
现在,您可以使用新的主机名将身份验证(IdM)客户端重新安装到 IdM 域。
19.5. 重新安装 IdM 客户端 复制链接链接已复制到粘贴板!
按照 安装客户端 中描述的流程,在重命名的主机上安装客户端。
19.6. 重新添加服务、重新生成证书和重新添加主机组 复制链接链接已复制到粘贴板!
流程
在身份管理(IdM)服务器上,为 准备 IdM 客户端以进行重命名 中指定的每个服务添加新的 keytab 。
ipa service-add service_name/new-client-name
[root@server ~]# ipa service-add service_name/new-client-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 准备 IdM 客户端以进行重命名 中分配了证书的服务生成证书。您可以做到这一点:
- 使用 IdM 管理工具.请参阅管理用户、主机和服务的证书。
-
使用
certmonger工具
- 将客户端重新添加到 准备 IdM 客户端以进行重命名 中标识的主机组中。
第 20 章 为 IdM 副本安装准备系统 复制链接链接已复制到粘贴板!
以下链接列出了安装身份验证(IdM)副本的要求。在安装前,请验证您的系统满足这些要求。
- 确保 目标系统满足 IdM 服务器安装的一般要求。
- 确保 目标系统满足 IdM 副本安装的额外的版本要求。
授权目标系统注册到 IdM 域。如需更多信息,请参阅以下章节中最适合您需要的内容:
20.1. 副本版本要求 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux(RHEL)8 副本只适用于运行在 RHEL 7.4 及更高版本上的身份验证(IdM)服务器。在将运行在 RHEL 8 上的 IdM 副本引入到现有的部署中之前,请将所有 IdM 服务器升级到 RHEL 7.4 或更高版本,并将域级别改为 1。
另外,副本必须运行相同的或更新的 IdM 版本。例如:
- 您已在 Red Hat Enterprise Linux 8 中安装了 IdM 服务器,并使用 IdM 4.x 软件包。
- 您必须在 Red Hat Enterprise Linux 8 或更高版本上安装副本,并使用 IdM 版本 4.x 或更高版本。
这样可确保把配置从服务器正确复制到副本。
有关如何显示 IdM 软件版本的详情,请参阅 显示 IdM 软件版本的方法 。
20.2. 显示 IdM 软件版本的方法 复制链接链接已复制到粘贴板!
您可以使用以下命令显示 IdM 版本号:
- The IdM WebUI
-
ipa命令 -
rpm命令
- 通过 WebUI 显示版本
在 IdM Web UI 中,可以通过从右上角的用户名菜单中选择
About来显示软件版本。
- 使用
ipa命令显示版本 在命令行中使用
ipa --version命令。ipa --version VERSION: 4.8.0, API_VERSION: 2.233
[root@server ~]# ipa --version VERSION: 4.8.0, API_VERSION: 2.233Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用
rpm命令显示版本 如果 IdM 服务工作不正常,您可以使用
rpm工具来确定当前安装的ipa-server软件包的版本号。rpm -q ipa-server ipa-server-4.8.0-11.module+el8.1.0+4247+9f3fd721.x86_64
[root@server ~]# rpm -q ipa-server ipa-server-4.8.0-11.module+el8.1.0+4247+9f3fd721.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3. 授权在 IdM 客户端上安装副本 复制链接链接已复制到粘贴板!
通过运行 ipa-replica-install 工具,在现有的身份管理(IdM)客户端上 安装副本 时,请选择下面的 方法 1 或 方法 2 来授权副本安装。如果以下任何一个适用,请选择 方法 1 :
- 您希望高级系统管理员执行流程的初始部分,初级管理员执行其余部分。
- 您希望自动执行副本安装。
- 方法 1:
ipaservers主机组 以 IdM admin 用户身份登录到任何一台 IdM 主机:
kinit admin
$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将客户端机器添加到
ipaservers主机组中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注意ipaservers组中的成员授予机器类似于管理员凭证的提升特权。因此,在下一步中,初级系统管理员可以在主机上成功运行ipa-replica-install工具。- 方法 2:特权用户的凭证
通过提供特权用户的凭证,选择以下任何一种方法来授权副本安装:
-
启动
ipa-replica-install工具后,让身份管理(IdM)以交互方式提示您输入凭证。这是默认的行为。 在运行
ipa-replica-install工具之前,立即以特权用户身份登录客户端。默认特权用户为admin:kinit admin
$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
启动
20.4. 授权在未注册到 IdM 的系统上安装副本 复制链接链接已复制到粘贴板!
当在没有在身份管理(IdM)域中注册的系统上 安装副本 时,ipa-replica-install 工具首先将系统注册为客户端,然后安装副本组件。在这种情况下,请选择下面的 方法 1 或 方法 2 来授权副本安装。如果以下任何一个适用,请选择 方法 1 :
- 您希望高级系统管理员执行流程的初始部分,初级管理员执行其余部分。
- 您希望自动执行副本安装。
- 方法 1:在 IdM 服务器上生成的随机密码
在域中的任何服务器上输入以下命令:
以管理员身份登录。
kinit admin
$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将外部系统添加为 IdM 主机。使用
ipa host-add命令的--random选项来生成用于后续副本安装的随机一次性密码。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当使用生成的密码将机器注册到 IdM 域后,生成的密码将变为无效。注册完成后,它将被一个正确的主机 keytab 替换。
将系统添加到
ipaservers主机组。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注意ipaservers组中的成员授予机器类似于管理员凭证的提升特权。因此,在下一步中,ipa-replica-install工具可以由提供生成的随机密码的初级系统管理员在主机上成功运行。- 方法 2:特权用户的凭证
使用此方法,您可以通过提供特权用户的凭证来授权副本安装。默认特权用户为
admin。在运行 IdM 副本安装工具之前不需要任何操作。在安装过程中,将主体名称和密码选项(
--principal admin --admin-password password)直接添加到ipa-replica-install命令中。
第 21 章 安装 IdM 副本 复制链接链接已复制到粘贴板!
以下章节描述了如何使用命令行(CLI)交互式安装身份管理(IdM)副本。副本安装过程复制现有服务器的配置,并根据该配置安装副本。
请参阅 使用 Ansible playbook 安装身份管理服务器。使用 Ansible 角色一致地安装并自定义多个副本。
不使用 Ansible 的交互式和非交互式方法在拓扑中很有用,例如,其中副本准备被委派给用户或第三方。您还可以在地理上分散的拓扑中使用这些方法,其中您没有从 Ansible 控制器节点访问的权限。
先决条件
- 您一次安装一个 IdM 副本。不支持同时安装多个副本。
确保您的系统已为 IdM 副本安装做好了准备。
重要如果没有执行此准备,安装 IdM 副本将失败。
21.1. 安装带有集成的 DNS 和 CA 的 IdM 副本 复制链接链接已复制到粘贴板!
按照以下流程安装身份管理(IdM)副本:
- 带有集成的 DNS
- 带有证书颁发机构(CA)
例如,您可以在安装完带有集成 CA 的 IdM 服务器后复制 CA 服务以实现弹性。
在使用 CA 配置副本时,副本的 CA 配置必须与其他服务器的 CA 配置一致。
例如,如果服务器包含集成的 IdM CA 作为根 CA,那么新副本也必须安装为将集成 CA 作为根 CA。本例中不提供其他 CA 配置。
在 ipa-replica-install 命令中包含--setup-ca 选项,可复制初始服务器的 CA 配置。
先决条件
- 确保您的系统已为 IdM 副本安装做好了准备。
流程
在
ipa-replica-install中输入以下选项:-
--setup-dns用来将副本配置为 DNS 服务器 如果您不想使用任何每服务器转发器,请使用
--forwarder来指定每服务器转发器或--no-forwarder。要为故障转移的原因指定多个每服务器转发器,请多次使用--forwarder。注意ipa-replica-install工具接受与 DNS 设置相关的许多其他选项,如--no-reverse或--no-host-dns。有关它们的更多信息,请参阅ipa-replica-install(1)手册页。-
--setup-ca用来在副本中包含一个 CA
例如,要设置带有集成 DNS 服务器和 CA 的副本,其将不是由 IdM 服务器管理的所有 DNS 请求转发到运行在 IP 192.0.2.1 上的 DNS 服务器:
ipa-replica-install --setup-dns --forwarder 192.0.2.1 --setup-ca
# ipa-replica-install --setup-dns --forwarder 192.0.2.1 --setup-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
安装完成后,将父域的 DNS 委派添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要在每次安装完 IdM DNS 服务器后重复此步骤。
后续步骤
- 在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 身份管理 标题中的调优性能,以查找最适合您的情境的调优说明。
21.2. 安装带有集成 DNS 且没有 CA 的 IdM 副本 复制链接链接已复制到粘贴板!
按照以下流程安装身份管理(IdM)副本:
- 带有集成的 DNS
- 在已安装 CA 的 IdM 环境中没有证书颁发机构(CA)。副本会将所有证书操作转发到安装了 CA 的 IdM 服务器。
先决条件
- 确保您的系统已为 IdM 副本安装做好了准备。
流程
在
ipa-replica-install中输入以下选项:-
--setup-dns用来将副本配置为 DNS 服务器 -
如果您不想使用任何每服务器转发器,请使用
--forwarder来指定每服务器转发器或--no-forwarder。要为故障转移的原因指定多个每服务器转发器,请多次使用--forwarder。
例如,要设置一个带有集成 DNS 服务器的副本,其将不是由 IdM 服务器管理的所有 DNS 请求转发到运行在 IP 192.0.2.1 上的 DNS 服务器:
ipa-replica-install --setup-dns --forwarder 192.0.2.1
# ipa-replica-install --setup-dns --forwarder 192.0.2.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ipa-replica-install工具接受与 DNS 设置相关的许多其他选项,如--no-reverse或--no-host-dns。有关它们的更多信息,请参阅ipa-replica-install(1)手册页。-
安装完成后,将父域的 DNS 委派添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要在每次安装完 IdM DNS 服务器后重复此步骤。
后续步骤
- 在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 身份管理 标题中的调优性能,以查找最适合您的情境的调优说明。
21.3. 安装没有集成 DNS 但有 CA 的 IdM 副本 复制链接链接已复制到粘贴板!
按照以下流程安装身份管理(IdM)副本:
- 没有集成的 DNS
- 带有证书颁发机构(CA)
在使用 CA 配置副本时,副本的 CA 配置必须与其他服务器的 CA 配置一致。
例如,如果服务器包含集成的 IdM CA 作为根 CA,那么新副本也必须安装为将集成 CA 作为根 CA。本例中不提供其他 CA 配置。
在 ipa-replica-install 命令中包含--setup-ca 选项,可复制初始服务器的 CA 配置。
先决条件
- 确保您的系统已为 IdM 副本安装做好了准备。
流程
在
ipa-replica-install中输入--setup-ca选项。ipa-replica-install --setup-ca
# ipa-replica-install --setup-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在您的 DNS 服务器中添加新创建的 IdM DNS 服务记录:
以
nsupdate格式将 IdM DNS 服务记录导出到文件中:ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate
$ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用
nsupdate工具和 dns_records_file.nsupdate 文件向 DNS 服务器提交 DNS 更新请求。如需更多信息,请参阅 RHEL 7 文档中的 使用 nsupdate 更新外部 DNS 记录。或者,请参阅 DNS 服务器文档来添加 DNS 记录。
后续步骤
- 在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 身份管理 标题中的调优性能,以查找最适合您的情境的调优说明。
21.4. 安装没有集成 DNS 且没有 CA 的 IdM 副本 复制链接链接已复制到粘贴板!
按照以下流程安装身份管理(IdM)副本:
- 没有集成的 DNS
- 在没有证书颁发机构(CA)的情况下,请手动提供所需的证书。这里的假设是安装第一个服务器时没有 CA。
您不能使用自签名的第三方服务器证书来安装服务器或副本,因为导入的证书文件必须包含签发 LDAP 和 Apache 服务器证书的 CA 的完整 CA 证书链。
先决条件
- 确保您的系统已为 IdM 副本安装做好了准备。
流程
输入
ipa-replica-install,并通过添加这些选项来提供所需的证书文件:-
--dirsrv-cert-file -
--dirsrv-pin -
--http-cert-file -
--http-pin
有关使用这些选项提供的文件的详情,请参考 第 5.1 节 “安装没有 CA 的 IdM 服务器所需的证书”。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意不要添加
--ca-cert-file选项。ipa-replica-install工具从您安装的第一台服务器上自动获取这部分证书信息。-
后续步骤
- 在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 身份管理 标题中的调优性能,以查找最适合您的情境的调优说明。
21.6. 测试 IdM 副本 复制链接链接已复制到粘贴板!
创建副本后,检查副本是否按预期复制了数据。您可以使用以下步骤。
流程
在新副本中创建用户:
ipa user-add test_user
[admin@new_replica ~]$ ipa user-add test_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保用户在另一个副本中可见:
ipa user-show test_user
[admin@another_replica ~]$ ipa user-show test_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
21.7. 在 IdM 副本安装过程中执行的连接 复制链接链接已复制到粘贴板!
IdM 副本安装期间执行的请求 列出了 ipa-replica-install (身份管理(IdM)副本安装工具)所执行的操作。
| 操作 | 使用的协议 | 目的 |
|---|---|---|
| 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址 |
| 对发现的 IdM 服务器上的端口 88(TCP/TCP6 和 UDP/UDP6)的请求 | Kerberos | 要获得 Kerberos ticket |
| JSON-RPC 在已发现或配置的 IdM 服务器中调用基于 IdM Apache 的 web-service | HTTPS | IdM 客户端注册 ; 副本密钥检索和证书颁发(如果需要) |
| 使用 SASL GSSAPI 验证、纯 LDAP 或两者都请求使用 TCP/TCP6 到 IdM 服务器上的端口 389 | LDAP | IdM 客户端注册; CA 证书链检索; LDAP 数据复制 |
| 通过 TCP/TCP6 的请求到 IdM 服务器上的 22 端口 | SSH | 检查连接是否正常工作 |
| (可选)访问 IdM 服务器上的端口 8443(TCP/TCP6) | HTTPS | 在 IdM 服务器中管理证书颁发机构(只在 IdM 服务器和副本安装过程中) |
第 22 章 IdM 副本安装故障排除 复制链接链接已复制到粘贴板!
以下小节描述了收集有关失败的 IdM 副本安装信息的过程,以及如何解决一些常见安装问题。
22.1. IdM 副本安装错误日志文件 复制链接链接已复制到粘贴板!
安装身份管理(IdM)副本时,调试信息会附加到 副本 上的以下日志文件中:
-
/var/log/ipareplica-install.log -
/var/log/ipareplica-conncheck.log -
/var/log/ipaclient-install.log -
/var/log/httpd/error_log -
/var/log/dirsrv/slapd-INSTANCE-NAME/access -
/var/log/dirsrv/slapd-INSTANCE-NAME/errors -
/var/log/ipaserver-install.log
副本安装进程还会将调试信息附加到副本所联系的 IdM 服务器 上的以下日志文件中:
-
/var/log/httpd/error_log -
/var/log/dirsrv/slapd-INSTANCE-NAME/access -
/var/log/dirsrv/slapd-INSTANCE-NAME/errors
每个日志文件的最后一行报告成功或失败,而 ERROR 和 DEBUG 条目则提供额外的上下文。
22.2. 查看 IdM 副本安装错误 复制链接链接已复制到粘贴板!
要解决 IdM 副本安装失败的问题,请查看新副本和服务器上安装错误日志文件的末尾,并使用这些信息解决任何相应的问题。
先决条件
-
您必须具有
root特权才能显示 IdM 日志文件中的内容。
流程
使用
tail命令来显示主日志文件/var/log/ipareplica-install.log中的最新的错误。以下示例显示了最后 10 行。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要以交互方式查看日志文件,请使用
less工具打开日志文件的末尾,然后使用 ↑ 和 ↓ 箭头键来导航。sudo less -N +G /var/log/ipareplica-install.log
[user@replica ~]$ sudo less -N +G /var/log/ipareplica-install.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:虽然
/var/log/ipareplica-install.log是副本安装的主日志文件,但您可以通过对副本和服务器上的其他文件重复此审查过程来收集额外的故障排除信息。在副本中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在服务器中:
sudo less -N +G /var/log/httpd/error_log sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/access sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/errors
[user@server ~]$ sudo less -N +G /var/log/httpd/error_log [user@server ~]$ sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/access [user@server ~]$ sudo less -N +G /var/log/dirsrv/slapd-INSTANCE-NAME/errorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.3. IdM 副本上的 CA 安装错误日志文件 复制链接链接已复制到粘贴板!
在身份管理(IdM)副本上安装证书颁发机构(CA)服务会将调试信息附加到副本和与之通信的 IdM 服务器上的多个位置。
| 位置 | 描述 |
|---|---|
|
|
|
|
|
|
|
| 公钥基础设施(PKI)产品核心中的大型 JAVA 堆栈跟踪活动 |
|
| PKI 产品的审计日志 |
| 用于服务主体、主机和其它使用证书实体的证书操作的低级调试数据 |
在由副本关联的服务器中:
-
/var/log/httpd/error_log日志文件
在现有 IdM 副本上安装 CA 服务也会将调试信息写入以下日志文件中:
-
/var/log/ipareplica-ca-install.log日志文件
如果在安装可选 CA 组件时整个 IdM 副本安装失败,则不会记录有关 CA 的详情;会在 /var/log/ipareplica-install.log 文件中记录一条消息,表示整个安装过程失败。查看上面列出的日志文件,以了解特定于 CA 安装失败的详情。
唯一例外是您要安装 CA 服务,root CA 是外部 CA。如果来自外部 CA 的证书出现问题,则会在 /var/log/ipareplica-install.log 中记录错误。
22.4. 查看 IdM 副本中的 CA 安装错误 复制链接链接已复制到粘贴板!
要解决 IdM CA 安装失败的问题,请查看 IdM 副本上 CA 安装错误日志文件末尾的错误,并使用这些信息来解决任何相应的问题。
先决条件
-
您必须具有
root特权才能显示 IdM 日志文件中的内容。
流程
要以交互方式查看日志文件,请使用
less工具打开日志文件的末尾,并在搜索ScriptError条目时使用 kbd:[] 箭头键导航。以下示例将打开/var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log。sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.log
[user@server ~]$ sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 通过重复这个对所有 CA 安装错误日志文件的查看过程来收集额外的故障排除信息。
其它资源
-
如果您无法解决失败的 IdM 服务器安装,且您有一个红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供服务器的
sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
22.5. 删除部分 IdM 副本安装 复制链接链接已复制到粘贴板!
如果 IdM 副本安装失败,一些配置文件可能会遗留下来。安装 IdM 副本的额外尝试可能会失败,安装脚本会报告 IPA 已配置:
带有现有部分 IdM 配置的系统示例
要解决这个问题,请从副本中卸载 IdM 软件,从 IdM 拓扑中删除副本,并重试安装过程。
先决条件
-
您必须有
root权限。
流程
在您要配置为 IdM 副本的主机上卸载 IdM 服务器软件。
ipa-server-install --uninstall
[root@replica ~]# ipa-server-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在拓扑中的所有其他服务器上,使用
ipa server-del命令删除对未正确安装的副本的任何引用。ipa server-del replica.idm.example.com
[root@other-replica ~]# ipa server-del replica.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 尝试安装副本。
如果您因为重复安装失败而无法安装 IdM 副本,请重新安装操作系统。
安装 IdM 副本的要求之一是使用一个没有自定义的“干净”系统。失败的安装可能会因为意外修改系统文件而破坏主机的完整性。
其它资源
- 有关卸载 IdM 副本的详情,请参阅 卸载 IdM 副本。
-
如果重复卸载后尝试安装失败,且您有一个红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供副本的
sosreport和服务器的sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
22.6. 解决无效凭证错误 复制链接链接已复制到粘贴板!
如果 IdM 副本安装失败并显示 Invalid credentials 错误,则主机上的系统时钟可能彼此不同步:
如果您使用 --no-ntp 或 -N 选项在时钟不同步时尝试进行副本安装,则安装会失败,因为服务无法使用 Kerberos 进行身份验证。
要解决这个问题,同步两个主机上的时钟并重试安装过程。
先决条件
-
您必须具有
root权限才能修改系统时间。
流程
手动或使用
chronyd同步系统时钟。- 手动同步
在服务器上显示系统时间,并设置副本的时间与之相匹配。
date Thu May 28 21:03:57 EDT 2020 sudo timedatectl set-time '2020-05-28 21:04:00'
[user@server ~]$ date Thu May 28 21:03:57 EDT 2020 [user@replica ~]$ sudo timedatectl set-time '2020-05-28 21:04:00'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 与
chronyd同步 :请参阅 使用 Chrony 套件配置 NTP,以使用
chrony工具配置和设置系统时间。
- 再次尝试 IdM 副本安装。
其他资源
-
如果您无法解决失败的副本安装,且您有红帽技术支持订阅,请在 红帽客户门户网站 中创建一个技术支持问题单,并提供副本的
sosreport和服务器的sosreport。 -
sosreport工具从 RHEL 系统收集配置详情、日志和系统信息。有关sosreport工具的更多信息,请参阅红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
第 23 章 卸载 IdM 副本 复制链接链接已复制到粘贴板!
作为 IdM 管理员,您可以从拓扑中删除身份管理(IdM)副本。如需更多信息,请参阅 卸载 IdM 服务器。
第 24 章 在现有 IdM 服务器上安装 DNS 复制链接链接已复制到粘贴板!
在最初没有安装 DNS 服务的身份管理(IdM)服务器上安装 DNS 服务。
先决条件
- 您了解使用带有集成 DNS 的 IdM 的优点和限制,如 安装 IdM 服务器:带有集成 DNS,带有集成 CA 作为根 CA 中所述。
-
您有到 IdM 服务器的
root访问权限。
流程
可选:验证 DNS 是否未安装在 IdM 服务器上。
ipa server-role-show r8server.idm.example.com Role name: DNS server Server name: r8server.idm.example.com Role name: DNS server Role status: absent
[root@r8server ~]# ipa server-role-show r8server.idm.example.com Role name: DNS server Server name: r8server.idm.example.com Role name: DNS server Role status: absentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出确认服务器上没有 IdM DNS 。
启用
idm:DL1流:yum module enable idm:DL1
[root@r8server ~]# yum module enable idm:DL1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下载
ipa-dns-server软件包及其依赖项:yum module install idm:DL1/dns
[root@r8server ~]# yum module install idm:DL1/dnsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动脚本来在服务器上安装 DNS:
ipa-dns-install
[root@r8server ~]# ipa-dns-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 脚本提示每台服务器的 DNS 转发器。
Do you want to configure DNS forwarders? [yes]:
Do you want to configure DNS forwarders? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要配置每台服务器的 DNS 转发器,请输入
yes,然后按照命令行中的说明操作。安装过程会将转发器 IP 地址添加到 IdM LDAP。-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
--forward-policy描述。
-
有关正向解析策略的默认设置,请查看 ipa-dns-install(1)手册页中的
如果您不想使用 DNS 正向解析,请输入
no。如果没有 DNS 转发器,您 IdM 域中的主机将不能解析来自基础架构中其他的、内部的、DNS 域的名称。主机将只剩下公共 DNS 服务器来解析其 DNS 查询。
脚本会提示检查是否需要配置与服务器关联的 IP 地址的任何 DNS 反向(PTR)记录。
Do you want to search for missing reverse zones? [yes]:
Do you want to search for missing reverse zones? [yes]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您运行搜索并发现丢失了反向区,脚本会询问您是否创建反向区以及 PTR 记录。
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.
Do you want to create reverse zone for IP 192.0.2.1 [yes]: Please specify the reverse zone name [2.0.192.in-addr.arpa.]: Using reverse zone(s) 2.0.192.in-addr.arpa.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
第 25 章 从 IdM 服务器卸载集成的 IdM DNS 服务 复制链接链接已复制到粘贴板!
如果您在身份管理(IdM)部署中有多个带有集成的 DNS 的服务器,您可能决定从其中一个服务器中删除集成的 DNS 服务。为此,您必须首先在其上重新安装 IdM 之前完全停用 IdM 服务器,这次没有集成的 DNS。
虽然您可以将 DNS 角色添加到 IdM 服务器,但 IdM 不提供一种从 IdM 服务器中只删除 DNS 角色的方法:ipa-dns-install 命令没有 --uninstall 选项。
先决条件
- 您已在 IdM 服务器上安装了 DNS。
- 这不是您的 IdM 拓扑中最后一个集成的 DNS 服务。
流程
- 识别冗余 DNS 服务,并按照在托管此服务的 IdM 副本上 卸载 IdM 服务器 中的流程操作。
- 在同一个主机上,按照 没有集成的 DNS ,有集成的 CA 作为 root CA 或 没有集成的 DNS,有外部 CA 作为 root CA 中的流程操作,具体取决于您的用例。
第 26 章 在没有 CA 的部署中将 IdM CA 服务添加到 IdM 服务器 复制链接链接已复制到粘贴板!
如果您之前安装了没有证书颁发机构(CA)组件的身份管理(IdM)域,则您可以使用 ipa-ca-install 命令将 IdM CA 服务添加到域。根据您的要求,您可以选择以下选项之一:
有关支持的 CA 配置的详情,请参阅 规划您的 CA 服务。
26.1. 将第一个 IdM CA 作为 root CA 安装到现有 IdM 域中 复制链接链接已复制到粘贴板!
如果您之前安装了没有证书颁发机构(CA)组件的身份管理(IdM),则您可以随后在 IdM 服务器上安装 CA。按照以下流程,在 idmserver 服务器上安装一个不隶属于任何外部 root CA 的 IdM CA。
先决条件
-
您在 idmserver 上具有
root权限。 - IdM 服务器安装在 idmserver 上。
- 您的 IdM 部署没有安装 CA。
-
您知道 IdM
目录管理器的密码。
流程
在 idmserver 上,安装 IdM 证书服务器 CA:
[root@idmserver ~] ipa-ca-install
[root@idmserver ~] ipa-ca-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在拓扑中的每个 IdM 主机上,运行
ipa-certupdate工具来使用 IdM LDAP 中的新证书的信息更新主机。重要如果在生成 IdM CA 证书后不运行
ipa-certupdate,则证书不会分发到其他 IdM 机器。
26.2. 将第一个将外部 CA 作为 root CA 的 IdM CA 安装到现有 IdM 域中 复制链接链接已复制到粘贴板!
如果您之前安装了没有证书颁发机构(CA)组件的身份管理(IdM),则您可以随后在 IdM 服务器上安装 CA。按照以下流程,在 idmserver 服务器上安装一个 IdM CA,该 CA 隶属于外部 root CA,在 CA 之间有 0 个或多个中间 CA。
先决条件
-
您在 idmserver 上具有
root权限。 - IdM 服务器安装在 idmserver 上。
- 您的 IdM 部署没有安装 CA。
-
您知道 IdM
目录管理器的密码。
流程
开始安装:
[root@idmserver ~] ipa-ca-install --external-ca
[root@idmserver ~] ipa-ca-install --external-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 等待命令行通知您证书签名请求(CSR)已保存。
- 将 CSR 提交给外部 CA。
- 将发布的证书复制到 IdM 服务器。
通过将证书和外部 CA 文件的路径添加到
ipa-ca-install来继续安装:ipa-ca-install --external-cert-file=/root/master.crt --external-cert-file=/root/ca.crt
[root@idmserver ~]# ipa-ca-install --external-cert-file=/root/master.crt --external-cert-file=/root/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在拓扑中的每个 IdM 主机上,运行
ipa-certupdate工具来使用 IdM LDAP 中的新证书的信息更新主机。重要在生成 IdM CA 证书后无法运行
ipa-certupdate意味着证书不会被分发到其他 IdM 机器。
第 27 章 在带有 CA 的部署中将 IdM CA 服务添加到 IdM 服务器 复制链接链接已复制到粘贴板!
如果您的身份管理(IdM)环境已经安装了 IdM 证书颁发机构(CA)服务,但特定的 IdM 服务器 idmserver 安装为没有 CA 的 IdM 副本,则您可以使用 ipa-ca-install 命令将 CA 服务添加到 idmserver 。
对于以下场景,这个流程是相同的:
- IdM CA 是一个 root CA。
- IdM CA 隶属于一个外部 root CA。
先决条件
-
您在 idmserver 上具有
root权限。 - IdM 服务器安装在 idmserver 上。
- 您的 IdM 部署已在另一个 IdM 服务器上安装了 CA。
-
您知道 IdM
目录管理器的密码。
流程
在 idmserver 上,安装 IdM 证书服务器 CA:
[root@idmserver ~] ipa-ca-install
[root@idmserver ~] ipa-ca-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 28 章 从 IdM 服务器卸载 IdM CA 服务 复制链接链接已复制到粘贴板!
如果您的拓扑中有超过四个身份管理(IdM)副本,并且由于冗余证书复制而遇到性能问题,请从 IdM 副本中删除冗余 CA 服务实例。要做到这一点,您必须首先完全弃用受影响的 IdM 副本,然后在它们上重新安装 IdM,而无需 CA 服务。
虽然您可以将 CA 角色 添加 到 IdM 副本中,但 IdM 没有提供一种从 IdM 副本中只 删除 CA 角色的方法:ipa-ca-install 命令没有 --uninstall 选项。
先决条件
- 您已在拓扑中超过四个 IdM 服务器上安装了 IdM CA 服务。
流程
- 识别冗余的 CA 服务,并按照在托管此服务的 IdM 副本上 卸载 IdM 服务器 中的流程操作。
- 在同一主机上,按照 安装 IdM 服务器:具有集成 DNS,没有 CA 中的流程操作。
第 29 章 管理复制拓扑 复制链接链接已复制到粘贴板!
您可以管理身份管理(IdM)域中服务器之间的复制。当您创建副本时,身份管理(IdM)会在初始服务器和副本之间创建一个复制协议。然后,复制的数据会存储在拓扑后缀中,当两个副本在它们的后缀之间有复制协议时,后缀会形成一个拓扑段。
29.1. IdM 副本之间的复制协议 复制链接链接已复制到粘贴板!
当管理员基于现有服务器创建副本时,身份管理 (IdM) 会在初始服务器和副本之间创建复制协议。复制协议确保两个服务器之间不断复制数据和配置。
IdM 使用多读/写副本复制。在这种配置中,所有副本都加入到复制协议中接收并提供更新,因此被视为供应商和消费者。复制协议始终是强制的。
图 29.1. 服务器和副本协议
IdM 使用两种复制协议:
- 域复制协议 复制身份信息。
- 证书复制协议 复制证书信息。
两个复制频道都是独立的。两个服务器可以有一类或两种类型的复制协议。例如,当服务器 A 和服务器 B 仅配置了域复制协议时,它们之间仅复制身份信息,而不复制证书信息。
29.2. 拓扑后缀 复制链接链接已复制到粘贴板!
拓扑后缀 存储复制的数据。IdM 支持两种类型的拓扑后缀:domain 和 ca。每个后缀代表一个单独的服务器,即一个单独的复制拓扑。
配置复制协议时,它会在两个不同的服务器上加入同一类型的两个拓扑后缀。
域后缀:dc=示例,dc=com域后缀包含与域相关的所有数据。当两个副本在其
域后缀之间具有复制协议时,它们共享目录数据,如用户、组和策略。ca后缀:o=ipacaca后缀包含证书系统组件的数据。它仅存在于安装有证书颁发机构 (CA) 的服务器上。当两个副本在其
ca后缀之间具有复制协议时,它们会共享证书数据。
图 29.2. 拓扑后缀
在安装新副本时,ipa- replica-install 脚本会在两个服务器之间设置初始拓扑复制协议。
29.3. 拓扑片段 复制链接链接已复制到粘贴板!
当两个副本在其后缀之间具有复制协议时,后缀组成一个 拓扑片段。每个拓扑段由一个 左节点和一个 右节点 组成。节点代表复制协议中加入的服务器。
IdM 中的拓扑片段始终是双向的。每个部分代表两种复制协议:从服务器 A 到服务器 B,从服务器 B 复制到服务器 A。因此数据会同时复制到服务器 A。
图 29.3. 拓扑片段
29.4. 使用 Web UI 查看并修改复制拓扑的可视化表示 复制链接链接已复制到粘贴板!
使用 Web UI,您可以查看、操作和转换复制拓扑的表示。Web UI 中的拓扑图显示域中服务器之间的关系。您可以通过按住并拖动鼠标来移动单个拓扑节点。
解读拓扑图
加入域复制协议的服务器通过圆形箭头连接。加入 CA 复制协议中的服务器通过蓝色箭头连接。
- 拓扑图示例:推荐的拓扑
以下推荐的拓扑示例显示了四个服务器的可能的推荐拓扑之一:每个服务器至少连接到两个其他服务器,并且多个服务器是 CA 服务器。
图 29.4. 推荐的拓扑示例
- 拓扑图示例:不建议拓扑
在以下不建议的拓扑示例中,
server1是一个单点故障。所有其他服务器都与此服务器有复制协议,但与其他任何服务器都没有。因此,如果server1出现故障,所有其他服务器将被隔离。避免创建类似这样的拓扑。
图 29.5. 不鼓励的拓扑示例:单点故障
先决条件
- 您以 IdM 管理员身份登录。
流程
- 选择 → → 。
更改拓扑:
您可以使用鼠标左键移动拓扑图形节点:
您可以使用鼠标滚轮放大和缩小拓扑图:
您可以通过按住鼠标左键来移动拓扑图的画布:
- 如果您对拓扑所做的任何更改没有立即反映在图中,请点击 。
29.5. 使用 CLI 查看拓扑后缀 复制链接链接已复制到粘贴板!
在复制协议中,拓扑后缀存储复制的数据。您可以使用 CLI 查看拓扑后缀。
步骤
输入
ipa topologysuffix-find命令来显示拓扑后缀的列表:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
29.6. 使用 CLI 查看拓扑段 复制链接链接已复制到粘贴板!
在复制协议中,当两个副本在其后缀之间有复制协议时,后缀组成一个拓扑段。您可以使用 CLI 查看拓扑段。
步骤
输入
ipa topologysegment-find命令来显示为域或 CA 后缀配置的当前拓扑段。例如,对于域后缀:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,域相关的数据仅在两个服务器之间被复制:
server1.example.com和server2.example.com。可选: 要只显示特定片段的详情,请输入
ipa topologysegment-show命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
29.7. 使用 Web UI 在两台服务器之间设置复制 复制链接链接已复制到粘贴板!
使用身份管理(IdM) Web UI,您可以选择两个服务器,并在它们之间创建一个新的复制协议。
先决条件
- 您以 IdM 管理员身份登录。
步骤
在拓扑图中,将鼠标悬停在其中一台服务器节点上。
图 29.6. 域或 CA 选项
-
根据您要创建的拓扑段的类型,单击圆圈的
domain或ca部分。 在鼠标指针下会出现代表新复制协议的新箭头。将鼠标移到其他服务器节点,然后单击该节点。
图 29.7. 创建新段
-
在
Add topology segment窗口中,单击 以确认新网段的属性。
两台服务器之间的新拓扑网段将它们加入到复制协议中。拓扑图现在显示更新的复制拓扑:
图 29.8. 创建新片段
29.8. 使用 Web UI 停止两个服务器之间的复制 复制链接链接已复制到粘贴板!
使用身份管理(IdM) Web UI,您可以从服务器中删除复制协议。
先决条件
- 您以 IdM 管理员身份登录。
步骤
单击代表您要删除的复制协议的箭头。这会突出显示箭头。
图 29.9. 拓扑片段突出显示
- 点。
在
Confirmation窗口中,单击 。IdM 删除了两台服务器之间的拓扑网段,这将删除它们的复制协议。拓扑图现在显示更新的复制拓扑:
图 29.10. 已删除拓扑片段
29.9. 使用 CLI 在两个服务器之间设置复制 复制链接链接已复制到粘贴板!
您可以使用 ipa topologysegment-add 命令配置两个服务器之间的复制协议。
先决条件
- 有 IdM 管理员凭证。
流程
为两台服务器创建一个拓扑段。在提示时,提供:
-
所需的拓扑后缀:
domain或ca - 左节点和右节点,代表两台服务器
可选:片段的自定义名称
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加新片段在复制协议中加入服务器。
-
所需的拓扑后缀:
验证
验证新段是否已配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
29.10. 使用 CLI 停止两个服务器之间的复制 复制链接链接已复制到粘贴板!
您可以使用 ipa topology segment-del 命令从命令行终止复制协议。
先决条件
- 有 IdM 管理员凭证。
流程
可选:如果您不知道要删除的特定复制段的名称,请显示所有可用的片段。使用
ipa topologysegment-find命令。出现提示时,请提供所需的拓扑后缀:domain或ca。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在输出中找到所需的段。
删除连接两个服务器的拓扑段:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除片段会移除复制协议。
验证
验证段是否不再列出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
29.11. 使用 Web UI 从拓扑中删除服务器 复制链接链接已复制到粘贴板!
您可以使用 Identity Management(IdM)web 界面从拓扑中删除服务器。此操作不会从主机卸载服务器组件。
先决条件
- 您以 IdM 管理员身份登录。
- 您希望删除的服务器 并不是 唯一将其他服务器与拓扑中其余部分连接的服务器;这会导致其他服务器变为隔离状态,这是不允许的。
- 要删除的服务器 不是 您的最后一个 CA 或 DNS 服务器。
删除服务器是一项不当操作。如果您删除了服务器,在拓扑中重新引入它的唯一方法是在机器上安装新副本。
流程
- 选择 → → 。
单击您要删除的服务器的名称。
图 29.11. 选择服务器
- 单击 。
其他资源
29.12. 使用 CLI 从拓扑中删除服务器 复制链接链接已复制到粘贴板!
您可以使用命令行从拓扑中删除身份管理(IdM)服务器。
先决条件
- 有 IdM 管理员凭证。
- 您希望删除的服务器 并不是 唯一将其他服务器与拓扑中其余部分连接的服务器;这会导致其他服务器变为隔离状态,这是不允许的。
- 要删除的服务器 不是 您的最后一个 CA 或 DNS 服务器。
删除服务器是一项不当操作。如果您删除了服务器,在拓扑中重新引入它的唯一方法是在机器上安装新副本。
流程
删除 server1.example.com :
在另一台服务器上,运行
ipa server-del命令来移除server1.example.com。该命令删除指向服务器的所有拓扑片段:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:在
server1.example.com上,运行ipa server-install --uninstall命令来从机器中卸载服务器组件。ipa server-install --uninstall
[root@server1 ~]# ipa server-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow
29.13. 删除过时的 RUV 记录 复制链接链接已复制到粘贴板!
如果您从 IdM 拓扑中删除了一台服务器,而没有正确地删除其复制协议,则过时的副本更新向量(RUV)记录将保留在拓扑中的一个或多个剩余的服务器上。例如,可能会由于自动化而发生这种情况。这些服务器预期会从现在已删除的服务器接收更新。在这种情况下,您需要从剩余的服务器中清理过时的 RUV 记录。
先决条件
- 有 IdM 管理员凭证。
- 您知道哪些副本已损坏或已被错误地删除。
流程
使用
ipa-replica-manage list-ruv命令列出 RUV 的详细信息。命令显示副本 ID:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ipa-replica-manage list-ruv命令列出拓扑中的所有副本,而不仅仅是有故障或错误删除的副本。使用
ipa-replica-manage clean-ruv命令删除与指定副本关联的过时的 RUV。对具有过时 RUV 的每个副本 ID 重复此命令。例如,如果您知道server1.example.com和server2.example.com有故障或者错误地删除了副本:ipa-replica-manage clean-ruv 6 ipa-replica-manage clean-ruv 5
ipa-replica-manage clean-ruv 6 ipa-replica-manage clean-ruv 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 ipa-replica-manage clean-ruv 时要非常小心。对有效副本 ID 运行命令将破坏复制数据库中与该副本关联的所有数据。
如果发生这种情况,请使用 $ ipa-replica-manage re-initialize --from server1.example.com 从另一个副本重新初始化副本。
验证
-
再次运行
ipa-replica-manage list-ruv。如果命令不再显示任何损坏的 RUV,则记录已被成功清理。 如果命令仍然显示损坏的 RUV,则使用此任务手动清除它们:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
29.14. 使用 IdM Web UI 查看 IdM 拓扑中可用的服务器角色 复制链接链接已复制到粘贴板!
根据 IdM 服务器中安装的服务,它可以执行各种 服务器角色。例如:
- CA 服务器
- DNS 服务器
- 关键恢复机构(KRA)服务器.
流程
有关支持的服务器角色的完整列表,请参阅 → → 。
注意-
缺少角色状态意味着拓扑中没有服务器执行该角色。 -
启用角色状态意味着拓扑中的一个或多个服务器正在执行该角色。
图 29.12. Web UI 中的服务器角色
-
29.15. 使用 IdM CLI 查看 IdM 拓扑中可用的服务器角色 复制链接链接已复制到粘贴板!
根据 IdM 服务器中安装的服务,它可以执行各种 服务器角色。例如:
- CA 服务器
- DNS 服务器
- 关键恢复机构(KRA)服务器.
流程
要显示拓扑中所有 CA 服务器和当前 CA 续订服务器:
ipa config-show ... IPA masters: server1.example.com, server2.example.com, server3.example.com IPA CA servers: server1.example.com, server2.example.com IPA CA renewal master: server1.example.com
$ ipa config-show ... IPA masters: server1.example.com, server2.example.com, server3.example.com IPA CA servers: server1.example.com, server2.example.com IPA CA renewal master: server1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,要显示特定服务器(如 server.example.com)上启用的角色的列表 :
ipa server-show Server name: server.example.com ... Enabled server roles: CA server, DNS server, KRA server
$ ipa server-show Server name: server.example.com ... Enabled server roles: CA server, DNS server, KRA serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,使用
ipa server-find --servrole命令搜索启用了特定服务器角色的所有服务器。例如,搜索所有 CA 服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
29.16. 将副本提升到 CA 续订服务器和 CRL 发布程序服务器 复制链接链接已复制到粘贴板!
如果您的 IdM 部署使用嵌入式证书颁发机构(CA),其中一个 IdM CA 服务器充当 CA 续订服务器,负责管理 CA 子系统证书的续订服务器。其中一台 IdM CA 服务器也充当 IdM CRL 发布程序服务器,这是生成证书撤销列表的服务器。
默认情况下,CA 续订服务器和 CRL 发布程序服务器角色安装在第一个服务器上,系统管理员使用 ipa-server-install 或 ipa-ca-install 命令在其上安装 CA 角色。但是,您可以将两个角色之一传输到启用了 CA 角色的任何其他 IdM 服务器。
先决条件
- 有 IdM 管理员凭证。
第 30 章 安装并运行 IdM Healthcheck 工具 复制链接链接已复制到粘贴板!
了解有关 IdM Healthcheck 工具以及如何安装并运行它的更多信息。
- Healthcheck 工具只在 RHEL 8.1 或更高版本中提供。
30.1. IdM 中的 Healthcheck 复制链接链接已复制到粘贴板!
身份管理(IdM)中的 Healthcheck 工具帮助查找可能会影响 IdM 环境健康的问题。
Healthcheck 工具是一个命令行工具,可在无需 Kerberos 身份验证的情况下使用。
模块是独立的
Healthcheck由独立模块组成,用于测试:
- 复制问题
- 证书有效期
- 证书颁发机构基础设施问题
- IdM 和 Active Directory 信任问题
- 正确的文件权限和所有权设置
两种输出格式
HealthCheck 生成以下输出,您可以使用 output-type 选项来设置:
-
JSON:JSON 格式的机器可读输出(默认) -
human:人类可读的输出
您可以使用 --output-file 选项来指定不同的文件目标。
结果
每个 Healthcheck 模块返回以下结果之一:
- SUCCESS
- 配置为预期
- WARNING
- 不是错误,但需要对其进行检查和评估
- ERROR
- 未按预期配置
- CRITICAL
- 未按预期配置,可能会有非常大的影响
30.2. 安装 IdM Healthcheck 复制链接链接已复制到粘贴板!
您可以安装 IdM Healthcheck 工具。
流程
安装
ipa-healthcheck软件包:yum install ipa-healthcheck
[root@server ~]# yum install ipa-healthcheckCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在 RHEL 8.1 和 8.2 系统上,使用 yum install /usr/bin/ipa-healthcheck 命令。
验证
使用
--failures-only选项使ipa-healthcheck只报告错误。功能齐全的 IdM 安装返回一个空结果[]。ipa-healthcheck --failures-only []
[root@server ~]# ipa-healthcheck --failures-only []Copy to Clipboard Copied! Toggle word wrap Toggle overflow
30.3. 运行 IdM Healthcheck 复制链接链接已复制到粘贴板!
Healthcheck 可以手动运行,也可以使用 日志循环 自动运行。
先决条件
- 必须安装 Healthcheck 工具。请参阅 安装 IdM Healthcheck。
流程
要手动运行healthcheck,请输入
ipa-healthcheck命令。ipa-healthcheck
[root@server ~]# ipa-healthcheckCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 31 章 使用 Ansible playbook 来安装身份管理服务器 复制链接链接已复制到粘贴板!
了解如何使用 Ansible 将系统配置为 IdM 服务器。将系统配置为 IdM 服务器建立 IdM 域并让系统向 IdM 客户端提供 IdM 服务。您可以使用 ipaserver Ansible 角色来管理部署。
先决条件
- 您了解了一般的 Ansible 和 IdM 概念。
31.1. Ansible 及其安装 IdM 的优点 复制链接链接已复制到粘贴板!
Ansible 是一个自动化工具,用于配置系统、部署软件和执行滚动更新。Ansible 包含对身份验证(IdM)的支持,您可以使用 Ansible 模块来自动执行安装任务,如 IdM 服务器、副本、客户端或整个 IdM 拓扑的设置。
使用 Ansible 安装 IdM 的优点
以下列表提供了使用 Ansible 安装身份管理与手动安装的优点。
- 您不需要登录受管节点。
- 您不需要配置每个主机上的设置来单独部署。反之,您可以有一个清单文件来部署完整的集群。
- 您可以稍后重复将清单文件用于管理任务,例如添加用户和主机。即使与 IdM 相关的任务,也可以重复使用清单文件。
31.2. 安装 ansible-freeipa 软件包 复制链接链接已复制到粘贴板!
按照以下流程安装 ansible-freeipa 软件包,该软件包为安装和管理身份管理(IdM)提供 Ansible 角色和模块。
先决条件
- 确定控制器是一个带有有效订阅的 Red Hat Enterprise Linux 系统。否则,请参阅官方 Ansible 文档 安装指南 来获取替代安装说明。
-
确保您可以通过
SSH协议,从控制器访问受管节点。检查该受管节点是否已列在控制器的/root/.ssh/known_hosts文件中。
流程
在 Ansible 控制器上使用以下流程。
如果您的系统运行在 RHEL 8.5 及更早版本上,请启用所需的存储库:
subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的系统运行在 RHEL 8.5 及更早版本上,请安装
ansible软件包:yum install ansible
# yum install ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
ansible-freeipa软件包:yum install ansible-freeipa
# yum install ansible-freeipaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 角色和模块被安装到
/usr/share/ansible/roles/和/usr/share/ansible/plugins/modules目录中。
31.3. 在文件系统中的 Ansible 角色位置 复制链接链接已复制到粘贴板!
默认情况下,ansible-freeipa 角色被安装到 /usr/share/ansible/roles/ 目录中。ansible-freeipa 软件包的结构如下:
/usr/share/ansible/roles/目录将ipaserver、ipareplica和ipaclient角色存储在 Ansible 控制器上。每个角色目录都会在README.mdMarkdown 文件中存储有关角色的示例、基本概述、许可证和文档。ls -1 /usr/share/ansible/roles/ ipaclient ipareplica ipaserver
[root@server]# ls -1 /usr/share/ansible/roles/ ipaclient ipareplica ipaserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/doc/ansible-freeipa/目录在README.mdMarkdown 文件中存储有关单个角色和拓扑的文档。它还存储playbook/子目录。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/doc/ansible-freeipa/playbooks/目录存储示例 playbook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.4. 为带有集成 DNS 和集成 CA 作为根 CA 的部署设置参数 复制链接链接已复制到粘贴板!
完成这个流程,来在使用 IdM 集成 DNS 解决方案的环境中为安装带有集成 CA 作为根 CA 的 IdM 服务器配置清单文件。
此流程中的清单使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
流程
创建一个
~/MyPlaybooks/目录:mkdir MyPlaybooks
$ mkdir MyPlaybooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建一个
~/MyPlaybooks/inventory文件。 打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(
FQDN)。确保FQDN满足以下条件:- 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 主机名必须都是小写。
- 指定 IdM 域和域信息。
通过添加以下选项来指定您要使用集成的 DNS:
ipaserver_setup_dns=true
ipaserver_setup_dns=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 指定 DNS 转发设置。选择以下选项之一:
-
如果您希望安装程序使用
/etc/resolv.conf文件中的转发器,请使用ipaserver_auto_forwarders=true选项。如果在/etc/resolv.conf文件中指定的名称服务器是 localhost 127.0.0.1 地址,或者位于虚拟专用网络中,且您使用的 DNS 服务器通常无法从公共互联网访问,则不要使用这个选项。 -
使用
ipaserver_forwarders选项手动指定您的转发器。安装过程将转发器 IP 地址添加到安装的 IdM 服务器上的/etc/named.conf文件中。 使用
ipaserver_no_forwarders=true选项配置要使用的根 DNS 服务器。注意如果没有 DNS 转发器,您的环境是隔离的,且您基础架构中来自其他 DNS 域的名称不能被解决。
-
如果您希望安装程序使用
指定 DNS 反向记录和区设置。从以下选项中选择:
-
使用
ipaserver_allow_zone_overlap=true选项允许创建(反向)区域,即使区域已可以解析。 -
使用
ipaserver_reverse_zones选项来手动指定反向区。 如果您不希望安装程序创建反向 DNS 区域,请使用
ipaserver_no_reverse=true选项。注意使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
-
使用
-
指定
admin和Directory Manager的密码。使用 Ansible Vault 存储密码,并从 playbook 文件中引用 Vault 文件。或者,在清单文件中直接指定密码,这不太安全。 可选:指定一个要被 IdM 服务器使用的自定义
firewalld区域。如果您没有设置自定义区,IdM 会将其服务添加到默认的firewalld区中。预定义的默认区是public。重要指定的
firewalld区必须存在,并且是永久的。一个具有所需服务器信息的清单文件示例(不包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有所需服务器信息的清单文件示例(包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有自定义
firewalld区域的清单文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用存储在 Ansible Vault 文件中的 admin 和 Directory Manager 密码设置 IdM 服务器的 playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用清单文件中的 admin 和 Directory Manager 密码来设置 IdM 服务器的 playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.5. 为带有外部 DNS 和集成 CA 作为根 CA 的部署设置参数 复制链接链接已复制到粘贴板!
完成这个流程,来为在使用外部 DNS 解决方案的环境中安装带有集成 CA 作为根 CA 的 IdM 服务器配置 inventory 文件。
此流程中的清单文件使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
流程
创建一个
~/MyPlaybooks/目录:mkdir MyPlaybooks
$ mkdir MyPlaybooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建一个
~/MyPlaybooks/inventory文件。 打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(
FQDN)。确保FQDN满足以下条件:- 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 主机名必须都是小写。
- 指定 IdM 域和域信息。
-
确保
ipaserver_setup_dns选项被设为no或空缺。 -
指定
admin和Directory Manager的密码。使用 Ansible Vault 存储密码,并从 playbook 文件中引用 Vault 文件。或者,在清单文件中直接指定密码,这不太安全。 可选:指定一个要被 IdM 服务器使用的自定义
firewalld区域。如果您没有设置自定义区,IdM 会将其服务添加到默认的firewalld区中。预定义的默认区是public。重要指定的
firewalld区必须存在,并且是永久的。一个具有所需服务器信息的清单文件示例(不包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有所需服务器信息的清单文件示例(包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有自定义
firewalld区域的清单文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用存储在 Ansible Vault 文件中的 admin 和 Directory Manager 密码设置 IdM 服务器的 playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用清单文件中的 admin 和 Directory Manager 密码来设置 IdM 服务器的 playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.6. 使用 Ansible playbook 将集成 CA 的 IdM 服务器部署为 root CA 复制链接链接已复制到粘贴板!
完成此流程,来使用 Ansible playbook 部署带有集成证书颁发机构(CA)作为根 CA 的 IdM 服务器。
先决条件
- 受管节点是一个具有静态 IP 地址和可正常工作的软件包管理器的 Red Hat Enterprise Linux 8 系统。
您可以通过选择以下流程之一来设置与您的场景相对应的参数:
流程
运行 Ansible playbook:
ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server.yml
$ ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 选择以下选项之一:
如果您的 IdM 部署使用外部 DNS:将包含在
/tmp/ipa.system.records.UFRPto.db文件中的 DNS 资源记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
如果您的 IdM 部署使用集成的 DNS:
将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要每次安装 IdM DNS 服务器后都会重复这个步骤。
-
将时间服务器的
_ntp._udp服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。
31.7. 为带有集成 DNS 和外部 CA 作为根 CA 的部署设置参数 复制链接链接已复制到粘贴板!
完成此流程,来为在使用 IdM 集成的 DNS 解决方案的环境中安装带有外部 CA 作为根 CA 的 IdM 服务器配置清单文件。
此流程中的清单文件使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
流程
创建一个
~/MyPlaybooks/目录:mkdir MyPlaybooks
$ mkdir MyPlaybooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建一个
~/MyPlaybooks/inventory文件。 打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(
FQDN)。确保FQDN满足以下条件:- 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 主机名必须都是小写。
- 指定 IdM 域和域信息。
通过添加以下选项来指定您要使用集成的 DNS:
ipaserver_setup_dns=true
ipaserver_setup_dns=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 指定 DNS 转发设置。选择以下选项之一:
-
如果您希望安装进程使用
/etc/resolv.conf文件中的转发器,请使用ipaserver_auto_forwarders=true选项。如果/etc/resolv.conf文件中指定的名字服务器是 localhost 127.0.0.1 地址,或者如果您在虚拟私有网络中,并且您使用的 DNS 服务器通常无法从公共互联网访问,则不建议使用此选项。 -
使用
ipaserver_forwarders选项手动指定您的转发器。安装过程将转发器 IP 地址添加到安装的 IdM 服务器上的/etc/named.conf文件中。 使用
ipaserver_no_forwarders=true选项配置要使用的根 DNS 服务器。注意如果没有 DNS 转发器,您的环境是隔离的,且您基础架构中来自其他 DNS 域的名称不能被解决。
-
如果您希望安装进程使用
指定 DNS 反向记录和区设置。从以下选项中选择:
-
使用
ipaserver_allow_zone_overlap=true选项允许创建(反向)区域,即使区域已可以解析。 -
使用
ipaserver_reverse_zones选项来手动指定反向区。 如果您不希望安装过程创建反向 DNS 区域,请使用
ipaserver_no_reverse=true选项。注意使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
-
使用
-
指定
admin和Directory Manager的密码。使用 Ansible Vault 存储密码,并从 playbook 文件中引用 Vault 文件。或者,在清单文件中直接指定密码,这不太安全。 可选:指定一个要被 IdM 服务器使用的自定义
firewalld区域。如果您没有设置自定义区,IdM 会将其服务添加到默认的firewalld区。预定义的默认区是public。重要指定的
firewalld区必须存在,并且是永久的。一个具有所需服务器信息的清单文件示例(不包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有所需服务器信息的清单文件示例(包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有自定义
firewalld区域的清单文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为安装的第一个步骤创建一个 playbook。输入有关生成证书签名请求(CSR),并将其从控制器复制到受管节点的说明。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为安装的最后步骤创建另一个 playbook。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.8. 为带有外部 DNS 和外部 CA 作为根 CA 的部署设置参数 复制链接链接已复制到粘贴板!
完成此流程,来为在使用外部 DNS 解决方案的环境中安装带有外部 CA 作为根 CA 的 IdM 服务器配置清单文件。
此流程中的清单文件使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
流程
创建一个
~/MyPlaybooks/目录:mkdir MyPlaybooks
$ mkdir MyPlaybooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建一个
~/MyPlaybooks/inventory文件。 打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(
FQDN)。确保FQDN满足以下条件:- 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 主机名必须都是小写。
- 指定 IdM 域和域信息。
-
确保
ipaserver_setup_dns选项被设为no或空缺。 -
指定
admin和Directory Manager的密码。使用 Ansible Vault 存储密码,并从 playbook 文件中引用 Vault 文件。或者,在清单文件中直接指定密码,这不太安全。 可选:指定一个要被 IdM 服务器使用的自定义
firewalld区域。如果您没有设置自定义区,IdM 会将其服务添加到默认的firewalld区域中。预定义的默认区域是public。重要指定的
firewalld区域必须存在,并且是永久的。一个具有所需服务器信息的清单文件示例(不包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有所需服务器信息的清单文件示例(包括密码)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个具有自定义
firewalld区域的清单文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为安装的第一个步骤创建一个 playbook。输入有关生成证书签名请求(CSR),并将其从控制器复制到受管节点的说明。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为安装的最后步骤创建另一个 playbook。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.9. 使用 Ansible playbook 将外部 CA 部署 IdM 服务器作为 root CA 复制链接链接已复制到粘贴板!
完成此流程,来使用 Ansible playbook 部署具有外部证书颁发机构(CA)作为根 CA 的 IdM 服务器。
先决条件
- 受管节点是一个具有静态 IP 地址和可正常工作的软件包管理器的 Red Hat Enterprise Linux 8 系统。
您已通过选择以下流程之一设置了与您的场景相应的参数:
流程
使用安装第一步的说明运行 Ansible playbook,如
install-server-step1.yml:ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step1.yml
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step1.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在控制器上找到
ipa.csr证书签名请求文件,并提交给外部的 CA。 - 将外部 CA 签名的 IdM CA 证书放在控制器文件系统中,以便下一步中的 playbook 可以找到它。
使用安装最后一步的说明运行 Ansible playbook,如
install-server-step2.yml:ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step2.yml
$ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step2.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 选择以下选项之一:
如果您的 IdM 部署使用外部 DNS:将包含在
/tmp/ipa.system.records.UFRPto.db文件中的 DNS 资源记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
如果您的 IdM 部署使用集成的 DNS:
将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是
idm.example.com,请在example.com父域中添加一个名字服务器(NS)记录。重要每次安装 IdM DNS 服务器后都会重复这个步骤。
-
将时间服务器的
_ntp._udp服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。
31.10. 使用 Ansible playbook 卸载 IdM 服务器 复制链接链接已复制到粘贴板!
在现有的身份管理(IdM)部署中,副本 和 服务器 是可交换的术语。
完成此流程,使用 Ansible playbook 来卸载 IdM 副本。在本例中:
- 从 server123.idm.example.com 卸载 IdM 配置。
- server123.idm.example.com 和关联的主机条目从 IdM 拓扑中删除。
先决条件
在控制节点上:
- 您在使用 Ansible 版本 2.13 或更高版本。
-
您已安装
ansible-freeipa软件包。 - 您已在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。在本例中,FQDN 是 server123.idm.example.com。
-
您已将
ipaadmin_password存储在 secret.yml Ansible vault 中。 -
要使
ipaserver_remove_from_topology选项正常工作,系统必须运行在 RHEL 8.9 或更高版本上。
在受管节点上:
- 系统在 RHEL 8 上运行。
流程
使用以下内容创建 Ansible playbook 文件 uninstall-server.yml :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipaserver_remove_from_domain选项从 IdM 拓扑中取消主机注册。注意如果 server123.idm.example.com 的删除导致断开连接的拓扑,则删除操作将被中止。如需更多信息,请参阅 如果这会导致断开连接的拓扑,请使用 Ansible playbook 卸载 IdM 服务器。
卸载副本:
ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/inventory <path_to_playbooks_directory>/uninstall-server.yml
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/inventory <path_to_playbooks_directory>/uninstall-server.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 确保指向 server123.idm.example.com 的所有名称服务器(NS) DNS 记录都从 DNS 区域中删除。无论您使用由 IdM 还是外部 DNS 管理的集成 DNS,这个均适用。有关如何从 IdM 中删除 DNS 记录的更多信息,请参阅 在 IdM CLI 中删除 DNS 记录。
31.11. 如果这会导致断开连接的拓扑,请使用 Ansible playbook 卸载 IdM 服务器 复制链接链接已复制到粘贴板!
在现有的身份管理(IdM)部署中,副本 和 服务器 是可交换的术语。
完成此流程,使用 Ansible playbook 卸载 IdM 副本,即使这会导致断开连接的 IdM 拓扑。在示例中,server456.idm.example.com 用于从拓扑中删除副本和 FQDN 为 server123.idm.example.com server123.idm.example.com 的相关的主机条目,使某些副本与 server456.idm.example.com 以及拓扑的其余部分断开连接。
如果只使用 remove_server_from_domain 从拓扑中删除副本不会导致断开连接的拓扑,则不需要其他选项。如果结果是断开连接的拓扑,您必须指定您要保留域的哪一部分。在这种情况下,您必须执行以下操作:
-
指定
ipaserver_remove_on_server值。 -
将
ipaserver_ignore_topology_disconnect设置为 True。
先决条件
在控制节点上:
- 您在使用 Ansible 版本 2.13 或更高版本。
- 系统运行在 RHEL 8.9 或更高版本上。
-
您已安装
ansible-freeipa软件包。 - 您已在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。在本例中,FQDN 是 server123.idm.example.com。
-
您已将
ipaadmin_password存储在 secret.yml Ansible vault 中。
在受管节点上:
- 系统在 8 或更高版本上运行。
流程
使用以下内容创建 Ansible playbook 文件 uninstall-server.yml :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意正常情况下,如果删除 server123 不会造成断开连接的拓扑:如果
ipaserver_remove_on_server的值没有设置,则 server123 上的副本会使用 server123 的复制协议自动删除。卸载副本:
ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/uninstall-server.yml
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/uninstall-server.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 确保指向 server123.idm.example.com 的所有名称服务器(NS) DNS 记录都从 DNS 区域中删除。无论您使用由 IdM 还是外部 DNS 管理的集成 DNS,这个均适用。有关如何从 IdM 中删除 DNS 记录的更多信息,请参阅 在 IdM CLI 中删除 DNS 记录。
第 32 章 使用 Ansible playbook 安装身份管理副本 复制链接链接已复制到粘贴板!
使用 Ansible 将其注册到 IdM 域来将系统配置为 IdM 副本,并让系统在域中的 IdM 服务器上使用 IdM 服务。
部署是由 ipareplica Ansible 角色来管理的。该角色可以使用自动发现模式来识别 IdM 服务器、域和其他设置。但是,如果您在类似层的模式中部署多个副本,且不同的副本组在不同时间被部署,则您必须为每个组定义特定的服务器或副本。
先决条件
- 您已在 Ansible 控制节点上安装了 ansible-freeipa 软件包。
- 您了解了一般的 Ansible 和 IdM 概念。
- 您已 在部署中计划了副本拓扑。
32.1. 指定用于安装 IdM 副本的基础、服务器和客户端变量 复制链接链接已复制到粘贴板!
完成此流程来配置用于安装 IdM 副本的清单文件。
先决条件
您已配置了 Ansible 控制节点以满足以下要求:
- 您在使用 Ansible 版本 2.13 或更高版本。
-
您已在 Ansible 控制器上安装了
ansible-freeipa软件包。
流程
打开清单文件进行编辑。指定主机的完全限定域名(FQDN)来成为 IdM 副本。FQDN 必须是有效的 DNS 名称:
-
仅允许数字、字母字符和连字符(
-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。
仅定义副本 FQDN 的简单清单主机文件示例
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 IdM 服务器已经部署,且在 IdM DNS 区中正确设置了 SRV 记录,那么脚本会自动发现所有其他必需的值。
-
仅允许数字、字母字符和连字符(
可选:根据您设计拓扑的方式在清单文件中提供额外的信息:
- 场景 1
如果要避免自动发现,并且使
[ipareplicas]部分中列出的所有副本都使用特定的 IdM 服务器,请在清单文件的[ipaservers]部分中设置服务器。带有 IdM 服务器 FQDN 和定义的副本的清单主机文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 场景 2
或者,如果您想避免自动发现,但希望使用特定的服务器来部署特定副本,请分别在清单文件的
[ipareplicas]部分中为特定副本设置服务器。为特定副本定义了特定 IdM 服务器的清单文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上例中,
replica3.idm.example.com使用已部署的replica1.idm.example.com作为其复制源。- 场景 3
如果您在一个批处理中部署多个副本,并且时间是您关心的问题,那么多层副本部署可能对您很有用。在清单文件中定义特定的副本组,如
[ipareplicas_tier1]和[ipareplicas_tier2],并在install-replica.ymlplaybook 中为每个组设计单独的 play。定义了副本层的清单文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将使用
ipareplica_servers中的第一个条目。第二个条目将用作回退选项。在使用多个层来部署 IdM 副本时,您必须在 playbook 中有单独的任务来首先从 tier1 部署副本,然后从 tier2 部署副本。为不同副本组使用不同 play 的 playbook 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
可选:提供有关
firewalld和 DNS 的额外信息:- 场景 1
如果您希望副本使用指定的
firewalld区域,如一个内部区域,您可以在清单文件中指定它。如果您没有设置自定义区,IdM 会将其服务添加到默认的firewalld区域中。预定义的默认区域是public。重要指定的
firewalld区域必须存在,并且是永久的。带有自定义
firewalld区域的简单清单主机文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 场景 2
如果您希望副本托管 IdM DNS 服务,请将 ipareplica_setup_dns=true 行添加到
[ipareplicas:vars]部分中。另外,请指定您是否要使用每服务器 DNS 转发器:-
要配置每服务器转发器,请将
ipareplica_forwarders变量和字符串列表添加到[ipareplicas:vars]部分,例如:ipareplica_forwarders=192.0.2.1,192.0.2.2 -
若要配置无每服务器转发器,请将以下行添加到
[ipareplicas:vars]部分中:ipareplica_no_forwarders=true。 -
要根据副本的
/etc/resolv.conf文件中列出的转发器配置每服务器转发器,请将ipareplica_auto_forwarders变量添加到[ipareplicas:vars]部分。
带有在副本上设置 DNS 和每个服务器转发器的指令的清单文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
要配置每服务器转发器,请将
- 场景 3
使用
ipaclient_configure_dns_resolve和ipaclient_dns_servers选项(如果可用的话)指定 DNS 解析器,来简化集群部署。这在您的 IdM 部署使用集成的 DNS 时特别有用:指定 DNS 解析器的清单文件片段:
[...] [ipaclient:vars] ipaclient_configure_dns_resolver=true ipaclient_dns_servers=192.168.100.1
[...] [ipaclient:vars] ipaclient_configure_dns_resolver=true ipaclient_dns_servers=192.168.100.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ipaclient_dns_servers列表必须仅包含 IP 地址。主机名不允许。
32.2. 使用 Ansible playbook 指定用于安装 IdM 副本的凭证 复制链接链接已复制到粘贴板!
完成这个步骤来配置安装 IdM 副本的授权。
先决条件
您已配置了 Ansible 控制节点以满足以下要求:
- 您在使用 Ansible 版本 2.13 或更高版本。
-
您已在 Ansible 控制器上安装了
ansible-freeipa软件包。
流程
指定 授权部署副本的用户的密码,如 IdM
admin。使用 Ansible Vault 来存储密码,并从 playbook 文件(如
install-replica.yml)中引用 Vault 文件:使用来自清单文件和 Ansible Vault 文件中的密码的主体的 playbook 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关如何使用 Ansible Vault 的详细信息,请参阅官方 Ansible Vault 文档。
直接在清单文件中提供
admin的凭证不太安全。请在清单文件的[ipareplicas:vars]部分中使用ipaadmin_password选项。然后,清单文件和install-replica.ymlplaybook 文件类似如下:清单 hosts.replica 文件示例
[...] [ipareplicas:vars] ipaadmin_password=Secret123
[...] [ipareplicas:vars] ipaadmin_password=Secret123Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用清单文件中的主体和密码的 playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,在清单文件中提供授权直接部署副本的另一个用户的凭证也不太安全。要指定不同的授权用户,请使用
ipaadmin_principal选项作为用户名,使用ipaadmin_password选项作为密码。然后,清单文件和install-replica.ymlplaybook 文件类似如下:清单 hosts.replica 文件示例
[...] [ipareplicas:vars] ipaadmin_principal=my_admin ipaadmin_password=my_admin_secret123
[...] [ipareplicas:vars] ipaadmin_principal=my_admin ipaadmin_password=my_admin_secret123Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用清单文件中的主体和密码的 playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
32.3. 使用 Ansible playbook 部署 IdM 副本 复制链接链接已复制到粘贴板!
完成此流程,使用 Ansible playbook 来部署 IdM 副本。
先决条件
- 受管节点是一个具有静态 IP 地址和可正常工作的软件包管理器的 Red Hat Enterprise Linux 8 系统。
- 您已经配置了 用于安装 IdM 副本的清单文件 。
- 您已经配置了 安装 IdM 副本的授权。
流程
运行 Ansible playbook:
ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica.yml
$ ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
- 在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 身份管理 标题中的调优性能,以查找最适合您的情境的调优说明。
32.4. 使用 Ansible playbook 卸载一个 IdM 副本 复制链接链接已复制到粘贴板!
在现有的身份管理(IdM)部署中,副本 和 服务器 是可交换的术语。有关如何卸载 IdM 服务器的详情,请参考 使用 Ansible playbook 卸载 IdM 服务器 或 使用 Ansible playbook 卸载 IdM 服务器,即使这会导致断开连接的拓扑。
其他资源
第 33 章 使用 Ansible playbook 安装身份管理客户端 复制链接链接已复制到粘贴板!
了解如何使用 Ansible 将系统配置为身份管理(IdM)客户端。将系统配置为 IdM 客户端将其注册到 IdM 域中,并让系统在域中的 IdM 服务器中使用 IdM 服务。
部署是由 ipaclient Ansible 角色来管理的。默认情况下,该角色使用 autodiscovery 模式来识别 IdM 服务器、域和其他设置。角色可以被修改为使用 Ansible playbook 使用指定的设置,例如在清单文件中。
先决条件
- 您已在 Ansible 控制节点上安装了 ansible-freeipa 软件包。
- 您在使用 Ansible 版本 2.15 或更高版本。
- 您了解了一般的 Ansible 和 IdM 概念。
33.1. 为自动发现客户端安装模式设置清单文件的参数 复制链接链接已复制到粘贴板!
要使用 Ansible playbook 安装身份管理(IdM)客户端,请在清单文件(如 inventory)中配置目标主机参数 :
- 有关主机的信息
- 任务的授权
根据您拥有的清单插件,清单文件可以采用多种格式。INI 格式是 Ansible 的默认值之一,如下例中使用。
要在 RHEL 中将智能卡与图形用户界面搭配使用,请确保在 Ansible playbook 中包含 ipaclient_mkhomedir 变量。
流程
-
打开
inventory文件进行编辑。 指定要成为 IdM 客户端的主机的完全限定主机名(FQDN)。完全限定域名必须是有效的 DNS 名称:
-
仅允许数字、字母字符和连字符(
-)。例如,不允许使用下划线,这可能导致 DNS 失败。 - 主机名必须都是小写。不允许使用大写字母。
如果在 IdM DNS 区中正确设置了 SRV 记录,该脚本会自动发现所有其他必要的值。
只带有客户端 FQDN 定义的简单的清单主机文件示例
[ipaclients] client.idm.example.com [...]
[ipaclients] client.idm.example.com [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
仅允许数字、字母字符和连字符(
指定注册客户端的凭证。可用的验证方法如下:
注册 客户端的用户权限的密码。这是默认选项。
使用 Ansible Vault 来存储密码,并从 playbook 文件(如
install-client.yml)中引用 Vault 文件:使用来自清单文件和 Ansible Vault 文件中的密码的主体的 playbook 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
inventory/hosts文件的[ipaclients:vars]部分中使用ipaadmin_password选项来提供admin的凭证不太安全。或者,指定不同的授权用户,请使用ipaadmin_principal选项作为用户名,使用ipaadmin_password选项作为密码。然后,inventory/hosts清单文件和install-client.ymlplaybook 文件类似如下:清单主机文件示例
[...] [ipaclients:vars] ipaadmin_principal=my_admin ipaadmin_password=Secret123
[...] [ipaclients:vars] ipaadmin_principal=my_admin ipaadmin_password=Secret123Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用清单文件中的主体和密码的 Playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
之前的注册的 客户端 keytab ,如果其仍然可用。
如果系统之前作为身份管理客户端注册,则可以使用这个选项。要使用此身份验证方法,请取消
#ipaclient_keytab选项的注释,指定存储 keytab 的文件的路径,例如在inventory/hosts的[ipaclient:vars]部分。在注册过程中生成的随机一次性密码 (OTP)。要使用此身份验证方法,请在清单文件中使用
ipaclient_use_otp=true选项。例如,您可以取消inventory/hosts文件的[ipaclients:vars]部分中的ipaclient_use_otp=true选项的注释。请注意,对于 OTP,还必须指定以下选项之一:-
授权注册客户端的用户的密码 ,例如,为
inventory/hosts文件的[ipaclients:vars]部分的ipaadmin_password提供值。 -
admin keytab,例如,为
inventory/hosts的[ipaclients:vars]部分中的ipaadmin_keytab提供值。
-
授权注册客户端的用户的密码 ,例如,为
可选:使用
ipaclient_configure_dns_resolve和ipaclient_dns_servers选项(如果可用)指定 DNS 解析器来简化集群部署。这在您的 IdM 部署使用集成的 DNS 时特别有用:指定 DNS 解析器的清单文件片段:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ipaclient_dns_servers列表必须仅包含 IP 地址。主机名不允许。-
从 RHEL 8.9 开始,您还可以指定
ipaclient_subid: true选项,以便为 IdM 级别上的 IdM 用户配置 subid 范围。
33.2. 当在客户端安装过程中无法自动发现时设置清单文件的参数 复制链接链接已复制到粘贴板!
要使用 Ansible playbook 安装身份管理客户端,请在清单文件中配置目标主机参数,如 inventory/hosts :
- 有关主机、IdM 服务器和 IdM 域或 IdM 领域的信息
- 任务的授权
根据您拥有的清单插件,清单文件可以采用多种格式。INI 格式是 Ansible 的默认值之一,如下例中使用。
要在 RHEL 中将智能卡与图形用户界面搭配使用,请确保在 Ansible playbook 中包含 ipaclient_mkhomedir 变量。
流程
指定要成为 IdM 客户端的主机的完全限定主机名(FQDN)。完全限定域名必须是有效的 DNS 名称:
-
仅允许数字、字母字符和连字符(
-)。例如,不允许使用下划线,这可能导致 DNS 失败。 - 主机名必须都是小写。不允许使用大写字母。
-
仅允许数字、字母字符和连字符(
在
inventory/hosts文件的相关部分中指定其他选项:-
[ipaservers]部分中服务器的 FQDN,用于指示客户端将注册到哪个 IdM 服务器 以下两个选项之一:
-
[ipaclients:vars]部分中的ipaclient_domain选项,用来指示客户端将注册到的 IdM 服务器的 DNS 域名 [ipaclients:vars]部分中的ipaclient_realm选项,用于指示 IdM 服务器控制的 Kerberos 域的名称带有客户端 FQDN、服务器 FQDN 和定义的域的清单主机文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
-
指定注册客户端的凭证。可用的验证方法如下:
注册 客户端的用户权限的密码。这是默认选项。
使用 Ansible Vault 来存储密码,并从 playbook 文件(如
install-client.yml)中引用 Vault 文件:使用来自清单文件和 Ansible Vault 文件中的密码的主体的 playbook 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
不太安全的是,使用
inventory/hosts文件的[ipaclients:vars]部分中的ipaadmin_password选项提供admin的凭证。或者,指定不同的授权用户,请使用ipaadmin_principal选项作为用户名,使用ipaadmin_password选项作为密码。install-client.ymlplaybook 文件类似如下:清单主机文件示例
[...] [ipaclients:vars] ipaadmin_principal=my_admin ipaadmin_password=Secret123
[...] [ipaclients:vars] ipaadmin_principal=my_admin ipaadmin_password=Secret123Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用清单文件中的主体和密码的 Playbook 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 之前注册的客户端 keytab,如果仍然可用:
如果系统之前作为身份管理客户端注册,则可以使用这个选项。要使用此身份验证方法,请取消
ipaclient_keytab选项的注释,指定存储 keytab 的文件的路径,例如在inventory/hosts的[ipaclient:vars]部分。在注册过程中生成的随机一次性密码 (OTP)。要使用此身份验证方法,请在清单文件中使用
ipaclient_use_otp=true选项。例如,您可以取消inventory/hosts文件的[ipaclients:vars]部分中的#ipaclient_use_otp=true选项的注释。请注意,对于 OTP,还必须指定以下选项之一:-
授权注册客户端的用户的密码 ,例如,为
inventory/hosts文件的[ipaclients:vars]部分的ipaadmin_password提供值。 -
admin keytab,例如,为
inventory/hosts的[ipaclients:vars]部分中的ipaadmin_keytab提供值。
-
授权注册客户端的用户的密码 ,例如,为
-
从 RHEL 8.9 开始,您还可以指定
ipaclient_subid: true选项,以便为 IdM 级别上的 IdM 用户配置 subid 范围。
33.3. 使用 Ansible playbook 进行 IdM 客户端注册的授权选项 复制链接链接已复制到粘贴板!
您可以使用以下任一方法授权 IdM 客户端注册:
- 一个随机的一次性密码(OTP)+ 管理员密码
- 一个随机的一次性密码(OTP)+ admin keytab
- 之前注册中的客户端 keytab
-
授权注册客户端的用户 (
admin) 的密码存储在清单文件中 -
授权注册客户端的用户(
admin) 的密码存储在 Ansible vault 中
在 IdM 客户端安装之前,可以由 IdM 管理员生成 OTP。在这种情况下,除 OTP 本身以外,您不需要用于安装的任何凭证。
以下是用于这些方法的清单文件示例:
| 授权选项 | 清单文件 |
|---|---|
| 一个随机的一次性密码(OTP)+ 管理员密码 |
[ipaclients:vars] ipaadmin_password=Secret123 ipaclient_use_otp=true
|
| 一个随机的一次性密码(OTP) |
[ipaclients:vars] ipaclient_otp=<W5YpARl=7M.>
这个场景假定 OTP 已在安装前由 IdM |
| 一个随机的一次性密码(OTP)+ admin keytab |
[ipaclients:vars] ipaadmin_keytab=/root/admin.keytab ipaclient_use_otp=true
|
| 之前注册的客户端 keytab |
[ipaclients:vars] ipaclient_keytab=/root/krb5.keytab
|
|
|
[ipaclients:vars] ipaadmin_password=Secret123
|
|
|
[ipaclients:vars] [...]
|
如果您使用存储在 Ansible vault 文件中的 admin 用户的密码,则相应的 playbook 文件必须有一个额外的 vars_files 指令:
| Inventory 文件 | Playbook 文件 |
|---|---|
[ipaclients:vars] [...]
|
|
在上述所有其他授权场景中,基本的 playbook 文件类似如下:
从 RHEL 8.8 开始,在上述两个 OTP 授权场景中,使用 kinit 命令的管理员的 TGT 请求发生在第一个指定或发现的 IdM 服务器上。因此,不需要对 Ansible 控制节点进行额外的修改。在 RHEL 8.8 之前,控制节点上需要 krb5-workstation 软件包。
33.4. 使用 Ansible playbook 部署 IdM 客户端 复制链接链接已复制到粘贴板!
完成此流程,使用 Ansible playbook 在 IdM 环境中部署 IdM 客户端。
先决条件
- 受管节点是一个具有静态 IP 地址和可正常工作的软件包管理器的 Red Hat Enterprise Linux 8 系统。
您已设置了 IdM 客户端部署的参数,以对应您的部署场景:
流程
运行 Ansible playbook:
ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client.yml
$ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
33.5. 在 Ansible 中使用一次性密码方法来安装 IdM 客户端 复制链接链接已复制到粘贴板!
您可以为身份管理(IdM)中的新主机生成一个一次性密码(OTP),并使用它来将系统注册到 IdM 域中。此流程描述了在一台 IdM 主机上为其生成一个 OTP 后,如何使用 Ansible 来安装 IdM 客户端。
如果机构中存在具有不同特权的两个系统管理员,则这个安装 IdM 客户端的方法非常方便:
- 一个有 IdM 管理员凭证。
-
另一个有所需的 Ansible 凭证,包括对要成为 IdM 客户端的主机的
root访问权限。
IdM 管理员执行流程的第一部分,其中 OTP 密码已生成。Ansible 管理员执行流程的剩余部分,其中 OTP 用于安装 IdM 客户端。
先决条件
-
您有 IdM
admin凭证或至少Host Enrollment特权以及在 IdM 中添加 DNS 记录的权限。 - 您已在 Ansible 受管节点上配置了一个用户升级方法,以允许您安装 IdM 客户端。
- 如果您的 Ansible 控制节点在 RHEL 8.7 或更早版本上运行,则您必须能够在 Ansible 控制节点上安装软件包。
您已配置了 Ansible 控制节点以满足以下要求:
- 您在使用 Ansible 版本 2.13 或更高版本。
-
您已在 Ansible 控制器上安装了
ansible-freeipa软件包。 - 您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 受管节点是一个具有静态 IP 地址和可正常工作的软件包管理器的 Red Hat Enterprise Linux 8 系统。
流程
以具有
Host Enrollment特权和添加 DNS 记录权限的 IdM 用户的身份SSH到 IdM 主机:ssh admin@server.idm.example.com
$ ssh admin@server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为新客户端生成一个 OTP:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --ip-address=<your_host_ip_address> 选项将主机添加到具有指定 IP 地址的 IdM DNS 中。
退出 IdM 主机:
exit logout Connection to server.idm.example.com closed.
$ exit logout Connection to server.idm.example.com closed.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 ansible 控制器上,更新清单文件,以使其包含随机密码:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 ansible 控制器在运行 RHEL 8.7 或更早版本,请安装
krb5-workstation软件包提供的kinit工具:sudo dnf install krb5-workstation
$ sudo dnf install krb5-workstationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 playbook 来安装客户端:
ansible-playbook -i inventory install-client.yml
$ ansible-playbook -i inventory install-client.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
33.6. Ansible 安装后测试身份管理客户端 复制链接链接已复制到粘贴板!
命令行(CLI)告知您 ansible-playbook 命令成功,但您也可以做自己的测试。
要测试身份管理客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户:
id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
[user@client1 ~]$ id admin
uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
要测试身份验证是否正常工作,请su - 为另一个已存在的 IdM 用户:
su - idm_user Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[user@client1 ~]$ su - idm_user
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[idm_user@client1 ~]$
33.7. 使用 Ansible playbook 卸载 IdM 客户端 复制链接链接已复制到粘贴板!
完成此流程,使用 Ansible playbook 将主机卸载为 IdM 客户端。
先决条件
- IdM 管理员凭证。
- 受管节点是一个具有静态 IP 地址的 Red Hat Enterprise Linux 8 系统。
流程
运行带有卸载客户端指令的 Ansible playbook ,如
uninstall-client.yml:ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/uninstall-client.yml
$ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/uninstall-client.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
卸载客户端只从主机中删除基本的 IdM 配置,但会在主机上保留配置文件,以防您决定重新安装客户端。另外,卸载有以下限制:
- 它不会从 IdM LDAP 服务器中删除客户端主机条目。卸载仅是将主机取消注册。
- 它不会从 IdM 中删除任何位于客户端的服务。
- 它不会从 IdM 服务器中删除客户端的 DNS 条目。
-
它不会删除
/etc/krb5.keytab之外的 keytab 的旧主体。
请注意,卸载会删除 IdM CA 为主机发布的所有证书。
部分 II. 集成 IdM 和 AD 复制链接链接已复制到粘贴板!
第 34 章 在 IdM 和 AD 间安装信任 复制链接链接已复制到粘贴板!
了解更多有关如何在身份管理 IdM 服务器和活动目录(AD)之间创建信任,其中两个服务器都位于同一林中。
在 RHEL 7 中,同步 和信任 是将 RHEL 系统间接集成到活动目录(AD)的两种方法。在 RHEL 8 中,同步已弃用。要集成 IdM 和 AD,请使用信任方法。要从同步迁移到信任,请参阅 在 Linux 域与活动目录域集成的上下文中,将现有环境从同步迁移到信任。
先决条件
- 首先,请阅读 规划身份管理和活动目录之间的跨林信任 文档。
- AD 安装在其中有一个域控制器。
IdM 服务器已安装并运行。
- 详情请参阅 安装身份管理。
- AD 服务器和 IdM 服务器的时钟必须保持同步,因为 Kerberos 在通信中最多需要 5 分钟的延迟。
放置在信任中的每个服务器的唯一 NetBIOS 名称,因为 NetBIOS 名称对于识别 Active Directory 域至关重要。
-
Active Directory 或 IdM 域的 NetBIOS 名称通常是对应的 DNS 域的第一部分。如果 DNS 域是
ad.example.com,则 NetBIOS 名称通常是AD。但这不是必须的。务必要确保 NetBIOS 名称只包括一个词且没有句点。NetBIOS 名称的最大长度为 15 个字符。
-
Active Directory 或 IdM 域的 NetBIOS 名称通常是对应的 DNS 域的第一部分。如果 DNS 域是
IdM 系统必须在内核中启用 IPv6 协议。
- 如果禁用 IPv6,IdM 服务使用的 CLDAP 插件将无法初始化。
34.1. Windows 服务器支持的版本 复制链接链接已复制到粘贴板!
您可以使用以下林和域功能级别与 Active Directory (AD)论坛建立信任关系:
- 林功能级别范围:Windows Server 2012 SAS- SASWindows Server 2016
- 域功能级别范围:Windows Server 2012 SAS-66Windows Server 2016
身份管理 (IdM) 支持与运行以下操作系统的 Active Directory 域控制器建立信任:
- Windows Server 2022(RHEL 8.7 及更新的版本)
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
在 RHEL 8.4 中,身份管理 (IdM) 不支持使用运行 Windows Server 2008 R2 或更早版本的 Active Directory 域控制器建立对 Active Directory 的信任。现在,RHEL IdM 在建立信任关系时需要 SMB 加密,这只在 Windows Server 2012 或更高版本中被支持。
34.2. IdM 和 AD 之间的信任是如何工作的 复制链接链接已复制到粘贴板!
身份管理(IdM)和活动目录(AD)之间的信任建立在跨域 Kerberos 信任之上。这个解决方案使用 Kerberos 功能在不同的身份源间建立信任。因此,所有 AD 用户都可以:
- 登录访问 Linux 系统和资源。
- 使用单点登录(SSO)。
在信任关系中,所有 IdM 对象都在 IdM 中管理,而所有 AD 对象都在 AD 中管理。
在复杂的环境中,单个 IdM 林可以连接到多个 AD 林。这个设置可以为机构的不同功能更好地分离任务。AD 管理员可以专注于用户和与用户相关的策略,而 Linux 管理员对 Linux 基础架构完全控制。在这种情况下,IdM 控制的 Linux 领域类似于 AD 资源域或领域,但其中包含 Linux 系统。
从 AD 的角度来看,身份管理代表一个独立的 AD 域。当在 AD 林根域和 IdM 域之间建立跨林信任时,AD 林域中的用户可以与 IdM 域中的 Linux 机器和服务进行交互。
在信任的环境中,IdM 可让您使用 ID 视图来为 IdM 服务器上的 AD 用户配置 POSIX 属性。
34.3. AD 管理权利 复制链接链接已复制到粘贴板!
当您要在 AD (活动目录)和 IdM (身份管理)之间建立信任时,您必须使用具有合适的 AD 特权的 AD 管理员帐户。
AD 管理员必须属于以下组之一:
- AD 林中的企业管理员组
- AD 林的林根域中的域管理员组
34.4. 确保支持 AD 和 RHEL 中的通用加密类型 复制链接链接已复制到粘贴板!
默认情况下,身份管理建立一个支持 AES-128 和 AES-256 Kerberos 加密类型的跨域信任。另外,默认情况下,SSSD 和 Samba Winbind 支持 AES-128 和 AES-256 Kerberos 加密类型。
从 RHEL 8.3 和 RHEL 9 开始,RC4 加密被弃用,并默认被禁用,因为它被视为不如较新的 AES-128 和 AES-256 加密类型安全。相反,活动目录(AD)用户凭证和 AD 域之间的信任支持 RC4 加密,它们可能不支持所有 AES 加密类型。
如果没有任何常用的加密类型,RHEL 和 AD 域之间的通信可能无法正常工作,或者可能无法对一些 AD 帐户进行身份验证。要解决这种情况,请执行以下部分中概述的配置之一。
如果 IdM 在 FIPS 模式下,由于 AD 只支持使用 RC4 或 AES HMAC-SHA1 加密,IdM-AD 集成无法工作,而 FIPS 模式下的 RHEL 9 默认只允许 AES HMAC-SHA2。如需更多信息,请参阅 AD 域用户无法登录到符合 FIPS 的环境中 KCS 解决方案。
IdM 不支持更严格的 FIPS:OSPP 加密策略,该策略只用于通用标准评估的系统。
34.4.1. 在 AD 中启用 AES 加密(推荐) 复制链接链接已复制到粘贴板!
要确保 AD 林中活动目录(AD)域之间的信任支持强大的 AES 加密类型,请参阅以下 Microsoft 文章 AD DS: 安全:访问信任域中资源时的 Kerberos "Unsupported etype" 错误
34.4.2. 使用 GPO 在 Active Directory 中启用 AES 加密类型 复制链接链接已复制到粘贴板!
使用组策略对象(GPO)在活动目录(AD)中启用 AES 加密类型。RHEL 上的某些功能(如在 IdM 客户端上运行 Samba 服务器)需要这个加密类型。
请注意,RHEL 不再支持弱 DES 和 RC4 加密类型。
先决条件
- 以可编辑组策略的用户身份登录到 AD。
- 组策略管理控制台已安装在计算机上。
流程
- 打开组策略管理控制台。
- 右键单击Default Domain Policy,然后选择 Edit。此时会打开组策略管理编辑器。
- 导航到 计算机配置 → 策略 → Windows 设置 → 安全设置 → 本地策略 → 安全选项。
- 双击 Network security: Configure encryption types allowed for Kerberos 策略。
- 选择AES256_HMAC_SHA1和可选的未来加密类型。
- 点击 OK。
- 关闭组策略管理编辑器。
- 对默认域控制器策略重复上述步骤。
等待 Windows 域控制器(DC)自动应用组策略。或者,如果要在 DC 上手动应用 GPO,请使用具有管理员权限的帐户输入以下命令:
gpupdate /force /target:computer
C:\> gpupdate /force /target:computerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.4.3. 在 RHEL 中启用 RC4 支持 复制链接链接已复制到粘贴板!
在针对 AD 域控制器进行身份验证的每个 RHEL 主机上,完成以下概述的步骤。
流程
除了
DEFAULT加密策略之外,使用update-crypto-policies命令来启用AD-SUPPORT加密子策略。update-crypto-policies --set DEFAULT:AD-SUPPORT Setting system policy to DEFAULT:AD-SUPPORT Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place.
[root@host ~]# update-crypto-policies --set DEFAULT:AD-SUPPORT Setting system policy to DEFAULT:AD-SUPPORT Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启主机。
AD-SUPPORT 加密子策略只在 RHEL 8.3 及更新版本中提供。
-
要在 RHEL 8.2 中启用对 RC4 的支持,请使用
cipher = RC4-128+创建并启用自定义加密模块策略。如需了解更多详细信息,请参阅 使用子策略自定义系统范围的加密策略。 要在 RHEL 8.0 和 RHEL 8.1 中启用对 RC4 的支持,请将
+rc4添加到/etc/crypto-policies/back-ends/krb5.config文件中的permitted_enctypes选项中:[libdefaults] permitted_enctypes = aes256-cts-hmac-sha1-96 aes256-cts-hmac-sha384-192 camellia256-cts-cmac aes128-cts-hmac-sha1-96 aes128-cts-hmac-sha256-128 camellia128-cts-cmac +rc4
[libdefaults] permitted_enctypes = aes256-cts-hmac-sha1-96 aes256-cts-hmac-sha384-192 camellia256-cts-cmac aes128-cts-hmac-sha1-96 aes128-cts-hmac-sha256-128 camellia128-cts-cmac +rc4Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.5. IdM 和 AD 间的通信所需的端口 复制链接链接已复制到粘贴板!
要启用 Active Directory(AD)和身份管理(IdM)环境之间的通信,请在 AD 域控制器和 IdM 服务器的防火墙中开放以下端口:
| 服务 | 端口 | 协议 |
|---|---|---|
| 端点解析端口映射器 | 135 | TCP |
| NetBIOS-DGM | 138 | TCP 和 UDP |
| NetBIOS-SSN | 139 | TCP 和 UDP |
| Microsoft-DS | 445 | TCP 和 UDP |
| Dynamic RPC | 49152-65535 | TCP |
| AD Global Catalog | 3268 | TCP |
| LDAP | 389 | TCP 和 UDP |
在 IdM 服务器中不需要为信任打开 TCP 端口 389,但与 IdM 服务器通信的客户端需要这样端口。
要使 DCE RPC 端点映射程序正常工作,并在 IdM-AD 信任创建过程中被使用,需要 TCP 端口 135。
要打开端口,您可以使用以下方法:
firewalld服务 — 您可以启用特定的端口,或启用包括端口的以下服务:- FreeIPA 信任设置
- LDAP 的 FreeIPA
- Kerberos
- DNS
详情请查看您系统上的
firewall-cmd手册页。
如果您使用 RHEL 8.2 及更早版本,freeipa-trust firewalld 服务包含一个 1024-1300 RPC 端口范围,这是不正确的。在 RHEL 8.2 及更早版本中,除了启用 freeipa-trust firewalld 服务外,您必须手动打开 TCP 端口范围 49152-65535。
这个问题已在 Bug 1850418 - 更新 freeipa-trust.xml 定义以使其包含正确的动态 RPC 范围 中针对 RHEL 8.3 及之后的版本修复了。
RHEL web 控制台,是一个基于
firewalld服务的带有防火墙设置的 UI。
有关通过 Web 控制台配置防火墙的详情,请参阅 使用 Web 控制台在防火墙上启用服务
注意如果您使用 RHEL 8.2 及更早版本,则
FreeIPA Trust Setup服务包含 RPC 端口范围1024-1300,这是不正确的。在 RHEL 8.2 及更早的版本中,除了在 RHEL web 控制台中启用FreeIPA Trust Setup服务外,您必须手动打开 TCP 端口范围49152-65535。这个问题已在 Bug 1850418 - 更新 freeipa-trust.xml 定义以使其包含正确的动态 RPC 范围 中针对 RHEL 8.3 及之后的版本修复了。
| 服务 | 端口 | 协议 |
|---|---|---|
| Kerberos | 88, 464 | TCP 和 UDP |
| LDAP | 389 | TCP |
| DNS | 53 | TCP 和 UDP |
| 服务 | 端口 | 协议 |
|---|---|---|
| Kerberos | 88 | UDP 和 TCP |
如果从密钥分发中心(KDC)发送的数据太大,libkrb5 库将使用 UDP ,并回退到 TCP 协议。Active Directory 将 Privilege Attribute 证书(PAC)附加到 Kerberos 票据上,这会增加大小,需要使用 TCP 协议。为了避免回退和重新发送请求,SSSD 默认对用户身份验证使用 TCP 。如果要在 libkrb5 使用 TCP 之前配置大小,请在 /etc/krb5.conf 文件中设置 udp_preference_limit。详情请查看您系统上的 krb5.conf (5) 手册页。
下图显示了 IdM 客户端发送的通信,以及 IdM 服务器和 AD 域控制器对此的接收和响应。要在防火墙上设置传入和传出端口和协议,请使用 firewalld 服务,该服务已有 FreeIPA 服务的定义。
34.6. 为信任配置 DNS 和域设置 复制链接链接已复制到粘贴板!
在您连接信任中的身份管理(IdM)和活动目录(AD)之前,请确保服务器能互相看到,并能正确解析域名。
要在以下之间配置域名解析:
- 使用集成 DNS 服务器的主 IdM 服务器和证书颁发机构(CA)之间
- AD 域控制器
执行以下任务:
- 在 IdM 服务器上配置 DNS 区域
- 在 AD 服务器上配置条件 DNS 转发
- 验证 DNS 配置的正确性
34.6.1. 唯一的主 DNS 域 复制链接链接已复制到粘贴板!
在 Windows 中,每个域都是一个 Kerberos 域(realm)和一个 DNS 域(domain)。每个由域控制器管理的域都需要拥有自己的专用 DNS 区。当身份管理(IdM)被 Active Directory(AD)信任为林时也是如此。AD 期望 IdM 有自己的 DNS 域。要使信任设置正常工作,DNS 域必须专用于 Linux 环境。
每个系统都必须配置自己的唯一的主 DNS 域。例如:
-
ad.example.com用于 AD,Idm.example.com用于 IdM。 -
example.com用于 AD,idm.example.com用于 IdM -
AD的
ad.example.com和 IdM 的example.com
最方便的管理解决方案是,每个 DNS 域都由集成的 DNS 服务器管理,但也可以使用任何其他符合标准的 DNS 服务器。
- Kerberos realm 名称作为主 DNS 域名的大写版本
-
Kerberos 域名称必须与主 DNS 域名匹配,且所有字母都为大写。例如,如果 AD 的域名是
ad.example.com,而 IdM的域名是idm.example.com,则 Kerberos 领域名称必须是AD.EXAMPLE.COM和IDM.EXAMPLE.COM。 - DNS 记录可从信任中的所有 DNS 域解析
- 所有机器必须解析信任关系所涉及的所有 DNS 域中的 DNS 记录。
- IdM 和 AD DNS 域
- 加入 IdM 的系统可以通过多个 DNS 域进行发布。在与活动目录管理的 DNS 区域不同的 DNS 区域中部署 IdM 客户端。主 IdM DNS 域必须具有正确的 SRV 记录来支持 AD 信任。
在 IdM 和 AD 之间具有信任的一些环境中,您可以在是活动目录 DNS 域的一部分的主机上安装 IdM 客户端。然后,主机可以从基于 Linux 的 IdM 功能中获益。这不是推荐的配置,存在一些限制。如需了解更多详细信息,请参阅在 Active Directory DNS 域中配置 IdM 客户端。
您可以运行以下命令来获取特定于您的系统设置所需的 SRV 记录列表:
ipa dns-update-system-records --dry-run
$ ipa dns-update-system-records --dry-run
生成的列表可以类似如下:
对于同一 IdM 领域一部分的其他 DNS 域,在配置了对 AD 的信任时不需要配置 SRV 记录。原因在于 AD 域控制器不使用 SRV 记录来发现 KDC,而是基于对信任的名称后缀路由信息的 KDC 发现。
34.6.2. 在 IdM Web UI 中配置 DNS 转发区域 复制链接链接已复制到粘贴板!
您可以使用 IdM Web UI 将 DNS 转发区域添加到身份管理(IdM)服务器中。
使用 DNS 转发区域,您可以将对特定区域的 DNS 查询转发到不同的 DNS 服务器。例如,您可以将活动目录(AD)域的 DNS 查询转发到 AD DNS 服务器。
先决条件
- 使用具有管理员权限的用户帐户访问 IdM Web UI。
- 正确配置了 DNS 服务器。
流程
- 使用管理员权限登录到 IdM Web UI。
- 点 Network Services 选项卡。
- 点 DNS 选项卡。
在下拉菜单中,点 DNS Forward Zones。
- 点击 Add 按钮。
- 在 Add DNS forward zone 对话框中,添加一个区名称。
- 在 Zone forwarders 项中点 Add 按钮。
- 在 Zone forwarders 字段中,添加您要为其创建转发区域的服务器的 IP 地址。
点击 Add 按钮。
正向区已添加到 DNS 设置中,您可以在 DNS Forward Zones 设置中进行验证。Web UI 会用以下弹出消息告诉您是否成功:DNS Forward Zone successfully added.
在配置中添加转发区域后,Web UI 可能会显示一条有关 DNSSEC 验证失败的警告。
DNSSEC(域名系统安全扩展)使用数字签名来保护 DNS 数据,使 DNS 免受攻击。在IdM 服务器中默认启用该服务。出现警告的原因是远程 DNS 服务器没有使用 DNSSEC。在远程 DNS 服务器上启用 DNSSEC。
如果您无法在远程服务器上启用 DNSSEC 验证,您可以在 IdM 服务器中禁用 DNSSEC :
选择要编辑的合适的配置文件:
-
对于运行 RHEL 8.0 或 RHEL 8.1 的 IdM 服务器,打开
/etc/named.conf文件。 -
对于运行 RHEL 8.2 或更高版本的 IdM 服务器,打开
/etc/named/ipa-options-ext.conf文件。
-
对于运行 RHEL 8.0 或 RHEL 8.1 的 IdM 服务器,打开
添加以下 DNSSEC 参数:
dnssec-enable no; dnssec-validation no;
dnssec-enable no; dnssec-validation no;Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存并关闭配置文件。
重启 DNS 服务:
systemctl restart named-pkcs11
# systemctl restart named-pkcs11Copy to Clipboard Copied! Toggle word wrap Toggle overflow
请注意,DNSSEC 仅在 IdM 中作为技术预览提供。
验证
将
nslookup命令与远程 DNS 服务器名称一起使用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您正确配置了域转发,则会显示远程 DNS 服务器的 IP 地址。
34.6.3. 在 CLI 中配置 DNS 转发区域 复制链接链接已复制到粘贴板!
您可以使用命令行(CLI)向身份管理(IdM)服务器添加新的 DNS 转发区域。
使用 DNS 转发区域,您可以将对特定区域的 DNS 查询转发到不同的 DNS 服务器。例如,您可以将活动目录(AD)域的 DNS 查询转发到 AD DNS 服务器。
先决条件
- 使用具有管理员权限的用户帐户访问 CLI。
- 正确配置了 DNS 服务器。
流程
为 AD 域创建 DNS 转发区域,并使用
--forwarder选项指定远程 DNS 服务器的 IP 地址:ipa dnsforwardzone-add ad.example.com --forwarder=192.168.122.3 --forward-policy=first
# ipa dnsforwardzone-add ad.example.com --forwarder=192.168.122.3 --forward-policy=firstCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在向配置添加新的转发区域后,您可能会在 /var/log/messages 系统日志中看到有关 DNSSEC 验证失败的警告:
named-pkcs11[2572]: no valid DS resolving 'host.ad.example.com/A/IN': 192.168.100.25#53
named-pkcs11[2572]: no valid DS resolving 'host.ad.example.com/A/IN': 192.168.100.25#53
DNSSEC(域名系统安全扩展)使用数字签名来保护 DNS 数据,使 DNS 免受攻击。在IdM 服务器中默认启用该服务。出现警告的原因是远程 DNS 服务器没有使用 DNSSEC。在远程 DNS 服务器上启用 DNSSEC。
如果您无法在远程服务器上启用 DNSSEC 验证,您可以在 IdM 服务器中禁用 DNSSEC :
选择要编辑的合适的配置文件:
-
对于运行 RHEL 8.0 或 RHEL 8.1 的 IdM 服务器,打开
/etc/named.conf文件。 -
对于运行 RHEL 8.2 或更高版本的 IdM 服务器,打开
/etc/named/ipa-options-ext.conf文件。
-
对于运行 RHEL 8.0 或 RHEL 8.1 的 IdM 服务器,打开
添加以下 DNSSEC 参数:
dnssec-enable no; dnssec-validation no;
dnssec-enable no; dnssec-validation no;Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存并关闭配置文件。
重启 DNS 服务:
systemctl restart named-pkcs11
# systemctl restart named-pkcs11Copy to Clipboard Copied! Toggle word wrap Toggle overflow
请注意,DNSSEC 仅在 IdM 中作为技术预览提供。
验证
将
nslookup命令与远程 DNS 服务器名称一起使用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果正确配置了域转发,
nslookup请求会显示远程 DNS 服务器的 IP 地址。
34.6.4. 在 AD 中配置 DNS 转发 复制链接链接已复制到粘贴板!
按照以下流程,在活动目录(AD)中为身份管理(IdM)服务器设置 DNS 转发。
先决条件
- 已安装 AD 的 Windows Server。
- 在两个服务器中打开 DNS 端口。
流程
- 登录到 Windows 服务器。
- 打开 Server Manager。
- 打开 DNS Manager。
在 Conditional Forwarders 中,使用以下内容添加新的条件正向解析器:
- IdM 服务器 IP 地址
-
完全限定域名,例如
server.idm.example.com
- 保存设置。
34.6.5. 验证 DNS 配置 复制链接链接已复制到粘贴板!
在配置信任前,请验证身份管理(IdM)和 Active Directory(AD)服务器是否可以相互解析。
先决条件
-
您已使用具有
sudo权限的帐户登录。
流程
对通过 UDP 的 Kerberos 和通过 TCP 服务记录的 LDAP 运行 DNS 查询。
dig +short -t SRV _kerberos._udp.idm.example.com. 0 100 88 server.idm.example.com. dig +short -t SRV _ldap._tcp.idm.example.com. 0 100 389 server.idm.example.com.
[admin@server ~]# dig +short -t SRV _kerberos._udp.idm.example.com. 0 100 88 server.idm.example.com. [admin@server ~]# dig +short -t SRV _ldap._tcp.idm.example.com. 0 100 389 server.idm.example.com.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命令返回 IdM 服务器的 SRV 记录。
使用 IdM Kerberos 域名称对 TXT 记录运行 DNS 查询。返回的值应与您在安装 IdM 时指定的 Kerberos 域匹配。
dig +short -t TXT _kerberos.idm.example.com. "IDM.EXAMPLE.COM"
[admin@server ~]# dig +short -t TXT _kerberos.idm.example.com. "IDM.EXAMPLE.COM"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果前面的步骤没有返回所有预期的记录,请使用缺失的记录更新 DNS 配置:
如果您的 IdM 环境使用集成的 DNS 服务器,请输入不带任何选项的
ipa dns-update-system-records命令,来更新您的系统记录:ipa dns-update-system-records
[admin@server ~]$ ipa dns-update-system-recordsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 IdM 环境没有使用集成的 DNS 服务器:
在 IdM 服务器中,将 IdM DNS 记录导出到文件中:
ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate
[admin@server ~]$ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该命令使用相关的 IdM DNS 记录创建一个名为 dns_records_file.nsupdate 的文件。
-
使用
nsupdate工具和dns_records_file.nsupdate文件向 DNS 服务器提交一个 DNS 更新请求。如需更多信息,请参阅 RHEL 7 文档中的 使用 nsupdate 更新外部 DNS 记录。或者,请参阅 DNS 服务器文档来添加 DNS 记录。
验证 IdM 能够通过一个命令来解析 AD 的服务记录,该命令对 Kerberos 和通过 TCP 服务记录的 LDAP 运行 DNS 查询:
dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com. 0 100 88 addc1.ad.example.com. dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com. 0 100 389 addc1.ad.example.com.
[admin@server ~]# dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com. 0 100 88 addc1.ad.example.com. [admin@server ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com. 0 100 389 addc1.ad.example.com.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.7. 在活动目录 DNS 域中配置 IdM 客户端 复制链接链接已复制到粘贴板!
如果您在由活动目录(AD)控制的 DNS 域中有客户端系统,并且需要这些客户端加入 IdM 服务器,以从其 RHEL 功能中受益,则您可以配置用户,来使用 AD DNS 域中的主机名访问客户端。
不建议使用此配置,它有局限性。始终在与 AD 拥有的 DNS 区域不同的 DNS 区域中部署 IdM 客户端,并使用其 IdM 主机名访问 IdM 客户端。
您的 IdM 客户端配置取决于您是否需要使用 Kerberos 单点登录。
34.7.1. 配置没有 Kerberos 单点登录的 IdM 客户端 复制链接链接已复制到粘贴板!
如果 IdM 客户端位于活动目录 DNS 域中,密码身份验证是唯一可供用户访问 IdM 客户端上资源的身份验证方法。按照以下流程配置没有 Kerberos 单点登录的客户端。
流程
使用
--domain=IPA_DNS_Domain选项安装 IdM 客户端,来确保系统安全服务守护进程(SSSD)可以与 IdM 服务器进行通信:[root@idm-client.ad.example.com ~]# ipa-client-install --domain=idm.example.com
[root@idm-client.ad.example.com ~]# ipa-client-install --domain=idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个选项禁用了活动目录 DNS 域的 SRV 记录自动检测。
打开
/etc/krb5.conf配置文件,并在[domain_realm]部分中找到活动目录域的现有映射。.ad.example.com = IDM.EXAMPLE.COM ad.example.com = IDM.EXAMPLE.COM
.ad.example.com = IDM.EXAMPLE.COM ad.example.com = IDM.EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将这两个行替换为将活动目录 DNS 区域中 Linux 客户端的完全限定域名(FQDN)映射到 IdM 域的条目:
idm-client.ad.example.com = IDM.EXAMPLE.COM
idm-client.ad.example.com = IDM.EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过替换默认映射,您可以防止 Kerberos 将其对活动目录域的请求发送到 IdM Kerberos 分发中心(KDC)。相反,Kerberos 使用通过 SRV DNS 记录的自动发现来定位 KDC。
34.7.2. 请求没有单点登录的 SSL 证书 复制链接链接已复制到粘贴板!
在配置了没有 Kerberos 单点登录的 IdM 客户端后,您可以设置基于 SSL 的服务。
基于 SSL 的服务需要带有 dNSName 扩展记录的证书,该扩展记录涵盖所有系统主机名,因为原始(A/AAAA)和 CNAME 记录都必须在证书里。目前,IdM 只对 IdM 数据库中的主机对象颁发证书。
在此设置中没有启用单点登录,IdM 已在其数据库中包含 FQDN 的主机对象。您可以使用 certmonger ,使用 FQDN 来请求一个证书。
先决条件
- 一个没有配置 Kerberos 单点登录的 IdM 客户端。
流程
使用
certmonger来请求使用 FQDN 的证书:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
certmonger 服务使用存储在 /etc/krb5.keytab 文件中的默认主机密钥来验证 IdM 证书颁发机构(CA)。
34.7.3. 配置带有 Kerberos 单点登录的 IdM 客户端 复制链接链接已复制到粘贴板!
如果您需要 Kerberos 单点登录来访问 IdM 客户端上的资源,则该客户端必须在 IdM DNS 域中,如 idm-client.idm.example.com。您必须在指向 IdM 客户端的 A/AAAA 记录的活动目录 DNS 域中创建一个 CNAME 记录 idm-client.ad.example.com 。
对于基于 Kerberos 的应用服务器,MIT Kerberos 支持一种方法,来允许接受应用程序的 keytab 中任何基于主机的主体。
流程
在 IdM 客户端上,通过在
/etc/krb5.conf配置文件的[libdefaults]部分中设置以下选项,来禁用针对 Kerberos 服务器的 Kerberos 主体的严格检查:ignore_acceptor_hostname = true
ignore_acceptor_hostname = trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.7.4. 请求带有单点登录的 SSL 证书 复制链接链接已复制到粘贴板!
在 IdM 客户端上禁用了严格的 Kerberos 主体检查后,您可以设置基于 SSL 的服务。基于 SSL 的服务需要带有 dNSName 扩展记录的证书,该扩展记录涵盖所有系统主机名,因为原始(A/AAAA)和 CNAME 记录都必须在证书里。目前,IdM 只对 IdM 数据库中的主机对象颁发证书。
按照以下流程,在 IdM 中为 ipa-client.example.com 创建主机对象,并确保实际的 IdM 机器的主机对象可以管理此主机。
先决条件
- 您已禁用了对 Kerberos 服务器使用哪个 Kerberos 主体的严格检查。
流程
在 IdM 服务器上创建一个新的主机对象:
[root@idm-server.idm.example.com ~]# ipa host-add idm-client.ad.example.com --force
[root@idm-server.idm.example.com ~]# ipa host-add idm-client.ad.example.com --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--force选项,因为主机名是 CNAME,而不是 A/AAAA 记录。在 IdM 服务器上,允许 IdM DNS 主机名来管理 IdM 数据库中的活动目录主机条目:
[root@idm-server.idm.example.com ~]# ipa host-add-managedby idm-client.ad.example.com \ --hosts=idm-client.idm.example.com[root@idm-server.idm.example.com ~]# ipa host-add-managedby idm-client.ad.example.com \ --hosts=idm-client.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以为您的 IdM 客户端请求一个 SSL 证书,并带有在活动目录 DNS 域中其主机名称的
dNSName扩展记录:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8. 设置信任 复制链接链接已复制到粘贴板!
您可以使用命令行在 IdM 端配置身份管理(IdM)/活动目录(AD)信任。
先决条件
- 正确配置了 DNS。IdM 和 AD 服务器必须能够解析其他名称。详情请参阅为信任配置 DNS 和领域设置。
- 部署了 AD 和 IdM 的支持版本。详情请查看 支持的 Windows Server 版本。
- 您已获得 Kerberos ticket。详情请参阅 使用 kinit 手动登录到 IdM。
34.8.1. 为信任准备 IdM 服务器 复制链接链接已复制到粘贴板!
在与 AD 建立信任前,您必须在 IdM 服务器上使用 ipa-adtrust-install 工具来准备 IdM 域。
在其上运行 ipa-adtrust-install 命令的所有系统都会自动成为 AD 信任控制器。但是,您只能在 IdM 服务器上运行ipa-adtrust-install一次。
先决条件
- IdM 服务器已安装。
- 您有 root 特权来安装软件包和重启 IdM 服务。
流程
安装所需的软件包:
yum install ipa-server-trust-ad samba-client
[root@ipaserver ~]# yum install ipa-server-trust-ad samba-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以 IdM 管理用户身份进行身份验证:
kinit admin
[root@ipaserver ~]# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
ipa-adtrust-install工具:ipa-adtrust-install
[root@ipaserver ~]# ipa-adtrust-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 IdM 安装了集成的 DNS 服务器,则会自动创建 DNS 服务记录。
如果您安装的IdM没有集成 DNS 服务器,
ipa-adtrust-install会打印一个服务记录列表,您必须手动将其添加到DNS后才能继续操作。该脚本会提示您
/etc/samba/smb.conf已存在,并将被重写:WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing Samba configuration. Do you wish to continue? [no]: yes
WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing Samba configuration. Do you wish to continue? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该脚本提示您配置
slapi-nis插件,这是一个兼容性插件,允许旧的 Linux 客户端与受信任的用户一起工作:Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: yes
Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 提示时,输入 IdM 域的 NetBIOS 名称,或者按 Enter 接受推荐的名称:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 系统会提示您运行 SID 生成任务,以便为任何现有用户创建 SID:
Do you want to run the ipa-sidgen task? [no]: yes
Do you want to run the ipa-sidgen task? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这是一个资源密集型任务,因此如果您有大量的用户,您可以在其他时间运行此任务。
可选:默认情况下,对于 Windows Server 2008 及更高版本,动态 RPC 端口范围定义为
49152-65535。如果您需要为您的环境定义不同的动态 RPC 端口范围,请将 Samba 配置为使用不同的端口,并在防火墙设置中开放这些端口。以下示例将端口范围设置为55000-65000。net conf setparm global 'rpc server dynamic port range' 55000-65000 firewall-cmd --add-port=55000-65000/tcp firewall-cmd --runtime-to-permanent
[root@ipaserver ~]# net conf setparm global 'rpc server dynamic port range' 55000-65000 [root@ipaserver ~]# firewall-cmd --add-port=55000-65000/tcp [root@ipaserver ~]# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保正确配置了DNS,如 验证信任的 DNS 配置 中所述。
重要红帽强烈建议您在每次运行完
ipa-adtrust-install后,验证 DNS 配置,如 验证信任的 DNS 配置 中所述,特别是如果 IdM 或 AD 不使用集成的 DNS 服务器。重启
ipa服务:ipactl restart
[root@ipaserver ~]# ipactl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
smbclient工具来验证 Samba 是否会对 IdM 端的 Kerberos 身份验证做出响应:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8.2. 使用命令行设置信任协议 复制链接链接已复制到粘贴板!
您可以使用命令行设置信任协议。身份管理(IdM)服务器允许您配置三种类型的信任协议:
- One-way trust(单向信任) 默认选项。One-way trust 使活动目录(AD)用户和组可以访问 IdM 中的资源,但不允许反向访问。IdM 域信任 AD 林,但 AD 林不信任 IdM 域。
Two-way trust(双向信任)— Two-way trust 可让 AD 用户和组访问 IdM 中的资源。
您必须为像 Microsoft SQL Server 这样的解决方案配置双向信任,该解决方案希望 Kerberos 协议的
S4U2Self和S4U2ProxyMicrosoft 扩展能够跨信任边界工作。RHEL IdM 主机上的应用可能会向 Active Directory 域控制器请求有关 AD 用户的S4U2Self或S4U2Proxy信息,双向信任提供了这一特性。请注意,这个双向信任功能并不允许 IdM 用户登录到 Windows 系统,IdM 中的双向信任并不为用户授予与 AD 中的单向信任解决方案相比的任何额外权利。
-
要创建双向信任,请向命令中添加以下选项:
--two-way=true
-
要创建双向信任,请向命令中添加以下选项:
External trust(外部信任) - IdM 和不同林中的 AD 域之间的信任关系。虽然林信任总是需要在 IdM 和 Active Directory 林的根域之间建立信任,但可以从 IdM 到林中的域建立外部信任只有由于管理或组织方面的原因而无法在林根域之间建立林信任时,才推荐这么做。
-
要创建外部信任,请在命令中添加以下选项:
--external=true
-
要创建外部信任,请在命令中添加以下选项:
以下步骤演示了如何创建单向信任协议。
先决条件
- Windows 管理员的用户名和密码。
- 您已为信任准备了 IdM 服务器。
流程
使用
ipa trust-add命令为 AD 域和 IdM 域创建信任协议:要让 SSSD 根据其 SID 自动为 AD 用户生成 UID 和 GID,请使用
活动目录域ID 范围类型创建一个信任协议。这是最常见的配置。ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust
[root@server ~]# ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您已经为活动目录中的用户配置了 POSIX 属性(如
uidNumber和gidNumber),并且希望 SSSD 处理此信息,请使用带有 POSIX 属性的活动目录域ID range 类型创建信任协议:ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust-posix
[root@server ~]# ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust-posixCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您在创建信任时没有指定 ID range 类型,IdM 会尝试通过在林根域中请求 AD 域控制器的详情来自动选择适当的范围类型。如果 IdM 没有检测到任何 POSIX 属性,则信任安装脚本会选择 活动目录域 ID range。
如果 IdM 在林根域中检测到任何 POSIX 属性,则信任安装脚本会选择 带有 POSIX 属性的活动目录域 ID range,并假定已在 AD 中正确定义了 UID 和 GID。如果没有在 AD 中正确设置了 POSIX 属性,则您将无法解析 AD 用户。
例如,如果需要访问 IdM 系统的用户和组不是林根域的一部分,而是位于林域的子域中,则安装脚本可能不会检测子 AD 域中定义的 POSIX 属性。在这种情况下,在建立信任时明确选择 POSIX ID 范围类型。
34.8.3. 在 IdM Web UI 中设置信任协议 复制链接链接已复制到粘贴板!
您可以使用 IdM Web UI 在 IdM 端配置身份管理(IdM)/活动目录(AD)信任协议。
先决条件
- 正确配置了 DNS。IdM 和 AD 服务器必须能够解析其他名称。
- 部署了 AD 和 IdM 的支持版本。
- 您已获得 Kerberos ticket。
- 在 Web UI 中创建信任前,请为信任准备 IdM 服务器,如 为信任准备 IdM 服务器 中所述。
- 您以 IdM 管理员身份登录。详情请参阅 在 Web 浏览器中访问 IdM Web UI。
流程
- 在 IdM Web UI 中点 IPA Server 标签页。
- 在 IPA Server 选项卡中,点 Trusts 标签页。
在下拉菜单中选择 Trusts 选项。
- 点击 Add 按钮。
- 在 Add Trust 对话框中,输入 Active Directory 域的名称。
在 Account 和 Password 字段中,添加 Active Directory 管理员的管理员凭证。
- 可选:如果要启用 AD 用户和组来访问 IdM 中的资源,请选择 Two-way trust。但是,IdM 中的双向信任并不为用户授予与 AD 中的单向信任解决方案相比的额外权利。由于默认的跨林信任 SID 过滤设置,这两个解决方案被视为同等安全。
- 可选:如果您要配置与不是 AD 林的根域的 AD 域的信任,请选择 External trust。虽然林信任总是需要在 IdM 和活动目录林的根域之间建立信任,但您可以建立从 IDM 到 AD 林中任何一个域的外部信任。
可选:默认情况下,信任安装脚本会尝试检测合适的 ID 范围类型。您还可以通过选择以下选项之一来显式设置 ID range 类型:
-
要使 SSSD 为基于其 SID 的 AD 用户自动生成 UID 和 GID,请选择
活动目录域ID range 类型。这是最常见的配置。 如果您已经为活动目录中的用户配置了 POSIX 属性(如
uidNumber和gidNumber),并且希望 SSSD 处理此信息,请选择带有 POSIX 属性的活动目录域ID range 类型。
警告如果您在默认
Detect选项上保留 Range 类型 设置,IdM 会尝试通过请求林根域中 AD 域控制器的详情来自动选择合适的 range 类型。如果 IdM 没有检测到任何 POSIX 属性,则信任安装脚本会选择活动目录域ID range。如果 IdM 在林根域中检测到任何 POSIX 属性,则信任安装脚本会选择
带有 POSIX 属性的活动目录域ID range,并假定已在 AD 中正确定义了 UID 和 GID。如果没有在 AD 中正确设置了 POSIX 属性,则您将无法解析 AD 用户。例如,如果需要访问 IdM 系统的用户和组不是林根域的一部分,而是位于林域的子域中,则安装脚本可能不会检测子 AD 域中定义的 POSIX 属性。在这种情况下,在建立信任时明确选择 POSIX ID 范围类型。
-
要使 SSSD 为基于其 SID 的 AD 用户自动生成 UID 和 GID,请选择
- 点击 Add。
验证
如果信任成功添加到了 IdM 服务器,您可以在 IdM Web UI 中看到绿色的弹出窗口。这意味着:
- 域名存在
正确添加了 Windows 服务器的用户名和密码。
现在,可以继续测试信任连接和 Kerberos 身份验证。
34.8.4. 使用 Ansible 设置信任协议 复制链接链接已复制到粘贴板!
您可以使用 Ansible playbook 在身份管理(IdM)和活动目录(AD)之间建立一个单向信任协议。您可以配置三种类型的信任协议:
- One-way trust(单向信任) 默认选项。One-way trust 使活动目录(AD)用户和组可以访问 IdM 中的资源,但不允许反向访问。IdM 域信任 AD 林,但 AD 林不信任 IdM 域。
Two-way trust(双向信任)— Two-way trust 可让 AD 用户和组访问 IdM 中的资源。
您必须为像 Microsoft SQL Server 这样的解决方案配置双向信任,该解决方案希望 Kerberos 协议的
S4U2Self和S4U2ProxyMicrosoft 扩展能够跨信任边界工作。RHEL IdM 主机上的应用可能会向 Active Directory 域控制器请求有关 AD 用户的S4U2Self或S4U2Proxy信息,双向信任提供了这一特性。请注意,这个双向信任功能并不允许 IdM 用户登录到 Windows 系统,IdM 中的双向信任并不为用户授予与 AD 中的单向信任解决方案相比的任何额外权利。
-
要创建双向信任,请在 playbook 任务中添加以下变量:
two_way: true
-
要创建双向信任,请在 playbook 任务中添加以下变量:
External trust(外部信任) - IdM 和不同林中的 AD 域之间的信任关系。虽然林信任总是需要在 IdM 和 Active Directory 林的根域之间建立信任,但可以从 IdM 到林中的域建立外部信任只有由于管理或组织方面的原因而无法在林根域之间建立林信任时,才推荐这么做。
-
要创建外部信任,请在 playbook 任务中添加以下变量:
external: true
-
要创建外部信任,请在 playbook 任务中添加以下变量:
先决条件
- Windows 管理员的用户名和密码。
-
IdM
admin密码。 - 您已为信任准备了 IdM 服务器。
-
您可以使用 IdM 的 4.8.7 版本或更高版本。要查看您安装在服务器上的 IdM 版本,请运行
ipa --version。 您已配置了 Ansible 控制节点以满足以下要求:
- 您在使用 Ansible 版本 2.13 或更高版本。
-
您已安装了
ansible-freeipa软件包。 - 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
示例假定 secret.yml Ansible vault 存储了
ipaadmin_password。
-
目标节点(这是执行
ansible-freeipa模块的节点)是 IdM 域的一部分,来作为 IdM 客户端、服务器或副本。
流程
进入您的 ~/MyPlaybooks/ 目录:
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的用例选择以下场景之一:
要创建 ID 映射信任协议,其中 SSSD 会根据其 SID 自动为 AD 用户和组群生成 UID 和 GID,请创建一个带有以下内容的
add-trust.ymlplaybook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在示例中:
-
realm定义 AD 领域名称字符串。 -
admin定义 AD 域管理员字符串。 -
password定义 AD 域管理员密码字符串。
-
要创建 POSIX 信任协议,其中 SSSD 会处理存储在 AD 中的 POSIX 属性,如
uidNumber和gidNumber,请创建一个包含以下内容的add-trust.ymlplaybook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要通过请求林根域中 AD 域控制器的详情来创建信任协议,其中 IdM 试图自动选择适当的范围类型、
ipa-ad-trust或ipa-ad-trust-posix,请创建一个带有以下内容的add-trust.ymlplaybook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
警告如果您在创建信任时没有指定 ID 范围类型,且 IdM 没有在 AD 林根域中检测到任何 POSIX 属性,则信任安装脚本会选择
Active Directory domainID 范围。如果 IdM 在林根域中检测到任何 POSIX 属性,则信任安装脚本会选择
带有 POSIX 属性的活动目录域ID range,并假定已在 AD 中正确定义了 UID 和 GID。但是,如果 POSIX 属性没有在 AD 中正确设置,则您将无法解析 AD 用户。例如,如果需要访问 IdM 系统的用户和组不是林根域的一部分,而是位于林域的子域中,则安装脚本可能不会检测子 AD 域中定义的 POSIX 属性。在这种情况下,在建立信任时明确选择 POSIX ID 范围类型。
- 保存该文件。
运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:
ansible-playbook --vault-password-file=password_file -v -i inventory add-trust.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-trust.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8.5. 验证 Kerberos 配置 复制链接链接已复制到粘贴板!
要验证 Kerberos 配置,请测试是否可以获取身份管理(IdM)用户的单子,以及 IdM 用户是否可以请求服务单。
流程
为 Active Directory(AD)用户请求一个 ticket(票据):
kinit user@AD.EXAMPLE.COM
[root@ipaserver ~]# kinit user@AD.EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 IdM 域中的服务请求 ticket:
kvno -S host server.idm.example.com
[root@server ~]# kvno -S host server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 AD 服务单被成功授予了,则会列出一个跨领域单据授予单(TGT),以及所有其他请求的单子。TGT 命名为 krbtgt/IPA.DOMAIN@AD.DOMAIN。
localauth 插件将 Kerberos 主体映射到本地系统安全服务守护进程(SSSD)用户名。这允许 AD 用户使用 Kerberos 身份验证并访问 Linux 服务,这些服务直接支持 GSSAPI 身份验证。
34.8.6. 验证 IdM 上的信任配置 复制链接链接已复制到粘贴板!
在配置信任前,请验证身份管理(IdM)和 Active Directory(AD)服务器是否可以相互解析。
先决条件
- 您需要使用管理员权限登录。
流程
对通过 UDP 的 MS DC Kerberos 和通过 TCP 服务记录的 LDAP 运行 DNS 查询。
dig +short -t SRV _kerberos._udp.dc._msdcs.idm.example.com. 0 100 88 server.idm.example.com. dig +short -t SRV _ldap._tcp.dc._msdcs.idm.example.com. 0 100 389 server.idm.example.com.
[root@server ~]# dig +short -t SRV _kerberos._udp.dc._msdcs.idm.example.com. 0 100 88 server.idm.example.com. [root@server ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.idm.example.com. 0 100 389 server.idm.example.com.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这些命令列出了在其上执行
ipa-adtrust-install的所有 IdM 服务器。如果ipa-adtrust-install没有在任何 IdM 服务器上执行,则输出为空,这通常是在建立第一个信任关系之前。对 Kerberos 和通过 TCP 服务记录的 LDAP 运行 DNS 查询,来验证 IdM 是否能够为 AD 解析服务记录:
dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com. 0 100 88 addc1.ad.example.com. dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com. 0 100 389 addc1.ad.example.com.
[root@server ~]# dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com. 0 100 88 addc1.ad.example.com. [root@ipaserver ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com. 0 100 389 addc1.ad.example.com.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8.7. 验证 AD 上的信任配置 复制链接链接已复制到粘贴板!
配置信任后,验证:
- 身份管理(IdM)托管的服务可从 Active Directory(AD)服务器解析。
- AD 服务可从 AD 服务器解析。
先决条件
- 您需要使用管理员权限登录。
流程
在 AD 服务器上,设置
nslookup.exe工具来查找服务记录。C:\>nslookup.exe > set type=SRV
C:\>nslookup.exe > set type=SRVCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过 UDP 和 LDAP 通过 TCP 服务记录输入 Kerberos 的域名。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将服务类型改为 TXT,并使用 IdM Kerberos 域名运行对 TXT 记录的 DNS 查询。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对通过 UDP 的 MS DC Kerberos 和通过 TCP 服务记录的 LDAP 运行 DNS 查询。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Active Directory 只希望发现能够响应 AD 特定协议请求的域控制器,如其他 AD 域控制器和 IdM 信任控制器。使用
ipa-adtrust-install工具将 IdM 服务器提升为信任控制器,您可以使用ipa server-role-find --role 'AD trust controller'命令来验证哪些服务器是信任控制器。验证 AD 服务是否可以从 AD 服务器解析。
C:\>nslookup.exe > set type=SRV
C:\>nslookup.exe > set type=SRVCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过 UDP 和 LDAP 通过 TCP 服务记录输入 Kerberos 的域名。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8.8. 创建信任代理 复制链接链接已复制到粘贴板!
信任代理是一个可以对 AD 域控制器执行身份查找的IdM 服务器。
例如,如果您要创建一个与 Active Directory 信任的 IdM 服务器的副本,您可以将副本设置为信任代理。副本不会自动安装 AD 信任代理角色。
先决条件
- 已安装了带有 Active Directory 信任的 IdM 。
-
sssd-tools软件包已安装。
流程
在现有的信任控制器上,运行
ipa-adtrust-install --add-agents命令:ipa-adtrust-install --add-agents
[root@existing_trust_controller]# ipa-adtrust-install --add-agentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该命令启动一个交互式配置会话,并提示您设置代理所需的信息。
重启信任代理上的 IdM 服务。
ipactl restart
[root@new_trust_agent]# ipactl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从信任代理上的 SSSD 缓存中删除所有条目:
sssctl cache-remove
[root@new_trust_agent]# sssctl cache-removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证副本是否安装了 AD 信任代理角色:
ipa server-show new_replica.idm.example.com ... Enabled server roles: CA server, NTP server, AD trust agent
[root@existing_trust_controller]# ipa server-show new_replica.idm.example.com ... Enabled server roles: CA server, NTP server, AD trust agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8.9. 在 CLI 上为 POSIX ID range 启用自动私有组映射 复制链接链接已复制到粘贴板!
默认情况下,如果您已建立了依赖于存储在 AD 中 POSIX 数据的 POSIX 信任,则 SSSD 不会为活动目录(AD)用户映射私有组。如果任何 AD 用户没有配置主组,则 IdM 将无法解析它们。
此流程解释了如何在命令行上为 auto_private_groups SSSD 参数设置 hybrid 选项来为 ID range 启用自动私有组映射。因此,IdM 可以解析在 AD 中没有配置主组的 AD 用户。
先决条件
- 您已成功在 IdM 和 AD 环境之间成功建立了 POSIX 跨林信任。
流程
显示所有 ID range,并记录您要修改的 AD ID range。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
ipa idrange-mod命令调整 AD ID range 的自动私有组行为。ipa idrange-mod --auto-private-groups=hybrid AD.EXAMPLE.COM_id_range
[root@server ~]# ipa idrange-mod --auto-private-groups=hybrid AD.EXAMPLE.COM_id_rangeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重置 SSSD 缓存以启用新的设置。
sss_cache -E
[root@server ~]# sss_cache -ECopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.8.10. 在 IdM WebUI 中为 POSIX ID range 启用自动私有组映射 复制链接链接已复制到粘贴板!
默认情况下,如果您已建立了依赖于存储在 AD 中 POSIX 数据的 POSIX 信任,则 SSSD 不会为活动目录(AD)用户映射私有组。如果任何 AD 用户没有配置主组,则 IdM 将无法解析它们。
此流程解释了如何在身份管理(IdM)WebUI 中为 auto_private_groups SSSD 参数设置hybrid 选项来为 ID range 启用自动私有组映射。因此,IdM 可以解析在 AD 中没有配置主组的 AD 用户。
先决条件
- 您已成功在 IdM 和 AD 环境之间成功建立了 POSIX 跨林信任。
流程
- 使用您的用户名和密码登录到 IdM Web UI。
- 打开 IPA Server → ID Ranges 选项卡。
-
选择要修改的 ID range,如
AD.EXAMPLE.COM_id_range。 从 Auto private groups 下拉菜单中选择
hybrid选项。
- 点击 Save 按钮来保存您的更改。
34.9. 对设置跨林信任进行故障排除 复制链接链接已复制到粘贴板!
了解更多有关对在身份管理(IdM)环境和活动目录(AD)林之间配置跨林信任的过程进行故障排除的信息。
34.9.1. 建立与 AD 的跨林信任时的事件序列 复制链接链接已复制到粘贴板!
当您使用 ipa trust-add 命令建立与活动目录(AD)域控制器(DC)的跨林信任时,命令代表运行命令的用户进行操作,并在 IdM 服务器上执行以下操作。如果在建立跨林信任时遇到问题,您可以使用此列表来帮助缩小并排除您的问题。
第 1 部分:命令验证设置和输入
- 验证 IdM 服务器是否具有 Trust Controller 角色。
-
验证传递给
ipa trust-add命令的选项。 -
验证与可信林根域关联的 ID range。如果您没有将 ID range 类型和属性指定为
ipa trust-add命令的选项,则会从活动目录发现它们。
第 2 部分:命令尝试建立到活动目录域的信任
- 为每个信任方向创建单独的信任对象。在两端(IdM 和 AD)都会创建每个对象。如果您要建立单向信任,只在每一端上创建一个对象。
IdM 服务器使用 Samba 套件为活动目录处理域控制器功能,并在目标 AD PDC 上创建信任对象:
-
IdM 服务器建立了一个到目标 DC 上
IPC$共享的安全连接。从 RHEL 8.4 开始,连接至少需要 Windows Server 2012 及以上版本的 SMB3 协议,以确保会话使用的基于AES 加密的连接足够安全。 -
IdM 服务器使用
LSA QueryTrustedDomainInfoByName调用来查询是否存在可信域对象(TDO)。 如果 TDO 已存在,则使用
LSA DeleteTrustedDomain调用删除它。注意如果用来建立信任的 AD 用户帐户没有林根的全部 Enterprise Admin(EA) 或 Domain Admin(DA) 权限,如 Incoming Forest Trust Builders 组的成员,这个调用会失败。如果旧的 TDO 没有被自动删除,则 AD 管理员必须手动将其从 AD 中删除。
-
IdM 服务器使用
LSA CreateTrustedDomainEx2调用创建一个新的 TDO。TDO 凭证是使用 Samba 提供的密码生成器随机生成的,具有 128 个字符。 然后,使用
LSA SetInformationTrustedDomain调用修改新的 TDO,以确保信任所支持的加密类型被正确设置:-
RC4_HMAC_MD5加密类型被启用,即使由于活动目录的设计方式导致 RC4 密钥没有在使用。 -
AES128_CTS_HMAC_SHA1_96和AES256_CTS_HMAC_SHA1_96加密类型被启用。
-
-
IdM 服务器建立了一个到目标 DC 上
-
对于林信任,请验证是否可通过
LSA SetInformationTrustedDomain调用来到达林中域。 使用
LSA RSetForestTrustInformation调用,添加有关其他林(与 AD 通信时的 IdM,与 IdM 通信时的 AD)的信任拓扑信息。注意此步骤可能会由于以下 3 个原因之一导致冲突:
-
SID 命名空间冲突,报告为
LSA_SID_DISABLED_CONFLICT错误。无法解决此冲突。 -
NetBIOS 命名空间冲突,报告为
LSA_NB_DISABLED_CONFLICT错误。无法解决此冲突。 -
DNS 命名空间与顶级名称(TLN)的冲突,报告为
LSA_TLN_DISABLED_CONFLICT错误。如果 TLN 是因另一个林造成的,则 IdM 服务器可以自动解决它。
要解决 TLN 冲突,IdM 服务器需要执行以下步骤:
- 检索冲突林的林信任信息。
- 将 IdM DNS 命名空间的排除条目添加到 AD 林中。
- 为冲突的林设置林信任信息。
- 重新尝试建立对原始林的信任。
只有通过带有可以更改林信任的 AD 管理员特权的
ipa trust-add命令进行身份验证,IdM 服务器才能解决这些冲突。如果您没有这些特权的访问权限,则原始林的管理员必须手动执行 Windows UI 的 活动目录域和信任 部分中提到的步骤。-
SID 命名空间冲突,报告为
- 如果不存在,为可信域创建 ID 范围。
- 对于林信任,请查询林根的活动目录域控制器以获取有关林拓扑的详细信息。IdM 服务器使用此信息为可信林中的任何其他域创建额外的 ID 范围。
34.9.2. 建立 AD 信任的先决条件清单 复制链接链接已复制到粘贴板!
您可以使用以下清单来查看创建 AD 域信任的先决条件。
| 组件 | 配置 | 其它详情 |
|---|---|---|
| 产品版本 | 您的活动目录域使用受支持的 Windows 服务器版本。 | |
| AD 管理员特权 | 活动目录管理帐户必须是以下组之一的成员:
| |
| 网络 | 所有 IdM 服务器的 Linux 内核中都启用了 IPv6 支持。 | |
| 日期和时间 | 验证两个服务器上的日期和时间设置是否匹配。 | |
| 加密类型 | 以下 AD 帐户有 AES 加密密钥:
如果您最近在 AD 中启用了 AES 加密,请使用以下步骤生成新的 AES 密钥:
| |
| 防火墙 | 您已在 IdM 服务器和 AD 域控制器上为双向通信开放了所有必要的端口。 | |
| DNS |
| |
| Topology | 确保试图与您配置为信任控制器的 IdM 服务器建立信任。 |
34.9.3. 收集尝试建立 AD 信任的调试日志 复制链接链接已复制到粘贴板!
如果您在 IdM 环境和 AD 域间建立信任时遇到问题,请使用以下步骤启用详细的错误记录,以便您可以收集尝试建立信任的日志。您可以查看这些日志来帮助进行故障排除,或者您可以在红帽技术支持问题单中提供这些信息。
先决条件
- 您需要 root 权限来重启 IdM 服务。
流程
要为 IdM 服务器启用调试,请创建具有以下内容的文件
/etc/ipa/server.conf。[global] debug=True
[global] debug=TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
httpd服务以载入调试配置。systemctl restart httpd
[root@trust_controller ~]# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 停止
smb和winbind服务。systemctl stop smb winbind
[root@trust_controller ~]# systemctl stop smb winbindCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为
smb和winbind服务设置调试日志级别。net conf setparm global 'log level' 100
[root@trust_controller ~]# net conf setparm global 'log level' 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为 IdM 框架使用的 Samba 客户端代码启用调试日志记录,请编辑
/usr/share/ipa/smb.conf.empty配置文件使其包含以下内容。[global] log level = 100[global] log level = 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除以前的 Samba 日志。
rm /var/log/samba/log.*
[root@trust_controller ~]# rm /var/log/samba/log.*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
smb和winbind服务。systemctl start smb winbind
[root@trust_controller ~]# systemctl start smb winbindCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在您试图建立启用了详细模式的信任时,请打印时间戳,。
date; ipa -vvv trust-add --type=ad ad.example.com
[root@trust_controller ~]# date; ipa -vvv trust-add --type=ad ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看以下错误日志文件,以了解有关失败请求的信息:
-
/var/log/httpd/error_log -
/var/log/samba/log.*
-
禁用调试。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您无法确定身份验证问题的原因:
收集和归档您最近生成的日志文件。
tar -cvf debugging-trust.tar /var/log/httpd/error_log /var/log/samba/log.*
[root@trust_controller ~]# tar -cvf debugging-trust.tar /var/log/httpd/error_log /var/log/samba/log.*Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建一个红帽技术支持问题单,并提供尝试的时间戳和调试日志。
34.10. 对客户端访问其他林中的服务进行故障排除 复制链接链接已复制到粘贴板!
在身份管理(IdM)和活动目录(AD)环境之间配置信任后,您可能会遇到以下问题:一个域中的客户端无法访问其他域中的服务。使用下面的图对问题进行故障排除。
34.10.1. AD 林根域中的主机请求 IdM 服务器的服务时的信息流 复制链接链接已复制到粘贴板!
下图显示了当活动目录(AD)客户端请求身份验证(IdM)域中服务时的信息流。
如果您访问 AD 客户端的 IdM 服务时遇到问题,您可以使用此信息缩小故障排除范围,并识别问题源。
- AD 客户端联系 AD Kerberos 分发中心(KDC)来在 IdM 域中为服务执行 TGS 请求。
- AD KDC 识别该服务属于可信 IdM 域。
- AD KDC 向客户端发送跨域票据授予票据(TGT),以及对可信 IdM KDC 的引用。
- AD 客户端使用跨域 TGT 向 IdM KDC 请求票据。
- IdM KDC 验证通过跨域 TGT 传输的特权属性证书(MS-PAC)。
- IPA-KDB 插件可能会检查 LDAP 目录,以查看是否允许外部主体获取所请求的服务的票据。
- IPA-KDB 解码 MS-PAC、验证并过滤数据。它会在 LDAP 服务器中执行查找,以检查是否需要使用其它信息(如本地组)来扩大 MS-PAC。
- 然后,IPA-KDB 插件对 PAC 进行编码,为其签名,将其附加到服务票据,并将其发送给 AD 客户端。
- AD 客户端现在可以使用 IdM KDC 发布的服务票据联系 IdM 服务。
34.10.2. AD 子域中的主机请求 IdM 服务器的服务时的信息流 复制链接链接已复制到粘贴板!
下图解释了当子域中的活动目录(AD)主机请求身份管理(IdM)域中的服务时的信息流。在这个场景中,AD 客户端联系子域中的 Kerberos 分发中心(KDC),然后联系 AD 林根中的 KDC,最后联系 IdM KDC 以请求访问 IdM 服务。
如果您在访问 AD 客户端的 IdM 服务时遇到问题,并且您的 AD 客户端属于 AD 林根的子域,那么您可以使用这些信息缩小故障排除的范围,并识别问题源。
- AD 客户端在其自己的域中联系 AD Kerberos Distribution Center(KDC),以执行对 IdM 域中服务的 TGS 请求。
-
子域
child.ad.example.com中的 AD KDC(子域)识别服务属于可信的 IdM 域。 -
子域中的 AD KDC 向客户端发送 AD 林根域
ad.example.com的引用票据。 - AD 客户端联系 AD 林根域中的 KDC ,以获取 IdM 域中的服务。
- 林根域中的 KDC 识别服务属于可信的 IdM 域。
- AD KDC 向客户端发送跨域票据授予票据(TGT),以及对可信 IdM KDC 的引用。
- AD 客户端使用跨域 TGT 向 IdM KDC 请求票据。
- IdM KDC 验证通过跨域 TGT 传输的特权属性证书(MS-PAC)。
- IPA-KDB 插件可能会检查 LDAP 目录,以查看是否允许外部主体获取所请求的服务的票据。
- IPA-KDB 解码 MS-PAC、验证并过滤数据。它会在 LDAP 服务器中执行查找,以检查是否需要使用其它信息(如本地组)来扩大 MS-PAC。
- 然后,IPA-KDB 插件对 PAC 进行编码,为其签名,将其附加到服务票据,并将其发送给 AD 客户端。
- AD 客户端现在可以使用 IdM KDC 发布的服务票据联系 IdM 服务。
34.10.3. IdM 客户端请求 AD 服务器的服务时的信息流 复制链接链接已复制到粘贴板!
下图解释了当您在 IdM 和 AD 之间配置了双向信任时,身份管理(IdM)客户端请求活动目录(AD)域中的服务时的信息流。
如果您访问 IdM 客户端的 AD 服务时遇到问题,您可以使用此信息缩小故障排除的范围,并识别问题源。
默认情况下,IdM 建立到 AD 的单向信任,这意味着无法为 AD 林中的资源发出跨域票据授予票据(TGT)。为了能够请求可信 AD 域中服务的票据,请配置双向信任。
- IdM 客户端为了其要联系的 AD 服务,请求 IdM Kerberos 分发中心(KDC)的票据授予票据。
- IdM KDC 识别服务属于 AD 域,验证域是否已知并可信,以及是否允许客户端请求该域的服务。
- 使用 IdM 目录服务器关于用户主体的信息,IdM KDC 创建一个跨域 TGT,其中包含有关用户主体的特权属性证书(MS-PAC)记录。
- IdM KDC 向 IdM 客户端发回一个跨域 TGT。
- IdM 客户端联系 AD KDC 来请求 AD 服务的票据,显示包含 IdM KDC 提供的 MS-PAC 的跨域 TGT。
- AD 服务器验证和过滤 PAC,并返回 AD 服务的票据。
- IPA 客户端现在可以联系 AD 服务。
34.11. 使用命令行删除信任 复制链接链接已复制到粘贴板!
您可以使用命令行删除 IdM 端上的身份管理(IdM)/活动目录(AD)信任。
先决条件
- 您已作为 IdM 管理员获得了 Kerberos 单。详情请参阅 Web UI 中的登录到 IdM: 使用 Kerberos ticket。
流程
使用
ipa trust-del命令从 IdM 中删除信任配置。ipa trust-del ad_domain_name ------------------------------ Deleted trust "ad_domain_name" ------------------------------
[root@server ~]# ipa trust-del ad_domain_name ------------------------------ Deleted trust "ad_domain_name" ------------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从 Active Directory 配置中删除信任对象。
删除信任配置不会自动删除已为 AD 用户创建的 ID 范围 IdM。这样,如果您再次添加信任,则重新使用现有的 ID 范围。另外,如果 AD 用户已在 IdM 客户端上创建了文件,则其 POSIX ID 会在文件元数据中保留。
要删除与 AD 信任相关的所有信息,请在删除信任配置和信任对象后删除 AD 用户 ID 范围:
ipa idrange-del AD.EXAMPLE.COM_id_range systemctl restart sssd
# ipa idrange-del AD.EXAMPLE.COM_id_range
# systemctl restart sssd
验证
使用
ipa trust-show命令来确认信任已删除。ipa trust-show ad.example.com ipa: ERROR: ad.example.com: trust not found
[root@server ~]# ipa trust-show ad.example.com ipa: ERROR: ad.example.com: trust not foundCopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.12. 使用 IdM Web UI 删除信任 复制链接链接已复制到粘贴板!
您可以使用 IdM Web UI 删除身份管理(IdM)/活动目录(AD)信任。
先决条件
- 您已获得 Kerberos ticket。详情请参阅 Web UI 中的登录到 IdM: 使用 Kerberos ticket。
流程
- 使用管理员权限登录到 IdM Web UI。详情请参阅 在 Web 浏览器中访问 IdM Web UI。
- 在 IdM Web UI 中点 IPA Server 标签页。
- 在 IPA Server 选项卡中,点 Trusts 标签页。
选择您要删除的信任。
- 点击 Delete 按钮。
在 Remove trusts 对话框中点击 Delete。
- 从 Active Directory 配置中删除信任对象。
删除信任配置不会自动删除已为 AD 用户创建的 ID 范围 IdM。这样,如果您再次添加信任,则重新使用现有的 ID 范围。另外,如果 AD 用户已在 IdM 客户端上创建了文件,则其 POSIX ID 会在文件元数据中保留。
要删除与 AD 信任相关的所有信息,请在删除信任配置和信任对象后删除 ID Ranges 选项卡中的 AD 用户 ID 范围。
验证
如果信任被成功删除,Web UI 会显示一个带有以下文字的绿色弹框:
34.13. 使用 Ansible 删除信任 复制链接链接已复制到粘贴板!
您可以使用 Ansible playbook 删除 IdM 端上的身份管理(IdM)/活动目录(AD)信任。
先决条件
- 您已作为 IdM 管理员获得了 Kerberos 单。详情请参阅 Web UI 中的登录到 IdM: 使用 Kerberos ticket。
您已配置了 Ansible 控制节点以满足以下要求:
- 您在使用 Ansible 版本 2.13 或更高版本。
-
您已安装了
ansible-freeipa软件包。 - 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
示例假定 secret.yml Ansible vault 存储了
ipaadmin_password。
-
目标节点(这是执行
ansible-freeipa模块的节点)是 IdM 域的一部分,来作为 IdM 客户端、服务器或副本。
流程
进入您的 ~/MyPlaybooks/ 目录:
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建
del-trust.ymlplaybook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在示例中,
realm定义 AD 领域名称字符串。- 保存该文件。
运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:
ansible-playbook --vault-password-file=password_file -v -i inventory del-trust.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory del-trust.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
删除信任配置不会自动删除已为 AD 用户创建的 ID 范围 IdM。这样,如果您再次添加信任,则重新使用现有的 ID 范围。另外,如果 AD 用户已在 IdM 客户端上创建了文件,则其 POSIX ID 会在文件元数据中保留。
要删除与 AD 信任相关的所有信息,请在删除信任配置和信任对象后删除 AD 用户 ID 范围:
ipa idrange-del AD.EXAMPLE.COM_id_range systemctl restart sssd
# ipa idrange-del AD.EXAMPLE.COM_id_range
# systemctl restart sssd
验证
使用
ipa trust-show命令来确认信任已删除。ipa trust-show ad.example.com ipa: ERROR: ad.example.com: trust not found
[root@server ~]# ipa trust-show ad.example.com ipa: ERROR: ad.example.com: trust not foundCopy to Clipboard Copied! Toggle word wrap Toggle overflow
34.14. 删除对 AD 的信任后删除 ID 范围 复制链接链接已复制到粘贴板!
如果您已删除了 IdM 和活动目录(AD)环境之间的信任,则您可能想要删除与其关联的 ID 范围。
分配给与可信域相关联的 ID 范围的 ID ,可能仍然用于注册到 IdM 的系统上的文件和目录的所有权。
如果您删除了与已删除的 AD 信任对应的 ID 范围,则您将无法解析 AD 用户所拥有的任何文件和目录的所有权。
先决条件
- 您已删除了对 AD 环境的信任。
流程
显示所有当前正在使用的 ID 范围:
ipa idrange-find
[root@server ~]# ipa idrange-findCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
识别与您删除的信任相关联的 ID 范围的名称。ID 范围名称的第一部分是信任的名称,如
AD.EXAMPLE.COM_id_range。 删除范围:
ipa idrange-del AD.EXAMPLE.COM_id_range
[root@server ~]# ipa idrange-del AD.EXAMPLE.COM_id_rangeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 SSSD 服务,来删除对您已删除的 ID 范围的引用。
systemctl restart sssd
[root@server ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow