gpt4 book ai didi

ldap - openldap + kerberos - 无法访问领域中的任何 KDC

转载 作者:行者123 更新时间:2023-12-04 12:38:57 30 4
gpt4 key购买 nike

我在 centos vm 中有一个 ldap 服务器 + kerberos 设置(使用 boot2docker vm 运行)我正在尝试将它们用于我的 Web 应用程序身份验证(来自主机 - 我的 macbook)。

对于身份验证,我需要使用“GSSAPI”机制,而不是简单的绑定(bind)。 “简单绑定(bind)”运行良好,但基于“GSSAPI”的方法不起作用。

每当我尝试“ldapwhoami”命令时,我都会收到以下错误(我在运行 ldapwhoami 之前运行了“kinit”以确保我有有效的 kerberos TGT)

ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (see text (unable to reach any KDC in realm DEV.EXAMPLE.COM, tried 1 KDC)

请注意,LDAP 服务器和 kerberos 服务器端运行良好,这意味着我在我有 ldap 服务器 + kerberos 设置的 centos VM 中使用“ldapsearch”、“ldapwhoami”等内容对它们进行了测试,它工作正常。我能够看到他们的正确输出。

只有当我从我的笔记本电脑(客户端)尝试相同的命令时,我才会收到错误(以上错误)。

注意:即使我从笔记本电脑创建了主机主体 (host/mymacbook.dev@DEV.EXAMPLE.COM),并使用“kadmin”将其添加到本地 krb5.keytab 文件中。

以下是我的客户端配置:

客户端(macbook)中的/etc/krb5.conf 文件:
[libdefaults]
default_realm = DEV.EXAMPLE.COM
ticket_lifetime = 24000
dns_lookup_realm = false
dns_lookup_kdc = false

[realms]
DEV.EXAMPLE.COM = {
kdc = d4dc7089282c
admin_server = krb.example.com
}

[domain_realm]
.dev.example.com = DEV.EXAMPLE.COM
dev.example.com = DEV.EXAMPLE.COM
.example.com = DEV.EXAMPLE.COM
example.com = DEV.EXAMPLE.COM

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

[logging]
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log

客户端(macbook)中的/etc/hosts 文件:
127.0.0.1       localhost
192.168.59.3 mymacbook.dev
255.255.255.255 broadcasthost
::1 localhost


192.168.59.103 ldapserver.example.com
192.168.59.103 d4dc7089282c
192.168.59.103 krb.example.com

192.168.59.103 是我的 boot2docker vm ip,我在与 LDAP 和 kerberos 相关的所有默认端口(88、389、464 和 749)上进行从 boot2docker vm 到 docker 镜像的端口转发

知道为什么我会收到此错误吗?
ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (see text (unable to reach any KDC in realm DEV.EXAMPLE.COM, tried 1 KDC)

它与DNS或其他有关吗?有什么建议么?

最佳答案

在 MacOS 上,默认客户端不会回退到 TCP。
在您的 krb.conf 中为您的 kdc 添加 tcp/ 前缀如果您的网络阻止 UPD 流量,则强制客户端使用 TCP(正如某些网络管理员可能会做的那样)。

kdc = tcp/ds01.int.domain.com:88

关于ldap - openldap + kerberos - 无法访问领域中的任何 KDC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27053539/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com