如果在配置 LDAP 连接时遇到问题,本部分可帮助对一些常见问题进行故障排除。

无法预览连接

如果无法预览组和用户,在许多情况下,这是因为 LDAP 服务器与 SaltStack Config 之间的连接存在问题,或者 LDAP 配置表单中的条目无效。尝试执行以下操作:

  1. 确保允许从 SaltStack Config 到 LDAP 服务器上选定端口的 TCP 连接。
  2. 仔细检查表单条目,并使用第三方工具验证语法。请参见如何验证目录服务连接并进行故障排除
  3. 如果以上两项措施都无法解决问题,请参见下面的“其他问题”部分。
  4. 如果以上各项措施都无法解决问题,请联系客户支持。

尝试预览连接时,页面在加载时停滞不前

如果页面在加载时停滞不前超过两分钟,请按照以下步骤重新启动 RaaS 服务,然后删除并重新创建配置:

  1. 打开 RaaS 日志。
    tail -f /var/log/raas/raas

    该日志包含类似以下内容的错误:

    [ERROR    :256][ForkPoolWorker-2:10253][ldap_preview_background_task(some_uuid)]
    Task ldap preview_background_task[some_uuid]raised unexpected: KeyError('ad-1_preview')
  2. 停止 RaaS 服务,然后重新启动该服务。
    systemctl stop raas
    systemctl start raas
  3. 返回 SaltStack Config 用户界面并删除 LDAP 连接。
    注:

    在删除之前,您可能希望将配置条目复制粘贴到备份文本文件中。

  4. 重新创建 LDAP 配置。

其他问题

如果您已配置并保存 LDAP 连接,但用户无法登录,或者您遇到任何其他问题,请检查启用了扩展调试的 raas 日志,以帮助确定根本原因。

要启用扩展调试,请执行以下操作:

  1. 在 RaaS 上,打开 /etc/raas/raas
  2. 进行以下更改:
    • Loggingoptions 下,取消注释 log_file_loglevel:debug
    • AD/LDAPdriverconfiguration 下,取消注释 log_level 并设置为 log_level:EXTENDED
  3. 停止 RaaS 服务,然后重新启动该服务。
    systemctl stop raas
    systemctl start raas
  4. 查看 raas 日志。有关某些常见错误消息的描述,请参见常见错误消息
    tail -f /var/log/raas/raas

常见错误消息

您可能会在日志中看到以下常见错误:

  • 连接 (SSL) 设置错误。请调整 SSL 设置。
    [raas.utils.validation.schemas.settings][DEBUG   :546 ][Webserver:9096]
    Error while connecting to AD/LDAP Server. SSL connection issues: socket
    ssl wrapping error: [Errno 104] Connection reset by peer
  • 管理员绑定 DN 的密码错误。验证后重新输入密码。
    [raas.utils.rpc   ][DEBUG   :284 ][Webserver:9095]
    Processed RPC request(129360670417695). Response:
    {'riq': 129360670417695, 'ret': None, 'error': {'code': 3004, 'message':
    'Request validation failure.', 'detail': {'_schema':
    ['Credentials are not valid']}}, 'warnings': []}
  • 预填充的默认身份验证绑定 DN 筛选器产生冲突。请将该字段留空,或者使用 {username},而不使用 {{username}}
    注:

    您已保存 LDAP 连接但用户无法登录时,可能会遇到此错误。

    [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG   :903 ][Webserver:9096]
    Running _get_auth_backend_user with this search_filter: (&(objectclass=person)(sAMAccountName={username}))
    
    [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG   :931 ][Webserver:9096]
    Could not find any user using '(&(objectclass=person)(sAMAccountName={username}))'
    as the search filter in the ldap backend under the ad-1 configuration.
    Trying remote_uid 'None'
    
    [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG   :963 ][Webserver:9096]
    Could not find any user using '(&(objectClass=person)(objectGUID=None))'
    as the search filter in the ldap backend under the ad-1 configuration.