Aru*_*run 4 kerberos ldap openldap docker kdc
我在centos vm中有一个ldap服务器+ kerberos设置(使用boot2docker vm运行),并且我试图将它们用于我的Web应用程序身份验证(从主机-我的macbook)。
对于身份验证,我需要使用“ GSSAPI”机制,而不是简单的绑定。'简单绑定'可以正常工作,但是基于“ 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)
Run Code Online (Sandbox Code Playgroud)
请注意,LDAP服务器和kerberos服务器端运行正常,这意味着我在centos VM中使用了“ ldapsearch”,“ ldapwhoami”之类的东西对其进行了测试,其中我安装了ldap服务器+ kerberos,它的工作正常。我能够看到适合他们的输出。
仅当我从笔记本电脑(客户端)尝试相同的命令时,我才会收到错误(以上错误)。
注意:甚至我也从笔记本电脑创建了主机主体(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
Run Code Online (Sandbox Code Playgroud)
客户端(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
Run Code Online (Sandbox Code Playgroud)
192.168.59.103是我的boot2docker vm ip,我正在从boot2docker vm到与LDAP和kerberos(88、389、464和749)相关的所有默认端口上的端口转发到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)
Run Code Online (Sandbox Code Playgroud)
它与DNS或其他有关吗?有什么建议么?
在MacOS上,默认客户端不会退回到TCP。tcp/如果您的网络阻止了UPD流量,则在krb.conf中用kdc作为前缀,以强制客户端使用TCP(某些网络管理员可能这样做)。
kdc = tcp/ds01.int.domain.com:88
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9442 次 |
| 最近记录: |