安装身份管理
大约 182 分钟
安装身份管理
来源:官方文档 原始多页入口:安装身份管理 内容规模:约 161,633 字符,198 个章节标题,420 个命令/代码块,125 条提示框
阅读提要
- 副标题:手动和自动安装 IdM 服务器、副本和客户端
- 摘要:根据您的环境,您可以安装身份管理(IdM)来提供 DNS 和证书颁发机构(CA)服务,或者配置 IdM 以使用现有的 DNS 和 CA 基础设施。您可以手动或使用 Ansible Playbook 安装 IdM 服务器、副本和客户端。另外,您可以使用 Kickstart 文件在系统安装过程中自动将客户端加入到 IdM 域中。
- 主要章节:手动和自动安装 IdM 服务器、副本和客户端;对红帽文档提供反馈;第 1 章 为 IdM 服务器安装准备系统;第 2 章 安装 IdM 服务器:使用集成的 DNS,集成的 CA 作为 root CA;第 3 章 安装 IdM 服务器:具有集成的 DNS,具有外部 CA 作为根CA;第 4 章 安装 IdM 服务器:使用集成的 DNS,没有 CA;第 5 章 安装 IdM 服务器:没有集成的 DNS ,集成的 CA 作为 root CA;第 6 章 安装 IdM 服务器: 在不集成 DNS 的情况下,使用外部 CA 作为 root CA;第 7 章 使用保存在 HSM 上的密钥和证书安装 IdM 部署;第 8 章 安装带有自定义目录服务器和 LDIF 和 INI 文件中的证书颁发机构设置的 IdM 服务器或副本;第 9 章 IdM 服务器安装故障排除;第 10 章 卸载 IdM 服务器或副本
- 推荐阅读顺序:先看“阅读提要”和目录,再按章节查看“关键点/命令/注意”;需要原文细节时点击来源链接。
章节笔记
概览
- 该章节主要为下一级主题的入口。
手动和自动安装 IdM 服务器、副本和客户端
- 要点:摘要
对红帽文档提供反馈
- 要点:我们致力于为您提供高质量的文档,您的反馈将对我们有很大帮助。为帮助我们改进,您可以通过 Red Hat Jira 跟踪系统提交建议或报告错误。
- 要点:流程
- 列表:登录到 Jira 网站。 如果您还没有帐户,请创建一个。
- 列表:单击顶部导航栏中的 Create。
- 列表:在 Summary 字段中输入描述性标题。
- 列表:在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 列表:点窗口底部的 Create。
第 1 章 为 IdM 服务器安装准备系统
- 要点:在部署身份管理(IdM)服务器前,检查并配置必要的要求。验证硬件规格、打开所需的防火墙端口、同步系统时间并检查特定的 DNS 和网络配置先决条件,以确保安装成功。
1.1. 先决条件
- 列表:您需要 root 特权才能在您的主机上安装 IdM 服务器。
1.2. 硬件建议
- 要点:对于性能调整,RAM 是最重要的硬件。请确定您的系统有足够可用 RAM。
- 要点:典型的 RAM 要求是:
- 列表:对于 10,000 个用户和 100 个组:至少 4 GB RAM 和 4 GB 交换(swap)空间
- 列表:对于 100,000 个用户和 50,000 个组:至少 16 GB RAM 和 4 GB swap 空间
- 注意:注意 基本用户条目或带有证书的简单主机条目大约是 5-10 kB 大小。
1.3. IdM 的自定义配置要求
- 要点:您可以在没有自定义服务配置的干净系统上安装默认身份管理(IdM)服务器。在部署过程中,您还可以应用与客户端和外部 Active Directory 环境交互所需的支持的加密类型和通信策略。
- 要点:IdM 服务器安装覆盖了系统文件来部署 IdM 域。IdM 将原始系统文件备份到 /var/lib/ipa/sysrestore/。当在生命周期结束时卸载 IdM 服务器时,会恢复这些文件。
1.3.1. IdM 中的 IPv6 要求
- 要点:IdM 系统必须在内核中启用 IPv6 协议。如果禁用 IPv6,IdM 服务使用的 CLDAP 插件将无法初始化。
- 注意:注意 不必在网络中启用 IPv6。
1.3.2. 支持 IdM 中的加密类型
- 要点:Red Hat Enterprise Linux (RHEL)使用 Kerberos 协议版本 5,它支持加密类型,如高级加密标准(AES)、Camellia 和数据加密标准(DES)。
- 要点:支持的加密类型列表
- 列表:aes256-cts:normal
- 列表:aes256-cts:special (默认)
- 列表:aes128-cts:normal
- 列表:aes128-cts:special (默认)
- 列表:aes128-sha2:normal
- 列表:aes128-sha2:special
1.3.3. 支持 IdM 中系统范围的加密策略
- 要点:IdM 使用 DEFAULT 系统范围的加密策略。此政策为当前威胁模型提供安全设置。它允许 TLS 1.2 和 1.3 协议,以及 IKEv2 和 SSH2 协议。如果 RSA 密钥和 Diffie-Hellman 参数至少是 2048 位,则可以接受它们。此策略不允许 DES、3DES、RC4、DSA、TLS v1.0 和其他较弱的算法。
- 要点:其他资源
- 列表:确保支持 AD 和 RHEL 中的通用加密类型
- 列表:系统范围的加密策略
- 注意:注意 您不能使用 FUTURE 系统范围的加密策略来安装 IdM 服务器。安装 IdM 服务器时,请确保您使用的是 DEFAULT 系统范围的加密策略。
1.3.4. FIPS 合规性
- 要点:您可以在启用了联邦信息处理标准(FIPS)模式的系统上安装新的 IdM 服务器或副本。唯一的例外是启用了 FIPS:OSPP 加密子策略的系统。
- 要点:要使用 FIPS 安装 IdM,首先在主机上启用 FIPS 模式,然后安装 IdM。IdM 安装脚本会检测是否 FIPS 已启用,并配置 IdM ,以只使用与 FIPS 140-3 兼容的加密类型:
- 列表:aes128-sha2:normal
- 列表:aes128-sha2:special
- 列表:aes256-sha2:normal
- 列表:aes256-sha2:special
- 列表:在 FIPS 模式下创建一个新 IdM 领域
- 列表:使用阻止所有密钥材料的过滤器,从非 FIPS 领域执行到新 FIPS 模式领域的数据迁移
- 注意:重要 RADIUS 身份验证不兼容 FIPS。如果您需要 RADIUS 身份验证,不要在启用了 FIPS 模式的服务器中安装 IdM。
1.4. IdM 的时间服务要求
- 要点:为了保持 IdM 服务器、客户端和中央时间源之间的严格同步,您的系统必须满足特定的网络时间协议(NTP)要求。一致的系统时钟可确保稳定的 Kerberos 身份验证,并防止域之间的登录失败。
1.4.1. IdM 如何使用 chronyd 进行同步
- 要点:安装过程将 chronyd 守护进程配置为使 IdM 主机与中央时间源同步。这样可确保跨域的 Kerberos 身份验证。
- 要点:Kerberos 是 IdM 中的底层验证机制,使用时间戳作为其协议的一部分。如果 IdM 客户端的系统时间与密钥发布中心(KDC)的系统时间相差超过 5 分钟,则 Kerberos 身份验证会失败。
- 列表:NTP 的实现
- 列表:使用 Chrony 套件配置 NTP
1.4.2. IdM 安装命令的 NTP 配置选项列表
- 要点:要定义 IdM 安装如何配置 chrony 守护进程,您可以使用网络时间协议(NTP)参数。
- 要点:您可以在任何 IdM 安装命令(ipa-server-install、ipa-replica-install、ipa-client-install)中指定以下选项来在设置过程中配置 chronyd 客户端软件。
- 列表:使用 Chrony 套件配置 NTP
- 表格样本(共 4 行):
- 选项 | 行为
- --ntp-server | 使用它指定一个 NTP 服务器。您可以多次使用它来指定多个服务器。
- --ntp-pool | 使用它指定一个解析为主机名的多个 NTP 服务器池。
- -N,--no-ntp | 不要配置、启动或启用 chronyd。
1.4.3. 确保 IdM 可以引用您的 NTP 时间服务器
- 要点:您可以验证您是否有必要的配置,以使 IdM 能够与您的网络时间协议(NTP)时间服务器同步。
- 要点:先决条件
- 列表:您已在环境中配置了 NTP 时间服务器。在本例中,之前配置的时间服务器的主机名为 ntpserver.example.com。
- 列表:对您环境中的 NTP 服务器执行 DNS 服务(SRV)记录搜索。 [user@server ~]$ dig +short -t SRV _ntp._udp.example.com 0 100 123 ntpserver.example.com.
- 列表:如果之前的 dig 搜索没有返回您的时间服务器,请添加一个指向时间服务器 123 端口的 _ntp._udp SRV 记录。这个过程取决于您的 DNS 解决方案。
- 列表:在您执行搜索 _ntp._udp SRV 记录时,DNS 验证您的时间服务器的 123 端口是否返回一条记录。 [user@server ~]$ dig +short -t SRV _ntp._udp.example.com 0 100 123 ntpserver.example.com.
- 列表:使用 Chrony 套件配置 NTP
- 命令/配置摘录:
[user@server ~]$ dig +short -t SRV _ntp._udp.example.com
0 100 123 ntpserver.example.com.1.5. 满足 IdM 的 DNS 主机名和 DNS 要求
- 要点:验证主机名和 DNS 设置是否满足身份管理(IdM)服务器或副本安装的要求。正确配置可确保 IdM 功能(如 LDAP、Kerberos 和 Active Directory 集成)可以正常工作。
- 要点:流程
- 列表:使用完全限定域名(FQDN),如 server.idm.example.com。
- 列表:为 IdM 服务器或副本设置永久主机名。安装完成后,您无法更改主机名。
- 列表:确保 IdM 域由一个或多个子域和一个顶级域组成,如 example.com 或 company.example.com。不要使用单标签域名,如 .company。
- 列表:使用仅包含数字、字母字符和连字符(-)的有效 DNS 名称。其他字符(如下划线(_))会导致 DNS 失败。
- 列表:仅使用小写字母。不要使用大写字母。
- 列表:名称必须解析为网络 IP 地址,而不是 127.x.x.x 范围内的环回地址。
- 命令/配置摘录:
# hostname
server.idm.example.com- 注意:警告 DNS 记录对于几乎所有 IdM 域功能至关重要。请非常小心,并确保: 对于没有集成 DNS 的安装,请确保有一个经过测试且正常工作的 DNS 服务 对于带有和不集成 DNS 的安装,请确保 DNS 验证返回单个地址和单个主机名
- 注意:注意 如果上一步中的 dig +short server.idm.example.com AAAA 命令没有显示任何 IPv6 地址,查询 AAAA 记录不会输出任何内容。在这种情况下,这是正常的行为,不代表配置不正确。
1.6. IdM 的端口要求
- 要点:身份管理(IdM)使用多个端口与其服务进行通信。部署中的所有 IdM 服务器都必须打开这些端口,并可用于来自所有其他 IdM 服务器的通信,以便 IdM 正常工作。这些端口不能被其他服务使用,或被防火墙阻止。
- 要点:另外,端口 8080 和 8443 在内部被 pki-tomcat 使用,在防火墙中阻止它们以防止被其他服务使用。端口 749 用于 Kerberos 服务器的远程管理,只有在打算使用远程管理时才打开它。
- 注意:注意 IdM 使用端口 80 和 389。这是一种安全做法,因为有以下保护措施: IdM 通常将到达端口 80 的请求重定向到端口 443。端口 80(HTTP)仅用于提供在线证书状态协议(OCSP)响应和证书撤销列表(CRL)。两者均进行数字签名,因此可防止中间人攻击。 端口 389(LDAP)使用 STARTTLS 和通用安全服务 API(GSSAPI)进行加密。
- 表格样本(共 5 行):
- 端口 | 端口 | 协议
- HTTP/HTTPS | 80, 443 | TCP
- LDAP/LDAPS | 389, 636 | TCP
- Kerberos | 88, 464 | TCP 和 UDP
1.7. 打开 IdM 所需的端口
- 要点:打开 IdM 用来与其服务通信的所需端口。配置 firewalld,以确保服务器、副本和客户端可以在网络上互相访问。
- 要点:流程
- 列表:验证 firewalld 服务是否正在运行。 查看 firewalld 当前是否正在运行: # systemctl status firewalld.service 启动 firewalld 并将其配置为在系统引导时自动启动: # systemctl start firewalld.service # systemctl enable firewalld.service
- 列表:查看 firewalld 当前是否正在运行: # systemctl status firewalld.service
- 列表:启动 firewalld 并将其配置为在系统引导时自动启动: # systemctl start firewalld.service # systemctl enable firewalld.service
- 列表:使用 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 --add-service 命令在防火墙中添加 firewalld 服务。例如,要在默认区中打开端口: # firewall-cmd --permanent --add-service={fr…
- 列表:使用 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 --add-service 命令在防火墙中添加 firewalld 服务。例如,要在默认区中打开端口: # firewall-cmd --permanent --add-service={freeipa-4,dns} 有关使用 firewall-cmd 开放系统上端口的详情,请参考 firewall-cmd(1)手册页。
- 命令/配置摘录:
# systemctl status firewalld.service
# systemctl start firewalld.service # systemctl enable firewalld.service- 注意:注意 您还必须为传入和传出流量打开基于网络的防火墙。
1.8. 安装 IdM 服务器所需的软件包
- 要点:下载身份管理(IdM)的软件包,以便为服务器或副本安装准备系统。
- 要点:先决条件
- 列表:您有一个新安装的 RHEL 系统。
- 列表:您已提供所需的软件仓库: 如果您的 RHEL 系统不是在云中运行,您已将您的系统注册到 Red Hat Subscription Manager(RHSM)。详情请查看 订阅中心。您还可以启用 IdM 使用的 BaseOS 和 AppStream 软件仓库: # subscription-manager repos --enable=rhel-10-for-x86_64-baseos-rpms # subscription-manager repos --enable=rhel-10-for-x86_64-appstream-rpms 有关如何使用 RHSM 启用和禁用特定存储库的详情,请参阅 订阅中心。 如果您的 RHEL 系统…
- 列表:如果您的 RHEL 系统不是在云中运行,您已将您的系统注册到 Red Hat Subscription Manager(RHSM)。详情请查看 订阅中心。您还可以启用 IdM 使用的 BaseOS 和 AppStream 软件仓库: # subscription-manager repos --enable=rhel-10-for-x86_64-baseos-rpms # subscription-manager repos --enable=rhel-10-for-x86_64-appstream-rpms 有关如何使用 RHSM 启用和禁用特定存储库的详情,请参阅 订阅中心。
- 列表:如果您的 RHEL 系统在云中运行请跳过注册。所需的软件仓库已通过 Red Hat Update Infrastructure(RHUI)提供。
- 列表:根据您的 IdM 要求选择以下选项之一: 要下载在没有集成 DNS 的情况下安装 IdM 服务器所需的软件包: # dnf install ipa-server 要下载安装带有集成 DNS 的 IdM 服务器所需的软件包: # dnf install ipa-server ipa-server-dns 要下载安装与 Active Directory 具有信任协议的 IdM 服务器所需的软件包: # dnf install ipa-server ipa-server-trust-ad samba-client
- 列表:要下载在没有集成 DNS 的情况下安装 IdM 服务器所需的软件包: # dnf install ipa-server
- 命令/配置摘录:
# subscription-manager repos --enable=rhel-10-for-x86_64-baseos-rpms # subscription-manager repos --enable=rhel-10-for-x86_64-appstream-rpms
# dnf install ipa-server1.9. 为 IdM 安装设置正确的文件模式创建掩码
- 要点:在安装身份管理(IdM)服务器前,将文件模式创建掩码(umask)设置为 0022。这个掩码可确保安装过程创建具有正确权限的文件和目录,以便 IdM 服务正常工作。
- 要点:身份管理(IdM)安装过程要求将 root 帐户的文件模式创建掩码(umask)设为 0022。这允许除了 root 之外的用户可以读取在安装过程中创建的文件。如果设置了不同的 umask,IdM 服务器的安装会显示一个警告。如果继续安装,则服务器的一些功能将无法正常工作。例如,您无法从这个服务器安装 IdM 副本。安装后,您可以将 umask 设回其原始值。
- 列表:您有 root 特权。
- 列表:可选:显示当前的 umask : # umask 0027
- 列表:将 umask 设为 0022 : # umask 0022
- 列表:可选:在 IdM 安装完成后,将 umask 设置回其原始值: # umask 0027
- 命令/配置摘录:
# umask
00271.10. IdM 安装的 fapolicyd 要求
- 要点:如果您在 RHEL 主机上使用 fapolicyd 软件框架来根据用户定义的策略控制应用程序的执行,则身份管理(IdM)服务器的安装会失败。由于安装和操作需要 Java 程序成功完成,因此请确保 Java 和 Java 类不会被任何 fapolicyd 规则阻止。
- 要点:其他资源
- 列表:fapolicy 限制导致 IdM 安装失败
1.11. IdM 安装命令的选项
- 要点:ipa-server-install、ipa-replica-install、ipa-dns-install 和 ipa-ca-install 等命令有许多选项,您可以用来为交互式安装提供额外的信息。您还可以使用这些选项来编写无人值守安装脚本。
- 要点:使用 ipa-server-install、ipa-replica-install、ipa-dns-install 和 ipa-ca-install 工具提供的选项,以提供交互式安装的额外信息。您还可以使用这些选项来编写无人值守安装脚本。
- 表格样本(共 12 行):
- 参数 | 描述
- -d,--debug | 为更详细的输出启用 debug 日志记录。
- -u,--unattended | 启用不提示用户输入的无人值守安装会话。
- --hostname=server.idm.example.com | IdM 服务器机器的完全限定域名。只允许数字、小写字母字符和连字符(-)。
第 2 章 安装 IdM 服务器:使用集成的 DNS,集成的 CA 作为 root CA
- 要点:安装作为根证书颁发机构(CA)的身份管理(IdM)服务器,并管理集成的 DNS 服务。
- 要点:IdM 部署中集成的 DNS 提供以下优点:
- 列表:您可以使用原生 IdM 工具自动执行大多数维护和 DNS 记录管理。例如:在设置过程中自动创建 DNS SRV 记录,之后会自动更新。
- 列表:您可以在安装 IdM 服务器的过程中为稳定的外部互联网连接配置全局转发器。全局转发器对 Active Directory 的信任也很有用。
- 列表:您可以创建一个 DNS 反向区,以防止来自您的域的电子邮件被 IdM 域之外的电子邮件服务器视为垃圾邮件。
- 列表:不要使用 IdM DNS 作为通用 DNS 服务器。不支持某些高级 DNS 功能。
- 注意:注意 ipa-server-install 命令的默认配置是集成的 CA 作为根CA。如果您没有使用 --http-cert-file 和 --dirsrv-cert-file 提供 HTTP 和 LDAP 服务器证书,则 IdM 服务器安装了集成 CA。如果您指定了 --external-ca,则 CA 默认为自签名或外部签名。
2.1. 带有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的交互式安装
- 要点:您可以使用交互式脚本安装带有集成 DNS 的 IdM 服务器,使用交互式脚本来引导您完成安装并提示您系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
- 要点:ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
- 列表:运行 ipa-server-install 工具程序。 # ipa-server-install
- 列表:此脚本提示配置集成的 DNS 服务。输入 yes。 Do you want to configure integrated DNS (BIND)? [no]: yes
- 列表:该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。 要接受默认值,请按 Enter 键。 要提供自定义值,请输入所需的值。 Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]: 警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 列表:要接受默认值,请按 Enter 键。
- 列表:要提供自定义值,请输入所需的值。 Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]: 警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 列表:输入目录服务器超级用户(cn=Directory Manager)以及身份管理(IdM)管理系统用户帐户(admin)的密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码。 Directory Manager password: IPA admin password:
- 命令/配置摘录:
# ipa-server-install
Do you want to configure integrated DNS (BIND)? [no]: yes- 注意:警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 注意:注意 使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
2.2. 带有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的非互动安装
- 要点:您可以通过在单个命令中提供所有配置详情,如 realm 和管理密码,安装带有集成 DNS 的 IdM 服务器以及集成的 CA 作为 root CA。
- 要点:ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
- 列表:使用选项运行 ipa-server-install 程序来提供所有所需信息。非互动安装的最低所需选项是: --realm 提供 Kerberos 领域名 --ds-password 为目录管理器(DM) (目录服务器超级用户)提供密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码 --admin-password 为 admin(身份管理(IdM)管理员)提供密码 --unattended ,让安装进程为主机名和域名选择默认选项 要安装使用集成 DNS 的服务器,还要添加以下选项: --setup-dns 用于配置集成 DNS --forwarder 或 --no-forwarders,取决于您是否…
- 列表:--realm 提供 Kerberos 领域名
- 列表:--ds-password 为目录管理器(DM) (目录服务器超级用户)提供密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码
- 列表:--admin-password 为 admin(身份管理(IdM)管理员)提供密码
- 列表:--unattended ,让安装进程为主机名和域名选择默认选项
- 列表:--setup-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- 注意:重要 每次安装 IdM DNS 服务器后都会重复这个步骤。
2.3. 其他资源
- 列表:IdM 服务器中的 DNS 服务
- 列表:IdM 中的故障转移、负载平衡和高可用性
第 3 章 安装 IdM 服务器:具有集成的 DNS,具有外部 CA 作为根CA
- 要点:安装使用外部证书颁发机构(CA)作为 root 的身份管理(IdM)服务器,并管理集成的 DNS 服务。
- 要点:IdM 部署中集成的 DNS 提供以下优点:
- 列表:您可以使用原生 IdM 工具自动执行大多数维护和 DNS 记录管理。例如:在设置过程中自动创建 DNS SRV 记录,之后会自动更新。
- 列表:您可以在安装 IdM 服务器的过程中为稳定的外部互联网连接配置全局转发器。全局转发器对 Active Directory 的信任也很有用。
- 列表:您可以创建一个 DNS 反向区,以防止来自您的域的电子邮件被 IdM 域之外的电子邮件服务器视为垃圾邮件。
- 列表:IdM DNS 并不意味着用作通用的 DNS 服务器。不支持某些高级 DNS 功能。
3.1. 带有集成 DNS 和外部 CA 作为根 CA 的 IdM 服务器的交互式安装
- 要点:您可以使用交互式脚本安装带有集成 DNS 的 IdM 服务器,并使用交互式脚本来引导您完成安装并提示您系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
- 要点: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 时使用的选项。
- 列表:使用 --external-ca 选项来运行 ipa-server-install 工具。 # ipa-server-install --external-ca 如果您使用 Microsoft 证书服务(MS CS) CA,还使用 --external-ca-type 选项,并可选使用 --external-ca-profile 选项: [root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default 如果您没有使用 MS CS 为 IdM CA 生成签名证书,则…
- 列表:如果您使用 Microsoft 证书服务(MS CS) CA,还使用 --external-ca-type 选项,并可选使用 --external-ca-profile 选项: [root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default
- 列表:如果您没有使用 MS CS 为 IdM CA 生成签名证书,则不需要其他选项: # ipa-server-install --external-ca
- 列表:此脚本提示配置集成的 DNS 服务。输入 yes 或 no。在此过程中,我们安装了带有集成 DNS 的服务器。 Do you want to configure integrated DNS (BIND)? [no]: yes 注意 如果您要安装没有集成 DNS 的服务器,安装脚本将不会提示您进行 DNS 配置,如下面步骤所述。有关安装没有 DNS 的服务器的步骤的详情,请查看 第 5 章 安装 IdM 服务器:没有集成的 DNS ,集成的 CA 作为 root CA。
- 命令/配置摘录:
# ipa-server-install --external-ca
[root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default- 注意:注意 如果您要安装没有集成 DNS 的服务器,安装脚本将不会提示您进行 DNS 配置,如下面步骤所述。有关安装没有 DNS 的服务器的步骤的详情,请查看 第 5 章 安装 IdM 服务器:没有集成的 DNS ,集成的 CA 作为 root CA。
- 注意:警告 仔细规划这些名称。安装完成后您将无法更改它们。
3.2. 故障排除:外部 CA 安装失败
- 要点:当外部 CA 安装失败时,分析安装日志和证书验证报告以确定错误的原因。
- 要点:情况
- 列表:使用以下 shell 脚本取消设置 *_proxy 环境变量: # for i in ftp http https; do unset ${i}_proxy; done
- 列表:运行 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
- 列表:删除失败的身份管理(IdM)服务器的安装: # ipa-server-install --uninstall
- 列表:重新运行 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
# env|grep proxy http_proxy=http://example.com:8080 ftp_proxy=http://example.com:8080 https_proxy=http://example.com:80803.3. 其他资源
- 列表:IdM 服务器中的 DNS 服务
- 列表:IdM 中的故障转移、负载平衡和高可用性
第 4 章 安装 IdM 服务器:使用集成的 DNS,没有 CA
- 要点:安装没有证书颁发机构(CA)的身份管理(IdM)服务器,同时维护集成的 DNS 服务。使用这个配置,您可以将外部管理的证书用于所有 IdM 服务,并从自动服务发现中受益。
- 要点:IdM 部署中集成的 DNS 提供以下优点:
- 列表:您可以使用原生 IdM 工具自动执行大多数维护和 DNS 记录管理。例如:在设置过程中自动创建 DNS SRV 记录,之后会自动更新。
- 列表:您可以在安装 IdM 服务器的过程中为稳定的外部互联网连接配置全局转发器。全局转发器对 Active Directory 的信任也很有用。
- 列表:您可以创建一个 DNS 反向区,以防止来自您的域的电子邮件被 IdM 域之外的电子邮件服务器视为垃圾邮件。
- 列表:IdM DNS 并不意味着用作通用的 DNS 服务器。不支持某些高级 DNS 功能。
4.1. 安装没有 CA 的 IdM 服务器所需的证书
- 要点:安装没有证书颁发机构(CA)的身份管理(IdM)服务器时,请使用这些命令行选项提供外部证书。通过使用描述的命令行选项,您可以将这些证书提供给 ipa-server-install 工具。
- 要点:您可以提供在 --dirsrv-cert-file 和 --http-cert-file 选项中指定的以下格式的文件:
- 列表:--dirsrv-cert-file 用于 LDAP 服务器证书的证书和私钥文件
- 列表:--dirsrv-pin 用于访问 --dirsrv-cert-file中指定的文件中的私钥的密码
- 列表:--http-cert-file 用于 Apache 服务器证书的证书和私钥文件
- 列表:--http-pin,用于访问 --http-cert-file中指定的文件中的私钥的密码
- 列表:--dirsrv-cert-file 和 --http-cert-file用于具有完整 CA 证书链或部分证书链的证书文件
- 列表:Privacy-Enhanced Mail(PEM)编码的证书(RFC 7468)。请注意,身份管理安装程序接受串联的 PEM 编码的对象。
- 注意:重要 您不能使用自签名的第三方服务器证书来安装服务器或副本,因为导入的证书文件必须包含签发 LDAP 和 Apache 服务器证书的 CA 的完整 CA 证书链。
4.2. 带有集成 DNS 和没有 CA 的 IdM 服务器的交互式安装
- 要点:您可以使用交互式脚本安装带有集成 DNS 的 IdM 服务器,使用交互式脚本来逐步安装,并提示您系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
- 要点:ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
- 列表:运行 ipa-server-install 工具,并提供所有所需的证书。例如: [root@server ~]# ipa-server-install \ --http-cert-file /tmp/server.crt \ --http-cert-file /tmp/server.key \ --http-pin secret \ --dirsrv-cert-file /tmp/server.crt \ --dirsrv-cert-file /tmp/server.key \ --dirsrv-pin secret \ --ca-cert-file ca.crt 有关提供的证书的详情,请参阅 安装没有 CA 的 I…
- 列表:此脚本提示配置集成的 DNS 服务。输入 yes 或 no。在此过程中,我们安装了带有集成 DNS 的服务器。 Do you want to configure integrated DNS (BIND)? [no]: yes 注意 如果您要安装没有集成 DNS 的服务器,安装脚本将不会提示您进行 DNS 配置,如下面步骤所述。如需了解安装没有 DNS 的服务器的详情,请参阅 安装 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]: 警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 列表:要接受默认值,请按 Enter 键。
- 列表:要提供自定义值,请输入所需的值。 Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]: 警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 列表:输入目录服务器超级用户(cn=Directory Manager)以及身份管理(IdM)管理系统用户帐户(admin)的密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码。 Directory Manager password: IPA admin password:
- 命令/配置摘录:
[root@server ~]# ipa-server-install \ --http-cert-file /tmp/server.crt \ --http-cert-file /tmp/server.key \ --http-pin secret \ --dirsrv-cert-file /tmp/server.crt \ --dirsrv-cert-file /tmp/server.key \ --dirsrv-pin secret \ --ca-cert-file ca.crt
Do you want to configure integrated DNS (BIND)? [no]: yes- 注意:注意 如果您要安装没有集成 DNS 的服务器,安装脚本将不会提示您进行 DNS 配置,如下面步骤所述。如需了解安装没有 DNS 的服务器的详情,请参阅 安装 IdM 服务器:没有集成的 DNS,带有集成的 CA 作为 root CA。
- 注意:警告 仔细规划这些名称。安装完成后您将无法更改它们。
4.3. 其他资源
- 列表:IdM 服务器中的 DNS 服务
第 5 章 安装 IdM 服务器:没有集成的 DNS ,集成的 CA 作为 root CA
- 要点:安装作为根证书颁发机构(CA)但依赖于外部 DNS 提供商的身份管理(IdM)服务器。
- 要点:其他资源
- 列表:规划您的 DNS 服务和主机名
- 注意:注意 红帽强烈建议在 IdM 部署中为基本用途安装集成 IdM 的 DNS:当 IdM 服务器也管理 DNS 时,DNS 和原生 IdM 工具之间存在紧密集成,从而实现一些 DNS 记录管理的自动化。
5.1. 没有集成的 DNS 和集成的 CA 作为 root CA 的 IdM 服务器的交互式安装
- 要点:您可以使用交互式脚本安装没有集成 DNS 的 IdM 服务器,以及集成的 CA 作为 root CA,使用交互式脚本来引导安装,并提示您系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
- 要点:ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
- 列表:运行 ipa-server-install 工具。 # ipa-server-install
- 列表:此脚本提示配置集成的 DNS 服务。按 Enter 键选择默认的 no 选项。 Do you want to configure integrated DNS (BIND)? [no]:
- 列表:该脚本提示输入一些必需的设置,并在括号中提供推荐的默认值。 要接受默认值,请按 Enter 键。 要提供自定义值,请输入所需的值。 Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]: 警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 列表:要接受默认值,请按 Enter 键。
- 列表:要提供自定义值,请输入所需的值。 Server host name [server.idm.example.com]: Please confirm the domain name [idm.example.com]: Please provide a realm name [IDM.EXAMPLE.COM]: 警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 列表:输入目录服务器超级用户(cn=Directory Manager)和 IdM 管理系统用户帐户(admin)的密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码。 Directory Manager password: IPA admin password:
- 命令/配置摘录:
# ipa-server-install
Do you want to configure integrated DNS (BIND)? [no]:- 注意:警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 注意:重要 在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
5.2. 没有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的非互动安装
- 要点:您可以通过在单个命令中提供所有配置详情,如 realm 和管理密码,安装没有集成 DNS 的身份管理 IdM 服务器,以及集成的 IdM 证书颁发机构(CA)。
- 要点:流程
- 列表:运行带有选项的 ipa-server-install 工具以提供所有必需的信息。非互动安装的最低所需选项是: --realm 提供 Kerberos 领域名 --ds-password 为目录管理器(DM) (目录服务器超级用户)提供密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码 --admin-password 为 admin (IdM 管理员)提供密码 --unattended ,让安装进程为主机名和域名选择默认选项 例如: # ipa-server-install --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-passw…
- 列表:--realm 提供 Kerberos 领域名
- 列表:--ds-password 为目录管理器(DM) (目录服务器超级用户)提供密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码
- 列表:--admin-password 为 admin (IdM 管理员)提供密码
- 列表:--unattended ,让安装进程为主机名和域名选择默认选项
- 列表:安装脚本生成包含 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 ... 重要 在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
- 命令/配置摘录:
# ipa-server-install --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...- 注意:注意 ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
- 注意:重要 在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
5.3. 外部 DNS 系统的 IdM DNS 记录
- 要点:当身份管理(IdM)服务器不包含集成的 DNS 时,您必须将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到您的外部 DNS 系统中。IdM 客户端使用这些记录来定位服务器,并对域进行身份验证。
- 要点: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
_kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos-master._udp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos._tcp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos._udp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos.example.com. 86400 IN TXT "EXAMPLE.COM" _kpasswd._tcp.example.com. 86400 IN SRV 0 100 464 server.example.com. _kpasswd._udp.example.com. 86400 IN SRV 0 100 464 server.example.com. _ldap._tcp.example.com. 86400 IN SRV 0 100 389 server.example.com.- 注意:注意 在将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到 DNS 系统后,请确保 DNS 管理工具没有为 ipa-ca 添加 PTR 记录。DNS 中出现 ipa-ca 的 PTR 记录可能会导致后续的 IdM 副本安装失败。
第 6 章 安装 IdM 服务器: 在不集成 DNS 的情况下,使用外部 CA 作为 root CA
- 要点:安装使用外部证书颁发机构(CA)作为根 CA 的身份管理(IdM)服务器,并依赖于外部 DNS 供应商。
- 要点:其他资源
- 列表:规划您的 DNS 服务和主机名
- 注意:注意 为 IdM 部署中的基本用途安装集成了 IdM 的 DNS。当 IdM 服务器也管理 DNS 时,DNS 和原生 IdM 工具之间有紧密集成,这实现了一些 DNS 记录管理的自动化。
6.1. 安装外部 CA 作为根 CA 的 IdM CA 时使用的选项
- 要点:在使用外部 root CA 安装身份管理(IdM)证书颁发机构(CA)时,请查看命令行选项来生成证书签名请求(CSR)。
- 要点:这个配置在以下情况下适用:
- 列表:您正在使用 ipa-server-install 命令安装新的 IdM 服务器或副本。
- 列表:您正在使用 ipa-ca-install 命令将 CA 组件安装到现有的 IdM 服务器中。
- 列表:<oid>:<majorVersion>[:<minorVersion>]。您可以通过其对象标识符(OID)和主版本来指定证书模板。您还可以选择指定次版本。
- 列表:<name>。您可以根据其名称指定证书模板。名称不能包含任何 : 字符,不能是 OID,否则基于 OID 的模板指定符语法优先。
- 列表:default。如果您使用这个指定符,则会使用模板名称 SubCA。
6.2. 没有集成的 DNS 和外部 CA 作为根 CA 的 IdM 服务器的交互式安装
- 要点:使用外部证书颁发机构安装没有集成 DNS 的身份管理(IdM)服务器,以与现有 DNS 和证书基础架构集成。
- 要点:在使用 ipa-server-install 工具进行交互式安装过程中,您需要提供系统的基本配置,如 realm、管理员的密码和目录管理器的密码。
- 列表:您已确定了要通过 --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 选项: [root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default 如果您没有使用 MS CS 为 IdM CA 生成签名证书,则不需要其他选项: # ipa-server-install --ext…
- 列表:如果您使用 Microsoft 证书服务(MS CS) CA,还使用 --external-ca-type 选项,并可选使用 --external-ca-profile 选项: [root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default
- 列表:如果您没有使用 MS CS 为 IdM CA 生成签名证书,则不需要其他选项: # ipa-server-install --external-ca
- 列表:此脚本提示配置集成的 DNS 服务。按 Enter 键选择默认的 no 选项。 Do you want to configure integrated DNS (BIND)? [no]:
- 命令/配置摘录:
[root@server ~]# ipa-server-install --external-ca --external-ca-type=ms-cs --external-ca-profile=<oid>/<name>/default
# ipa-server-install --external-ca- 注意:警告 仔细规划这些名称。安装完成后您将无法更改它们。
- 注意:重要 确保获取 CA 的完整证书链,而不只是 CA 证书。
6.3. 没有集成的 DNS 和外部 CA 作为根 CA 的 IdM 服务器的非互动安装
- 要点:使用外部证书颁发机构进行自动化部署,以非交互方式安装身份管理(IdM)服务器,而无需集成 DNS。
- 要点:先决条件
- 列表:您已确定了要通过 --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) (目录服务器超级用户)提供密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码 --admin-password 为 admin (IdM 管理员)提供密码 --unattended ,让安装进程为主机名和域名选择默认选项 例如: # ipa-server-install --external-ca --r…
- 列表:--external-ca 用于指定外部 CA 是根CA
- 列表:--realm 提供 Kerberos 领域名
- 列表:--ds-password 为目录管理器(DM) (目录服务器超级用户)提供密码。请注意,管理员负责为 Directory Manager 帐户选择强大的密码
- 命令/配置摘录:
# ipa-server-install --external-ca --realm IDM.EXAMPLE.COM --ds-password DM_password --admin-password admin_password --unattended
... Configuring certificate server (pki-tomcatd). Estimated time: 3 minutes [1/11]: configuring certificate server instance The next step is to get /root/ipa.csr signed by your CA and re-run /usr/sbin/ipa-server-install as: /usr/sbin/ipa-server-install --external-cert-file=/path/to/signed_certificate --external-cert-file=/path/to/external_ca_certificate The ipa-server-install command was successful- 注意:注意 ipa-server-install 安装脚本在 /var/log/ipaserver-install.log 中创建一个日志文件。如果安装失败,日志可帮助您辨别问题。
- 注意:重要 确保获取 CA 的完整证书链,而不只是 CA 证书。
6.4. 外部 DNS 系统的 IdM DNS 记录
- 要点:当身份管理(IdM)服务器不包含集成的 DNS 时,您必须将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到您的外部 DNS 系统中。IdM 客户端使用这些记录来定位服务器,并对域进行身份验证。
- 要点: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
_kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos-master._udp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos._tcp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos._udp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos.example.com. 86400 IN TXT "EXAMPLE.COM" _kpasswd._tcp.example.com. 86400 IN SRV 0 100 464 server.example.com. _kpasswd._udp.example.com. 86400 IN SRV 0 100 464 server.example.com. _ldap._tcp.example.com. 86400 IN SRV 0 100 389 server.example.com.- 注意:注意 在将 IdM 服务器的 LDAP 和 Kerberos DNS 资源记录添加到 DNS 系统后,请确保 DNS 管理工具没有为 ipa-ca 添加 PTR 记录。DNS 中出现 ipa-ca 的 PTR 记录可能会导致后续的 IdM 副本安装失败。
第 7 章 使用保存在 HSM 上的密钥和证书安装 IdM 部署
- 要点:安装身份管理(IdM)部署,该部署将核心密钥和证书存储在硬件安全模块(HSM)上。通过在 HSM 上为您的 IdM 证书颁发机构(CA)和密钥恢复授权(KRA)存储密钥对和证书,您可以在私钥材料中添加物理安全性。
- 要点:HSM 提供了一个强化的、篡改的环境,用于安全加密处理、密钥生成和加密。IdM 依赖于 HSM 的网络功能,来在机器之间共享密钥来创建副本。HSM 提供了额外的安全性,而不会明显影响大多数 IdM 操作。当您使用低级别工具时,系统会以不同的方式处理证书和密钥,但对大多数用户来说是无缝的。
- 注意:重要 注意以下几点: HSM 必须连接到网络。 私钥无法离开设备。 您无法将 HSM 中存储的内容混合。例如,您无法在 HSM 上安装 KRA 私钥,而不在其上安装 CA 私钥。 如果在初始安装时使用 HSM,则所有副本和 KRA 必须也使用相同的 HSM。 您无法将没有在 HSM 上生成密钥的现有安装升级到基于 HSM 的安装。 启用对 CA 的 HSM 支持可确保所有子 CA(轻量级 CA)的密钥也生成并存储在 HSM 中。这将基于 CA 自动继承,并且不能对每个子 CA 进行修改。
7.1. 支持的硬件安全模块
- 要点:使用硬件安全模块(HSM)为身份管理服务器提供专用的加密处理。系统支持特定固件和客户端软件版本,用于 nCipher nShield 和 Thales Luna 等设备,以确保密钥管理的安全。
- 表格样本(共 3 行):
- HSM | 固件 | 设备软件 | 客户端软件
- nCipher nShield Connect XC (High) | nShield_HSM_Firmware-12.72.1 | 12.71.0 | SecWorld_Lin64-12.71.0
- Thales TCT Luna Network HSM Luna-T7 | lunafw_update-7.11.1-4 | 7.11.0-25 | 610-500244-001_LunaClient-7.11.1-5
7.2. 安装带有密钥和证书存储在 HSM 上的集成的 CA 的 IdM 服务器
- 要点:使用 HSM 存储的密钥安装带有集成证书颁发机构(CA)的身份管理(IdM)服务器,以确保硬件支持的加密操作并提高安全性。
- 要点:在安装过程中,您必须提供系统的基本配置,如领域、管理员的密码和目录管理器的密码。
- 列表:根据供应商说明安装和配置受支持的网络 HSM。请参阅支持的 HSM。
- 列表:HSM PKCS #11 库路径 /opt/nfast/toolkits/pkcs11/libcknfast.so。
- 列表:一个可用的插槽、令牌和令牌密码。
- 列表:运行 install 命令,确保您指定了 PKCS #11 库的位置、令牌名称和令牌密码: ipa-server-install -a <password> -p <dmpassword>-r <IDM.EXAMPLE.COM> -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers -–token-name=<HSM-TOKEN> --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so
- 列表:提示时指定令牌密码。
- 列表:运行 certutil 以显示 CA 证书信息: certutil -L -d /etc/pki/pki-tomcat/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI caSigningCert cert-pki-ca CT,C,C ocspSigningCert cert-pki-ca ,, Server-Cert cert-pki-ca u,u,u subsystemCert cert-pki-ca ,, auditSigningCert cert-pki-ca ,,P 请注意,如果证书的 Trust Attributes 下没有列出 u,这表示私…
- 命令/配置摘录:
ipa-server-install -a <password> -p <dmpassword>-r <IDM.EXAMPLE.COM> -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers -–token-name=<HSM-TOKEN> --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so
certutil -L -d /etc/pki/pki-tomcat/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI caSigningCert cert-pki-ca CT,C,C ocspSigningCert cert-pki-ca ,, Server-Cert cert-pki-ca u,u,u subsystemCert cert-pki-ca ,, auditSigningCert cert-pki-ca ,,P7.3. 安装带有密钥和证书存储在 HSM 上的外部 CA 的 IdM 服务器
- 要点:使用外部证书颁发机构(CA)和 HSM 存储密钥安装身份管理(IdM)服务器,以与现有 PKI 基础架构集成,同时确保硬件支持的安全性。
- 要点:在安装过程中,您必须提供系统的基本配置,如领域、管理员的密码和目录管理器的密码。
- 列表:根据供应商说明安装和配置受支持的网络 HSM。请参阅支持的 HSM。
- 列表:HSM PKCS #11 库路径 /opt/nfast/toolkits/pkcs11/libcknfast.so。
- 列表:一个可用的插槽、令牌和令牌密码。
- 列表:如果安装没有集成 IdM CA 的服务器,则必须从第三方认证机构请求以下证书: LDAP 服务器证书 Apache 服务器证书 PKINIT 证书 发布 LDAP 和 Apache 服务器证书的 CA 完整 CA 证书链
- 列表:LDAP 服务器证书
- 列表:Apache 服务器证书
- 命令/配置摘录:
# ipa-server-install --external-ca
... Configuring certificate server (pki-tomcatd): Estimated time 3 minutes 30 seconds [1/8]: creating certificate server user [2/8]: configuring certificate server instance The next step is to get /root/ipa.csr signed by your CA and re-run /sbin/ipa-server-install as: /sbin/ipa-server-install --external-cert-file=/path/to/signed_certificate --external-cert-file=/path/to/external_ca_certificate- 注意:重要 获取 CA 的完整证书链,而不只是 CA 证书。
7.4. 安装密钥和证书存储在 HSM 上的 IdM 副本服务器
- 要点:使用 HSM 存储的密钥和证书安装身份管理(IdM)副本,以增强安全性并确保跨基础架构支持的硬件加密操作。
- 要点:副本安装过程复制现有服务器的配置,并根据该配置安装副本。
- 列表:安装了一个受支持的 HSM,CA 密钥和证书已安装在那个 HSM 上。请参阅 安装一个带有密钥和证书存储在 HSM 上的集成 CA 的 IdM 服务器。
- 列表:一个可用的插槽、令牌和令牌密码。
- 列表:运行 install 命令,确保您指定了令牌名称: # ipa-replica-install --token-name=<HSM-TOKEN> --setup-ca -P admin -w <password> -U
- 列表:提示时指定令牌密码。
- 列表:验证密钥和证书是否已存储在 HSM 上: certutil -L -d /etc/pki/pki-tomcat/alias -h <HSM-TOKEN> Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Enter Password or Pin for "<HSM-TOKEN>": <HSM-TOKEN>:subsystemCert cert-pki-ca u,u,u <HSM-TOKEN>:ocspSigningCert cert-pki-ca u,u,u <HSM-TOKEN>:caSigningCert cert-pki-ca CTu,Cu,Cu <HSM-…
- 列表:安装 IdM 副本
- 命令/配置摘录:
# ipa-replica-install --token-name=<HSM-TOKEN> --setup-ca -P admin -w <password> -U
certutil -L -d /etc/pki/pki-tomcat/alias -h <HSM-TOKEN>7.5. 使用安装一个密钥和证书存储在 HSM 上的 KRA 服务器
- 要点:使用 HSM 存储密钥在身份管理(IdM)服务器上安装密钥恢复授权(KRA),以启用安全密码库功能并保护敏感凭证。
- 要点:先决条件
- 列表:令牌密码。
- 列表:运行 install 命令,确保您指定了令牌名称和令牌密码: # ipa-kra-install -p <password>
- 列表:提示时指定令牌密码。
- 列表:验证密钥和证书是否已存储在 HSM 上: certutil -L -d /etc/pki/pki-tomcat/alias -h <HSM-TOKEN> Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Enter Password or Pin for "<HSM-TOKEN>": <HSM-TOKEN>:subsystemCert cert-pki-ca u,u,u <HSM-TOKEN>:ocspSigningCert cert-pki-ca u,u,u <HSM-TOKEN>:caSigningCert cert-pki-ca CTu,Cu,Cu <HSM-…
- 列表:在 IdM 中安装密钥恢复授权
- 命令/配置摘录:
# ipa-kra-install -p <password>
certutil -L -d /etc/pki/pki-tomcat/alias -h <HSM-TOKEN>7.6. 使用安装一个密钥和证书存储在 HSM 上的 KRA 克隆
- 要点:使用 HSM-stored 密钥在身份管理(IdM)副本上安装密钥恢复授权(KRA)克隆,以启用安全的 vault 服务和分布式密钥恢复。
- 要点:默认情况下,IdM 副本没有 KRA,除非您在 IdM 客户端提升过程中指定了 -setup-kra 选项。
- 列表:令牌密码。
- 列表:KRA 服务器已安装。
- 列表:要安装 KRA 克隆,请在副本中运行以下命令: # ipa-kra-install -p <Secret.123 >
- 列表:提示时指定令牌密码。
- 列表:验证密钥和证书是否已存储在 HSM 上: certutil -L -d /etc/pki/pki-tomcat/alias -h <HSM-TOKEN> Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Enter Password or Pin for "<HSM-TOKEN>": <HSM-TOKEN>:subsystemCert cert-pki-ca u,u,u <HSM-TOKEN>:ocspSigningCert cert-pki-ca u,u,u <HSM-TOKEN>:caSigningCert cert-pki-ca CTu,Cu,Cu <HSM-…
- 列表:在 IdM 中安装密钥恢复授权
- 命令/配置摘录:
# ipa-kra-install -p <Secret.123 >
certutil -L -d /etc/pki/pki-tomcat/alias -h <HSM-TOKEN>第 8 章 安装带有自定义目录服务器和 LDIF 和 INI 文件中的证书颁发机构设置的 IdM 服务器或副本
- 要点:使用 LDIF 和 INI 文件简化大规模身份管理(IdM)部署,以自动执行服务器和副本安装。您可以通过定义自定义目录服务器和证书颁发机构设置来确保环境的一致性并减少手动错误。
- 要点:您可以使用配置文件安装身份管理(IdM)服务器或带有自定义设置的副本:
- 列表:IdM 目录服务器。
- 列表:IdM 证书颁发机构。
8.1. 使用 LDIF 文件中的自定义目录服务器设置安装 IdM 服务器或副本
- 要点:使用目录服务器(DS)的自定义设置安装身份管理(IdM)服务器和副本,以优化性能并满足特定的部署要求。
- 要点:创建具有 IdM DS 设置的 LDAP 数据交换格式(LDIF)文件,并将此文件直接传递给服务器和副本安装命令,以自动应用自定义配置。
- 列表:您已确定了改进 IdM 环境性能的自定义目录服务器设置。请参阅 调整 IdM 目录服务器性能。
- 列表:您有 root 特权。
- 列表:使用自定义 DS 设置创建一个 LDIF 格式的文本文件。使用短划线(-)分隔 LDAP 属性修改。这个示例为空闲超时和最大文件描述符设置了非默认值。 dn: cn=config changetype: modify replace: nsslapd-idletimeout nsslapd-idletimeout: 1800 - replace: nsslapd-maxdescriptors nsslapd-maxdescriptors: 8192
- 列表:使用 --dirsrv-config-file 参数将 LDIF 文件传给安装脚本。 要安装 IdM 服务器: # ipa-server-install --dirsrv-config-file <filename.ldif> 要安装 IdM 副本: # ipa-replica-install --dirsrv-config-file <filename.ldif>
- 列表:要安装 IdM 服务器: # ipa-server-install --dirsrv-config-file <filename.ldif>
- 列表:要安装 IdM 副本: # ipa-replica-install --dirsrv-config-file <filename.ldif>
- 命令/配置摘录:
dn: cn=config changetype: modify replace: nsslapd-idletimeout nsslapd-idletimeout: 1800 - replace: nsslapd-maxdescriptors nsslapd-maxdescriptors: 8192
# ipa-server-install --dirsrv-config-file <filename.ldif>8.2. 安装一个带有 INI 文件中的自定义证书颁发机构设置的 IdM 服务器或副本
- 要点:使用 IdM 证书颁发机构(CA)和密钥恢复授权(KRA)的自定义设置来安装身份管理(IdM)服务器和副本,以满足特定的安全或操作要求。
- 要点:以下流程描述了如何创建包含 CA 覆盖的 INI 文件,以及如何将其传递给 IdM 服务器和副本安装命令.modules/identity-management/installing-an-idm-server-or-replica-with-custom-directory-server-settings-from-an-ldif-file.adoc
- 列表:您有 root 特权。
- 列表:创建一个带有自定义 CA 设置的 INI 格式的文本文件。将每个参数写在新行上。这个示例将 CA 签名密钥大小设置为 4096 位。 [CA] pki_ca_signing_key_size=4096
- 列表:使用 --pki-config-override 参数,将 INI 文件传递给安装脚本。 要安装 IdM 服务器: # ipa-server-install --pki-config-override <pkiconfig.ini> 要安装 IdM 副本: # ipa-replica-install --pki-config-override <pkiconfig.ini>
- 列表:要安装 IdM 服务器: # ipa-server-install --pki-config-override <pkiconfig.ini>
- 列表:要安装 IdM 副本: # ipa-replica-install --pki-config-override <pkiconfig.ini>
- 列表:IdM 安装命令的选项
- 命令/配置摘录:
[CA] pki_ca_signing_key_size=4096
# ipa-server-install --pki-config-override <pkiconfig.ini>第 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
- 列表:您必须具有 root 特权才能显示 IdM 日志文件中的内容。
- 列表:使用 tail 命令来显示日志文件的最后几行。以下示例显示了 /var/log/ipaserver-install.log 的最后 10 行。 [user@server ~]$ sudo tail -n 10 /var/log/ipaserver-install.log [sudo] password for user: value = gen.send(prev_value) File "/usr/lib/python3.6/site-packages/ipapython/install/common.py", line 65, in _install for unused in self._installer(self.par…
- 命令/配置摘录:
[user@server ~]$ sudo tail -n 10 /var/log/ipaserver-install.log [sudo] password for user: value = gen.send(prev_value) File "/usr/lib/python3.6/site-packages/ipapython/install/common.py", line 65, in _install for unused in self._installer(self.parent): File "/usr/lib/python3.6/site-packages/ipaserver/install/server/init.py", line 564, in main master_install(self) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/install.py", line 291, in decorated raise ScriptError() 2020-05-27T22:59:41Z DEBUG The ipa-server-install command failed, exception: ScriptError: 2020-05-27T22:59:41Z ERROR The ipa-server-install command failed. See /va…
[user@server ~]$ sudo less -N +G /var/log/ipaserver-install.log9.2. 第一个 IdM CA 服务器上的 CA 安装错误日志文件
- 要点:查看第一个身份管理 CA 服务器上的证书颁发机构(CA)安装故障的调试信息,以诊断和解决部署问题。
- 要点:其他资源
- 列表:查看第一个 IdM CA 服务器上的 CA 安装错误
- 注意:注意 如果在安装可选 CA 组件时整个 IdM 服务器安装失败,则不会记录有关 CA 的详情;会在 /var/log/ipaserver-install.log 文件中记录一条信息,表示整个安装过程失败。查看上面列出的日志文件,以了解 CA 安装失败的具体详情。 唯一例外是您要安装 CA 服务,root CA 是外部 CA。如果来自外部 CA 的证书出现问题,则会在 /var/log/ipaserver-install.log 中记录错误。
- 表格样本(共 6 行):
- 位置 | 描述
- /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log | pkispawn 安装进程的高级别问题和 Python 跟踪
- journalctl -u pki-tomcatd@pki-tomcat 输出 | pki-tomcatd@pki-tomcat 服务中的错误
- /var/log/pki/pki-tomcat/ca/debug.$DATE.log | 公钥基础设施(PKI)产品核心中的大型 JAVA 堆栈跟踪活动
9.3. 查看第一个 IdM CA 服务器上的 CA 安装错误
- 要点:查看 第一个 IdM CA 服务器上的身份管理 CA 安装错误日志文件,以识别并排除证书颁发机构部署失败。
- 要点:先决条件
- 列表:您必须具有 root 特权才能显示 IdM 日志文件中的内容。
- 列表:要以交互方式查看日志文件,请使用 less 工具打开日志文件的末尾,并在搜索 ScriptError 条目时使用 kbd:[] 箭头键导航。以下示例将打开 /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log。 [user@server ~]$ sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.log
- 列表:通过使用以上列出的所有日志文件重复此查看过程来收集额外的故障排除信息。
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
[user@server ~]$ sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.log9.4. 删除部分 IdM 服务器安装
- 要点:在安装后删除部分身份管理(IdM)服务器配置,以启用成功的服务器部署。
- 要点:额外尝试安装 IdM 服务器失败,安装脚本会报告 IdM 已配置:
- 列表:您必须有 root 权限。
- 列表:从您要配置为 IdM 服务器的主机中卸载 IdM 服务器软件。 [root@server ~]# ipa-server-install --uninstall
- 列表:如果您因为重复安装失败而无法安装 IdM 服务器,请重新安装操作系统。 安装 IdM 服务器的要求之一是使用一个没有自定义的“干净”系统。失败的安装可能会因为意外修改系统文件而破坏主机的完整性。
- 列表:卸载 IdM 服务器
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
[root@server ~]# ipa-server-install The log file for this installation can be found in /var/log/ipaserver-install.log IPA server is already configured on this system. If you want to reinstall the IdM server, please uninstall it first using 'ipa-server-install --uninstall'. The ipa-server-install command failed. See /var/log/ipaserver-install.log for more information
[root@server ~]# ipa-server-install --uninstall9.5. 其它资源
- 列表:IdM 副本安装故障排除
- 列表:IdM 客户端安装故障排除
- 列表:备份和恢复 IdM
第 10 章 卸载 IdM 服务器或副本
- 要点:从拓扑卸载身份管理(IdM)服务器或副本,同时确保关键服务在其他服务器上仍然可用。
- 要点:对于初始 IdM 服务器和任何副本,卸载过程都相同。此流程中的术语"server"是指任何 IdM 服务器,无论是安装的第一个服务器还是副本。
- 列表:您有 root 访问权限到您要卸载的服务器(本例中为 server123)。
- 列表:您有 IdM 管理员的凭证。
- 列表:如果您的 IdM 环境使用集成 DNS,请确保 server123 不是唯一 启用的 DNS 服务器: [root@server123 ~]# ipa server-role-find --role 'DNS server' ---------------------- 2 server roles matched ---------------------- Server name: server456.idm.example.com Role name: DNS server Role status: enabled [...] ---------------------------- Number of entries…
- 列表:如果您的 IdM 环境使用集成证书颁发机构(CA): 确保 server123 不是唯一 启用的 CA 服务器: [root@server123 ~]# ipa server-role-find --role 'CA server' ---------------------- 2 server roles matched ---------------------- Server name: server123.idm.example.com Role name: CA server Role status: enabled Server name: server.idm.example.com Role name: …
- 列表:确保 server123 不是唯一 启用的 CA 服务器: [root@server123 ~]# ipa server-role-find --role 'CA server' ---------------------- 2 server roles matched ---------------------- Server name: server123.idm.example.com Role name: CA server Role status: enabled Server name: server.idm.example.com Role name: CA server Role status: ena…
- 列表:如果您在 IdM 环境中已经启用了 vault,请确保 server123.idm.example.com 不是唯一 启用的 密钥恢复机构(KRA)服务器: [root@server123 ~]# ipa server-role-find --role 'KRA server' ---------------------- 2 server roles matched ---------------------- Server name: server123.idm.example.com Role name: KRA server Role status: enabled Server name: server.idm.…
- 命令/配置摘录:
[root@server123 ~]# ipa server-role-find --role 'DNS server'
---------------------- 2 server roles matched ---------------------- Server name: server456.idm.example.com Role name: DNS server Role status: enabled [...] ---------------------------- Number of entries returned 2 ----------------------------- 注意:注意 如果您的密钥和证书存储在硬件安全模块(HSM)上,则它们不能作为卸载的一部分被删除。您应该参考 HSM 附带的文档,以了解有关如何清除或重置 HSM,以确保从 HSM 中删除公钥和私钥。
- 注意:重要 如果删除 server123 会导致断开连接的拓扑,则脚本会发出警告。有关如何在剩余的副本之间创建复制协议,以便删除可以继续的信息,请参阅 使用 CLI 在两个服务器之间设置复制。
第 11 章 重命名 IdM 服务器
- 要点:您不能修改现有身份管理(IdM)服务器的主机名。但是,您可以将现有的 IdM 服务器替换为新副本,以更改服务器的主机名和 IP 地址。
- 要点:流程
- 列表:安装将替换现有服务器的新副本,确保副本具有所需的主机名和 IP 地址。详情请参阅 安装 IdM 副本。 重要 如果您要卸载的服务器是证书撤销列表(CRL)发布者服务器,请在继续操作前,将另一台服务器作为 CRL 发布者服务器。
- 列表:停止现有的 IdM 服务器实例。 [root@old_server ~]# ipactl stop
- 列表:卸载现有服务器,如 卸载 IdM 服务器 中所述。
- 命令/配置摘录:
[root@old_server ~]# ipactl stop- 注意:重要 如果您要卸载的服务器是证书撤销列表(CRL)发布者服务器,请在继续操作前,将另一台服务器作为 CRL 发布者服务器。
第 12 章 更新 IdM 软件包
- 要点:使用 DNF 更新身份管理(IdM)软件包,以应用安全补丁、错误修复和新功能。
- 要点:先决条件
- 列表:确保您已应用了所有以前发布的与 RHEL 系统相关的勘误表。如需更多信息,请参阅 如何将软件包更新应用到我的 RHEL 系统中?KCS 文章。
- 列表:您必须从紧挨着目标版本的 IdM for RHEL 次要版本升级。例如,要升级到 RHEL 10.1 的 IdM,您必须运行 RHEL 10.0 的 IdM。不支持跳过次要版本,可能会导致问题。 另外,如果您使用 RHEL 延长更新支持 (EUS) 订阅,您必须升级到下一个 EUS 版本。例如,如果您在 RHEL 10.0 EUS 上运行 IdM,则可以升级到的下一个支持版本是 RHEL 10.2 EUS。要查找下一个支持的版本,请查看 Red Hat Enterprise Linux 生命周期页。
- 列表:选择以下选项之一: 更新整个系统(推荐)。如果您的系统启用了第三方存储库,请首先禁用它们以避免外部软件包的潜在冲突。 有关如何识别和禁用软件仓库的说明,请参阅使用 Red Hat Subscription Management 启用或禁用存储库。 禁用任何第三方软件仓库后,更新系统: # dnf update 或者,您只能更新与 IdM 相关的软件包。 重要 这个方法只更新 IdM 软件包。因此,您可能会错过其他重要的 RHEL 更新,包括安全补丁和程序错误修复。 将所有 IdM 软件包升级到最新可用版本: # dnf upgrade ipa-* 389-ds-* 将 IdM 软件包同步到任何已启用的仓库中提供的最新版本: # d…
- 列表:更新整个系统(推荐)。如果您的系统启用了第三方存储库,请首先禁用它们以避免外部软件包的潜在冲突。 有关如何识别和禁用软件仓库的说明,请参阅使用 Red Hat Subscription Management 启用或禁用存储库。 禁用任何第三方软件仓库后,更新系统: # dnf update
- 列表:禁用任何第三方软件仓库后,更新系统: # dnf update
- 列表:或者,您只能更新与 IdM 相关的软件包。 重要 这个方法只更新 IdM 软件包。因此,您可能会错过其他重要的 RHEL 更新,包括安全补丁和程序错误修复。 将所有 IdM 软件包升级到最新可用版本: # dnf upgrade ipa-* 389-ds-* 将 IdM 软件包同步到任何已启用的仓库中提供的最新版本: # dnf distro-sync ipa-* 389-ds-* 在至少一个服务器中更新 IdM 软件包后,拓扑中的所有其他服务器都会接收更新的模式,即使您没有更新它们的软件包。这将确保任何使用新模式的新条目都可以在其他服务器之间复制。
- 命令/配置摘录:
# dnf update
# dnf upgrade ipa-* 389-ds-*- 注意:重要 红帽不支持恢复到较早版本的 IdM 软件包。
- 注意:重要 这个方法只更新 IdM 软件包。因此,您可能会错过其他重要的 RHEL 更新,包括安全补丁和程序错误修复。
第 13 章 为 IdM 客户端安装准备系统
- 要点:验证身份管理(IdM)客户端安装的系统要求,以确保成功注册并防止配置问题。
13.1. 安装 IdM 客户端支持的 RHEL 版本
- 要点:在 RHEL 10 上运行服务器时,识别身份管理(IdM)支持的 Red Hat Enterprise Linux 客户端版本。
- 要点:在 RHEL 10 的最新次版本中运行 IdM 服务器的 IdM 部署支持在最新的次版本上运行的客户端:
- 列表:RHEL 7
- 列表:RHEL 8
- 列表:RHEL 9
- 列表:RHEL 10
- 注意:注意 虽然其他客户端系统(如 Ubuntu)可以与 IdM 10 服务器一起工作,但红帽不为这些客户端提供支持。
13.2. IdM 客户端的 DNS 要求
- 要点:身份管理(IdM)客户端依赖特定的 DNS 配置来定位和验证域。您可以通过客户端提供对准确的 SRV 记录和一致的名称解析来确保无缝服务发现和域集成。
- 要点:默认情况下,客户端安装程序会尝试为其主机名的父域搜索 _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 要求
13.3. IdM 客户端的端口要求
- 要点:在身份管理(IdM)客户端上打开传出网络端口,以启用与 IdM 服务器服务的通信。
- 要点:在 IdM 客户端中,这些端口必须在出站方向被打开。如果您使用的防火墙不过滤传出数据包,如 firewalld,这些端口已在传出方向中可用。
- 列表:IdM 的端口要求
13.4. 将身份管理客户端限制为 IPv4
- 要点:如果您的网络环境不支持 IPv6,请将身份管理(IdM)客户端配置为仅在 IPv4 进行通信。您可以通过限制系统安全服务守护进程(SSSD)使用 IPv4 协议来确保服务发现一致并避免超时问题。
- 要点:IdM 不需要在您要注册到 IdM 的主机的内核中启用 IPv6 协议。
- 列表:将 lookup_family_order 参数添加到 /etc/sssd/sssd.conf 文件的 [domain/NAME] 部分: lookup_family_order = ipv4_only
- 列表:重启 SSSD 服务以应用更改: # systemctl restart sssd
- 命令/配置摘录:
lookup_family_order = ipv4_only
# systemctl restart sssd13.5. 安装 IdM 客户端所需的软件包
- 要点:安装必要的软件包,以便为身份管理(IdM)注册准备客户端系统。ipa-client 软件包会自动将其他所需的软件包安装为依赖项,如系统安全服务守护进程(SSSD)软件包。
- 要点:流程
- 列表:安装 ipa-client 软件包: # dnf install ipa-client
- 命令/配置摘录:
# dnf install ipa-client第 14 章 安装 IdM 客户端
- 要点:将系统注册到身份管理(IdM)作为客户端,以集中身份验证和访问控制。使用 ipa-client-install 工具配置客户端系统,以启用与 IdM 域服务的集成。
14.1. 先决条件
- 要点:其他资源
- 列表:您已为 IdM 客户端安装准备好了系统。
- 列表:为 IdM 客户端安装准备系统
14.2. 使用用户凭证安装客户端: 交互式安装
- 要点:使用授权用户的凭证以交互方式安装身份管理(IdM)客户端,以安全地将系统注册到域中。
- 要点:先决条件
- 列表:确定您有用户授权将客户端注册到 IdM 域的凭证。例如,这可以是具有注册管理员角色的 hostadmin 用户。
- 列表:在您要配置为 IdM 客户端的系统上运行 ipa-client-install 工具,添加与您的用例对应的选项: 添加 --mkhomedir 选项配置 PAM ,来创建用户主目录(如果其不存在)。 在以下情况之一,请考虑添加 -enable-dns-updates 选项,来使用客户端系统的 IP 地址更新 DNS 记录: 您的客户端具有使用动态主机配置协议发布的动态 IP 地址。 您的客户端有一个静态 IP 地址,但是刚刚分配的,IdM 服务器不知道它。 重要 只有在您的 DNS 服务器接受使用 GSS-TSIG 协议的 DNS 条目更新时,才使用 --enable-dns-updates 选项。如果您的客户端将注册到带有集成 …
- 列表:添加 --mkhomedir 选项配置 PAM ,来创建用户主目录(如果其不存在)。
- 列表:在以下情况之一,请考虑添加 -enable-dns-updates 选项,来使用客户端系统的 IP 地址更新 DNS 记录: 您的客户端具有使用动态主机配置协议发布的动态 IP 地址。 您的客户端有一个静态 IP 地址,但是刚刚分配的,IdM 服务器不知道它。 重要 只有在您的 DNS 服务器接受使用 GSS-TSIG 协议的 DNS 条目更新时,才使用 --enable-dns-updates 选项。如果您的客户端将注册到带有集成 DNS 的 IdM 服务器,则满足此条件。
- 列表:您的客户端具有使用动态主机配置协议发布的动态 IP 地址。
- 列表:您的客户端有一个静态 IP 地址,但是刚刚分配的,IdM 服务器不知道它。 重要 只有在您的 DNS 服务器接受使用 GSS-TSIG 协议的 DNS 条目更新时,才使用 --enable-dns-updates 选项。如果您的客户端将注册到带有集成 DNS 的 IdM 服务器,则满足此条件。
- 命令/配置摘录:
# ipa-client-install --mkhomedir --enable-dns-updates
Client hostname: client.example.com Realm: EXAMPLE.COM DNS Domain: example.com IPA Server: server.example.com BaseDN: dc=example,dc=com Continue to configure the system with these values? [no]: yes- 注意:重要 完全限定域名必须是有效的 DNS 名称: 仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。不允许使用大写字母。
14.3. 使用一次性密码安装客户端:交互式安装
- 要点:使用一次性密码安全地注册系统,而无需提供管理员凭证,以以交互方式安装身份管理(IdM)客户端。
- 要点:先决条件
- 列表:在域中的服务器上,将未来的客户端系统添加为 IdM 主机。在 ipa host-add 命令中使用 --random 选项,来为注册生成一次性随机密码。 注意 ipa host-add & lt;idm_client_fqdn > 命令要求客户端 FQDN 可通过 DNS 解析。如果无法解析,请使用 --ip address 选项或其它选项提供 IdM 客户端系统的 IP 地址,并使用 --force 选项。 $ ipa host-add <idm_client_fqdn> --random -------------------------------------------------- Added host "clien…
- 列表:在您要配置为 IdM 客户端的系统上运行 ipa-client-install 工具,添加与您的用例对应的选项: 使用 --password 选项提供一次性随机密码。由于密码通常包含特殊字符,因此用单引号(')括起来。 # ipa-client-install --mkhomedir --password=<password> 在以下情况之一,请考虑添加 -enable-dns-updates 选项,来使用客户端系统的 IP 地址更新 DNS 记录: 您的客户端具有使用动态主机配置协议发布的动态 IP 地址。 您的客户端有一个静态 IP 地址,但是刚刚分配的,IdM 服务器不知道它。 重要 只有在您的 DNS 服务器接受使用 GS…
- 列表:使用 --password 选项提供一次性随机密码。由于密码通常包含特殊字符,因此用单引号(')括起来。 # ipa-client-install --mkhomedir --password=<password>
- 列表:在以下情况之一,请考虑添加 -enable-dns-updates 选项,来使用客户端系统的 IP 地址更新 DNS 记录: 您的客户端具有使用动态主机配置协议发布的动态 IP 地址。 您的客户端有一个静态 IP 地址,但是刚刚分配的,IdM 服务器不知道它。
- 列表:您的客户端具有使用动态主机配置协议发布的动态 IP 地址。
- 列表:您的客户端有一个静态 IP 地址,但是刚刚分配的,IdM 服务器不知道它。
- 命令/配置摘录:
$ ipa host-add <idm_client_fqdn> --random
-------------------------------------------------- Added host "client.example.com" -------------------------------------------------- Host name: client.example.com Random password: W5YpARl=7M.n Password: True Keytab: False Managed by: server.example.com- 注意:注意 ipa host-add & lt;idm_client_fqdn > 命令要求客户端 FQDN 可通过 DNS 解析。如果无法解析,请使用 --ip address 选项或其它选项提供 IdM 客户端系统的 IP 地址,并使用 --force 选项。
- 注意:注意 当使用生成的密码将机器注册到 IdM 域后,生成的密码将变为无效。注册完成后,它将被一个正确的主机 keytab 替换。
14.4. 非交互式身份管理客户端安装的选项
- 要点:查看非交互式身份管理(IdM)客户端安装选项,以便在多个系统中自动执行部署。
- 要点:可用的选项有:
- 列表:--principal 和 --password 指定有权注册客户端的用户凭证
- 列表:--random 指定为客户端生成的一次性随机密码
- 列表:--keytab 指定之前注册的 keytab
- 列表:--hostname,为客户端机器指定静态完全限定域名(FQDN)。 重要 FQDN 必须是一个有效的 DNS 名称: 只允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。不允许使用大写字母。
- 列表:--domain 指定现有 IdM 部署的主 DNS 域,如 example.com。该名称是 IdM Kerberos 域名的小写版本。
- 列表:--server 指定要连接的 IdM 服务器的 FQDN。使用此选项时,会禁用 Kerberos 的 DNS 自动发现,并配置 KDC 和 Admin 服务器的固定列表。在正常情况下,不需要这个选项,因为服务器列表是从主 IdM DNS 域检索的。
- 命令/配置摘录:
# ipa-client-install --password 'W5YpARl=7M.n' --mkhomedir --unattended
# ipa-client-install --password 'W5YpARl=7M.n' --domain <domain_name> --server <server_hostname> --realm <realm-name> --mkhomedir --unattended- 注意:重要 FQDN 必须是一个有效的 DNS 名称: 只允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。不允许使用大写字母。
14.5. 安装客户端后删除前 IdM 配置
- 要点:安装身份管理(IdM)客户端后,删除预先存在的 LDAP 和系统安全服务守护进程(SSSD)配置。您可以解决配置冲突,并通过手动更新安装脚本修改的文件来确保主机只使用 IdM 设置。
- 要点:ipa-client-install 脚本会在 /etc/openldap/ldap.conf 和 /etc/sssd/sssd.conf 文件中保留现有的 LDAP 和 SSSD 设置。
- 列表:打开 /etc/openldap/ldap.conf 和 /etc/sssd/sssd.conf 以应用新的 IdM 配置值。
- 列表:删除前面的配置。
- 列表:取消对新 IdM 配置的注释。
- 列表:依赖于系统范围的 LDAP 配置的服务器进程可能需要重启来应用更改。使用 openldap 库的应用程序通常会在启动时导入配置。
- 命令/配置摘录:
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 IPA14.6. 测试 IdM 客户端
- 要点:通过测试用户信息解析和身份验证来验证身份管理(IdM)客户端功能,以确保正确部署。
- 要点:流程
- 列表:要测试身份管理(IdM)客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户: [user@client ~]$ id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
- 列表:要测试身份验证是否正常工作,请从一个非 root 用户 su 到 root 用户: [user@client ~]$ su - Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0 [root@client ~]#
- 命令/配置摘录:
[user@client ~]$ id admin
uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)14.7. 在 IdM 客户端安装过程中执行的连接
- 要点:安装身份管理(IdM)客户端使用各种网络操作和协议。了解这些连接可确保正确的网络配置,并帮助您排除连接问题。
- 表格样本(共 6 行):
- 操作 | 使用的协议 | 目的
- 针对客户端系统中配置的 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 证书链;根据需要请求证书验证
14.8. IdM 客户端在安装后部署过程中与服务器的通信
- 要点:在您的系统上安装身份管理(IdM)后,IdM 客户端工具和 Web UI 执行各种操作。了解这些操作可帮助您确保正确连接并排除通信问题。
- 要点:IdM 框架的客户端通过两个不同的应用程序实现:
- 列表:ipa 命令行界面(CLI)
- 列表:(可选)基于浏览器的 Web UI .CLI 安装后操作
- 列表:SSSD 通信模式
- 列表:certmonger 通讯特征
- 表格样本(共 4 行):
- 操作 | 使用的协议 | 目的
- 针对客户端系统中配置的 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 | 任何 ipa 工具用法
14.9. SSSD 通信模式
- 要点:查看系统安全服务守护进程(SSSD)与身份管理(IdM)服务器的通信模式。您可以确保身份查找安全,优化身份验证性能,并验证防火墙规则是否支持必要的 Kerberos、LDAP 和 DNS 流量。
- 要点:如果您在 IdM 客户端上配置 SSSD,它会连接到 IdM 服务器,该服务器提供身份验证、授权和其他身份和策略信息。如果 IdM 服务器与 Active Directory(AD)是信任关系,SSSD 也会连接到 AD,使用 Kerberos 协议为 AD 用户执行身份验证。默认情况下,SSSD 使用 Kerberos 验证任何非本地用户。特殊情况下,SSSD 可能会被配置为使用 LDAP 协议。
- 列表:IdM 客户端在安装后部署过程中与服务器的通信
- 表格样本(共 5 行):
- 操作 | 使用的协议 | 目的
- 针对客户端系统中配置的 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 中的其他信息
14.10. certmonger 通讯特征
- 要点:为确保及时的 SSL 证书续订,Certmonger 守护进程在身份管理(IdM)服务器和客户端上执行各种网络操作。
- 要点:certmonger 在 IdM 服务器和 IdM 客户端上运行,以允许及时续订与主机上的服务关联的 SSL 证书。
- 列表:IdM 客户端在安装后部署过程中与服务器的通信
- 表格样本(共 6 行):
- 操作 | 使用的协议 | 目的
- 针对客户端系统中配置的 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 | 请求新证书
第 15 章 使用 Kickstart 安装 IdM 客户端
- 要点:在 RHEL 安装过程中自动化身份管理客户端注册,以减少手动配置。这个过程在新系统中创建一致的域设置,并简化了大规模部署。
15.1. 使用 Kickstart 安装 IdM 客户端
- 要点:通过使用 Kickstart 文件在系统安装过程中自动注册,并减少手动配置,安装身份管理(IdM)客户端。
- 要点:先决条件
- 列表:不要在 Kickstart 注册前启动 sshd 服务。在注册客户端前启动 sshd 会自动生成 SSH 密钥,但 Kickstart 注册过程将脚本用于同一目的,这是首选的解决方案。
- 列表:在 IdM 服务器上预先创建主机条目并为该条目设置一次性密码: $ ipa host-add <idm_client_fqdn> --password=<password> Kickstart 使用密码在客户端安装过程中进行验证,并在第一次验证尝试后过期。成功安装客户端后,它会使用它的 keytab 进行验证。
- 列表:使用所需组件创建 Kickstart 文件: 将 ipa-client 软件包添加到 Kickstart 文件的 %packages 部分: %packages ... ipa-client ... 使用所需的安装后说明添加 %post 部分: 注册前生成 SSH 密钥的说明。 运行 ipa-client-install 工具的说明。 例如:使用一次性密码的 Kickstart 安装后说明,以及从命令行而不是通过 DNS 检索所需的选项,如下所示: %post --log=/root/ks-post.log # Generate SSH keys; ipa-client-install uploads them to the Id…
- 列表:将 ipa-client 软件包添加到 Kickstart 文件的 %packages 部分: %packages ... ipa-client ...
- 列表:使用所需的安装后说明添加 %post 部分: 注册前生成 SSH 密钥的说明。 运行 ipa-client-install 工具的说明。 例如:使用一次性密码的 Kickstart 安装后说明,以及从命令行而不是通过 DNS 检索所需的选项,如下所示: %post --log=/root/ks-post.log # Generate SSH keys; ipa-client-install uploads them to the IdM server by default /usr/libexec/openssh/sshd-keygen rsa # Run the client install script /usr/sbin/i…
- 列表:注册前生成 SSH 密钥的说明。
- 命令/配置摘录:
$ ipa host-add <idm_client_fqdn> --password=<password>
%packages ... ipa-client ...15.2. 基于 Kickstart 的客户端安装
- 要点:基于 Kickstart 的客户端安装支持系统自动注册到身份管理(IdM)域,消除了手动安装的手动配置,并确保多个系统的一致性域集成。
- 要点:ipa-client 软件包提供域注册所需的工具和工具,包括 ipa-client-install 命令行工具。
- 列表:确保 SSH 密钥在注册之前生成的说明。Kickstart 脚本生成 SSH 密钥,而不依赖于 sshd 服务自动生成它们。
- 列表:运行 ipa-client-install 工具的指令,同时指定: 访问和配置 IdM 域服务所需的所有信息。 在 IdM 服务器上预创建客户端主机时设置的密码。
- 列表:访问和配置 IdM 域服务所需的所有信息。
- 列表:在 IdM 服务器上预创建客户端主机时设置的密码。
- 列表:对于非交互式安装,将 --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-clien…
- 命令/配置摘录:
# env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null getcert list # env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null ipa-client-install第 16 章 IdM 客户端安装故障排除
- 要点:诊断并解决身份管理(IdM)客户端安装失败,以确保域成功注册。收集诊断信息,并对常见安装问题应用解决方案。
16.1. 检查 IdM 客户端安装错误
- 要点:查看身份管理(IdM)客户端安装日志文件,以识别和故障排除部署失败。
- 要点:如果客户端安装失败,安装程序会记录失败并回滚更改以撤销对主机的任何修改。安装失败的原因可能不是在日志文件的末尾,因为安装程序也会记录回滚过程。
- 列表:您必须具有 root 特权才能显示 IdM 日志文件中的内容。
- 列表:使用 grep 工具从 /var/log/ipaserver-install.log 文件中检索任何出现关键字 ScriptError 的信息。 [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.
- 列表:要以交互方式查看日志文件,请使用 less 工具打开日志文件的末尾,然后使用↑ 和 ↓ 箭头键来导航。 [user@server ~]$ sudo less -N +G /var/log/ipaclient-install.log
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
[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.16.2. 解决客户端安装无法更新 DNS 记录时的问题
- 要点:启用动态 DNS 更新并打开所需的防火墙端口,以解决身份管理(IdM)客户端 DNS 记录创建失败。
- 要点:IdM 客户端安装程序会使用 nsupdate 命令来创建 PTR、SSHFP 和其他 DNS 记录。但是,如果客户端在安装和配置了客户端软件后无法更新 DNS 记录,则安装过程会失败。
- 列表:您使用 IdM DNS 作为 IdM 环境的 DNS 解决方案
- 列表:确保客户端所在的 DNS 区的动态更新已被启用: [user@server ~]$ ipa dnszone-mod idm.example.com. --dynamic-update=TRUE
- 列表:确保运行 DNS 服务的 IdM 服务器对 TCP 和 UDP 协议开放了端口 53。 [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 success
- 列表:使用 grep 工具从 /var/log/client-install.log 中检索 nsupdate 命令的内容,以查看哪个 DNS 记录更新失败。 [user@server ~]$ sudo grep nsupdate /var/log/ipaclient-install.log
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
[user@server ~]$ ipa dnszone-mod idm.example.com. --dynamic-update=TRUE
[user@server ~]$ sudo firewall-cmd --permanent --add-port=53/tcp --add-port=53/udp16.3. 解决客户端安装无法加入 IdM Kerberos 域时的问题
- 要点:删除损坏的 Kerberos keytab,以便在加入 Kerberos 域时解决身份管理(IdM)客户端安装失败。
- 要点:这个失败可能是由空 Kerberos keytab 造成的。
- 列表:删除系统文件需要 root 特权。
- 列表:删除 /etc/krb5.keytab。 [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 directory
- 列表:重试 IdM 客户端安装。
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
Joining realm failed: Failed to add key to the keytab child exited with 11 Installation failed. Rolling back changes.
[user@client ~]$ sudo rm /etc/krb5.keytab16.4. 解决客户端安装无法配置自动挂载的问题
- 要点:安装后为身份管理(IdM)客户端配置自动挂载位置,以启用网络文件系统的自动挂载。
- 要点:在成功安装 后运行 /usr/sbin/ipa-client-automount <raleigh >,以正确配置客户端的自动挂载位置。
- 列表:除了配置自动挂载位置外,IdM 客户端安装一切正常。CLI 输出为: The ipa-client-install command was successful.
- 列表:配置自动挂载位置: /usr/sbin/ipa-client-automount -U --location <raleigh>
- 命令/配置摘录:
The ipa-client-install command was successful.
/usr/sbin/ipa-client-automount -U --location <raleigh>16.5. 其他资源
- 列表:IdM 服务器安装故障排除
- 列表:IdM 副本安装故障排除
第 17 章 重新注册 IdM 客户端
- 要点:在硬件故障或系统丢失后恢复身份管理(IdM)客户端连接。您可以使用现有的 keytabs 为其原始主机名重新注册客户端。
17.1. IdM 中的客户端重新注册
- 要点:在硬件故障或连接丢失后重新注册身份管理(IdM)客户端,以恢复域连接,同时保留原始主机名和 LDAP 身份。
- 要点:在重新注册过程中,客户端会生成一个新的 Kerberos 密钥和 SSH 密钥,但 LDAP 数据库中客户端的身份保持不变。重新注册后,在机器与 IdM 服务器失去连接之前,主机像以前一样,其密钥和其他信息放在具有相同 FQDN 的同一 LDAP 对象中。
- 列表:撤销原始主机证书
- 列表:创建新 SSH 密钥
- 列表:生成一个新的 keytab
- 列表:重命名 IdM 客户端系统
- 注意:重要 您只能重新注册域条目仍然活跃的客户端。如果您卸载了客户端(使用 ipa-client-install --uninstall)或者禁用了其主机条目(使用 ipa host-disable),则无法重新注册它。
17.2. 使用用户凭证以交互方式重新注册客户端
- 要点:使用授权用户凭证以互动方式重新注册身份管理(IdM)客户端,以便在系统重新安装后恢复客户端功能。
- 要点:流程
- 列表:重新创建具有相同主机名的客户端机器。
- 列表:在客户端机器上运行 ipa-client-install --force-join 命令: # ipa-client-install --force-join
- 列表:该脚本提示其身份用于重新注册客户端的用户。例如,这可能是具有注册管理员角色的 hostadmin 用户: User authorized to enroll computers: hostadmin Password for hostadmin@EXAMPLE.COM:
- 列表:使用用户凭证安装客户端: 交互式安装
- 命令/配置摘录:
# ipa-client-install --force-join
User authorized to enroll computers: hostadmin Password for hostadmin@EXAMPLE.COM:17.3. 使用客户端 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 注意 在 --keytab 选项中指定的 keytab 仅在进行身份验证启动重新注册时使用。在重新注册过程中,IdM 为客户端生成一个新的 keytab。
- 命令/配置摘录:
# ipa-client-install --keytab /tmp/krb5.keytab- 注意:重要 不要将 keytab 放在 /etc/krb5.keytab 文件中,因为在执行 ipa-client-install 安装脚本过程中,已从这个位置删除了旧密钥。
- 注意:注意 在 --keytab 选项中指定的 keytab 仅在进行身份验证启动重新注册时使用。在重新注册过程中,IdM 为客户端生成一个新的 keytab。
17.4. 测试 IdM 客户端
- 要点:通过测试用户信息解析和身份验证来验证身份管理(IdM)客户端功能,以确保正确部署。
- 要点:流程
- 列表:要测试身份管理(IdM)客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户: [user@client ~]$ id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
- 列表:要测试身份验证是否正常工作,请从一个非 root 用户 su 到 root 用户: [user@client ~]$ su - Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0 [root@client ~]#
- 命令/配置摘录:
[user@client ~]$ id admin
uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)第 18 章 卸载 IdM 客户端
- 要点:从域中删除身份管理(IdM)客户端,以清理已停用的系统。
18.1. 卸载 IdM 客户端
- 要点:卸载客户端会从身份管理(IdM)域中移除客户端,以及系统服务的所有特定的 IdM 配置,如系统安全服务守护进程(SSSD)。这会恢复客户端系统的以前的配置。
- 要点:流程
- 列表:输入 ipa-client-install --uninstall 命令: [root@client ~]# ipa-client-install --uninstall
- 列表:可选:检查您是否能为 IdM 用户获得 Kerberos 单据授予单(TGT): [root@client ~]# kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials [root@client ~]# 如果 Kerberos TGT 票据成功返回,请遵循 卸载 IdM 客户端:多次安装后的其他步骤 中的其他卸载步骤。
- 列表:在客户端上,从每个已识别的 keytab ,而不是 /etc/krb5.keytab 中删除旧的 Kerberos 主体: [root@client ~]# ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.COM
- 列表:在 IdM 服务器中,从 IdM 中删除客户端主机的所有 DNS 条目: [root@server ~]# ipa dnsrecord-del Record name: old-client-name Zone name: idm.example.com No option to delete specific record provided. Delete all? Yes/No (default No): true ------------------------ Deleted record "old-client-name"
- 列表:在 IdM 服务器中,从 IdM LDAP 服务器中删除客户端主机条目。这会删除所有服务并撤销为该主机发布的所有证书: [root@server ~]# ipa host-del client.idm.example.com 重要 如果您认为将来可能会使用不同的 IP 地址或不同的主机名来重新注册客户端,那么从 IdM LDAP 服务器中删除客户端主机条目至关重要。
- 命令/配置摘录:
[root@client ~]# ipa-client-install --uninstall
[root@client ~]# kinit admin- 注意:重要 如果您认为将来可能会使用不同的 IP 地址或不同的主机名来重新注册客户端,那么从 IdM LDAP 服务器中删除客户端主机条目至关重要。
18.2. 卸载 IdM 客户端:在以前的安装后执行额外的步骤
- 要点:在多个身份管理(IdM)客户端安装后恢复 Kerberos 配置,以删除重复的 IdM 设置。
- 要点:在这种情况下,您必须手动删除 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 将 /etc/krb5.conf.ipa 文件重命名为 /etc/krb5.conf : # mv /etc/krb5.conf.ipa /etc/krb5.conf 如果 /etc/krb5.conf.ipa 文件的内容与安装 IdM 客户端之前的 krb5.conf 文件的内容不同,那么您可以至少将 Kerberos 配置直接恢复到安装操作系统之后的状态:…
- 列表:如果 /etc/krb5.conf.conf.ipa 文件的内容与安装 IdM 客户端之前的 krb5.conf 文件的内容相同,您可以: 删除 /etc/krb5.conf 文件: # rm /etc/krb5.conf 将 /etc/krb5.conf.ipa 文件重命名为 /etc/krb5.conf : # mv /etc/krb5.conf.ipa /etc/krb5.conf
- 列表:删除 /etc/krb5.conf 文件: # rm /etc/krb5.conf
- 列表:将 /etc/krb5.conf.ipa 文件重命名为 /etc/krb5.conf : # mv /etc/krb5.conf.ipa /etc/krb5.conf
- 命令/配置摘录:
# rm /etc/krb5.conf
# mv /etc/krb5.conf.ipa /etc/krb5.conf第 19 章 重命名 IdM 客户端系统
- 要点:您可在安装后更改身份管理(IdM)客户端系统的主机名。重命名涉及手动进行多步骤过程,包括客户端卸载和重新安装。
- 要点:除非绝对需要更改主机名,否则不要执行此操作。
- 列表:准备主机。
- 列表:从主机卸载 IdM 客户端。
- 列表:重命名主机。
- 列表:使用新名称在主机上安装 IdM 客户端。
- 列表:在 IdM 客户端安装后配置主机。
19.1. 准备 IdM 客户端以进行重命名
- 要点:在卸载当前身份管理(IdM)客户端前,记录客户端的当前设置,以便在重新注册后保留配置。在使用新的主机名重新注册计算机后,您将应用此配置。
- 要点:流程
- 列表:确定在机器上运行哪些服务: 使用 ipa service-find 命令,并在输出中识别带有证书的服务: $ ipa service-find old-client-name.example.com 此外,每个主机都有一个默认 主机服务 ,该服务不会出现在 ipa service-find 输出中。主机服务的服务主体(也称为 主机主体)是 host/old-client-name.example.com。
- 列表:使用 ipa service-find 命令,并在输出中识别带有证书的服务: $ ipa service-find old-client-name.example.com
- 列表:此外,每个主机都有一个默认 主机服务 ,该服务不会出现在 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" 客户端系统上的每个服务都有一个格式为 service_name/host_name@REALM 的 Kerberos 主体,例如 ldap/old-client-name.example.com@EXAMPLE.COM.
- 列表:识别机器所属的所有主机组。 # ipa hostgroup-find old-client-name.example.com
- 命令/配置摘录:
$ ipa service-find old-client-name.example.com
# find / -name "*.keytab"19.2. 卸载 IdM 客户端
- 要点:卸载客户端会从身份管理(IdM)域中移除客户端,以及系统服务的所有特定的 IdM 配置,如系统安全服务守护进程(SSSD)。这会恢复客户端系统的以前的配置。
- 要点:流程
- 列表:输入 ipa-client-install --uninstall 命令: [root@client ~]# ipa-client-install --uninstall
- 列表:可选:检查您是否能为 IdM 用户获得 Kerberos 单据授予单(TGT): [root@client ~]# kinit admin kinit: Client 'admin@EXAMPLE.COM' not found in Kerberos database while getting initial credentials [root@client ~]# 如果 Kerberos TGT 票据成功返回,请遵循 卸载 IdM 客户端:多次安装后的其他步骤 中的其他卸载步骤。
- 列表:在客户端上,从每个已识别的 keytab ,而不是 /etc/krb5.keytab 中删除旧的 Kerberos 主体: [root@client ~]# ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.COM
- 列表:在 IdM 服务器中,从 IdM 中删除客户端主机的所有 DNS 条目: [root@server ~]# ipa dnsrecord-del Record name: old-client-name Zone name: idm.example.com No option to delete specific record provided. Delete all? Yes/No (default No): true ------------------------ Deleted record "old-client-name"
- 列表:在 IdM 服务器中,从 IdM LDAP 服务器中删除客户端主机条目。这会删除所有服务并撤销为该主机发布的所有证书: [root@server ~]# ipa host-del client.idm.example.com 重要 如果您认为将来可能会使用不同的 IP 地址或不同的主机名来重新注册客户端,那么从 IdM LDAP 服务器中删除客户端主机条目至关重要。
- 命令/配置摘录:
[root@client ~]# ipa-client-install --uninstall
[root@client ~]# kinit admin- 注意:重要 如果您认为将来可能会使用不同的 IP 地址或不同的主机名来重新注册客户端,那么从 IdM LDAP 服务器中删除客户端主机条目至关重要。
19.3. 卸载 IdM 客户端:在以前的安装后执行额外的步骤
- 要点:在多个身份管理(IdM)客户端安装后恢复 Kerberos 配置,以删除重复的 IdM 设置。
- 要点:在这种情况下,您必须手动删除 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 将 /etc/krb5.conf.ipa 文件重命名为 /etc/krb5.conf : # mv /etc/krb5.conf.ipa /etc/krb5.conf 如果 /etc/krb5.conf.ipa 文件的内容与安装 IdM 客户端之前的 krb5.conf 文件的内容不同,那么您可以至少将 Kerberos 配置直接恢复到安装操作系统之后的状态:…
- 列表:如果 /etc/krb5.conf.conf.ipa 文件的内容与安装 IdM 客户端之前的 krb5.conf 文件的内容相同,您可以: 删除 /etc/krb5.conf 文件: # rm /etc/krb5.conf 将 /etc/krb5.conf.ipa 文件重命名为 /etc/krb5.conf : # mv /etc/krb5.conf.ipa /etc/krb5.conf
- 列表:删除 /etc/krb5.conf 文件: # rm /etc/krb5.conf
- 列表:将 /etc/krb5.conf.ipa 文件重命名为 /etc/krb5.conf : # mv /etc/krb5.conf.ipa /etc/krb5.conf
- 命令/配置摘录:
# rm /etc/krb5.conf
# mv /etc/krb5.conf.ipa /etc/krb5.conf19.4. 重命名主机系统
- 要点:您必须使用 hostnamectl 工具重命名客户端系统。因为 IdM 将关键身份服务(包括 Kerberos、DNS、证书)绑定到原始主机名,因此您只能在客户端卸载后执行此操作,以便您可以使用新名称重新安装 IdM 客户端。
- 要点:流程
- 列表:为客户端系统设置新的完全限定域名(FQDN): # hostnamectl set-hostname <new_client_FQDN> 现在,您可以使用新的主机名将身份验证(IdM)客户端重新安装到 IdM 域。
- 命令/配置摘录:
# hostnamectl set-hostname <new_client_FQDN>19.5. 重新安装 IdM 客户端
- 要点:您可以在主机上重新安装身份管理(IdM)客户端,以刷新其配置或从失败中恢复。将此操作视为全新安装,这意味着您必须查看所有先决条件,并确保环境已就绪,然后才能继续 ipa-client-install 工具。
- 要点:流程
- 列表:查看先决条件并按照 标准客户端安装 进行操作。
19.6. 重新添加服务、重新生成证书和重新添加主机组
- 要点:在重命名客户端系统后,恢复身份管理(IdM)客户端服务、证书和主机组成员资格。
- 要点:流程
- 列表:在 IdM 服务器上,为 准备 IdM 客户端以进行重命名 中标识的每个服务添加新的 keytab。 [root@server ~]# ipa service-add service_name/new-client-name
- 列表:为 准备 IdM 客户端以进行重命名 中分配了证书的服务生成证书。您可以做到这一点: 使用 IdM 管理工具.请参阅管理用户、主机和服务的证书。 使用 certmonger 工具
- 列表:使用 IdM 管理工具.请参阅管理用户、主机和服务的证书。
- 列表:使用 certmonger 工具
- 列表:将客户端重新添加到 准备 IdM 客户端以进行重命名 中标识的主机组。
- 命令/配置摘录:
[root@server ~]# ipa service-add service_name/new-client-name19.7. 其他资源
- 列表:安装身份管理客户端
第 20 章 为 IdM 副本安装准备系统
- 要点:验证身份管理(IdM)副本安装的系统要求和授权,以确保成功部署并防止安装失败。
- 要点:其他资源
- 列表:确保目标系统满足 IdM 服务器安装的一般要求。
- 列表:确保目标系统满足 IdM 副本安装的额外版本要求。
- 列表:授权目标系统注册到 IdM 域。
- 列表:副本版本要求
- 列表:授权在 IdM 客户端上安装副本
- 列表:授权在未注册到 IdM 的系统上安装副本
20.1. 副本版本要求
- 要点:身份管理(IdM)副本必须运行兼容的 RHEL 和 IdM 版本,以便在拓扑间维护正确的配置复制。
- 要点:IdM 副本必须运行 RHEL 的主要版本以及与其他 IdM 服务器相同的或更新版本的 IdM。这样可确保把配置从服务器正确复制到副本。
- 列表:显示 IdM 软件版本
20.2. 显示 IdM 软件版本
- 要点:使用 IdM WebUI、命令行工具或软件包管理显示身份管理(IdM)软件版本,以验证兼容性和跟踪更新。
- 要点:流程
- 列表:在 IdM Web UI 中,从右上角的用户名菜单中选择 About 来显示软件版本。
- 列表:在命令行中使用 ipa --version 命令: [root@server ~]# ipa --version VERSION: 4.8.0, API_VERSION: 2.233
- 列表:如果 IdM 服务无法正常工作,请使用 rpm 工具来确定当前安装的 ipa-server 软件包的版本号: [root@server ~]# rpm -q ipa-server ipa-server-4.8.0-11.module+el8.1.0+4247+9f3fd721.x86_64
- 命令/配置摘录:
[root@server ~]# ipa --version
VERSION: 4.8.0, API_VERSION: 2.23320.3. 授权在 IdM 客户端上安装副本
- 要点:在现有客户端系统上授权身份管理(IdM)副本安装。您可以将配置的主机提升为副本,以扩展域的容量,并确保对身份验证服务的高可用性。
- 要点:选择 Method 1 或 Method 2 授权安装:
- 列表:方法 1:使用 ipaservers 主机组 以 IdM admin 用户身份登录到任何一台 IdM 主机: $ kinit admin 将客户端机器添加到 ipaservers 主机组中: $ ipa hostgroup-add-member ipaservers --hosts <client_hostname> Host-group: ipaservers Description: IPA server hosts Member hosts: server.example.com, client.example.com ------------------------- Number of members added …
- 列表:以 IdM admin 用户身份登录到任何一台 IdM 主机: $ kinit admin
- 列表:将客户端机器添加到 ipaservers 主机组中: $ ipa hostgroup-add-member ipaservers --hosts <client_hostname> Host-group: ipaservers Description: IPA server hosts Member hosts: server.example.com, client.example.com ------------------------- Number of members added 1 ------------------------- 注意 ipaservers 组中的成员授予机器类似于管理员凭证的提升特权。因此,您…
- 列表:方法 2:使用特权用户的凭证 通过提供特权用户的凭证,选择以下任何一种方法来授权副本安装: 在启动 ipa-replica-install 工具后,让 IdM 以交互方式提示您输入凭证。这是默认的行为。 在运行 ipa-replica-install 工具之前,立即以特权用户身份登录客户端。默认特权用户为 admin : $ kinit admin
- 列表:在启动 ipa-replica-install 工具后,让 IdM 以交互方式提示您输入凭证。这是默认的行为。
- 列表:在运行 ipa-replica-install 工具之前,立即以特权用户身份登录客户端。默认特权用户为 admin : $ kinit admin
- 命令/配置摘录:
$ kinit admin
$ ipa hostgroup-add-member ipaservers --hosts <client_hostname>- 注意:注意 安装 IdM 副本时,系统验证提供的 Kerberos 主体是否有所需的权限,其中包括对用户 ID 覆盖的检查。因此,您可以使用配置为充当 IdM 管理员的 AD 管理员的凭证来部署副本。
- 注意:注意 ipaservers 组中的成员授予机器类似于管理员凭证的提升特权。因此,您可以使用配置为充当 IdM 管理员的 AD 管理员的凭证来部署副本。
20.4. 授权在未注册到 IdM 的系统上安装副本
- 要点:在尚未注册到域的系统上授权身份管理(IdM)副本安装。您可以预先配置主机,并提供将系统加入到域中所需的凭证作为副本。
- 要点:选择 Method 1 或 Method 2 授权安装:
- 列表:方法 1:通过使用在 IdM 服务器上生成的随机密码 以管理员身份登录到域中的任何服务器: $ kinit admin 将外部系统添加为 IdM 主机。使用 ipa host-add 命令和 --random 选项来生成一个随机一次性密码,用于后续副本安装。 $ ipa host-add replica.example.com --random -------------------------------------------------- Added host "replica.example.com" -------------------------------------------------- Host name…
- 列表:以管理员身份登录到域中的任何服务器: $ kinit admin
- 列表:将外部系统添加为 IdM 主机。使用 ipa host-add 命令和 --random 选项来生成一个随机一次性密码,用于后续副本安装。 $ ipa host-add replica.example.com --random -------------------------------------------------- Added host "replica.example.com" -------------------------------------------------- Host name: replica.example.com Random password: W5YpARl=7M.n Passwo…
- 列表:将系统添加到 ipaservers 主机组。 $ ipa hostgroup-add-member ipaservers --hosts replica.example.com Host-group: ipaservers Description: IPA server hosts Member hosts: server.example.com, replica.example.com ------------------------- Number of members added 1 -------------------------
- 列表:方法 2:使用特权用户的凭证 默认特权用户为 admin。在运行 IdM 副本安装工具之前不需要任何操作。在安装过程中,将主体名称和密码选项(--principal admin --admin-password password)直接添加到 ipa-replica-install 命令中。
- 列表:安装 IdM 副本
- 命令/配置摘录:
$ kinit admin
$ ipa host-add replica.example.com --random- 注意:注意 安装 IdM 副本时,系统验证提供的 Kerberos 主体是否有所需的权限,其中包括对用户 ID 覆盖的检查。因此,您可以使用配置为充当 IdM 管理员的 AD 管理员的凭证来部署副本。
- 注意:注意 ipaservers 组中的成员授予机器类似于管理员凭证的提升特权。因此,junior 系统管理员可以通过提供生成的随机密码,在主机上运行 ipa-replica-install 工具。
第 21 章 安装 IdM 副本
- 要点:部署身份管理(IdM)副本,以确保高可用性和分发身份验证服务。使用命令行以互动方式安装副本,以复制现有的服务器配置。
- 注意:注意 使用 Ansible 角色一致地安装并自定义多个副本。 不使用 Ansible 的交互式和非交互式方法在拓扑中很有用,例如,副本准备被委派给用户或第三方。您还可以在地理上分布的拓扑中使用这些方法,其中您没有从 Ansible 控制器节点访问的权限。
21.1. 先决条件
- 要点:确定您的系统已为 IdM 副本安装做好了准备。
- 要点:其他资源
- 列表:您一次安装一个 IdM 副本。不支持同时安装多个副本。
- 列表:确定您的系统已为 IdM 副本安装做好了准备。 重要 如果没有执行此准备,安装 IdM 副本将失败。
- 列表:使用 Ansible playbook 安装身份管理副本
- 列表:为 IdM 副本安装准备系统
- 注意:重要 如果没有执行此准备,安装 IdM 副本将失败。
21.2. 安装带有集成的 DNS 和 CA 的 IdM 副本
- 要点:安装带有集成 DNS 和证书颁发机构(CA)的身份管理(IdM)副本,以提供服务冗余并改进基础架构弹性。
- 要点:先决条件
- 列表:确定您的系统 已为 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 服务…
- 列表:--setup-dns 用来将副本配置为 DNS 服务器
- 列表:如果您不想使用任何每服务器转发器,请使用 --forwarder 来指定每服务器转发器或 --no-forwarder。要为故障转移的原因指定多个每服务器转发器,请多次使用 --forwarder。 注意 ipa-replica-install 工具接受与 DNS 设置相关的许多其他选项,如 --no-reverse 或 --no-host-dns。有关它们的更多信息,请参阅 ipa-replica-install(1)手册页。
- 列表:--setup-ca 用来在副本中包含一个 CA
- 列表:安装完成后,将父域的 DNS 委派添加到 IdM DNS 域。例如,如果 IdM DNS 域是 idm.example.com,请在 example.com 父域中添加一个名字服务器(NS)记录。 重要 在每次安装完 IdM DNS 服务器后重复此步骤。
- 命令/配置摘录:
# ipa-replica-install --setup-dns --forwarder 192.0.2.1 --setup-ca- 注意:重要 在使用 CA 配置副本时,副本的 CA 配置必须与其他服务器的 CA 配置一致。 例如,如果服务器包含集成的 IdM CA 作为根 CA,那么新副本也必须安装为将集成 CA 作为根 CA。本例中不提供其他 CA 配置。 在 ipa-replica-install 命令中包含--setup-ca 选项,可复制初始服务器的 CA 配置。
- 注意:注意 ipa-replica-install 工具接受与 DNS 设置相关的许多其他选项,如 --no-reverse 或 --no-host-dns。有关它们的更多信息,请参阅 ipa-replica-install(1)手册页。
21.3. 安装带有集成 DNS 且没有 CA 的 IdM 副本
- 要点:安装带有集成 DNS 但没有证书颁发机构(CA)组件的身份管理(IdM)副本。您可以提供本地 DNS 服务,同时在域中的其他现有 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 用来将副本配置为 DNS 服务器
- 列表:如果您不想使用任何每服务器转发器,请使用 --forwarder 来指定每服务器转发器或 --no-forwarder。要为故障转移的原因指定多个每服务器转发器,请多次使用 --forwarder。
- 列表:安装完成后,将父域的 DNS 委派添加到 IdM DNS 域。例如,如果 IdM DNS 域是 idm.example.com,请在 example.com 父域中添加一个名字服务器(NS)记录。 重要 在每次安装完 IdM DNS 服务器后重复此步骤。
- 列表:在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 在身份管理中调优性能 标题,来查找最适合您场景的调优说明。
- 命令/配置摘录:
ipa-replica-install --setup-dns --forwarder 192.0.2.1 --dirsrv-cert-file /tmp/server.crt --dirsrv-cert-file /tmp/server.key --dirsrv-pin secret --http-cert-file /tmp/server.crt --http-cert-file /tmp/server.key --http-pin secret --no-pkinit
# ipa-replica-install --setup-dns --forwarder 192.0.2.1- 注意:注意 相反,当安装带有集成 DNS 的副本并在无 CA 的 IdM 环境中没有 CA 时,您必须使用附加选项指定证书文件,特别是: --dirsrv-cert-file --dirsrv-pin --http-cert-file --http-pin 您还必须指定以下选项之一: --no-pkinit --pkinit-cert-file and --pkinit-pin 例如: ipa-replica-install --setup-dns --forwarder 192.0.2.1 --dirsrv-cert-file /tmp/server.crt --dirsrv-cert-file /tmp/server.key --dirsrv-pin secret --http-cert-file /tmp/server.crt --http-cert-file /tmp/server.key --http-pin secret --no-pkinit 有关文件的详情,请参阅 安装没有 CA 的 IdM 服务器所需的证书。
- 注意:注意 ipa-replica-install 工具接受与 DNS 设置相关的许多其他选项,如 --no-reverse 或 --no-host-dns。有关它们的更多信息,请参阅 ipa-replica-install(1)手册页。
21.4. 安装没有集成 DNS 但有 CA 的 IdM 副本
- 要点:安装具有证书颁发机构(CA)的身份管理(IdM)副本,但没有集成 DNS,以便在使用外部 DNS 基础架构时提供证书服务。
- 要点:先决条件
- 列表:确定您的系统 已为 IdM 副本安装做好了准备。
- 列表:输入 ipa-replica-install 和 -setup-ca 选项。 # ipa-replica-install --setup-ca
- 列表:在您的 DNS 服务器中添加新创建的 IdM DNS 服务记录: 以 nsupdate 格式将 IdM DNS 服务记录导出到文件中: $ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate 使用 nsupdate 工具和 dns_records_file.nsupdate 文件向 DNS 服务器提交 DNS 更新请求。如需更多信息,请参阅 RHEL 7 文档中的 使用 nsupdate 更新外部 DNS 记录。或者,请参阅 DNS 服务器文档来添加 DNS 记录。
- 列表:以 nsupdate 格式将 IdM DNS 服务记录导出到文件中: $ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate
- 列表:使用 nsupdate 工具和 dns_records_file.nsupdate 文件向 DNS 服务器提交 DNS 更新请求。如需更多信息,请参阅 RHEL 7 文档中的 使用 nsupdate 更新外部 DNS 记录。或者,请参阅 DNS 服务器文档来添加 DNS 记录。
- 列表:在大型部署中,您可能想要调整 IdM 副本的特定参数,以提高性能。请参阅 在身份管理中调优性能 标题,来查找最适合您场景的调优说明。
- 命令/配置摘录:
# ipa-replica-install --setup-ca
$ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate- 注意:重要 在使用 CA 配置副本时,副本的 CA 配置必须与其他服务器的 CA 配置一致。 例如,如果服务器包含集成的 IdM CA 作为根 CA,那么新副本也必须安装为将集成 CA 作为根 CA。本例中不提供其他 CA 配置。 在 ipa-replica-install 命令中包含--setup-ca 选项,可复制初始服务器的 CA 配置。
21.5. 安装没有集成 DNS 且没有 CA 的 IdM 副本
- 要点:通过手动提供所需的证书,安装没有集成 DNS 或证书颁发机构(CA)组件的身份管理(IdM)副本。您可以扩展无 CA 的部署,并维护依赖于外部证书供应商的其他 IdM 服务器的架构一致性。
- 要点:先决条件
- 列表:确定您的系统 已为 IdM 副本安装做好了准备。
- 列表:输入 ipa-replica-install,并通过添加这些选项来提供所需的证书文件: --dirsrv-cert-file --dirsrv-pin --http-cert-file --http-pin 另外,您必须指定 either --no-pkinit 或-- pkinit-cert-file 和- -pkinit-pin。 有关使用这些选项提供的文件的详情,请参阅 安装没有 CA 的 IdM 服务器所需的证书。 例如: # ipa-replica-install \ --dirsrv-cert-file /tmp/server.crt \ --dirsrv-cert-file /tmp/server.key \ …
- 列表:--dirsrv-cert-file
- 列表:--dirsrv-pin
- 列表:--http-cert-file
- 列表:--http-pin
- 命令/配置摘录:
# ipa-replica-install \ --dirsrv-cert-file /tmp/server.crt \ --dirsrv-cert-file /tmp/server.key \ --dirsrv-pin secret \ --http-cert-file /tmp/server.crt \ --http-cert-file /tmp/server.key \ --http-pin secret \ --no-pkinit- 注意:重要 您不能使用自签名的第三方服务器证书来安装服务器或副本,因为导入的证书文件必须包含签发 LDAP 和 Apache 服务器证书的 CA 的完整 CA 证书链。
- 注意:注意 如果您的部署是无 CA 的,ipa-replica-install 可能会报告需要端口 80,即使不需要设置副本。在这种情况下,运行 ipa-replica-install 最初没有 the --skip-conncheck 选项。确保 ipa-replica-conncheck 报告的所有其他检查都成功,然后使用-- skip-conncheck 选项运行 ipa- replica-install。 这样,您可以在不防止副本安装的情况下从 ipa-replica-conncheck 实施的检查中受益。
21.6. 安装 IdM 隐藏的副本
- 要点:安装身份管理(IdM)隐藏的副本,为管理任务或备份提供专用资源,而不影响客户端流量。您可以通过在副本中隔离大量工作负载来增强服务稳定性和保护性能,这些工作负载对自动客户端发现不可见。
- 要点:隐藏(省略)副本是一个 IdM 服务器,它具有所有服务运行并可用。但是,它在 DNS 中没有 SRV 记录,并且不启用 LDAP 服务器角色。因此,客户端无法使用服务发现来检测这些隐藏的副本。
- 列表:确定您的系统 已为 IdM 副本安装做好了准备。
- 列表:要安装隐藏的副本,请使用以下命令: ipa-replica-install --hidden-replica 请注意,命令安装一个不带 DNS SRV 记录,并且禁用了 LDAP 服务器角色的副本。 您还可以将现有副本的模式更改为隐藏。详情请参阅 降级或提升隐藏副本
- 命令/配置摘录:
ipa-replica-install --hidden-replica21.7. 测试 IdM 副本
- 要点:通过在拓扑中测试数据复制以确保正确部署,以验证身份管理(IdM)副本功能。
- 要点:流程
- 列表:在新副本中创建用户: [admin@new_replica ~]$ ipa user-add test_user
- 列表:确保用户在另一个副本中可见: [admin@another_replica ~]$ ipa user-show test_user
- 命令/配置摘录:
[admin@new_replica ~]$ ipa user-add test_user
[admin@another_replica ~]$ ipa user-show test_user21.8. 在 IdM 副本安装过程中执行的连接
- 要点:安装身份管理(IdM)副本使用各种网络操作和协议。了解这些连接可确保正确的网络配置,并帮助您排除连接问题。
- 表格样本(共 7 行):
- 操作 | 使用的协议 | 目的
- 针对客户端系统中配置的 DNS 解析器的 DNS 解析 | DNS | 发现 IdM 服务器的 IP 地址
- 对发现的 IdM 服务器上的端口 88(TCP/TCP6 和 UDP/UDP6)的请求 | Kerberos | 要获得 Kerberos ticket
- JSON-RPC 在已发现或配置的 IdM 服务器中调用基于 IdM Apache 的 web-service | HTTPS | IdM 客户端注册 ; 副本密钥检索和证书颁发(如果需要)
第 22 章 IdM 副本安装故障排除
- 要点:诊断并解决身份管理副本安装失败,以确保部署成功。收集诊断信息,并对常见安装问题应用解决方案。
22.1. IdM 副本安装错误日志文件
- 要点:查看身份管理(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
22.2. 查看 IdM 副本安装错误
- 要点:查看身份管理(IdM)副本和服务器安装日志文件,以识别和故障排除部署失败。
- 要点:先决条件
- 列表:您必须具有 root 特权才能显示 IdM 日志文件中的内容。
- 列表:使用 tail 命令显示主日志文件 /var/log/ipareplica-install.log 中最新的错误。以下示例显示了最后 10 行。 [user@replica ~]$ sudo tail -n 10 /var/log/ipareplica-install.log [sudo] password for user: func(installer) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/replicainstall.py", line 424, in decorated func(installer) File "/usr/li…
- 列表:要以交互方式查看日志文件,请使用 less 工具打开日志文件的末尾,然后使用 ↑ 和 ↓ 箭头键来导航。 [user@replica ~]$ sudo less -N +G /var/log/ipareplica-install.log
- 列表:可选:虽然 /var/log/ipareplica-install.log 是副本安装的主日志文件,但您可以通过使用副本和服务器上的其他文件重复此查看过程来收集额外的故障排除信息。 在副本上: [user@replica ~]$ sudo less -N +G /var/log/ipareplica-conncheck.log [user@replica ~]$ sudo less -N +G /var/log/ipaclient-install.log [user@replica ~]$ sudo less -N +G /var/log/httpd/error_log [user@replica ~]$ sudo less -N…
- 列表:IdM 副本安装错误日志文件
- 列表:红帽客户门户网站
- 命令/配置摘录:
[user@replica ~]$ sudo tail -n 10 /var/log/ipareplica-install.log [sudo] password for user: func(installer) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/replicainstall.py", line 424, in decorated func(installer) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/replicainstall.py", line 785, in promote_check ensure_enrolled(installer) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/replicainstall.py", line 740, in ensure_enrolled raise ScriptError("Configuration of client side components failed!") 2020-05-28T18:24:51Z DEBUG The ipa-replica-install command failed, exception: ScriptError: Con…
[user@replica ~]$ sudo less -N +G /var/log/ipareplica-install.log22.3. IdM 副本上的 CA 安装错误日志文件
- 要点:查看身份管理(IdM)副本上的证书颁发机构(CA)安装失败的调试信息,以诊断和解决部署问题。
- 要点:/var/log/httpd/error_log 日志文件
- 列表:/var/log/httpd/error_log 日志文件 在现有 IdM 副本上安装 CA 服务也会将调试信息写入以下日志文件中:
- 列表:/var/log/ipareplica-ca-install.log 日志文件
- 列表:检查 IdM CA 安装错误
- 注意:注意 如果在安装可选 CA 组件时完整的 IdM 副本安装失败,则不会记录有关 CA 的详情;会在 /var/log/ipareplica-install.log 文件中记录一条消息,表示整个安装过程失败。查看上面列出的日志文件,以了解 CA 安装失败的具体详情。 唯一例外是您要安装 CA 服务,root CA 是外部 CA。如果来自外部 CA 的证书出现问题,则会在 /var/log/ipareplica-install.log 中记录错误。
- 表格样本(共 6 行):
- 位置 | 描述
- /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log | pkispawn 安装进程的高级别问题和 Python 跟踪
- journalctl -u pki-tomcatd@pki-tomcat 输出 | pki-tomcatd@pki-tomcat 服务中的错误
- /var/log/pki/pki-tomcat/ca/debug.$DATE.log | 公钥基础设施(PKI)产品核心中的大型 JAVA 堆栈跟踪活动
22.4. 查看 IdM 副本上的 CA 安装错误
- 要点:查看 IdM 副本上的身份管理 CA 安装错误日志文件,以识别并排除证书颁发机构部署失败。
- 要点:先决条件
- 列表:您必须具有 root 特权才能显示 IdM 日志文件中的内容。
- 列表:要以交互方式查看日志文件,请使用 less 工具打开日志文件的末尾,并在搜索 ScriptError 条目时使用 kbd:[] 箭头键导航。以下示例将打开 /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log。 [user@server ~]$ sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.log
- 列表:通过对所有 CA 安装错误日志文件重复此查看过程来收集额外的故障排除信息。
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
[user@server ~]$ sudo less -N +G /var/log/pki/pki-ca-spawn.20200527185902.log22.5. 删除部分 IdM 副本安装
- 要点:在安装后删除部分身份管理(IdM)副本配置,以启用成功的副本部署。
- 要点:安装 IdM 副本的其他尝试可能会失败,安装脚本会报告 IdM 已配置:
- 列表:您必须有 root 权限。
- 列表:在您要配置为 IdM 副本的主机上卸载 IdM 服务器软件。 [root@replica ~]# ipa-server-install --uninstall
- 列表:在拓扑中的所有其他服务器上,使用 ipa server-del 命令删除对未正确安装的副本的任何引用。 [root@other-replica ~]# ipa server-del replica.idm.example.com
- 列表:尝试安装副本。
- 列表:如果您因为重复安装失败而无法安装 IdM 副本,请重新安装操作系统。 安装 IdM 副本的要求之一是使用一个没有自定义的“干净”系统。失败的安装可能会因为意外修改系统文件而破坏主机的完整性。
- 列表:卸载 IdM 服务器或副本
- 命令/配置摘录:
[root@server ~]# ipa-replica-install Your system may be partly configured. Run /usr/sbin/ipa-server-install --uninstall to clean up. IdM server is already configured on this system. If you want to reinstall the IdM server, please uninstall it first using 'ipa-server-install --uninstall'. The ipa-replica-install command failed. See /var/log/ipareplica-install.log for more information
[root@replica ~]# ipa-server-install --uninstall22.6. 解决无效凭证错误
- 要点:同步系统时钟以解决由 Kerberos 身份验证错误导致的身份管理(IdM)副本安装失败。
- 要点:如果 IdM 副本安装失败并显示 Invalid credentials 错误,则主机上的系统时钟可能彼此不同步:
- 列表:您必须具有 root 权限才能修改系统时间。
- 列表:手动或使用 chronyd 同步系统时钟。 手动同步 在服务器上显示系统时间,并设置副本的时间与之相匹配。 [user@server ~]$ date Thu May 28 21:03:57 EDT 2020 [user@replica ~]$ sudo timedatectl set-time '2020-05-28 21:04:00' 与 chronyd 同步 : 请参阅 使用 Chrony ,通过 chrony 工具配置和设置系统时间。
- 列表:与 chronyd 同步 : 请参阅 使用 Chrony ,通过 chrony 工具配置和设置系统时间。
- 列表:再次尝试 IdM 副本安装。
- 列表:红帽客户门户网站
- 列表:什么是 sosreport ,以及如何在 Red Hat Enterprise Linux 中创建?
- 命令/配置摘录:
[27/40]: setting up initial replication Starting replication, please wait until this has completed. Update in progress, 15 seconds elapsed [ldap://server.example.com:389] reports: Update failed! Status: [49 - LDAP error: Invalid credentials] [error] RuntimeError: Failed to start replication Your system may be partly configured. Run /usr/sbin/ipa-server-install --uninstall to clean up. ipa.ipapython.install.cli.install_tool(CompatServerReplicaInstall): ERROR Failed to start replication ipa.ipapython.install.cli.install_tool(CompatServerReplicaInstall): ERROR The ipa-replica-install command failed. See /var/log/ipareplica-install.log for more …
[user@server ~]$ date Thu May 28 21:03:57 EDT 2020 [user@replica ~]$ sudo timedatectl set-time '2020-05-28 21:04:00'22.7. 其它资源
- 列表:对第一个 IdM 服务器安装进行故障排除
- 列表:IdM 客户端安装故障排除
- 列表:备份和恢复 IdM
第 23 章 使用 Ansible playbook 来安装身份管理服务器
- 要点:要将系统配置为 IdM 服务器,您可以使用 freeipa.ansible_freeipa.ipaserver Ansible 角色。将系统配置为 IdM 服务器建立 IdM 域,并允许系统为 IdM 客户端提供服务。
23.1. 先决条件
- 列表:您了解了一般的 Ansible 和 IdM 概念。
23.2. Ansible 及其安装 IdM 的优点
- 要点:与手动安装相比,使用 Ansible 部署身份管理(IdM)提供了重要的操作优势,包括集中管理和可重复部署。
- 要点:Ansible 是一个自动化工具,用于配置系统、部署软件和执行滚动更新。Ansible 包含对 IdM 的支持,您可以使用 Ansible 角色自动执行安装任务,如 IdM 服务器、副本、客户端或整个 IdM 拓扑的配置。
23.2.1. 使用 Ansible 安装 IdM 的优点
- 要点:以下列表提供了使用 Ansible 安装身份管理与手动安装的优点。
- 要点:其它资源
- 列表:您不需要登录受管节点。
- 列表:您不需要配置每个主机上的设置来单独部署。反之,您可以有一个清单文件来部署完整的集群。
- 列表:您可以稍后重复将清单文件用于管理任务,例如添加用户和主机。即使与 IdM 相关的任务,也可以重复使用清单文件。
- 列表:自动化身份管理安装
- 列表:规划身份管理
- 列表:为 IdM 服务器安装准备系统
23.3. 安装 ansible-freeipa 软件包
- 要点:在控制节点上安装 ansible-freeipa 软件包,以访问身份管理(IdM)部署和管理所需的 Ansible 角色和模块。
- 要点:先决条件
- 列表:确定控制器是一个带有有效订阅的 Red Hat Enterprise Linux 系统。否则,请参阅官方 Ansible 文档 安装指南 来获取替代安装说明。
- 列表:确保您可以通过 SSH 协议,从控制器访问受管节点。检查该受管节点是否已列在控制器的 /root/.ssh/known_hosts 文件中。
- 列表:在 Ansible 控制器上,安装 ansible-freeipa 软件包: # dnf install ansible-freeipa 角色和模块被安装到 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/roles/ 和 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/plugins/modules 目录中。
- 命令/配置摘录:
# dnf install ansible-freeipa- 注意:重要 在 RHEL 10 中,ansible-freeipa RPM 软件包只安装 freeipa.ansible_freeipa 集合。 要使用新集合,请将 freeipa.ansible_freeipa 前缀添加到角色和模块的名称中。使用完全限定名称来遵循 Ansible 建议。例如,要引用 ipahbacrule 模块,请使用 freeipa.ansible_freeipa.ipahbacrule。
23.4. 在文件系统中的 Ansible 角色位置
- 要点:在文件系统中找到 ansible-freeipa 角色和 playbook 示例,以用作 IdM 部署和管理任务的模板。
- 要点:默认情况下,ansible-freeipa 角色被安装到 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/roles/ 目录中。ansible-freeipa 软件包的结构如下:
- 列表:/usr/share/ansible/collections/ansible_collections/ansible_freeipa/roles/ 目录在 Ansible 控制器上存储 ipaserver,ipareplica,ipaclient,ipasmartcard 和 ipabackup 角色。每个角色目录都会在 README.md Markdown 文件中存储有关角色的示例、基本概述、许可证和文档。 [root@server]# ls -1 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/roles ipaclient …
- 列表:/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/ 目录将有关各个角色和拓扑的文档存储在 README.md Markdown 文件中。它还存储 playbook/ 子目录。 [root@server]# ls -1 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/ playbooks README-client.md README.md README-replica.md README-server.md README-topol…
- 列表:/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/ 目录存储示例 playbook: [root@server]# ls -1 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/ install-client.yml install-cluster.yml install-replica.yml install-server.yml uninstall-client.yml uninstall-…
- 命令/配置摘录:
[root@server]# ls -1 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/roles ipaclient ipareplica ipaserver
[root@server]# ls -1 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/ playbooks README-client.md README.md README-replica.md README-server.md README-topology.md- 注意:重要 在 RHEL 10 中,ansible-freeipa RPM 软件包只安装 freeipa.ansible_freeipa 集合。 要使用新集合,请将 freeipa.ansible_freeipa 前缀添加到角色和模块的名称中。使用完全限定名称来遵循 Ansible 建议。例如,要引用 ipahbacrule 模块,请使用 freeipa.ansible_freeipa.ipahbacrule。
23.5. 为带有集成 DNS 和集成 CA 作为根 CA 的部署设置参数
- 要点:配置清单文件,以便在使用 IdM 集成 DNS 解决方案的环境中安装带有集成 CA 作为 root CA 的 IdM 服务器。
- 要点:流程
- 列表:创建一个 ~/MyPlaybooks/ 目录: $ mkdir MyPlaybooks
- 列表:创建一个 ~/MyPlaybooks/inventory 文件。
- 列表:打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(FQDN)。确保 FQDN 满足以下条件: 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。
- 列表:只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。
- 列表:指定 IdM 域和域信息。
- 命令/配置摘录:
$ mkdir MyPlaybooks
ipaserver_setup_dns=true- 注意:注意 此流程中的清单使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
- 注意:注意 如果没有 DNS 转发器,您的环境是隔离的,且您基础架构中来自其他 DNS 域的名称不能被解决。
23.6. 为带有外部 DNS 和集成 CA 作为根 CA 的部署设置参数
- 要点:完成这个流程,来为在使用外部 DNS 解决方案的环境中安装带有集成 CA 作为根 CA 的 IdM 服务器配置 inventory 文件。
- 要点:流程
- 列表:创建一个 ~/MyPlaybooks/ 目录: $ mkdir MyPlaybooks
- 列表:创建一个 ~/MyPlaybooks/inventory 文件。
- 列表:打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(FQDN)。确保 FQDN 满足以下条件: 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。
- 列表:只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。
- 列表:指定 IdM 域和域信息。
- 命令/配置摘录:
$ mkdir MyPlaybooks
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=no [...]- 注意:注意 此流程中的清单文件使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
- 注意:重要 指定的 firewalld 区必须存在,并且是永久的。
23.7. 使用 Ansible playbook 将集成 CA 的 IdM 服务器部署为 root CA
- 要点:运行 Ansible playbook 以使用集成证书颁发机构(CA)部署第一个 IdM 服务器,建立 IdM 域的基础。
- 要点:先决条件
- 列表:受管节点是一个具有静态 IP 地址的 Red Hat Enterprise Linux 10 系统,且是一个可正常工作的软件包管理器。
- 列表:您可以通过选择以下流程之一来设置与您的场景相对应的参数: 带有集成 DNS 的流程 带有外部 DNS 的流程
- 列表:带有集成 DNS 的流程
- 列表:带有外部 DNS 的流程
- 列表:运行 Ansible playbook: $ ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server.yml
- 列表:选择以下选项之一: 如果您的 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 ... 重要 在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。 如果您的 IdM 部署使…
- 命令/配置摘录:
$ ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server.yml
... Restarting the KDC Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db Restarting the web server ...- 注意:重要 在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
- 注意:重要 每次安装 IdM DNS 服务器后都会重复这个步骤。
23.8. 为带有集成 DNS 和外部 CA 作为根 CA 的部署设置参数
- 要点:配置清单文件,以便在使用 IdM 集成 DNS 解决方案的环境中安装带有外部 CA 作为 root CA 的 IdM 服务器(如果您的机构需要由现有企业 CA 签名的证书)。
- 要点:流程
- 列表:创建一个 ~/MyPlaybooks/ 目录: $ mkdir MyPlaybooks
- 列表:创建一个 ~/MyPlaybooks/inventory 文件。
- 列表:打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(FQDN)。确保 FQDN 满足以下条件: 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。
- 列表:只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。
- 列表:指定 IdM 域和域信息。
- 命令/配置摘录:
$ mkdir MyPlaybooks
ipaserver_setup_dns=true- 注意:注意 此流程中的清单文件使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
- 注意:注意 如果没有 DNS 转发器,您的环境是隔离的,且您基础架构中来自其他 DNS 域的名称不能被解决。
23.9. 为带有外部 DNS 和外部 CA 作为根 CA 的部署设置参数
- 要点:配置 Ansible 清单文件,以便在与现有 DNS 和 PKI 基础架构集成时安装具有外部 DNS 和外部 CA 作为根 CA 的 IdM 服务器。
- 要点:流程
- 列表:创建一个 ~/MyPlaybooks/ 目录: $ mkdir MyPlaybooks
- 列表:创建一个 ~/MyPlaybooks/inventory 文件。
- 列表:打开清单文件进行编辑。指定您要用作 IdM 服务器的主机的完全限定域名(FQDN)。确保 FQDN 满足以下条件: 只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。
- 列表:只允许字母数字字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。
- 列表:指定 IdM 域和域信息。
- 命令/配置摘录:
$ mkdir MyPlaybooks
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=no [...]- 注意:注意 此流程中的清单文件使用 INI 格式。或者,也可以使用 YAML 或 JSON 格式。
- 注意:重要 指定的 firewalld 区必须存在,并且是永久的。
23.10. 使用 Ansible playbook 将外部 CA 部署 IdM 服务器作为 root CA
- 要点:运行 Ansible playbook,以部署链到外部或企业证书颁发机构(CA)的 IdM 服务器,将 IdM 证书与现有 PKI 层次结构集成。
- 要点:先决条件
- 列表:受管节点是一个具有静态 IP 地址的 Red Hat Enterprise Linux 10 系统,且是一个可正常工作的软件包管理器。
- 列表:您可以通过选择以下流程之一来设置与您的场景相对应的参数: 带有集成 DNS 的流程 带有外部 DNS 的流程
- 列表:带有集成 DNS 的流程
- 列表:带有外部 DNS 的流程
- 列表:使用安装第一步的说明运行 Ansible playbook,如 install-server-step1.yml : $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step1.yml
- 列表:在控制器上找到 ipa.csr 证书签名请求文件,并提交给外部的 CA。
- 命令/配置摘录:
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step1.yml
$ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step2.yml- 注意:重要 在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。
- 注意:重要 每次安装 IdM DNS 服务器后都会重复这个步骤。
23.11. 使用 Ansible playbook 卸载 IdM 服务器或副本
- 要点:在停用硬件或降低基础架构时,使用 Ansible 从拓扑中删除 IdM 服务器或副本。
- 要点:在本例中:
- 列表:从 server123.idm.example.com 卸载 IdM 配置。
- 列表:server123.idm.example.com 和关联的主机条目从 IdM 拓扑中删除。
- 列表:在控制节点上: 您在使用 Ansible 版本 2.15 或更高版本。 您已安装了 ansible-freeipa 软件包。 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。 示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 命令/配置摘录:
--- - name: Playbook to uninstall an IdM replica hosts: ipaserver become: true roles: - role: freeipa.ansible_freeipa.ipaserver ipaserver_remove_from_domain: true state: absent
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/inventory <path_to_playbooks_directory>/uninstall-server.yml- 注意:注意 在现有的身份管理(IdM)部署中,副本 和 服务器 是可交换的术语。
- 注意:注意 如果 server123.idm.example.com 的删除导致断开连接的拓扑,则删除操作将被中止。如需更多信息,请参阅 如果这会导致断开连接的拓扑,请使用 Ansible playbook 卸载 IdM 服务器。
23.12. 如果这会导致断开连接的拓扑,请使用 Ansible playbook 卸载 IdM 服务器
- 要点:当因为拓扑约束而正常卸载失败时,使用 Ansible 强制删除 IdM 服务器,指定要保留的域段。
- 要点:在示例中,server456.idm.example.com 用于从拓扑中删除副本和 FQDN 为 server123.idm.example.com server123.idm.example.com 的相关的主机条目,使某些副本与 server456.idm.example.com 以及拓扑的其余部分断开连接。
- 列表:在控制节点上: 您在使用 Ansible 版本 2.15 或更高版本。 您已安装了 ansible-freeipa 软件包。 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。 示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 列表:示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 列表:目标节点(即运行 freeipa.ansible_freeipa 模块的节点)是作为 IdM 客户端、服务器或副本的 IdM 域的一部分。
- 命令/配置摘录:
--- - name: Playbook to uninstall an IdM replica hosts: ipaserver become: true roles: - role: freeipa.ansible_freeipa.ipaserver ipaserver_remove_from_domain: true ipaserver_remove_on_server: server456.idm.example.com ipaserver_ignore_topology_disconnect: true state: absent
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/uninstall-server.yml- 注意:注意 在现有的身份管理(IdM)部署中,副本 和 服务器 是可交换的术语。
- 注意:注意 如果只使用 remove_server_from_domain 从拓扑中删除副本不会导致断开连接的拓扑,则不需要其他选项。如果结果是断开连接的拓扑,您必须指定您要保留域的哪一部分。在这种情况下,您必须执行以下操作: 指定 ipaserver_remove_on_server 值。 将 ipaserver_ignore_topology_disconnect 设置为 True。
23.13. 其他资源
- 列表:Ansible 社区文档
- 列表:规划副本拓扑
- 列表:使用 Ansible playbook 备份和恢复 IdM 服务器
- 列表:清单基础知识:格式、主机和组
第 24 章 使用 Ansible playbook 安装身份管理副本
- 要点:使用 Ansible 部署 IdM 副本以提供冗余和负载平衡,确保在主服务器或任何副本不可用时继续的身份服务。
- 要点:将系统配置为 IdM 副本将它注册到 IdM 域中,并允许系统为域中的 IdM 客户端提供 IdM 服务。部署由 freeipa.ansible_freeipa.ipaserver Ansible 角色管理。该角色可以使用自动发现模式来识别 IdM 服务器、域和其他设置。但是,如果您在类似层的模式中部署多个副本,且不同的副本组在不同时间被部署,则您必须为每个组定义特定的服务器或副本。
24.1. 先决条件
- 要点:其他资源
- 列表:您已在 Ansible 控制节点上安装了 ansible-freeipa 软件包。
- 列表:您了解了一般的 Ansible 和 IdM 概念。
- 列表:您已规划了部署中的副本拓扑。
- 列表:安装 ansible-freeipa 软件包
- 列表:Ansible 社区文档
- 列表:规划副本拓扑
24.2. 指定用于安装 IdM 副本的基础、服务器和客户端变量
- 要点:使用服务器和客户端变量配置清单文件,以便为 IdM 副本部署准备。
- 要点:先决条件
- 列表:您已配置了 Ansible 控制节点以满足以下要求: 您在使用 Ansible 版本 2.15 或更高版本。 您已在 Ansible 控制器上安装了 ansible-freeipa 软件包。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已在 Ansible 控制器上安装了 ansible-freeipa 软件包。
- 列表:打开清单文件进行编辑。指定要成为 IdM 副本的主机的完全限定域名(FQDN)。FQDN 必须是有效的 DNS 名称: 仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。 仅定义副本 FQDN 的简单清单主机文件示例 [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...] 如果 IdM 服务器已经部署,且在 IdM DNS 区中正确设置了 SRV 记录,那么脚本会自动发现所有其他必需的值。
- 列表:仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。 仅定义副本 FQDN 的简单清单主机文件示例 [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...] 如果 IdM 服务器已经部署,且在 IdM DNS 区中正确设置了 SRV 记录,那么脚本会自动发现所有其他必需的值。
- 命令/配置摘录:
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]
[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]- 注意:重要 指定的 firewalld 区必须存在,并且是永久的。
- 注意:注意 ipaclient_dns_servers 列表必须仅包含 IP 地址。主机名不允许。
24.3. 使用 Ansible playbook 指定用于安装 IdM 副本的凭证
- 要点:在清单文件中配置身份验证凭据,以授权副本注册到 IdM 域。
- 要点:先决条件
- 列表:您已配置了 Ansible 控制节点以满足以下要求: 您在使用 Ansible 版本 2.15 或更高版本。 您已安装了 ansible-freeipa 软件包。 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。 示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 列表:示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 列表:目标节点(即运行 freeipa.ansible_freeipa 模块的节点)是作为 IdM 客户端、服务器或副本的 IdM 域的一部分。
- 命令/配置摘录:
- name: Playbook to configure IPA replicas hosts: ipareplicas become: true vars_files: - playbook_sensitive_data.yml roles: - role: freeipa.ansible_freeipa.ipareplica state: present
[...] [ipareplicas:vars] ipaadmin_password=Secret123- 注意:注意 在安装 IdM 副本时,检查提供的 Kerberos 主体是否有所需的权限,也可以扩展来检查用户 ID 覆盖。因此,您可以使用配置为充当 IdM 管理员的 AD 管理员的凭证来部署副本。
24.4. 使用 Ansible playbook 部署 IdM 副本
- 要点:运行 Ansible playbook 以部署 IdM 副本、添加冗余并提高 IdM 域中的可用性。
- 要点:先决条件
- 列表:受管节点是一个具有静态 IP 地址的 Red Hat Enterprise Linux 10 系统,且是一个可正常工作的软件包管理器。
- 列表:您已配置了 用于安装 IdM 副本的清单文件。
- 列表:您已配置了 用于安装 IdM 副本的授权。
- 列表:运行 Ansible playbook: $ ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica.yml
- 列表:在大型部署中,您可以调整 IdM 副本的特定参数,以提高性能。请参阅 在身份管理中调优性能 标题,来查找最适合您场景的调优说明。
- 命令/配置摘录:
$ ansible-playbook -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica.yml24.5. 使用 Ansible playbook 卸载 IdM 服务器或副本
- 要点:在停用硬件或降低基础架构时,使用 Ansible 从拓扑中删除 IdM 服务器或副本。
- 要点:在本例中:
- 列表:从 server123.idm.example.com 卸载 IdM 配置。
- 列表:server123.idm.example.com 和关联的主机条目从 IdM 拓扑中删除。
- 列表:在控制节点上: 您在使用 Ansible 版本 2.15 或更高版本。 您已安装了 ansible-freeipa 软件包。 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。 示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 命令/配置摘录:
--- - name: Playbook to uninstall an IdM replica hosts: ipaserver become: true roles: - role: freeipa.ansible_freeipa.ipaserver ipaserver_remove_from_domain: true state: absent
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/inventory <path_to_playbooks_directory>/uninstall-server.yml- 注意:注意 在现有的身份管理(IdM)部署中,副本 和 服务器 是可交换的术语。
- 注意:注意 如果 server123.idm.example.com 的删除导致断开连接的拓扑,则删除操作将被中止。如需更多信息,请参阅 如果这会导致断开连接的拓扑,请使用 Ansible playbook 卸载 IdM 服务器。
第 25 章 使用 Ansible playbook 安装身份管理客户端
- 要点:使用 Ansible 将系统注册为身份管理(IdM)客户端,以启用集中身份验证和同时在多个主机间访问 IdM 服务。
- 要点:默认情况下,freeipa.ansible_freeipa.ipaclient Ansible 角色(其管理注册)使用自动发现模式来识别 IdM 服务器、域和其他设置。角色可以被修改为使用 Ansible playbook 使用指定的设置,例如在清单文件中。
25.1. 先决条件
- 要点:其他资源
- 列表:您已在 Ansible 控制节点上安装了 ansible-freeipa 软件包。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您了解了一般的 Ansible 和 IdM 概念。
- 列表:安装 ansible-freeipa 软件包
- 列表:Ansible 社区文档
25.2. 为自动发现客户端安装模式设置清单文件的参数
- 要点:在您的网络为 IdM 服务器正确配置 SRV 记录时,将清单文件配置为使用 DNS 自动发现。
- 要点:要使用 Ansible playbook 安装身份管理(IdM)客户端,请在清单文件(如 inventory)中配置目标主机参数 :
- 列表:有关主机的信息
- 列表:任务的授权
- 列表:打开 inventory 文件进行编辑。
- 列表:指定要成为 IdM 客户端的主机的完全限定主机名(FQDN)。完全限定域名必须是有效的 DNS 名称: 仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。不允许使用大写字母。 如果在 IdM DNS 区中正确设置了 SRV 记录,该脚本会自动发现所有其他必要的值。 只带有客户端 FQDN 定义的简单的清单主机文件示例 [ipaclients] client.idm.example.com [...]
- 列表:仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。不允许使用大写字母。 如果在 IdM DNS 区中正确设置了 SRV 记录,该脚本会自动发现所有其他必要的值。 只带有客户端 FQDN 定义的简单的清单主机文件示例 [ipaclients] client.idm.example.com [...]
- 命令/配置摘录:
[ipaclients] client.idm.example.com [...]
- name: Playbook to configure IPA clients with username/password hosts: ipaclients become: true vars_files: - playbook_sensitive_data.yml roles: - role: freeipa.ansible_freeipa.ipaclient state: present- 注意:注意 要在 RHEL 中将智能卡与图形用户界面搭配使用,请确保在 Ansible playbook 中包含 ipaclient_mkhomedir 变量。
- 注意:注意 ipaclient_dns_servers 列表必须仅包含 IP 地址。主机名不允许。
25.3. 当在客户端安装过程中无法自动发现时设置清单文件的参数
- 要点:当 DNS SRV 记录不可用时,手动指定清单文件中的 IdM 服务器、域和域。
- 要点:要使用 Ansible playbook 安装身份管理客户端,请在清单文件中配置目标主机参数,如 inventory/hosts :
- 列表:有关主机、IdM 服务器和 IdM 域或 IdM 领域的信息
- 列表:任务的授权
- 列表:指定要成为 IdM 客户端的主机的完全限定主机名(FQDN)。完全限定域名必须是有效的 DNS 名称: 仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。 主机名必须都是小写。不允许使用大写字母。
- 列表:仅允许数字、字母字符和连字符(-)。例如,不允许使用下划线,这可能导致 DNS 失败。
- 列表:主机名必须都是小写。不允许使用大写字母。
- 列表:在 inventory/hosts 文件的相关部分中指定其他选项: [ipaservers] 部分中服务器的 FQDN,用于指示客户端将注册到哪个 IdM 服务器 以下两个选项之一: [ipaclients:vars] 部分中的 ipaclient_domain 选项,用来指示客户端将注册到的 IdM 服务器的 DNS 域名 [ipaclients:vars] 部分中的 ipaclient_realm 选项,用于指示 IdM 服务器控制的 Kerberos 域的名称 带有客户端 FQDN、服务器 FQDN 和定义的域的清单主机文件示例 [ipaclients] client.idm.example.com [ipaservers]…
- 命令/配置摘录:
[ipaclients] client.idm.example.com [ipaservers] server.idm.example.com [ipaclients:vars] ipaclient_domain=idm.example.com [...]
- name: Playbook to configure IPA clients with username/password hosts: ipaclients become: true vars_files: - playbook_sensitive_data.yml roles: - role: freeipa.ansible_freeipa.ipaclient state: present- 注意:注意 要在 RHEL 中将智能卡与图形用户界面搭配使用,请确保在 Ansible playbook 中包含 ipaclient_mkhomedir 变量。
25.4. 使用 Ansible playbook 进行 IdM 客户端注册的授权选项
- 要点:根据您的安全要求和管理工作流,为身份管理(IdM)客户端注册选择适当的验证方法。
- 要点:您可以使用以下任一方法授权 IdM 客户端注册:
- 列表:一个随机的一次性密码(OTP)+ 管理员密码
- 列表:一个随机的一次性密码(OTP)+ admin keytab
- 列表:之前注册的客户端 keytab
- 列表:授权注册客户端的用户 (admin) 的密码存储在清单文件中
- 列表:授权注册客户端的用户(admin) 的密码存储在 Ansible vault 中
- 命令/配置摘录:
- name: Playbook to configure IPA clients hosts: ipaclients become: true roles: - role: freeipa.ansible_freeipa.ipaclient state: true- 注意:注意 在上述两个 OTP 授权场景中,使用 kinit 命令请求管理员的 TGT 发生在第一个指定或发现的 IdM 服务器上。因此,不需要对 Ansible 控制节点进行额外的修改。
- 表格样本(共 7 行):
- 授权选项 | Inventory 文件
- 一个随机的一次性密码(OTP)+ 管理员密码 | [ipaclients:vars] ipaadmin_password=Secret123 ipaclient_use_otp=true
- 一个随机的一次性密码(OTP) | [ipaclients:vars] ipaclient_otp=<W5YpARl=7M.> 这个场景假定 OTP 已在安装前由 IdM admin 生成。
- 一个随机的一次性密码(OTP)+ admin keytab | [ipaclients:vars] ipaadmin_keytab=/root/admin.keytab ipaclient_use_otp=true
25.5. 使用 Ansible playbook 部署 IdM 客户端
- 要点:使用 Ansible playbook 在 IdM 环境中部署 IdM 客户端,使其能够消耗 IdM 资源。
- 要点:先决条件
- 列表:受管节点是一个具有静态 IP 地址的 Red Hat Enterprise Linux 10 系统,且是一个可正常工作的软件包管理器。
- 列表:您已设置了 IdM 客户端部署的参数,以对应您的部署场景: 为自动发现客户端安装模式设置清单文件的参数 当在客户端安装过程中无法自动发现时设置清单文件的参数
- 列表:为自动发现客户端安装模式设置清单文件的参数
- 列表:当在客户端安装过程中无法自动发现时设置清单文件的参数
- 列表:运行 Ansible playbook: $ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client.yml
- 命令/配置摘录:
$ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client.yml25.6. 在 Ansible 中使用一次性密码方法来安装 IdM 客户端
- 要点:在预注册主机的人员和部署它们的人员之间分离管理员权限时,使用一次性密码注册 IdM 客户端。
- 要点:您可以为身份管理(IdM)中的新主机生成一个一次性密码(OTP),并使用它来将系统注册到 IdM 域中。在示例中,您可以在为另一个 IdM 主机生成 OTP 后使用 Ansible 安装 IdM 客户端。
- 列表:一个有 IdM 管理员凭证。
- 列表:另一个有所需的 Ansible 凭证,包括对要成为 IdM 客户端的主机的 root 访问权限。
- 列表:您有 IdM admin 凭证或至少 Host Enrollment 特权以及在 IdM 中添加 DNS 记录的权限。
- 列表:您已在 Ansible 受管节点上配置了一个用户升级方法,以允许您安装 IdM 客户端。
- 列表:如果您的 Ansible 控制节点在 RHEL 8.7 或更早版本上运行,则您必须能够在 Ansible 控制节点上安装软件包。
- 列表:您已配置了 Ansible 控制节点以满足以下要求: 您在使用 Ansible 版本 2.15 或更高版本。 您已安装了 ansible-freeipa 软件包。 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。 示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
- 命令/配置摘录:
$ ssh admin@server.idm.example.com
[admin@server ~]$ ipa host-add client.idm.example.com --ip-address=172.25.250.11 --random -------------------------------------------------- Added host "client.idm.example.com" -------------------------------------------------- Host name: client.idm.example.com Random password: W5YpARl=7M.n Password: True Keytab: False Managed by: server.idm.example.com25.7. Ansible 安装后测试身份管理客户端
- 要点:即使 ansible-playbook 命令报告成功后,您可以手动验证 IdM 客户端的功能。运行这些检查会确认您的客户端系统成功验证 IdM 用户并从服务器检索身份信息。
- 要点:流程
- 列表:要测试身份管理客户端是否可以获取服务器上定义的用户的信息,请检查您是否能够解析服务器上定义的用户。例如,检查默认的 admin 用户: [user@client1 ~]$ id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
- 列表:要测试身份验证是否正常工作,请 su - 为另一个已存在的 IdM 用户: [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 ~]$
- 命令/配置摘录:
[user@client1 ~]$ id admin uid=1254400000(admin) gid=1254400000(admins) groups=1254400000(admins)
[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 ~]$25.8. 使用 Ansible playbook 卸载 IdM 客户端
- 要点:在停用系统或排除注册问题时,使用 Ansible 从主机中删除 IdM 客户端配置。
- 要点:先决条件
- 列表:IdM 管理员凭证。
- 列表:受管节点是一个具有静态 IP 地址的 Red Hat Enterprise Linux 10 系统。
- 列表:运行带有卸载客户端指令的 Ansible playbook ,如 uninstall-client.yml : $ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/uninstall-client.yml
- 列表:卸载 IdM 客户端
- 命令/配置摘录:
$ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/uninstall-client.yml- 注意:重要 卸载客户端只从主机中删除基本的 IdM 配置,但会在主机上保留配置文件,以防您决定重新安装客户端。另外,卸载有以下限制: 它不会从 IdM LDAP 服务器中删除客户端主机条目。卸载仅是将主机取消注册。 它不会从 IdM 中删除任何位于客户端的服务。 它不会从 IdM 服务器中删除客户端的 DNS 条目。 它不会删除 /etc/krb5.keytab 之外的 keytab 的旧主体。 请注意,卸载会删除 IdM CA 为主机发布的所有证书。
第 26 章 管理复制拓扑
- 要点:为确保 IdM 域间的持续服务可用性和数据一致性,请在服务器之间配置复制协议,以便数据自动同步,防止个别服务器出现故障时服务中断。
- 要点:当您创建副本时,身份管理(IdM)会在初始服务器和副本之间创建一个复制协议。然后,复制的数据会存储在拓扑后缀中,当两个副本在它们的后缀之间有复制协议时,后缀会形成一个拓扑段。本章论述了如何在 IdM 域中的服务器间主动管理复制。
26.1. 其他资源
- 列表:规划副本拓扑
- 列表:卸载 IdM 服务器
- 列表:IdM 中的故障转移、负载平衡和高可用性
- 列表:身份管理性能调优
26.2. IdM 副本之间的复制协议
- 要点:了解 IdM 如何在服务器之间创建双向复制协议来同步身份和证书数据,确保数据冗余并防止域中的服务中断。
- 要点:当管理员基于现有服务器创建副本时,身份管理 (IdM) 会在初始服务器和副本之间创建复制协议。复制协议确保两个服务器之间不断复制数据和配置。
- 列表:域复制协议 复制身份信息。
- 列表:证书复制协议 复制证书信息。
26.3. 拓扑后缀
- 要点:身份管理(IdM)将复制的数据组织到域和证书颁发机构(CA)后缀中。此结构支持服务器之间的目标复制并确保高效的数据同步。
- 要点:拓扑后缀 存储复制的数据。IdM 支持两种类型的拓扑后缀:domain 和 ca。每个后缀代表一个单独的服务器,即一个单独的复制拓扑。
26.4. 拓扑片段
- 要点:了解拓扑片段如何代表两个 IdM 服务器之间的双向复制协议,确保两个方向的数据流在两个方向中保持同步。
- 要点:当两个副本在其后缀之间具有复制协议时,后缀组成一个 拓扑片段。每个拓扑段由一个 左节点和一个 右节点 组成。节点代表复制协议中加入的服务器。
26.5. 使用 Web UI 查看并修改复制拓扑的可视化表示
- 要点:通过交互式图可视化复制拓扑,以识别潜在的问题,如单一故障点,并确保您的服务器保持正确的数据冗余连接。
- 要点:使用 Web UI,您可以查看、操作和转换复制拓扑的表示。Web UI 中的拓扑图显示域中服务器之间的关系。您可以使用拖放来移动单个拓扑节点。
- 列表:您以 IdM 管理员身份登录。
- 列表:选择 IPA Server → Topology → Topology Graph。
- 列表:更改拓扑: 您可以使用拖放来移动拓扑图形节点: 您可以使用鼠标 wheel 缩放拓扑图: 您可以通过按鼠标左键移动拓扑图的画面:
- 列表:您可以使用拖放来移动拓扑图形节点:
- 列表:您可以使用鼠标 wheel 缩放拓扑图:
- 列表:您可以通过按鼠标左键移动拓扑图的画面:
26.6. 使用 CLI 查看拓扑后缀
- 要点:在复制协议中,拓扑后缀存储复制的数据。使用 CLI 在 IdM 部署中显示拓扑后缀,以确保正确配置域和证书数据同步。
- 要点:流程
- 列表:输入 ipa topologysuffix-find 命令显示拓扑后缀的列表: $ ipa topologysuffix-find --------------------------- 2 topology suffixes matched --------------------------- Suffix name: ca Managed LDAP suffix DN: o=ipaca Suffix name: domain Managed LDAP suffix DN: dc=example,dc=com ---------------------------- Number of entries returned…
- 列表:拓扑后缀
- 命令/配置摘录:
$ ipa topologysuffix-find --------------------------- 2 topology suffixes matched --------------------------- Suffix name: ca Managed LDAP suffix DN: o=ipaca Suffix name: domain Managed LDAP suffix DN: dc=example,dc=com ---------------------------- Number of entries returned 2 ----------------------------26.7. 使用 CLI 查看拓扑段
- 要点:在复制协议中,当两个副本在它们的后缀之间共享协议时,后缀会形成一个拓扑段。您可以使用 CLI 列出拓扑片段以验证连接是否正确,并确定哪些服务器正在共享数据,这有助于维护弹性拓扑。
- 要点:流程
- 列表:输入 ipa topologysegment-find 命令显示为域或 CA 后缀配置的当前拓扑段。例如,对于域后缀: $ ipa topologysegment-find Suffix name: domain ----------------- 1 segment matched ----------------- Segment name: server1.example.com-to-server2.example.com Left node: server1.example.com Right node: server2.example.com Connectivity: both ---------------…
- 列表:可选:要只显示特定片段的详情,请输入 ipa topologysegment-show 命令: $ ipa topologysegment-show Suffix name: domain Segment name: server1.example.com-to-server2.example.com Segment name: server1.example.com-to-server2.example.com Left node: server1.example.com Right node: server2.example.com Connectivity: both
- 列表:拓扑片段
- 命令/配置摘录:
$ ipa topologysegment-find Suffix name: domain ----------------- 1 segment matched ----------------- Segment name: server1.example.com-to-server2.example.com Left node: server1.example.com Right node: server2.example.com Connectivity: both ---------------------------- Number of entries returned 1 ----------------------------
$ ipa topologysegment-show Suffix name: domain Segment name: server1.example.com-to-server2.example.com Segment name: server1.example.com-to-server2.example.com Left node: server1.example.com Right node: server2.example.com Connectivity: both26.8. 使用 Web UI 在两个服务器之间设置复制
- 要点:通过 Web 界面创建特定 IdM 服务器之间的复制协议,以扩展您的域拓扑,确保新服务器自动接收现有用户和配置数据,以进行一致的服务交付。
- 要点:使用身份管理(IdM) Web UI,您可以选择两个服务器,并在它们之间创建新的复制协议。
- 列表:您以 IdM 管理员身份登录。
- 列表:在拓扑图中,将鼠标悬停在其中一个服务器节点上。 域或 CA 选项
- 列表:点击 域 或圆圈的 ca 部分,具体取决于您要创建的拓扑网类型。
- 列表:在鼠标指针下会显示代表新复制协议的新箭头。将鼠标移到其他服务器节点,然后单击它。 创建新片段
- 列表:在 Add topology segment 窗口中,单击 Add 以确认新网段的属性。 两台服务器之间的新拓扑网段将它们加入到复制协议中。拓扑图现在显示更新的复制拓扑: 创建新片段
26.9. 使用 Web UI 停止两个服务器之间的复制
- 要点:在重新配置拓扑或停用服务器时,通过身份管理(IdM) Web UI 删除两个服务器之间的复制协议。删除复制协议会停止数据同步。
- 要点:先决条件
- 列表:您以 IdM 管理员身份登录。
- 列表:单击代表您要删除的复制协议的箭头。这会突出显示箭头。 拓扑片段突出显示
- 列表:点删除。
- 列表:在 Confirmation 窗口中,单击 OK。 IdM 删除了两台服务器之间的拓扑网段,这将删除它们的复制协议。拓扑图现在显示更新的复制拓扑: 已删除拓扑片段
26.10. 使用 CLI 在两个服务器之间设置复制
- 要点:通过 CLI 在特定的 IdM 服务器之间创建复制协议,以扩展您的域拓扑,确保新服务器自动接收现有用户和配置数据,以进行一致的服务交付。
- 要点:使用 ipa topologysegment-add 命令在两个副本之间创建新的复制协议。
- 列表:有 IdM 管理员凭证。
- 列表:为两台服务器创建一个拓扑段。在提示时,提供: 所需的拓扑后缀:domain 或 ca 左节点和右节点,代表两台服务器 可选:片段的自定义名称 例如: $ ipa topologysegment-add Suffix name: domain Left node: server1.example.com Right node: server2.example.com Segment name [server1.example.com-to-server2.example.com]: new_segment --------------------------- Added segment "new_segment" --------…
- 列表:所需的拓扑后缀:domain 或 ca
- 列表:左节点和右节点,代表两台服务器
- 列表:可选:片段的自定义名称 例如: $ ipa topologysegment-add Suffix name: domain Left node: server1.example.com Right node: server2.example.com Segment name [server1.example.com-to-server2.example.com]: new_segment --------------------------- Added segment "new_segment" --------------------------- Segment name: new_segment Left node: …
- 列表:验证新段是否已配置: $ ipa topologysegment-show Suffix name: domain Segment name: new_segment Segment name: new_segment Left node: server1.example.com Right node: server2.example.com Connectivity: both
- 命令/配置摘录:
$ ipa topologysegment-add Suffix name: domain Left node: server1.example.com Right node: server2.example.com Segment name [server1.example.com-to-server2.example.com]: new_segment --------------------------- Added segment "new_segment" --------------------------- Segment name: new_segment Left node: server1.example.com Right node: server2.example.com Connectivity: both
$ ipa topologysegment-show Suffix name: domain Segment name: new_segment Segment name: new_segment Left node: server1.example.com Right node: server2.example.com Connectivity: both26.11. 使用 CLI 停止两个服务器之间的复制
- 要点:在重新配置拓扑或停用服务器时,在两台服务器间删除复制协议。使用 ipa topology segment-del 命令停止数据同步。
- 要点:先决条件
- 列表:有 IdM 管理员凭证。
- 列表:可选:如果您不知道要删除的特定复制片段的名称,请显示所有可用的片段。使用 ipa topologysegment-find 命令。出现提示时,请提供所需的拓扑后缀: domain 或 ca。例如: $ ipa topologysegment-find Suffix name: domain ------------------ 8 segments matched ------------------ Segment name: new_segment Left node: server1.example.com Right node: server2.example.com Connectivity: both ... …
- 列表:删除连接两个服务器的拓扑段: $ ipa topologysegment-del Suffix name: domain Segment name: new_segment ----------------------------- Deleted segment "new_segment" ----------------------------- 删除片段会移除复制协议。
- 列表:验证段是否不再列出: $ ipa topologysegment-find Suffix name: domain ------------------ 7 segments matched ------------------ Segment name: server2.example.com-to-server3.example.com Left node: server2.example.com Right node: server3.example.com Connectivity: both ... ---------------------------- Number of entries returned 7…
- 命令/配置摘录:
$ ipa topologysegment-find Suffix name: domain ------------------ 8 segments matched ------------------ Segment name: new_segment Left node: server1.example.com Right node: server2.example.com Connectivity: both ... ---------------------------- Number of entries returned 8 ----------------------------
$ ipa topologysegment-del Suffix name: domain Segment name: new_segment ----------------------------- Deleted segment "new_segment" -----------------------------26.12. 使用 Web UI 从拓扑中删除服务器
- 要点:在停用基础架构时,通过身份管理 IdM Web UI 从 IdM 拓扑中删除服务器,同时确保剩余的服务器保持复制连接。此操作不会从主机卸载服务器组件。
- 要点:先决条件
- 列表:您以 IdM 管理员身份登录。
- 列表:您希望删除的服务器 并不是 唯一将其他服务器与拓扑中其余部分连接的服务器;这会导致其他服务器变为隔离状态,这是不允许的。
- 列表:要删除的服务器 不是 您的最后一个 CA 或 DNS 服务器。
- 列表:选择 IPA 服务器 → 拓扑 → IPA 服务器。
- 列表:单击您要删除的服务器的名称。 选择服务器
- 列表:单击 Delete Server。
- 注意:警告 删除服务器是一项不当操作。如果您删除了服务器,在拓扑中重新引入它的唯一方法是在机器上安装新副本。
26.13. 使用 CLI 从拓扑中删除服务器
- 要点:在停用基础架构时,通过身份管理 IdM CLI 从 IdM 拓扑中删除服务器,同时确保剩余的服务器保持复制连接。此操作不会从主机卸载服务器组件。
- 要点:先决条件
- 列表:有 IdM 管理员凭证。
- 列表:您希望删除的服务器 并不是 唯一将其他服务器与拓扑中其余部分连接的服务器;这会导致其他服务器变为隔离状态,这是不允许的。
- 列表:要删除的服务器 不是 您的最后一个 CA 或 DNS 服务器。
- 列表:在 server2.example.com 上,运行 ipa server-del 命令来删除 server1.example.com。该命令删除指向服务器的所有拓扑片段: [user@server2 ~]$ ipa server-del Server name: server1.example.com Removing server1.example.com from replication topology, please wait... ---------------------------------------------------------- Deleted IPA server "server1.example.…
- 列表:可选:在 server1.example.com 上,运行 ipa server-install --uninstall 命令来从机器中卸载服务器组件。 [root@server1 ~]# ipa server-install --uninstall
- 命令/配置摘录:
[user@server2 ~]$ ipa server-del Server name: server1.example.com Removing server1.example.com from replication topology, please wait... ---------------------------------------------------------- Deleted IPA server "server1.example.com" ----------------------------------------------------------
[root@server1 ~]# ipa server-install --uninstall- 注意:重要 删除服务器是一项不当操作。如果您删除了服务器,在拓扑中重新引入它的唯一方法是在机器上安装新副本。
26.14. 删除过时的 RUV 记录
- 要点:当副本被删除时,从剩余的服务器清理过时的副本更新向量(RUV)记录,而不正确地删除其复制协议,恢复正常的复制行为。
- 要点:如果您从 IdM 拓扑中删除了一台服务器,而没有正确地删除其复制协议,则过时的副本更新向量(RUV)记录将保留在拓扑中的一个或多个剩余的服务器上。例如,可能会由于自动化而发生这种情况。这些服务器预期会从现在已删除的服务器接收更新。在这种情况下,您需要从剩余的服务器中清理过时的 RUV 记录。
- 列表:有 IdM 管理员凭证。
- 列表:您知道哪些副本已损坏或已被错误地删除。
- 列表:使用 ipa-replica-manage list-ruv 命令列出 RUV 的详细信息。命令显示副本 ID: $ ipa-replica-manage list-ruv server1.example.com:389: 6 server2.example.com:389: 5 server3.example.com:389: 4 server4.example.com:389: 12 重要 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 时要非常小心。对有效副本 ID 运行命令将破坏复制数据库中与该副本关联的所有数据。 如果发生这种情况,请使用 $ ipa-replica-manage re-…
- 列表:再次运行 ipa-replica-manage list-ruv。如果命令不再显示任何损坏的 RUV,则记录已被成功清理。
- 列表:如果命令仍然显示损坏的 RUV,则使用此任务手动清除它们: dn: cn=clean replica_ID, cn=cleanallruv, cn=tasks, cn=config objectclass: extensibleObject replica-base-dn: dc=example,dc=com replica-id: replica_ID replica-force-cleaning: no cn: clean replica_ID
- 命令/配置摘录:
$ ipa-replica-manage list-ruv server1.example.com:389: 6 server2.example.com:389: 5 server3.example.com:389: 4 server4.example.com:389: 12
ipa-replica-manage clean-ruv 6 ipa-replica-manage clean-ruv 5- 注意:重要 ipa-replica-manage list-ruv 命令列出拓扑中的所有副本,而不仅仅是有故障或错误删除的副本。
- 注意:警告 使用 ipa-replica-manage clean-ruv 时要非常小心。对有效副本 ID 运行命令将破坏复制数据库中与该副本关联的所有数据。 如果发生这种情况,请使用 $ ipa-replica-manage re-initialize --from server1.example.com 从另一个副本重新初始化副本。
26.15. 使用 IdM Web UI 查看 IdM 拓扑中可用的服务器角色
- 要点:使用身份管理(IdM) Web UI 来识别哪些 IdM 服务器执行 CA、DNS 或密钥恢复授权(KRA) 服务器角色。验证服务是否在拓扑间正确分布。
- 要点:流程
- 列表:有关支持的服务器角色的完整列表,请参阅 IPA 服务器 → Topology → Server Roles。 注意 缺少 角色状态意味着拓扑中没有服务器执行该角色。 启用 角色状态意味着拓扑中的一个或多个服务器正在执行该角色。 Web UI 中的服务器角色
- 注意:注意 缺少 角色状态意味着拓扑中没有服务器执行该角色。 启用 角色状态意味着拓扑中的一个或多个服务器正在执行该角色。
26.16. 使用 IdM CLI 查看 IdM 拓扑中可用的服务器角色
- 要点:使用身份管理(IdM) CLI 来识别哪些 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
- 列表:或者,要显示特定服务器(如 server.example.com)上启用的角色的列表 : $ ipa server-show Server name: server.example.com ... Enabled server roles: CA server, DNS server, KRA server
- 列表:或者,使用 ipa server-find --servrole 命令搜索启用了特定服务器角色的所有服务器。例如,搜索所有 CA 服务器: $ ipa server-find --servrole "CA server" --------------------- 2 IPA servers matched --------------------- Server name: server1.example.com ... Server name: server2.example.com ... ---------------------------- Number of entries returned 2 ------…
- 命令/配置摘录:
$ 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 server-show Server name: server.example.com ... Enabled server roles: CA server, DNS server, KRA server26.17. 将副本提升到 CA 续订服务器和 CRL 发布程序服务器
- 要点:将 CA 续订服务器或 CRL 发布程序角色传送到另一个 IdM CA 服务器,以重新分发证书管理职责或准备服务器维护。
- 要点:如果您的 IdM 部署使用嵌入式证书颁发机构(CA),其中一个身份管理(IdM) CA 服务器充当 CA 续订服务器,即管理 CA 子系统证书的续订服务器。其中一台 IdM CA 服务器也充当 IdM CRL 发布程序服务器,这是生成证书撤销列表的服务器。
- 列表:有 IdM 管理员凭证。
- 列表:更改当前的 CA 续订服务器。
- 列表:配置副本来生成 CRL。
26.18. 演示或提升隐藏副本
- 要点:将副本配置为隐藏或可见,以控制客户端和其他服务器是否可以发现它,从而启用专用的备份副本或维护场景。
- 要点:安装身份管理(IdM)副本后,您可以配置副本是隐藏还是可见。
- 列表:确保副本不是 CA 续订服务器。如果是,在隐藏此副本前将服务移到另一个副本。详情请参阅 更改和重置 IdM CA 续订服务器
- 列表:要隐藏副本: # ipa server-state replica.idm.example.com --state=hidden
- 列表:要使副本再次可见: # ipa server-state replica.idm.example.com --state=enabled
- 列表:要查看拓扑中所有隐藏的副本的列表: # ipa config-show 如果所有副本都启用了,则命令输出不会提到隐藏的副本。
- 命令/配置摘录:
# ipa server-state replica.idm.example.com --state=hidden
# ipa server-state replica.idm.example.com --state=enabled第 27 章 安装并运行 IdM Healthcheck 工具
- 要点:安装并运行 IdM Healthcheck 工具,以帮助查找可能会影响 IdM 环境性能的问题。
27.1. IdM 中的 Healthcheck
- 要点:身份管理(IdM)中的 Healthcheck 命令行工具可帮助查找可能会影响 IdM 环境性能的问题。使用 Healthcheck,您可以事先识别问题,这样在成为关键问题之前纠正它。
- 要点:模块是独立的
- 列表:复制问题
- 列表:证书有效期
- 列表:证书颁发机构基础设施问题
- 列表:IdM 和活动目录信任问题
- 列表:正确的文件权限和所有权设置
- 列表:JSON :JSON 格式的机器可读输出(默认)
- 注意:注意 您可以在没获得 Kerberos 票据的情况下使用 Healthcheck。
27.2. 安装 IdM Healthcheck
- 要点:您可以安装 IdM Healthcheck 工具,以帮助查找可能会影响 IdM 环境性能的问题。
- 要点:先决条件
- 列表:以 root 身份登录。
- 列表:安装 ipa-healthcheck 软件包: # dnf install ipa-healthcheck
- 列表:执行基本的 Healthcheck 测试: # ipa-healthcheck [] 空方括号 [] 表示功能齐全的 IdM 安装。
- 命令/配置摘录:
# dnf install ipa-healthcheck
# ipa-healthcheck27.3. 手动运行 IdM Healthcheck
- 要点:您可以在 CLI 上手动运行 Healthcheck 测试,也可以使用计时器自动运行。您可以从命令行手动运行 IdM Healthcheck 测试,以诊断和监控环境的健康状况。
- 要点:先决条件
- 列表:Healthcheck 工具已安装。请参阅 安装 IdM Healthcheck。
- 列表:可选:要显示所有可用的 Healthcheck 测试的列表,请输入: # ipa-healthcheck --list-sources
- 列表:要运行 Healthcheck 工具,请输入: # ipa-healthcheck
- 命令/配置摘录:
# ipa-healthcheck --list-sources
# ipa-healthcheck27.4. 其他资源
- 列表:使用 IdM Healthcheck 监控 IdM 环境
第 28 章 在 IdM 中保护带有 DoT 的 DNS
- 要点:通过使用 DNS-over-TLS (DoT)启用加密的 DNS (eDNS)来保护身份管理(IdM)部署中的 DNS 流量,以保护客户端和服务器之间的查询和响应。
- 要点:您可以使用 IdM CLI 命令使用 DoT 部署 IdM。从 RHEL 10.1 开始,您还可以使用 ansible-freeipa 集合来进行部署。
- 注意:重要 IdM 中加密的 DNS 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
28.1. IdM 中加密的 DNS
- 要点:通过使用 DNS-over-TLS (DoT)在身份管理(IdM)客户端和服务器之间加密 DNS 查询和响应,以防止窃取并确保查询隐私。IdM 将 unbound 服务配置为客户端上的本地缓存解析器,并在服务器上使用 BIND 服务接收 DoT 请求。
- 要点:默认情况下,IdM 使用 relaxed DNS 策略,如果 DoT 不可用,它允许回退到未加密的 DNS。使用 relaxed 策略时,IdM 客户端和副本会在安装过程中自动检测支持 DoT 的 DNS 服务器。
- 列表:IdM 服务器中的 DNS 服务
28.2. 安装一个配置为使用 eDNS 的 IdM 服务器
- 要点:通过执行非交互式安装,使用 DNS-over-TLS (DoT)安装身份管理(IdM)服务器。您可以使用 强制 或 放宽 策略配置 DoT,以加密 DNS 流量并保护查询隐私。
- 要点:这个流程描述了如何使用集成的 DNS 服务,使用 enforced 策略配置 DoT。如果您需要 relaxed 策略,您可以跳过专门为 DoT 预配置客户端和副本的步骤,因为 IdM 服务器会自动发现它们。
- 列表:查看 为 IdM 服务器安装准备系统 中所述的步骤。
- 列表:对于 enforced DoT,请完成 配置客户端和副本系统以专门使用 DoT 中的步骤。
- 列表:确保以下软件包已安装: ipa-server ipa-server-dns ipa-server-encrypted-dns ipa-client-encrypted-dns
- 列表:ipa-server
- 列表:ipa-server-dns
- 列表:ipa-server-encrypted-dns
- 命令/配置摘录:
# firewall-cmd --add-service=dns-over-tls
$ openssl req \ -newkey rsa:2048 \ -nodes \ -keyout /etc/pki/tls/certs/privkey.pem \ -x509 \ -days 36500 \ -out /etc/pki/tls/certs/certificate.pem \ -subj "/C=<country_code>/ST=<state>/L=<location>/O=<organization>/OU=<organizational_unit>/CN=<idm_server_fqdn>/emailAddress=<email>" && \ chown named:named /etc/pki/tls/certs/privkey.pem /etc/pki/tls/certs/certificate.pem- 注意:注意 如果您不严格要求 DoT,可以省略 --dns-policy 选项。然后,安装程序会使用默认的 relaxed 策略。
28.3. 将客户端和副本系统配置为专门使用 DoT
- 要点:要通过 TLS (DoT)通信强制 DNS,请将客户端和服务器系统配置为使用支持 DoT 的解析器。您可以保护敏感 DNS 数据不受拦截器的影响,并确保所有名称解析在网络上都保持私有。
- 要点:您必须更新 NetworkManager DNS 设置,以确保所有 DNS 查询都保持加密状态,并保护您的网络拦截器。当将 --dns-policy 选项设置为 强制 时,需要此配置。
- 列表:查看 为 IdM 客户端安装准备系统 和 为 IdM 副本安装准备系统 中所述的步骤。
- 列表:确保以下软件包已安装: ipa-server-encrypted-dns ipa-client-encrypted-dns
- 列表:ipa-server-encrypted-dns
- 列表:ipa-client-encrypted-dns
- 列表:将 IdM 服务器的 DoT 证书复制到客户端和副本系统。 $ scp /etc/pki/tls/certs/bind_dot.crt <username>@<ip>:/etc/pki/ca-trust/source/anchors/
- 列表:更新系统范围的信任存储配置: # update-ca-trust extract
- 命令/配置摘录:
$ scp /etc/pki/tls/certs/bind_dot.crt <username>@<ip>:/etc/pki/ca-trust/source/anchors/
# update-ca-trust extract28.4. 安装一个配置为使用 eDNS 的 IdM 客户端
- 要点:安装启用了 DNS-over-TLS (DoT)的身份管理(IdM)客户端来强制实施加密的 DNS 查询。
- 要点:此配置应用 强制的 DoT 策略,并要求客户端只使用 eDNS 查询。
- 列表:查看 为 IdM 客户端安装准备系统 中所述的步骤。
- 列表:对于 enforced DoT,请完成 配置客户端和副本系统以专门使用 DoT 中的步骤。
- 列表:确保 ipa-client 和 ipa-client-encrypted-dns 软件包已安装。
- 列表:安装一个启用了 DoT 的 IdM 客户端: # ipa-client-install --domain <domain_name> --dns-over-tls -p admin --password <admin_password> -U
- 列表:在 IdM 客户端上,查看 cat /etc/unbound/unbound.conf : $ cat /etc/unbound/unbound.conf
- 列表:验证配置是否包含 IdM 服务器的 IP 地址和主机名。
- 命令/配置摘录:
# ipa-client-install --domain <domain_name> --dns-over-tls -p admin --password <admin_password> -U
$ cat /etc/unbound/unbound.conf28.5. 安装一个配置为使用 eDNS 的 IdM 副本
- 要点:安装启用了 DNS-over-TLS (DoT)的身份管理(IdM)副本,以扩展加密的 DNS 基础架构并确保域的一致性安全性。
- 要点:当您安装带有集成 DNS 服务的副本时,副本使用与 IdM 服务器相同的配置。它运行 BIND 来处理传入的 DNS 查询,包括加密查询,并对传出的加密 DNS 流量使用 unbound 。
- 列表:查看 为 IdM 副本安装准备系统 中所述的步骤。
- 列表:对于 enforced DoT,请完成 配置客户端和副本系统以专门使用 DoT 中的步骤。
- 列表:确保 ipa-client-encrypted-dns 和 ipa-server-encrypted-dns 软件包已安装。
- 列表:在 系统防火墙 中添加 dns-over-tls 服务,来为 DoT 流量打开端口 853/TCP : # firewall-cmd --add-service=dns-over-tls
- 列表:根据您是否要副本管理 DNS 记录,选择以下之一: 安装带有集成 DNS 的 IdM 副本: # ipa-replica-install --setup-dns --dns-over-tls --dot-forwarder <server_ip>#<dns_server_hostname> 安装没有集成 DNS 的 IdM 副本: # ipa-replica-install --dns-over-tls
- 列表:安装带有集成 DNS 的 IdM 副本: # ipa-replica-install --setup-dns --dns-over-tls --dot-forwarder <server_ip>#<dns_server_hostname>
- 命令/配置摘录:
# firewall-cmd --add-service=dns-over-tls
# ipa-replica-install --setup-dns --dns-over-tls --dot-forwarder <server_ip>#<dns_server_hostname>28.6. 配置一个现有的 IdM DNS 服务器来使用 eDNS
- 要点:您可以通过重新配置集成的 DNS 服务,在现有身份管理(IdM)服务器上启用 DNS-over-TLS (DoT)。使用 ipa-dns-install 工具和特定于 DoT 的选项来更新 DNS 配置,而无需重新安装服务器。
- 要点:先决条件
- 列表:有到 IdM 服务器的 root 访问权限。
- 列表:DNS 已安装在 IdM 服务器上。
- 列表:可选:验证您的 IdM 服务器是否使用集成的 DNS: $ ipa server-role-find --role 'DNS server' --------------------- 1 server role matched --------------------- Server name: server.idm.example.com Role name: DNS server Role status: enabled ---------------------------- Number of entries returned 1 ----------------------------
- 列表:在 IdM 服务器上安装 ipa-server-encrypted-dns 软件包: # dnf install ipa-server-encrypted-dns
- 列表:更新集成的 DNS 服务,以启用 DoT 并配置 DoT 策略和转发器: # ipa-dns-install --dns-over-tls --dot-forwarder "<server_ip>#<dns_server_hostname>" --dns-policy enforced -U 有关选项的完整列表请查看系统中的 ipa-dns-install (1) 手册页。
- 列表:在 系统防火墙 中添加 dns-over-tls 服务,来为 DoT 流量打开端口 853/TCP : # firewall-cmd --add-service=dns-over-tls
- 命令/配置摘录:
$ ipa server-role-find --role 'DNS server' --------------------- 1 server role matched --------------------- Server name: server.idm.example.com Role name: DNS server Role status: enabled ---------------------------- Number of entries returned 1 ----------------------------
# dnf install ipa-server-encrypted-dns28.7. ipa-server-install 和 ipa-dns-install 的 DoT 配置选项
- 要点:您可以使用 eDNS 配置选项来启用 IdM 部署,使用 ipa-server-install,或使用 ipa-dns-install 命令修改现有安装。
- 要点:--dns-policy 设置 DNS 安全策略
- 列表:--dns-over-tls 启用 DoT
- 列表:--dot-forwarder 使用 the- dot-forwarder < server_ip_1> # <dns_ server_hostname_1>--dot-forwarder < server_ip_2> # <dns_server_hostname_2> 格式指定 上游 DoT 服务器。例如,如果 dot.dns.example.com 是上游 DoT 服务器的名称,并且 198.51.100.143 是其 IP 地址,则 set --dot-forwarder 设为 198.51.100.143 Serialdot.dns.example.com。
- 列表:--dns-over-tls-key 和 --dns-over-tls-cert 配置自定义密钥和证书
- 列表:--dns-policy 设置 DNS 安全策略 --dns-policy=relaxed 允许加密的(DoT)和未加密的 DNS 查询。系统尝试使用 DoT,但如果 DoT 不可用,则回退到未加密的 DNS。这是默认策略。 --dns-policy=enforced 只需要加密的 DNS 通信。系统严格强制执行 DoT,并拒绝任何不支持加密的 DNS 解析,包括来自 IdM 客户端和副本的发现。
- 列表:--dns-policy=relaxed 允许加密的(DoT)和未加密的 DNS 查询。系统尝试使用 DoT,但如果 DoT 不可用,则回退到未加密的 DNS。这是默认策略。
- 列表:--dns-policy=enforced 只需要加密的 DNS 通信。系统严格强制执行 DoT,并拒绝任何不支持加密的 DNS 解析,包括来自 IdM 客户端和副本的发现。
28.8. 使用 Ansible 安装带有集成 eDNS 和集成的 root CA 的 IdM 服务器
- 要点:您可以使用 ansible-freeipa 软件包中的 ipaserver 角色来安装启用了 DNS-over-TLS (DoT)的身份管理(IdM)服务器。
- 要点:对于 DoT 的配置,您可以使用集成的 IdM 证书颁发机构(CA)发布的证书,或者提供外部 CA 发布的自定义证书。如果没有提供证书,IdM CA 会在安装过程中自动发布一个 DoT 证书。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定 secret.yml Ansible vault 存储了 ipaadmin_password,并且您可以访问存储保护 secret.yml 文件的密码的文件。
- 列表:查看 为 IdM 服务器安装准备系统 中所述的步骤。
- 列表:对于 enforced DoT,请完成 配置客户端和副本系统以专门使用 DoT 中的步骤。
- 列表:可选:对于外部证书颁发机构发布的 DoT 使用自定义 PEM 格式的证书和密钥: SSH 到您要安装 IdM 服务器的主机: $ ssh root@server.idm.example.com 创建两个文件,并为 命名 守护进程分配所有权: # openssl req \ -newkey rsa:2048 \ -nodes \ -keyout /etc/pki/tls/certs/privkey.pem \ -x509 \ -days 36500 \ -out /etc/pki/tls/certs/certificate.pem \ -subj "/C=<country_code>/ST=<state>/L=<loc…
- 命令/配置摘录:
$ ssh root@server.idm.example.com
# openssl req \ -newkey rsa:2048 \ -nodes \ -keyout /etc/pki/tls/certs/privkey.pem \ -x509 \ -days 36500 \ -out /etc/pki/tls/certs/certificate.pem \ -subj "/C=<country_code>/ST=<state>/L=<location>/O=<organization>/OU=<organizational_unit>/CN=<idm_server_fqdn>/emailAddress=<email>" && \ chown named:named /etc/pki/tls/certs/privkey.pem /etc/pki/tls/certs/certificate.pem- 注意:重要 您可以选择 enforced 或 relaxed 策略。默认情况下,安装程序使用 relaxed 策略,它尝试 DoT,但如果无法建立安全连接,则允许回退到标准未加密的 DNS。要应用 强制 策略,请将 ipaserver_dns_policy 变量设置为 Ansible playbook 的 vars 部分中 强制执行 的。
28.9. 使用 Ansible 安装带有集成 eDNS 和外部 root CA 的 IdM 服务器
- 要点:使用 Ansible 加密 DNS 流量,安装带有 DNS-over-TLS (DoT)和外部 root CA 的身份管理(IdM)服务器。
- 要点:您可以使用集成 IdM 证书颁发机构(CA)发布的证书,或者提供一个外部 CA 发布的自定义证书。如果没有提供证书,IdM CA 会在安装过程中自动发布一个 DoT 证书。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定 secret.yml Ansible vault 存储了 ipaadmin_password,并且您可以访问存储保护 secret.yml 文件的密码的文件。
- 列表:您已查看了 为 IdM 服务器安装准备系统 中所述的步骤。
- 列表:为 强制执行 DoT,您已完成了 配置客户端和副本系统以专门使用 DoT 中的步骤。
- 列表:可选:对于外部证书颁发机构发布的 DoT 使用自定义 PEM 格式的证书和密钥: SSH 到您要安装 IdM 服务器的主机: $ ssh root@server.idm.example.com 创建两个文件,并为 命名 守护进程分配所有权: # openssl req \ -newkey rsa:2048 \ -nodes \ -keyout /etc/pki/tls/certs/privkey.pem \ -x509 \ -days 36500 \ -out /etc/pki/tls/certs/certificate.pem \ -subj "/C=<country_code>/ST=<state>/L=<loc…
- 命令/配置摘录:
$ ssh root@server.idm.example.com
# openssl req \ -newkey rsa:2048 \ -nodes \ -keyout /etc/pki/tls/certs/privkey.pem \ -x509 \ -days 36500 \ -out /etc/pki/tls/certs/certificate.pem \ -subj "/C=<country_code>/ST=<state>/L=<location>/O=<organization>/OU=<organizational_unit>/CN=<idm_server_fqdn>/emailAddress=<email>" && \ chown named:named /etc/pki/tls/certs/privkey.pem /etc/pki/tls/certs/certificate.pem- 注意:重要 您可以选择 enforced 或 relaxed 策略。默认情况下,安装程序使用 relaxed 策略,它尝试 DoT,但如果无法建立安全连接,则允许回退到标准未加密的 DNS。要应用 强制 策略,请将 ipaserver_dns_policy 变量设置为 Ansible playbook 的 vars 部分中 强制执行 的。
28.10. 使用 Ansible 安装配置为使用 eDNS 的 IdM 客户端
- 要点:使用 Ansible 加密所有 DNS 查询以提高安全性,使用 DNS-over-TLS (DoT)安装身份管理(IdM)客户端。
- 要点:以下示例应用 强制的 DoT 策略,并要求客户端只使用 eDNS 查询。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定 secret.yml Ansible vault 存储了 ipaadmin_password,并且您可以访问存储保护 secret.yml 文件的密码的文件。
- 列表:您已通过客户端上的 TLS 为 DNS 配置解析器。
- 列表:在控制器上,创建一个名为 install-client-edns.yml 的 playbook,其中包含一个任务来安装启用了 eDNS 的 IdM 客户端: --- - name: Playbook to configure an IdM client with eDNS enabled hosts: ipaclients become: true vars_files: - /home/user_name/MyPlaybooks/secret.yml vars: ipaadmin_password: "{{ ipaadmin_password }}" ipaclient_domain=idm.example.com…
- 列表:运行 Ansible playbook: $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client-edns.yml
- 命令/配置摘录:
--- - name: Playbook to configure an IdM client with eDNS enabled hosts: ipaclients become: true vars_files: - /home/user_name/MyPlaybooks/secret.yml vars: ipaadmin_password: "{{ ipaadmin_password }}" ipaclient_domain=idm.example.com ipaclient_dns_over_tls=true roles: - role: freeipa.ansible_freeipa.ipaclient
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client-edns.yml28.11. 使用 Ansible 安装配置为使用 eDNS 的 IdM 副本
- 要点:使用 Ansible playbook 安装为 DNS-over-TLS (DoT)配置集成 DNS 服务的身份管理(IdM)副本。您可以通过将一致的 eDNS 和 DoT 策略应用到副本来自动部署安全 DNS 基础架构并确保查询隐私。
- 要点:当您安装带有集成 DNS 服务的副本时,副本使用与 IdM 服务器相同的配置。它运行 BIND 来处理传入的 DNS 查询,包括加密查询,并对传出的加密 DNS 流量使用 unbound 。
- 列表:您在使用 Ansible 版本 2.15 或更高版本。
- 列表:您已安装了 ansible-freeipa 软件包。
- 列表:示例假定 secret.yml Ansible vault 存储了 ipaadmin_password,并且您可以访问存储保护 secret.yml 文件的密码的文件。
- 列表:在控制器上,创建一个名为 install-replica-edns.yml 的 playbook,其中包含一个任务来安装启用了 eDNS 的 IdM 副本: --- - name: Playbook to configure an IdM replica with eDNS enabled hosts: ipareplicas become: true vars_files: - /home/user_name/MyPlaybooks/secret.yml vars: ipaadmin_password: "{{ ipaadmin_password }}" ipareplica_domain=idm.example.…
- 列表:运行 Ansible playbook: $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica-edns.yml
- 列表:在 IdM 服务器上,列出拓扑中的所有副本: # ipa-replica-manage list-ruv
- 命令/配置摘录:
--- - name: Playbook to configure an IdM replica with eDNS enabled hosts: ipareplicas become: true vars_files: - /home/user_name/MyPlaybooks/secret.yml vars: ipaadmin_password: "{{ ipaadmin_password }}" ipareplica_domain=idm.example.com ipareplica_dns_over_tls=true roles: - role: freeipa.ansible_freeipa.ipareplica
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica-edns.yml第 29 章 在现有 IdM 服务器上安装 DNS
- 要点:将 DNS 服务添加到最初没有安装的现有身份管理(IdM)服务器中。您可以在 IdM 框架中管理 DNS 记录,并确保服务器自动生成和更新自己的服务记录。
- 要点:先决条件
- 列表:您了解使用带有集成 DNS 的 IdM 的优点和限制,如 安装 IdM 服务器:带有集成 DNS,带有集成的 CA 作为 root CA 中所述。
- 列表:您有到 IdM 服务器的 root 访问权限。
- 列表:可选:在 IdM 服务器上,验证 DNS 是否尚未安装: # ipa server-role-show server.idm.example.com Role name: DNS server Server name: server.idm.example.com Role name: DNS server Role status: absent 输出确认服务器上没有 IdM DNS 。
- 列表:下载 ipa-dns-server 软件包及其依赖项: # dnf install ipa-server-dns
- 列表:在 IdM 服务器上,启动脚本来在服务器上安装 DNS: # ipa-dns-install 脚本提示每台服务器的 DNS 转发器。 Do you want to configure DNS forwarders? [yes]: 要配置每台服务器的 DNS 转发器,请输入 yes,然后按照命令行中的说明操作。安装过程会将转发器 IP 地址添加到 IdM LDAP。 有关转发策略的默认设置,请参阅 ipa-dns-install(1) 手册页中的 --forward-policy 描述。 如果您不想使用 DNS 正向解析,请输入 no。 如果没有 DNS 转发器,您 IdM 域中的主机将不能解析来自基础架构中其他的、内部的、DNS …
- 列表:脚本提示每台服务器的 DNS 转发器。 Do you want to configure DNS forwarders? [yes]: 要配置每台服务器的 DNS 转发器,请输入 yes,然后按照命令行中的说明操作。安装过程会将转发器 IP 地址添加到 IdM LDAP。 有关转发策略的默认设置,请参阅 ipa-dns-install(1) 手册页中的 --forward-policy 描述。 如果您不想使用 DNS 正向解析,请输入 no。 如果没有 DNS 转发器,您 IdM 域中的主机将不能解析来自基础架构中其他的、内部的、DNS 域的名称。主机将只剩下公共 DNS 服务器来解析其 DNS 查询。
- 命令/配置摘录:
# ipa server-role-show server.idm.example.com Role name: DNS server Server name: server.idm.example.com Role name: DNS server Role status: absent
# dnf install ipa-server-dns- 注意:注意 使用 IdM 管理反向区是可选的。您可以改为使用外部 DNS 服务来实现这一目的。
第 30 章 从 IdM 服务器卸载集成的 IdM DNS 服务
- 要点:通过在没有 DNS 角色的情况下重新安装副本,从身份管理(IdM)服务器中删除集成的 DNS。
- 要点:虽然可以使用 ipa-dns-install 命令将 DNS 角色添加到 IdM 服务器,但 IdM 不支持独立删除 DNS 角色,因为命令没有 a- uninstall 选项。
- 列表:您已在 IdM 服务器上安装了 DNS。
- 列表:这不是您的 IdM 拓扑中最后一个集成的 DNS 服务。
- 列表:识别冗余 DNS 服务,并按照在托管此服务的 IdM 副本上 卸载 IdM 服务器 中的流程操作。
- 列表:在同一个主机上,按照 没有集成的 DNS 中,有一个集成的 CA 作为 root CA 或 没有集成 DNS,有一个外部 CA 作为 root CA 中的流程操作,具体取决于您的用例。
第 31 章 在没有 CA 的部署中将 IdM CA 服务添加到 IdM 服务器
- 要点:如果您之前安装了没有证书颁发机构(CA)组件的身份管理(IdM)域,您可以将 IdM CA 服务添加到域中,以启用内部证书管理和增强安全性。
31.1. 将第一个 IdM CA 作为 root CA 安装到现有 IdM 域中
- 要点:在没有 CA 的现有 IdM 服务器上安装身份管理(IdM)证书颁发机构(CA)。您可以在不依赖于外部根 CA 的情况下提供本地证书服务并保持对安全基础架构的控制。
- 要点:先决条件
- 列表:您在 idmserver 上具有 root 权限。
- 列表:IdM 服务器安装在 idmserver 上。
- 列表:您的 IdM 部署没有安装 CA。
- 列表:您知道 IdM 目录管理器 的密码。
- 列表:在 idmserver 上,安装 IdM 证书服务器 CA: [root@idmserver ~] ipa-ca-install
- 列表:在拓扑中的每个 IdM 主机上,运行 ipa-certupdate 工具来使用 IdM LDAP 中的新证书的信息更新主机。 重要 如果在生成 IdM CA 证书后不运行 ipa-certupdate,则证书不会分发到其他 IdM 机器。
- 命令/配置摘录:
[root@idmserver ~] ipa-ca-install- 注意:重要 如果在生成 IdM CA 证书后不运行 ipa-certupdate,则证书不会分发到其他 IdM 机器。
31.2. 将第一个将外部 CA 作为 root CA 的 IdM CA 安装到现有 IdM 域中
- 要点:将身份管理(IdM) CA 从属安装到外部 root CA,以与现有证书基础架构集成。此设置将服务器配置为在 root 或中间机构直接运行以建立信任。
- 要点:先决条件
- 列表:您在 idmserver 上具有 root 权限。
- 列表:IdM 服务器安装在 idmserver 上。
- 列表:您的 IdM 部署没有安装 CA。
- 列表:您知道 IdM 目录管理器 的密码。
- 列表:开始安装: [root@idmserver ~] ipa-ca-install --external-ca
- 列表:等待命令行通知您证书签名请求(CSR)已保存。
- 命令/配置摘录:
[root@idmserver ~] ipa-ca-install --external-ca
[root@idmserver ~]# ipa-ca-install --external-cert-file=/root/master.crt --external-cert-file=/root/ca.crt- 注意:重要 在生成 IdM CA 证书后无法运行 ipa-certupdate 意味着证书不会被分发到其他 IdM 机器。
第 32 章 在带有 CA 的部署中将 IdM CA 服务添加到 IdM 服务器
- 要点:如果您之前安装了没有证书颁发机构(CA)组件的副本,您可以将 IdM CA 服务添加到该副本中,以启用证书操作并改进服务弹性。
- 要点:先决条件
- 列表:您在 idmserver 上具有 root 权限。
- 列表:IdM 服务器安装在 idmserver 上。
- 列表:您的 IdM 部署已在另一个 IdM 服务器上安装了 CA。
- 列表:您知道 IdM 目录管理器 的密码。
- 列表:在 idmserver 上,安装 IdM 证书服务器 CA: [root@idmserver ~] ipa-ca-install
- 命令/配置摘录:
[root@idmserver ~] ipa-ca-install- 注意:注意 对于以下场景,这个流程是相同的: IdM CA 是一个 root CA。 IdM CA 隶属于一个外部 root CA。
第 33 章 从 IdM 服务器卸载 IdM CA 服务
- 要点:如果您的拓扑中有超过四个带有 CA 角色 的身份管理(IdM)副本,并且由于冗余的证书复制而遇到性能问题,请从 IdM 副本中删除冗余的 CA 服务实例。
- 要点:要做到这一点,您必须首先完全停用受影响的 IdM 副本,然后在其上重新安装没有 CA 服务的 IdM 。
- 列表:您已在拓扑中超过四个 IdM 服务器上安装了 IdM CA 服务。
- 列表:识别冗余 CA 服务,并按照在托管此服务的 IdM 副本上 卸载 IdM 服务器 中的流程操作。
- 列表:在同一台主机上,请按照 安装 IdM 服务器:带有集成 DNS,没有 CA 中的流程操作。
- 注意:注意 虽然您可以将 CA 角色 添加 到 IdM 副本中,但 IdM 没有提供一种从 IdM 副本中只 删除 CA 角色的方法:ipa-ca-install 命令没有 --uninstall 选项。这个限制适用于所有其他 IdM 服务器角色,包括 DNS 服务器、KRA 服务器、AD 信任代理 和 AD 信任控制器。对于每个情况,删除角色都需要完全弃用副本,并在不需要的角色的情况下重新安装它。
完整目录
- 手动和自动安装 IdM 服务器、副本和客户端
- 对红帽文档提供反馈
- 第 1 章 为 IdM 服务器安装准备系统
- 1.1. 先决条件
- 1.2. 硬件建议
- 1.3. IdM 的自定义配置要求
- 1.3.1. IdM 中的 IPv6 要求
- 1.3.2. 支持 IdM 中的加密类型
- 1.3.3. 支持 IdM 中系统范围的加密策略
- 1.3.4. FIPS 合规性
- 1.4. IdM 的时间服务要求
- 1.4.1. IdM 如何使用 chronyd 进行同步
- 1.4.2. IdM 安装命令的 NTP 配置选项列表
- 1.4.3. 确保 IdM 可以引用您的 NTP 时间服务器
- 1.5. 满足 IdM 的 DNS 主机名和 DNS 要求
- 1.6. IdM 的端口要求
- 1.7. 打开 IdM 所需的端口
- 1.8. 安装 IdM 服务器所需的软件包
- 1.9. 为 IdM 安装设置正确的文件模式创建掩码
- 1.10. IdM 安装的 fapolicyd 要求
- 1.11. IdM 安装命令的选项
- 第 2 章 安装 IdM 服务器:使用集成的 DNS,集成的 CA 作为 root CA
- 2.1. 带有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的交互式安装
- 2.2. 带有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的非互动安装
- 2.3. 其他资源
- 第 3 章 安装 IdM 服务器:具有集成的 DNS,具有外部 CA 作为根CA
- 3.1. 带有集成 DNS 和外部 CA 作为根 CA 的 IdM 服务器的交互式安装
- 3.2. 故障排除:外部 CA 安装失败
- 3.3. 其他资源
- 第 4 章 安装 IdM 服务器:使用集成的 DNS,没有 CA
- 4.1. 安装没有 CA 的 IdM 服务器所需的证书
- 4.2. 带有集成 DNS 和没有 CA 的 IdM 服务器的交互式安装
- 4.3. 其他资源
- 第 5 章 安装 IdM 服务器:没有集成的 DNS ,集成的 CA 作为 root CA
- 5.1. 没有集成的 DNS 和集成的 CA 作为 root CA 的 IdM 服务器的交互式安装
- 5.2. 没有集成 DNS 和集成 CA 作为根 CA 的 IdM 服务器的非互动安装
- 5.3. 外部 DNS 系统的 IdM DNS 记录
- 第 6 章 安装 IdM 服务器: 在不集成 DNS 的情况下,使用外部 CA 作为 root CA
- 6.1. 安装外部 CA 作为根 CA 的 IdM CA 时使用的选项
- 6.2. 没有集成的 DNS 和外部 CA 作为根 CA 的 IdM 服务器的交互式安装
- 6.3. 没有集成的 DNS 和外部 CA 作为根 CA 的 IdM 服务器的非互动安装
- 6.4. 外部 DNS 系统的 IdM DNS 记录
- 第 7 章 使用保存在 HSM 上的密钥和证书安装 IdM 部署
- 7.1. 支持的硬件安全模块
- 7.2. 安装带有密钥和证书存储在 HSM 上的集成的 CA 的 IdM 服务器
- 7.3. 安装带有密钥和证书存储在 HSM 上的外部 CA 的 IdM 服务器
- 7.4. 安装密钥和证书存储在 HSM 上的 IdM 副本服务器
- 7.5. 使用安装一个密钥和证书存储在 HSM 上的 KRA 服务器
- 7.6. 使用安装一个密钥和证书存储在 HSM 上的 KRA 克隆
- 第 8 章 安装带有自定义目录服务器和 LDIF 和 INI 文件中的证书颁发机构设置的 IdM 服务器或副本
- 8.1. 使用 LDIF 文件中的自定义目录服务器设置安装 IdM 服务器或副本
- 8.2. 安装一个带有 INI 文件中的自定义证书颁发机构设置的 IdM 服务器或副本
- 第 9 章 IdM 服务器安装故障排除
- 9.1. 查看 IdM 服务器安装错误日志
- 9.2. 第一个 IdM CA 服务器上的 CA 安装错误日志文件
- 9.3. 查看第一个 IdM CA 服务器上的 CA 安装错误
- 9.4. 删除部分 IdM 服务器安装
- 9.5. 其它资源
- 第 10 章 卸载 IdM 服务器或副本
- 第 11 章 重命名 IdM 服务器
- 第 12 章 更新 IdM 软件包
- 第 13 章 为 IdM 客户端安装准备系统
- 13.1. 安装 IdM 客户端支持的 RHEL 版本
- 13.2. IdM 客户端的 DNS 要求
- 13.3. IdM 客户端的端口要求
- 13.4. 将身份管理客户端限制为 IPv4
- 13.5. 安装 IdM 客户端所需的软件包
- 第 14 章 安装 IdM 客户端
- 14.1. 先决条件
- 14.2. 使用用户凭证安装客户端: 交互式安装
- 14.3. 使用一次性密码安装客户端:交互式安装
- 14.4. 非交互式身份管理客户端安装的选项
- 14.5. 安装客户端后删除前 IdM 配置
- 14.6. 测试 IdM 客户端
- 14.7. 在 IdM 客户端安装过程中执行的连接
- 14.8. IdM 客户端在安装后部署过程中与服务器的通信
- 14.9. SSSD 通信模式
- 14.10. certmonger 通讯特征
- 第 15 章 使用 Kickstart 安装 IdM 客户端
- 15.1. 使用 Kickstart 安装 IdM 客户端
- 15.2. 基于 Kickstart 的客户端安装
- 第 16 章 IdM 客户端安装故障排除
- 16.1. 检查 IdM 客户端安装错误
- 16.2. 解决客户端安装无法更新 DNS 记录时的问题
- 16.3. 解决客户端安装无法加入 IdM Kerberos 域时的问题
- 16.4. 解决客户端安装无法配置自动挂载的问题
- 16.5. 其他资源
- 第 17 章 重新注册 IdM 客户端
- 17.1. IdM 中的客户端重新注册
- 17.2. 使用用户凭证以交互方式重新注册客户端
- 17.3. 使用客户端 keytab 以非交互方式重新注册客户端
- 17.4. 测试 IdM 客户端
- 第 18 章 卸载 IdM 客户端
- 18.1. 卸载 IdM 客户端
- 18.2. 卸载 IdM 客户端:在以前的安装后执行额外的步骤
- 第 19 章 重命名 IdM 客户端系统
- 19.1. 准备 IdM 客户端以进行重命名
- 19.2. 卸载 IdM 客户端
- 19.3. 卸载 IdM 客户端:在以前的安装后执行额外的步骤
- 19.4. 重命名主机系统
- 19.5. 重新安装 IdM 客户端
- 19.6. 重新添加服务、重新生成证书和重新添加主机组
- 19.7. 其他资源
- 第 20 章 为 IdM 副本安装准备系统
- 20.1. 副本版本要求
- 20.2. 显示 IdM 软件版本
- 20.3. 授权在 IdM 客户端上安装副本
- 20.4. 授权在未注册到 IdM 的系统上安装副本
- 第 21 章 安装 IdM 副本
- 21.1. 先决条件
- 21.2. 安装带有集成的 DNS 和 CA 的 IdM 副本
- 21.3. 安装带有集成 DNS 且没有 CA 的 IdM 副本
- 21.4. 安装没有集成 DNS 但有 CA 的 IdM 副本
- 21.5. 安装没有集成 DNS 且没有 CA 的 IdM 副本
- 21.6. 安装 IdM 隐藏的副本
- 21.7. 测试 IdM 副本
- 21.8. 在 IdM 副本安装过程中执行的连接
- 第 22 章 IdM 副本安装故障排除
- 22.1. IdM 副本安装错误日志文件
- 22.2. 查看 IdM 副本安装错误
- 22.3. IdM 副本上的 CA 安装错误日志文件
- 22.4. 查看 IdM 副本上的 CA 安装错误
- 22.5. 删除部分 IdM 副本安装
- 22.6. 解决无效凭证错误
- 22.7. 其它资源
- 第 23 章 使用 Ansible playbook 来安装身份管理服务器
- 23.1. 先决条件
- 23.2. Ansible 及其安装 IdM 的优点
- 23.2.1. 使用 Ansible 安装 IdM 的优点
- 23.3. 安装 ansible-freeipa 软件包
- 23.4. 在文件系统中的 Ansible 角色位置
- 23.5. 为带有集成 DNS 和集成 CA 作为根 CA 的部署设置参数
- 23.6. 为带有外部 DNS 和集成 CA 作为根 CA 的部署设置参数
- 23.7. 使用 Ansible playbook 将集成 CA 的 IdM 服务器部署为 root CA
- 23.8. 为带有集成 DNS 和外部 CA 作为根 CA 的部署设置参数
- 23.9. 为带有外部 DNS 和外部 CA 作为根 CA 的部署设置参数
- 23.10. 使用 Ansible playbook 将外部 CA 部署 IdM 服务器作为 root CA
- 23.11. 使用 Ansible playbook 卸载 IdM 服务器或副本
- 23.12. 如果这会导致断开连接的拓扑,请使用 Ansible playbook 卸载 IdM 服务器
- 23.13. 其他资源
- 第 24 章 使用 Ansible playbook 安装身份管理副本
- 24.1. 先决条件
- 24.2. 指定用于安装 IdM 副本的基础、服务器和客户端变量
- 24.3. 使用 Ansible playbook 指定用于安装 IdM 副本的凭证
- 24.4. 使用 Ansible playbook 部署 IdM 副本
- 24.5. 使用 Ansible playbook 卸载 IdM 服务器或副本
- 第 25 章 使用 Ansible playbook 安装身份管理客户端
- 25.1. 先决条件
- 25.2. 为自动发现客户端安装模式设置清单文件的参数
- 25.3. 当在客户端安装过程中无法自动发现时设置清单文件的参数
- 25.4. 使用 Ansible playbook 进行 IdM 客户端注册的授权选项
- 25.5. 使用 Ansible playbook 部署 IdM 客户端
- 25.6. 在 Ansible 中使用一次性密码方法来安装 IdM 客户端
- 25.7. Ansible 安装后测试身份管理客户端
- 25.8. 使用 Ansible playbook 卸载 IdM 客户端
- 第 26 章 管理复制拓扑
- 26.1. 其他资源
- 26.2. IdM 副本之间的复制协议
- 26.3. 拓扑后缀
- 26.4. 拓扑片段
- 26.5. 使用 Web UI 查看并修改复制拓扑的可视化表示
- 26.6. 使用 CLI 查看拓扑后缀
- 26.7. 使用 CLI 查看拓扑段
- 26.8. 使用 Web UI 在两个服务器之间设置复制
- 26.9. 使用 Web UI 停止两个服务器之间的复制
- 26.10. 使用 CLI 在两个服务器之间设置复制
- 26.11. 使用 CLI 停止两个服务器之间的复制
- 26.12. 使用 Web UI 从拓扑中删除服务器
- 26.13. 使用 CLI 从拓扑中删除服务器
- 26.14. 删除过时的 RUV 记录
- 26.15. 使用 IdM Web UI 查看 IdM 拓扑中可用的服务器角色
- 26.16. 使用 IdM CLI 查看 IdM 拓扑中可用的服务器角色
- 26.17. 将副本提升到 CA 续订服务器和 CRL 发布程序服务器
- 26.18. 演示或提升隐藏副本
- 第 27 章 安装并运行 IdM Healthcheck 工具
- 27.1. IdM 中的 Healthcheck
- 27.2. 安装 IdM Healthcheck
- 27.3. 手动运行 IdM Healthcheck
- 27.4. 其他资源
- 第 28 章 在 IdM 中保护带有 DoT 的 DNS
- 28.1. IdM 中加密的 DNS
- 28.2. 安装一个配置为使用 eDNS 的 IdM 服务器
- 28.3. 将客户端和副本系统配置为专门使用 DoT
- 28.4. 安装一个配置为使用 eDNS 的 IdM 客户端
- 28.5. 安装一个配置为使用 eDNS 的 IdM 副本
- 28.6. 配置一个现有的 IdM DNS 服务器来使用 eDNS
- 28.7. ipa-server-install 和 ipa-dns-install 的 DoT 配置选项
- 28.8. 使用 Ansible 安装带有集成 eDNS 和集成的 root CA 的 IdM 服务器
- 28.9. 使用 Ansible 安装带有集成 eDNS 和外部 root CA 的 IdM 服务器
- 28.10. 使用 Ansible 安装配置为使用 eDNS 的 IdM 客户端
- 28.11. 使用 Ansible 安装配置为使用 eDNS 的 IdM 副本
- 第 29 章 在现有 IdM 服务器上安装 DNS
- 第 30 章 从 IdM 服务器卸载集成的 IdM DNS 服务
- 第 31 章 在没有 CA 的部署中将 IdM CA 服务添加到 IdM 服务器
- 31.1. 将第一个 IdM CA 作为 root CA 安装到现有 IdM 域中
- 31.2. 将第一个将外部 CA 作为 root CA 的 IdM CA 安装到现有 IdM 域中
- 第 32 章 在带有 CA 的部署中将 IdM CA 服务添加到 IdM 服务器
- 第 33 章 从 IdM 服务器卸载 IdM CA 服务
