我已经在 Ubuntu 16.04 机器上安装了 LDAP,使用以下命令:
sudo apt install slapd ldap-utils
这是我的配置文件/etc/ldap/ldap.conf
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=domain,dc=local
URI ldap://domain.local:389
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
# TLS certificates (needed for GnuTLS)
#TLS_CACERT /etc/ssl/certs/ca-certificates.crt
我已经检查了 LDAP 的状态,它正在运行,并且相关服务器上根本没有运行任何防火墙:
但是,当我运行时ldapsearch -x
它告诉我:
ldap_sasl_bind(SIMPLE):无法联系 LDAP 服务器(-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 domain.local:389
ldap_new_socket: 4
ldap_prepare_socket: 4
ldap_connect_to_host: Trying 192.168.9.74:389
ldap_pvt_connect: fd: 4 tm: -1 async: 0
attempting to connect:
connect errno: 111
ldap_close_socket: 4
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
这是我的主机文件,如果我 ping 该域,它会返回 IP:
127.0.0.1 localhost
192.168.9.74 domain.local
答案1
ldapsearch
根本无法打开到 192.168.9.74 端口 389 的 TCP 连接。
造成这种情况的原因可能有很多(不包括您在问题中已经排除的原因):
- 防火墙
- 拍打没有真正监听 IP 地址 192.168.9.74(使用 检查
netstat -tulpn
)