我在centos虛擬機(使用boot2docker虛擬機運行)中有一個ldap服務器+ kerberos安裝程序我試圖將它們用於我的Web應用程序身份驗證(從主機 - 我的macbook )。openldap + kerberos - 無法到達域中的任何KDC
對於身份驗證,我需要使用「GSSAPI」機制,而不是簡單的綁定。 「簡單綁定」工作正常,但「GSSAPI」方法無法正常工作。
我收到以下錯誤,每當我嘗試「ldapwhoami命令」命令(我跑「的kinit」運行ldapwhoami命令之前,爲了確保我擁有有效的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服務器端正在完美工作,意味着我測試了它們在諸如「ldapsearch」,「ldapwhoami」等Centos虛擬機中的地方,我有我的ldap服務器+ kerberos安裝程序,它的工作正常。我能夠看到適當的輸出。
只有當我從我的筆記本電腦(客戶端)嘗試相同的命令時出現錯誤(高於錯誤)。
注意:即使我從我的筆記本電腦創建主機主體(host/[email protected]),並使用'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
/etc/hosts文件中的客戶端文件(的MacBook):
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,並且我正在執行從boot2docker vm到所有與LDAP和Kerberos相關的默認端口上的docker映像的端口轉發(88,389,464 & 749)
任何想法,爲什麼我得到這個錯誤?
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還是別的?有什麼建議麼?
Thanks Till!在我的docker鏡像中啓用udp端口解決了這個問題:) – Arun 2015-01-23 01:08:03