Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.3.9. 将 IdM 服务器配置为用于 Active Directory Kerberos 通讯的 Kerberos 分发中心代理

在某些情况下,网络限制或防火墙规则阻止身份管理(IdM)客户端将 Kerberos 流量发送到 Active Directory(AD)域控制器上的端口 88。解决方法是设置 Kerberos 代理,如身份管理服务器上,以将来自 IdM 客户端的流量中继到 AD。
  1. 在 IdM 客户端上,将 Active Directory 域添加到 /etc/krb5.conf 文件的 [realms] 部分。将 kdckpasswd_server 参数设置为指向 IdM 服务器的完全限定域名,后接 /KdcProxy':
    AD.EXAMPLE.COM = {
    	        kdc = https://server.idm.example.com/KdcProxy
    	        kpasswd_server = https://server.idm.example.com/KdcProxy
    	    }
  2. 在 IdM 客户端上,禁用创建 /var/lib/ss/pubconf/kdcinfo.* 文件,这些文件可覆盖上一步中的 /etc/krb5.conf 规格。编辑 /etc/sssd/sssd.conf 文件,将 krb5_use_kdcinfo 设置为 False:
    [domain/example.com]
    krb5_use_kdcinfo = False
  3. 在 IdM 服务器中,将 /etc/ipa/kdcproxy/kdcproxy.conf 文件中的 use_dns 选项设置为 true,以利用 DNS 服务(SRV)记录来查找 AD 服务器以便与之通信:
    use_dns = true
    另外,如果您不想使用 DNS SRV 记录,在 /etc/krb5.conf 文件的 [realms] 部分添加显式 AD 服务器:
    AD.EXAMPLE.COM = {
            kdc = ad-server.ad.example.com
            kpasswd_server = ad-server.ad.example.com
        }
    注意
    您可以通过运行脚本来执行流程的第 2 和 3 步,例如 Ansible 脚本。这在多个系统上进行更改时特别有用。
  4. 在 IdM 服务器中,重启 IPA 服务:
    # ipactl restart
  5. 要验证这个过程是否成功,请在 IdM 客户端中运行以下命令:
    # rm /var/lib/sss/pubconf/kdcinfo*
    # kinit ad_user@AD.EXAMPLE.COM
    Password for ad_user@AD.EXAMPLE.COM:
    # klist
    Ticket cache: KEYRING:persistent:0:0
    Default principal: ad_user@AD.EXAMPLE.COM
    
    Valid starting     Expires            Service principal
    [... output truncated ...]