Ldap

ldap_sasl_interactive_bind_s:無法聯繫 LDAP 伺服器 (-1)

  • October 27, 2020

我正在執行一個可以連接到的 LDAP,但是在想要離開 slapd.conf 並使用 ldif 時,我遇到了以下問題。

當我輸入:ldapsearch -H ldap:// -x -s base -b "" -LLL "+"

我明白了

dn:
structuralObjectClass: OpenLDAProotDSE
configContext: cn=config
namingContexts: dc=mysite,dc=com
supportedControl: 1.3.6.1.4.1.4203.1.9.1.1
supportedControl: 2.16.840.1.113730.3.4.18
supportedControl: 2.16.840.1.113730.3.4.2
supportedControl: 1.3.6.1.4.1.4203.1.10.1
supportedControl: 1.3.6.1.1.22
supportedControl: 1.2.840.113556.1.4.319
supportedControl: 1.2.826.0.1.3344810.2.3
supportedControl: 1.3.6.1.1.13.2
supportedControl: 1.3.6.1.1.13.1
supportedControl: 1.3.6.1.1.12
supportedExtension: 1.3.6.1.4.1.4203.1.11.1
supportedExtension: 1.3.6.1.4.1.4203.1.11.3
supportedExtension: 1.3.6.1.1.8
supportedFeatures: 1.3.6.1.1.14
supportedFeatures: 1.3.6.1.4.1.4203.1.5.1
supportedFeatures: 1.3.6.1.4.1.4203.1.5.2
supportedFeatures: 1.3.6.1.4.1.4203.1.5.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 3
supportedSASLMechanisms: SRP
supportedSASLMechanisms: SCRAM-SHA-1
supportedSASLMechanisms: GS2-IAKERB
supportedSASLMechanisms: GS2-KRB5
supportedSASLMechanisms: GSSAPI
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: OTP
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
entryDN:
subschemaSubentry: cn=Subschema

然後我嘗試:sudo ldapsearch -H ldapi:// -Y EXTERNAL -b "cn=config" -LLL -Q

導致: ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)

當我嘗試使用 ldap:// 而不是 ldapi:// 時,我得到:

ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
   additional info: SASL(-4): no mechanism available: 

我可以找到很多關於 TLS 和身份驗證的資訊,但我沒有配置任何 TLS/SSL,所以不確定為什麼會發生這種情況。有人經歷過嗎?

你確定你的slapd正在監聽 LDAPI 套接字嗎?

它必須從 `slapd -h “ldapi:// ldap://” 開始,例如監聽 Unix 域套接字(預設路徑名取決於建構選項)和明文 LDAP (389/tcp)。

根據您的 Linux 發行版(哪個?),可能有一些配置文件用於設置啟動腳本的參數。

另請注意,您需要更多配置以將 Linux 使用者root直接映射到授予對**cn=config的寫訪問權限的 LDAP 使用者,以進行更多重新配置。

在條目cn=config(前端配置)中,您需要將 authc-DN 重寫為正確的 authz-DN:

olcAuthzRegexp: {0}"gidnumber=0\+uidnumber=0,cn=peercred,cn=external,cn=auth" "cn=config"

在條目olcDatabase={0}config中,您需要這樣的 ACL:

olcAccess: {0}to
 dn.subtree="cn=config"
 by dn.base="cn=config" write

引用自:https://serverfault.com/questions/936658