G'day,我配置了在端口 636 上运行的 openldap-server 机器。我也可以从另一台 openldap-client 机器 telnet 到这个端口。为了保护连接,我使用此链接在服务器上创建了一个自签名证书,在此处输入链接描述 ,然后将证书文件复制到客户端。
我已经确保在两台机器上都禁用了 SELinux,并且客户端 /etc/openldap/ldap.conf 文件具有选项 TLS_REQCERT allow
客户端机器的详细配置为:
# cat ldap.conf
URI ldap://ad.dfsi.dev:636
BASE dc=dfsi,dc=dev
TLS_CACERTDIR /etc/openldap/cacerts
TLS_REQCERT allow
Run Code Online (Sandbox Code Playgroud)
和 nslcd 文件:
# cat /etc/nslcd.conf
tls_reqcert allow
ssl start_tls
tls_cacertdir /etc/openldap/cacerts
tls_reqcert allow
Run Code Online (Sandbox Code Playgroud)
如果我不使用 SSL,则 ldap 客户端可以访问所有 ldap 用户。但是,当我通过 authconfig-tui、ldaps://ad.xx.dev:636 更改配置以使用 TLS 时,它会失败。
日志说客户端成功连接到服务器,但随后服务器断开连接,如下所示:
ldapsearch -x -d 1
ldap_create
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ad.dfsi.dev:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying xx.xx.xx.xx:636
ldap_pvt_connect: fd: 3 tm: …Run Code Online (Sandbox Code Playgroud)