Portal:FreeIPA/Installation
简介
警告:FreeIPA 4.1.4 在 2015 年下半年在 Tumbleweed 上可用,但由于缺乏维护,它不再分发中可用。本文仅作为历史参考。
目标
安装指南将引导您完成功能齐全且容错的 FreeIPA 集群以及 FreeIPA 客户端的设置。整个设置包括一个证书颁发机构、FreeIPA 服务器和副本、集中管理的自动挂载(用于主目录)和 sudo 规则、IPA 客户端机器和用户注册 - 所有这些都在“linuxdom.net”域下。
先决条件 - 软件
作为一个集成解决方案,FreeIPA 服务器和副本运行完整的 FreeIPA 服务器软件,并具有对以下软件的额外依赖性:
- 389 目录服务器
- Kerberos 服务器
- Bind(DNS 服务器)
- NTP(时间同步)
为了进行身份验证和访问,FreeIPA 客户端需要 Kerberos 和 FreeIPA 客户端、YaST 身份验证客户端模块以及 SSSD(系统安全服务守护程序)。软件安装过程将在后面的部分中详细说明。
先决条件 - 机器和网络
我们需要一个“linuxdom.net”域下的专用网络,以及专用网络中的三台机器:
- IPA 服务器 - ipa-primary.linuxdom.net (192.168.122.33)
- IPA 副本 - ipa-standby.linuxdom.net (192.168.122.27)
- IPA 客户端 - pulautin.linuxdom.net (192.168.122.143)
IPA 服务器和副本必须使用静态 IP 地址,并且名称解析应正常工作,并能够在专用网络中将主机名解析为相应的 IP 地址。
如果名称解析不正常或 IPA 服务器(主服务器和备用服务器)无法解析为其各自的 IP 地址,则在安装过程中必须采取额外的预防措施和步骤。这些步骤在后面的部分中详细说明。
证书颁发机构
公钥基础设施是身份管理的一个组成部分,因此在安装 FreeIPA 之前,我们准备一个新的证书颁发机构以及必要的目录、Kerberos 和 Web 服务证书。
openSUSE 通过提供“YaST CA 管理模块”中的图形和分步界面,使 CA 管理变得简单,可以通过以下方式安装:
请注意,上游 FreeIPA 版本中捆绑的 Dogtag PKI 和 Certmonger 功能在此 openSUSE 端口中不可用。
接下来,对于我们的设置,我们将创建一个新的证书颁发机构,并为 IPA 服务器和副本创建两个证书。
创建一个新的根证书颁发机构
稍后,我们将把保存的 CA 证书分发到 IPA 服务器、IPA 副本和所有 IPA 客户端机器。
准备 IPA 服务器证书
每个目录服务、Kerberos 服务和 Web 服务都需要服务器证书才能正常运行。它们可以使用单独的证书,但是,在我们的设置中,我们将仅对所有三个服务使用一个证书。
将导出的 PKCS12 文件“ipa-primary.p12”复制到 IPA 服务器机器。
准备 IPA 副本证书
IPA 副本也使用目录、Kerberos 和 Web 服务的服务器证书。就像我们为 IPA 服务器创建证书一样,请记住将通用名称与主机名匹配。
|
输入证书详细信息在 YaST CA 管理模块中,输入 CA 并使用熟悉的过程创建服务器证书。请记住将通用名称与 IPA 副本的主机名匹配。
|
|
导出证书到文件导出 IPA 副本证书,也以 PKCS12 格式导出,且不包含 CA 链。
|
将导出的 PKCS12 文件“ipa-standby.p12”复制到 IPA 服务器和 IPA 副本机器。
通用 CA 和 LDAP 配置
在继续安装或配置 IPA 服务器、副本或客户端之前,涉及的机器必须信任我们刚刚创建的 CA。必须在所有将运行 IPA 服务器、副本或客户端的机器上执行此过程。
将导出的 CA 证书(LinuxDomCA.crt)复制到“/etc/pki/trust/anchors/”并运行每个机器上的以下命令:
编辑全局 LDAP 客户端配置 /etc/openldap/ldap.conf
TLS_CACERT /etc/pki/trust/anchors/LinuxDomCA.crt URI ldap://ipa-primary.linuxdom.net ldap://ipa-standby.linuxdom.net BASE dc=linuxdom,dc=net
LDAP 参数“URI”和“BASE”配置为方便起见,以便默认情况下 LDAP 客户端将在 IPA 服务器的冗余集群上运行查询。
FreeIPA 服务器
FreeIPA 安装会将服务器转换为专门的 IPA 服务器。出于安全原因,请避免将服务器用于其他角色,例如 Web 托管或运行业务应用程序。对于一个相对较小的组织(少于 100 个用户),服务器需要大约 400MB 的内存。
安装所有 FreeIPA 包和依赖项将自动安装
安装
在我们的设置中,预计服务器的主机名是“ipa-primary”,并且完全限定域名(FQDN)应在“linuxdom.net”域中,运行 hostname 命令进行验证
# hostname ipa-primary # hostname -f ipa-primary.linuxdom.net
如果主机名或 FQDN 不正确,安装可能仍然会继续,但是名称必须手动更正并输入到 hosts 文件中
# hostnamectl set-hostname ipa-primary.linuxdom.net
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:73:de:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.33/24 brd 192.168.122.255 scope global ens3
valid_lft forever preferred_lft forever
# echo '192.168.122.33 ipa-primary.linuxdom.net ipa-primary' >> /etc/hosts
hosts 文件中的条目必须先列出 FQDN,然后再列出主机名。
现在可以开始安装。调用 ipa-serverinstall 命令,然后将启动安装向导(CLI)。
# ipa-server-install \ --ca-cert-file=LinuxDomCA.crt \ --dirsrv-cert-file=ipa-primary.p12 --dirsrv-pin=p12_password \ --http-cert-file=ipa-primary.p12 --http-pin=p12_password \ --pkinit-cert-file=ipa-primary.p12 --pkinit-pin=p12_password
安装向导将询问有关网络环境、IPA 名称解析服务和 IPA 管理员密码的几个问题。仔细回答问题,最终安装将需要几分钟才能完成。
我们 linuxdom.net 安装的完整对话和输出在此处提供:ipa-server-install Example Output
验证
服务器安装成功完成后,我们可以通过在 IPA 服务器上运行以下命令来验证 FreeIPA 是否正常运行
# kinit admin Password for admin@LINUXDOM.NET: <enter IPA Admin password> # klist ... Default principal: admin@LINUXDOM.NET ... # klist -k Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 2 host/ipa-primary.linuxdom.net@LINUXDOM.NET ... # ipa user-show admin User login: admin Last name: Administrator Home directory: /home/admin Login shell: /bin/bash UID: 1435400000 GID: 1435400000 Account disabled: False Password: True Member of groups: admins, trust admins Kerberos keys available: True # ipa host-show ipa-primary Host name: ipa-primary.linuxdom.net Principal name: host/ipa-primary.linuxdom.net@LINUXDOM.NET Password: False Keytab: True Managed by: ipa-primary.linuxdom.net
恭喜,您的 IPA 服务器现在正在运行并正常运行!
为副本准备
一个 IPA 服务器是一个单点故障;为了减轻单个 IPA 服务器引起的潜在停机时间,我们将很快安装一个 IPA 副本。在继续安装 IPA 副本之前,必须准备服务器并将“副本信息”文件传递给副本机器,方法是运行以下命令:
# ipa-replica-prepare ipa-standby.linuxdom.net \ --http-cert-file ipa-standby.p12 \ --dirsrv-cert-file ipa-standby.p12 \ --ip-address 192.168.122.27
ipa-replica-prepare 向导(CLI)将要求输入 IPA 目录管理器密码以及解锁文件 ipa-standby.p12 的密码。最终,将生成一个名为“replica-info-ipa-standby.linuxdom.net.gpg”的文件。
将文件复制到 IPA 副本机器,准备工作完成。我们 linuxdom.net 副本准备的完整对话和输出在此处提供:ipa-replica-prepare Example Output
FreeIPA 副本
设置后,IPA 副本成为服务器的完整副本,共享有关用户、机器、策略等的相同内部信息。所有 IPA 副本都是“主”服务器,IPA 客户端可以联系任何可用的 IPA 服务器或副本。通过引入 IPA 副本,消除了 IPA 服务器的单点故障。
IPA 副本的软件、网络和硬件要求与普通 IPA 服务器相同。出于安全原因,请避免将副本用于其他角色,例如 Web 托管或运行业务应用程序。
在上一节中,我们准备了 IPA 服务器以进行副本设置,很快我们将安装 IPA 副本。首先安装软件包,IPA 副本使用所有 FreeIPA 软件包和依赖项
安装
首先,请确保已在副本机器上执行 CA 和 LDAP 配置,如通用 CA 和 LDAP 配置中所述,否则副本安装肯定会失败。
就像 IPA 服务器一样,副本也需要正确配置主机名和 FQDN。用于验证 IPA 服务器上的主机名的技术适用于此处。
主机名验证后,可以开始安装副本。调用 ipa-replica-install 命令,然后将启动安装向导(CLI)。
# ipa-replica-install \ --setup-dns --forwarder 8.8.8.8 \ --skip-conncheck \ replica-info-ipa-standby.linuxdom.net.gpg
在我们的设置中,启用了 DNS 服务,以便为 IPA 客户端提供冗余名称解析服务器。我们 linuxdom.net 副本安装的完整对话和输出在此处提供:ipa-replica-install Example Output
请注意,“--skip-conncheck”禁用连接检查,该检查测试副本与已复制服务器之间的 Kerberos、LDAP 和 SSH 连接。除非已配置已复制的服务器作为其自身的客户端,否则 SSH 连接测试将失败;由于我们不打算这样做,因此必须跳过连接检查。
验证
副本安装成功完成后,我们可以通过在 IPA 副本上运行以下命令来验证 FreeIPA 是否正常运行
# kinit admin Password for admin@LINUXDOM.NET: <enter IPA admin password> # klist ... Default principal: admin@LINUXDOM.NET ... # klist -k Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 2 host/ipa-standby.linuxdom.net@LINUXDOM.NET ... # ipa host-show ipa-standby Host name: ipa-standby.linuxdom.net Principal name: host/ipa-standby.linuxdom.net@LINUXDOM.NET Password: False Keytab: True Managed by: ipa-standby.linuxdom.net # ipa user-show admin User login: admin Last name: Administrator Home directory: /home/admin Login shell: /bin/bash UID: 1435400000 GID: 1435400000 Account disabled: False Password: True Member of groups: admins, trust admins Kerberos keys available: True
管理
FreeIPA 提供了一个 Web UI 应用程序来管理所有实体和策略。Web UI 应用程序在每个服务器/副本上运行;管理员可以通过用户名/密码组合远程登录到 Web 应用程序。本地在每个服务器/副本上提供了一个命令行工具“ipa”,不幸的是,它不能用于管理此 openSUSE 端口中的远程服务器。
|
启动您最喜欢的浏览器并导航到任何 IPA 服务器/副本上的 HTTPS,输入 IPA 管理员凭据,然后浏览!
|
管理用户和主机
|
创建演示用户“matti”导航到“身份”, “用户”,然后单击“添加”。 填写用户详细信息并输入初始密码。作为 IPA 管理员,您可以随时编辑用户详细信息和重置密码。
|
|
创建演示主机“pulautin”导航到“身份”, “主机”,然后单击“添加”。 填写新机器的主机名和 IP 地址。主机名将立即通过 IPA DNS 服务解析。
|
管理自动挂载
我们的设置将自动将 IPA 客户端的 /home 目录挂载到存储服务器(在本例中为 ipa-primary)上的 NFS 共享。
|
为 /home 设置自动挂载导航到“网络服务”, “自动挂载”。创建一个新的位置(“officehome”),并在新的自动挂载密钥中输入 NFS 位置。 如果您的 NFS 服务器已启用 Kerberos,请记住使用以下内容为“挂载信息”添加前缀: -fstype=nfs4 -sec=krb5
|
管理 sudo
我们将赋予用户 matti 超级权限,授权他以任何身份在任何主机上运行任何命令。
|
输入 sudo 规则详情导航到“策略”、“Sudo”,然后点击“添加”。填写 sudo 规则表单。
|
命令行工具
几乎所有的管理任务都可以使用命令行工具“ipa”来执行,该工具在每个服务器/副本上本地可用。
在运行该工具之前,您必须使用具有 IPA 管理权限的用户获取 Kerberos 票据
# kinit admin Password for admin@LINUXDOM.NET: <enter IPA admin password> # klist ... Default principal: admin@LINUXDOM.NET ... # ipa host-show ipa-primary Host name: ipa-primary.linuxdom.net Principal name: host/ipa-primary.linuxdom.net@LINUXDOM.NET Password: False Keytab: True Managed by: ipa-primary.linuxdom.net
有关更多信息和示例,请参阅手册页
在这个 openSUSE 移植版本中,“ipa”不能用于管理远程 IPA 服务器/副本。
FreeIPA 客户端
要使机器能够使用 IPA,系统管理员必须处理机器的注册以及设置身份验证客户端 - 该过程涉及使用 IPA 命令行工具和 YaST 身份验证客户端模块。通过以下命令安装工具和所有必要的依赖项:
请注意,“ipa-client-install”是上游 FreeIPA 项目中用于 IPA 客户端配置的实用程序,在本 openSUSE 移植版本中不可用。
请记住,所有 IPA 客户端(以及服务器、副本)必须使用适当的 CA 和 LDAP 配置。如果客户端机器上尚未完成此操作,请重新访问 Common CA and LDAP configuration(通用 CA 和 LDAP 配置)。
注册新机器
私有网络中的 DHCP 服务器应配置为正确匹配 IPA 域名(linuxdom.net)并通告 IPA 服务器(和副本)作为 DNS 服务器。如果客户端机器上需要手动配置,请在 /etc/resolv.conf 中输入域名和名称服务器地址。
search linuxdom.net nameserver 192.168.122.33 # ipa-primary.linuxdom.net nameserver 192.168.122.27 # ipa-standby.linuxdom.net
通过编辑 /etc/krb5.conf 配置 Kerberos 客户端以在 IPA 领域中工作
[libdefaults]
default_realm = LINUXDOM.NET
forwardable = true
[realms]
LINUXDOM.NET = {
kdc = ipa-primary.linuxdom.net
kdc = ipa-standby.linuxdom.net
admin_server = ipa-primary.linuxdom.net
}
[domain_realm]
linuxdom.net = LINUXDOM.NET
.linuxdom.net = LINUXDOM.NET
参数“forwardable”使初始 Kerberos 票据的创建默认情况下可转发。除非显式将该参数设置为 true,否则 IPA 客户端自助单点登录将无法工作。
要完成主机注册过程,请使用 IPA 管理员的权限或根据 IPA 中定义的策略明确允许检索 keytab 的用户检索 IPA 客户端机器的 keytab。
# kinit admin Password for admin@LINUXDOM.NET: <enter password> # ipa-getkeytab -s ipa-primary.linuxdom.net -p host/pulautin.linuxdom.net -k /etc/krb5.keytab Keytab successfully retrieved and stored in: /etc/krb5.keytab
如果您决定使用涉及 Kerberos 启用的 NFSv4 NFS 服务器的 IPA Automount 功能,请记住为注册的主机检索 Kerberos keytab,例如
# ipa-getkeytab -s ipa-primary.linuxdom.net -p nfs/pulautin.linuxdom.net -k /etc/krb5.keytab Keytab successfully retrieved and stored in: /etc/krb5.keytab
通过运行 klist 验证 keytab 是否正确
# klist -k Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 1 host/pulautin.linuxdom.net@LINUXDOM.NET ...
使用 Yast 配置身份验证
IPA 客户端配置的其余部分使用 YaST 身份验证客户端模块完成。
Sudo 和名称服务切换
完成 YaST 身份验证客户端配置后,IPA 客户端现在接受 IPA sudo 规则和本地 /etc/sudoers 配置 - 并且本地配置优先。这是为了安全起见,以确保您不会因为 IPA 策略中的错误而锁定 sudo 访问权限。
请彻底测试 IPA Sudo 策略,然后编辑 /etc/nsswitch.conf,找到该行
并将其替换为
本地 sudo 配置将不再生效。从现在开始,只有 IPA sudo 规则适用。
体验桌面和 IPA 自助服务
重新启动客户端机器并使用 IPA 用户的凭据登录到您最喜欢的桌面。

















