我正在尝试运行本地LDAP代理缓存。这个想法是这样的:
data-load-type-property
正在将所有ldap请求发送到远程ldap服务器(A)
(L)
上应该有一个代理缓存“服务器”作为A
和A
之间的中间件。缓存将存储所有查询及其所有属性(直到它被填满,然后它开始“回收”)。OpenLDAP's Proxy Cache Engine看起来很不错,但没有太多关于如何设置它的信息。有一个示例配置文件,但我无法让它工作。
连接到互联网时,运行此命令将成功绑定我。
L
但是,每个后续请求仍将汇集远程LDAP服务器(如嗅探连接所示,当计算机与Internet断开连接时,本地绑定失败)。
在ldapwhoami -vvv -h localhost -D "CN=Melka Martin,OU=something,OU=else,(...),DC=int,DC=somedomain,DC=com" -x -w <passwd>
输出中有很多东西,但是可以忽略不计:
slapd
这是当前的配置文件,它应该缓存所有绑定请求
56449abd QUERY NOT ANSWERABLE
56449abd QUERY CACHEABLE
我创建了database ldap
suffix "dc=int,dc=somedomain,dc=com"
rootdn "cn=admin,dc=int,dc=somedomain,dc=com"
rootpw <something>
uri ldap://dc-04.int.somedomain.com:389
overlay pcache
pcache hdb 100000 1 1000 100
pcacheAttrset 0 *
pcacheTemplate (sn=) 0 3600
pcacheBind (sn=) 0 3600 sub dc=int,dc=somedomain,dc=com
cachesize 200
directory /var/lib/ldap
index objectClass eq
index cn eq,sub
目录,在其中添加了默认的/var/lib/ldap
文件,然后编辑了DB_CONFIG
文件。如果有更多的事情可以正确设置,你可以指导我吗?
我对slapd.conf
/ rootdn
指令感到有些困惑。它们用于写入远程LDAP服务器,对吗?
编辑:下面是原始问题,已使用完整合适的DN解决。
由于这应该只是一个代理缓存,我不需要设置本地数据库。所以配置文件看起来像这样:
rootpw
现在我希望ldap:// localhost的任何请求都会镜像到远程LDAP,如果不在缓存中的话。
我使用此命令测试远程服务器上的auth:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
moduleload pcache.la
database ldap
suffix "dc=int,dc=somedomain,dc=com"
rootdn "dc=int,dc=somedomain,dc=com"
uri ldap://dc-04.int.somedomain.com:389
overlay pcache
pcache hdb 100000 1 1000 100
pcacheAttrset 0 *
pcacheTemplate (sn=) 0 3600
cachesize 20
directory /var/lib/ldap
index objectClass eq
index cn eq,sub
效果很好,我得到了认证。
但是,当我尝试在localhost上运行相同的命令时:
ldapwhoami -vvv -h dc-04.int.somedomain.com -p 389 -D melka@somedomain.com -x -w <passwd>
它失败了,说
ldapwhoami -vvv -h localhost -p 389 -D melka@somedomain.com -x -w <passwd>
Slapd正在侦听localhost,netstat包含这一行:
ldap_initialize( ldap://localhost:389 )
ldap_bind: Invalid DN syntax (34)
additional info: invalid DN
我有什么遗失的吗? 感谢
答案 0 :(得分:0)
melka@somedomain.com
这可能是目标LDAP系统中的DN,谁知道,但它肯定不在OpenLDAP中。您需要提供适当的专有名称。