PowerScale:重复的 Active Directory SPN 阻止对群集进行 SMB 客户端身份验证

摘要: 如何识别 Active Directory (AD) 中的重复服务主体名称 (SPN),这可能会导致 Kerberos 身份验证失败。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

使用 FQDN 访问 SMB 共享时通常会出现此问题,IP 正常工作。

在对群集进行身份验证时,重复的 SPN 名称或在错误的计算机对象上注册 SPN 会导致服务帐户和客户端登录失败。

以下客户端错误与此问题相关联: 

"The target account name is incorrect"

错误消息“目标帐户名称不正确”的屏幕截图 

重复的 SPN 可能会导致客户端尝试向错误的系统进行身份验证或具有错误的 Kerberos 密钥。请参阅 Microsoft 文章服务登录由于 SPN 设置不正确而失败(外部链接)

使用 SmartConnect 分区名称或别名进行身份验证的 SMB 客户端可能无法向群集共享进行身份验证。

在域控制器日志或 /var/log/lsassd.log,以下消息可能指示存在重复的 SPN。 

KDC_ERR_PRINCIPAL_NOT_UNIQUE  - Multiple entries in database

KRB_AP_ERR_MODIFIED   Message stream modified errors

Event ID 11 and/or Event ID 4 on Domain controllers can indicate duplicate SPNs.

原因

Active Directory 环境中的 SPN 配置不正确可能会导致重复。

解决方案

程序
有两个选项可用于查找重复的 SPN。 Setspn 是一个命令行实用程序,LDP 是仅在 Windows Server 2003 及更高版本上可用的图形界面。

使用 setspn 
从 Windows 命令行界面 (CLI) 中,使用 setspn /? 以了解该命令的其他选项。

使用以下方法找到重复项 setspn -x,这会搜索整个林,并且在大型环境中可能需要一些时间来处理。

命令 setspn q 按 SPN 名称进行查询,可能更适合更大的环境。

示例 1:
The SPN HOST/chomper.test.isilon.com 注册到名为 isicluster1 以及一个名为 win2k1

C:>setspn  -x
Checking domain DC=test,DC=isilon,DC=com
Processing Entry 0
HOST/chomper.test.isilon.com is registered on these accounts
                CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
                CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
Found 1 group of duplicate SPNs.

  
示例 2:

在较大的环境中,使用 setspn q <SPN> 或使用 LDP,如下所示。

C:>setspn  -q HOST/chomper.test.isilon.com
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
                HOST/chomper.test.isilon.com
                HOST/isicluster1
                HOST/isicluster1.test.isilon.com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
                HOST/chomper.test.isilon.com
                HOST/win2k1
                HOST/win2k1.test.isilon.com
 
Existing SPN found!

如果环境中的其他位置存在具有不同服务类标识符(如 CIFS)的 SPN,则在 setspn -x。您可以通过运行通配符搜索来搜索它:

C:\>setspn -q */isilon
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster2,CN=Computers,DC=test,DC=isilon,DC=com
                cifs/chomper.test.isilon.com


使用 LDP:
LDP - Microsoft Learn (外部链接)

  1. 单击“开始”,单击“运行”,键入 LDP,然后单击“确定”。
  2. 单击 连接,然后单击 连接
  3. 保留默认设置,然后单击 确定
     
    提醒:如果未收到预期结果,请使用全局编录端口 (3268) 而不是默认设置 (389) 尝试另一次搜索。
     
  4. 单击 连接,然后单击 绑定
  5. 保留默认设置,然后单击 确定
  6. 单击 查看,然后单击
  7. 树视图 对话框中,键入 DC=test,DC=isilon,DC=comBaseDN 框中。
  8. 单击 浏览,然后单击 搜索
  9. 搜索 对话框中,键入 DC=test,DC=isilon,DC=comBaseDN 框中。
  10. 搜索 对话框中,键入 (serviceprincipalname=HOST/<sczonename>) 在 筛选器 框中。
  11. 属性 对话框中,键入 servicePrincipalName
  12. “Scope”下,单击 “Subtree”。
  13. 单击 运行,然后关闭 搜索 对话框。
  14. 重复的 SPN 列出了两个指向两个不同 Dn 的条目
***Searching 
ldap_search_s(Id,  DC=test,DC=isilon,DC=com ,2,
    (serviceprincipalname=HOST/chomper.test.isilon.com) ,attrList, 0 &msg)
    Getting 2 entries:
Dn: CN=ISICLUSTER1,CN=Computers,DC=test,DC=isilon,DC=com
    servicePrincipalName (3): HOST/isicluster1; HOST/isicluster1.test.isilon.com;
      HOST/chomper.test.isilon.com
Dn: CN=WIN2K1,CN=Computers,DC=test,DC=isilon,DC=com
    servicePrincipalName (3): HOST/win2k1; HOST/win2k1.test.isilon.com;
      HOST/chomper.test.isilon.com


分辨率:
以下项的重复条目 win2k1 对于 HOST/chomper.test.isilon.com 应从 Active Directory 域中删除。

对 Active Directory 域具有域管理员、企业管理员或指定域管理权限的用户可删除重复条目。

删除重复条目的命令是 setspn -D <spn> <accountname>

C:>setspn  D HOST/chomper.test.isilon.com win2k1
Unregistering ServicePrincipalnames for CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
                HOST/chomper.test.isilon.com
Updated object

上面的输出确认 HOST/chomper.test.isilon.com 已从计算机中注销 win2k1。它现在仅注册到 isicluster1 计算机帐户。

 
提醒:如果 SPN 注册到错误的计算机帐户,则可以使用 setspn -D 命令,并使用 setspn -A 命令检查它们是否正在运行:
C:\>setspn -A HOST/<FQDN> <correct_machine_account>

其他信息

受影响的产品

Isilon, PowerScale OneFS

产品

Isilon
文章属性
文章编号: 000032723
文章类型: Solution
上次修改时间: 06 3月 2026
版本:  9
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。