如果在設定 LDAP 連線時遇到問題,本節可協助您對一些常見問題進行疑難排解。

無法預覽我的連線

如果無法預覽群組和使用者,在許多情況下,這是由於 LDAP 伺服器與 SaltStack Config 之間的連線問題或 LDAP 組態表單中的項目無效所導致。請嘗試執行以下操作:

  1. 確保允許從 SaltStack Config 到 LDAP 伺服器上所選連接埠的 TCP 連線。
  2. 再次檢查表單項目,然後使用第三方工具驗證語法。請參閱如何對目錄服務連線進行驗證和疑難排解
  3. 如果上述項目都無法解決問題,請參閱〈其他問題〉
  4. 如果上述項目沒有幫助,請連絡 SaltStack 支援。

嘗試預覽我的連線時,頁面載入過程停滯

如果頁面停滯載入時間超過兩分鐘,請遵循下列步驟重新啟動 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.