更改 IP 后无法通过 AD 进行身份验证

更改 IP 后无法通过 AD 进行身份验证

我有一个带有单个 AD 服务器的 Linux 环境。看起来之前的系统管理员使用 kerberos 和 sssd 设置了 ldap。最近我们进行了 IP 更改,更改了 AD 和所有 Linux 服务器上的 IP。现在我无法在我的 Linux 服务器上识别或获取任何 AD 用户,这阻止了我的用户登录 Linux 服务器。我的环境中出现以下错误“sssd_be:GSSAPI 错误:未指定的 GSS 故障。次要代码可能提供更多信息(Kerberos 数据库中未找到服务器)”

任何帮助都将不胜感激。仅供参考,我们在这个环境中不使用 dns,所有配置文件都相同,只是提到了 IP,但已更改为反映新 IP

我已经在论坛中搜索过类似的问题,但似乎没有什么可以解决我的问题。

运行科学计算 Linux 6

smb.conf

[global]
  netbios name = 10xxxx
  server string = <hostname>
  workgroup = <DOMAIN>
  client signing = yes
  client use spnego = yes
  kerberos method = secrets and keytab
  realm = <DOMAIN>.COM
  security = ADS
  log file = /var/log/samba/log.%m
  max log size = 50
  idmap uid = 20000-29999
  idmap gid = 20000-29999
  idmap config <DOMAIN>:backend = ad
  idmap config <DOMAIN>default = yes
  idmap config <DOMAIN>:range = 10000000-29999999
  idmap config <DOMAIN>:schema_mode = rfc2307
  winbind nss info = rfc2307
  winbind enum users = no
  winbind enum groups = no
  winbind separator = +
  winbind use default domain = yes
  winbind nested groups = yes

/etc/krb5.conf
[logging]
  default = FILE:/var/log/krb5libs.log
  kdc = FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log

[libdefaults]
  default_realm = <DOMAIN>.COM
  dns_lookup_realm = false
  dns_lookup_kdc = false
  ticket_lifetime = 24h
  renew_lifetime = 7d
  rdns = false
  forwardable = true
  default_tgs_enctypes = des-cbc-crc aes256-cts-hmac-sha1-96 arcfour-hmac
  default_tkt_enctypes = des-cbc-crc aes256-cts-hmac-sha1-96 arcfour-hmac

[realms]
  <DOMAIN>.COM = {
    kdc = 10.x.x.x
    admin_server = 10.x.x.x
  }

[domain_realm]
  .<domain>.com = <DOMAIN>.COM
  <domain>.com = <DOMAIN>.COM

[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

答案1

我可以使用 ldapsearch 进行查询。SSSD 找不到用户

不同之处在于,您使用普通的用户名/密码进行身份验证,而 SSSD 则尝试使用 Kerberos 及其“机器凭据”(每个 AD 成员机器都有)。

每个接受 Kerberos 身份验证的服务器(包括 AD 的 LDAP 服务器)都由基于客户端使用的域名(或 IP 地址,尽管 AD 不正式支持)的“主体名称”标识。例如,当连接到dc1.example.comLDAP 客户端时,将尝试获取 Kerberos 票证ldap/dc1.example.com@YOUR_REALM。(SSH 将使用host/…,SMB 将使用cifs/…。)

如果您的环境不使用 DNS(没有充分的理由),那么以前的系统管理员必须已将 IP 地址的主体名称直接添加到 AD DC,并且您需要更改它们以匹配您的新网络。

使用非 Kerberos 身份验证连接到 AD LDAP 服务器(可能需要 TLS/LDAPS),例如使用 Apache Directory Studio 或其他 LDAP 客户端,然后找到属于 LDAP 服务器本身的计算机帐户。编辑其servicePrincipalName属性(多值)以获取正确的名称。(如果服务器运行 Samba,您也可以使用samba-tool spn add。)

(没有必要更新密钥表因为 Samba LDAP 服务器也是 AD DC,并且将直接从 AD 数据库获取密钥。)

相关内容