首页 文章

openldap无法绑定ldaps://127.0.0.1:636

提问于
浏览
0

这是我的测试用例:

[root@192.168.121.130~ $] slapd -d 1 -h ldaps://127.0.0.1:636 @(#)$ OpenLDAP:slapd 2 . 4 . 23(2013年4月29日07:47:08)$ mockbuild @ c6b7 .bsys.dev.centos.org:/builddir/build/BUILD/openldap-2.4.23/openldap-2.4.23/build-servers/servers/slapd ldap_pvt_gethostbyname_a:host = centos-6.3,r = 0 daemon_init:listen on ldaps://127.0.0.1:636 daemon_init:1个要打开的侦听器... ldap_url_parse_ext(ldaps://127.0.0.1:636)守护程序:bind(7)失败errno = 98(地址已在使用中)slap_open_listener:失败ldaps://127.0.0.1:636 slapd停止了 . connections_destroy:没什么好破坏的 .

但如果我改变另一个端口,例如 6361 ,它就可以了 .

我的环境:

OS:centos 6.4 x86_64 OpenLDAP:由yum安装的2.4.23

有什么建议吗?

2 回答

  • 0

    似乎另一个服务已在端口636上运行:

    daemon: bind(7) failed errno=98 (Address already in use)
    

    您可以尝试以下命令来标识此服务:

    netstat -tulpn | grep ':636 ' | grep 'LISTEN'
    
  • 1

    老帖子,但还是......

    当SELinux阻止slapd启动时,也会显示此错误 . 我个人在将数据(/ var / lib / ldap /)从另一台服务器手动复制到此服务器后经历过这种情况 . 我不得不将导入的文件恢复为默认的SELinux安全上下文:

    restorecon -R /var/lib/ldap
    

    我认为这不适用于您,但如果您尝试将slapd绑定到一个不同寻常的端口,也可能会发生这种情况 . 在CentOS7上默认,这些是允许的端口:

    #semanage port -l | grep ldap
    ldap_port_t                    tcp      389, 636, 3268, 7389
    ldap_port_t                    udp      389, 636
    

    在法定端口范围中添加另一个,可以使用semanage完成 . (您可能需要安装包policycoreutils-python . ):

    semanage port -a -t ldap_port_t -p tcp 10389
    

    ...除了上面列出的四个之外,如果你想允许slapd绑定在TCP端口10389上 . 在此之后,之前的结果将如下所示:

    # semanage port -l | grep ldap
    ldap_port_t                    tcp      10389, 389, 636, 3268, 7389
    ldap_port_t                    udp      389, 636
    

相关问题