我需要设置一个本地LDAP代理缓存,它连接到我们的中央Active Directory服务器.
OpenLDAP Proxy Cache看起来就像是东西.但是尽可能地密切关注联机帮助页,我无法使其正常运行.
我能够通过localhost将请求代理到远程服务器,但它们没有被缓存(或者至少没有检索到缓存).
我做的步骤:
>安装了openldap-servers和openldap-clients软件包
>创建了一个slapd.conf配置文件(详情如下)
>为代理数据库创建了一个目录,并在那里复制了默认的DB_CONFIG文件(详情如下)
> Ran slapd -d -1命令启动服务器
>使用此命令查询服务器:ldapwhoami -vvv -h localhost -D“CN = Melka Martin,OU =(…),DC = int,DC = ourdomain,DC = com”-x -w< password>
结果就是成功.但是嗅探网络流量显示查询是从中央LDAP服务器汇集的.
slapd输出非常详细,但它在一点状态下完成
QUERY NOT ANSWERABLE QUERY CACHEABLE
唉,如果它被缓存,它永远不会被回答.什么想法可能是错的?
“cn = admin,dc = int,dc = ourdomain,dc = com”是远程LDAP服务器中管理员用户的DN. <东西>是他的密码.
slapd.conf中
database ldap suffix "dc=int,dc=ourdomain,dc=com" rootdn "cn=admin,dc=int,dc=com" rootpw <something> uri ldap://dc-04.int.ourdomain.com:389 overlay pcache pcache hdb 100000 1 1000 100 pcacheAttrset 0 * pcacheTemplate (sn=) 0 3600 pcacheBind (sn=) 0 3600 sub dc=int,dc=com cachesize 200 directory /var/lib/ldap index objectClass eq index cn eq,sub
DB_CONFIG
# $OpenLDAP$ # one 0.25 GB cache set_cachesize 0 268435456 1 # Transaction Log settings set_lg_regionmax 262144 set_lg_bsize 2097152
您是否希望缓存以下查询?
ldapwhoami -vvv -h localhost -D "CN=Melka Martin,OU=(...),DC=int,DC=ourdomain,DC=com" -x -w <password>
首先,我会更改模板以匹配auth参数:
pcacheTemplate (dn=) 0 3600 pcacheBind (dn=) 0 3600 sub dc=int,dc=com
(dn是专有名称,sn是姓氏)
但如果有效,我会感到惊讶.事实上,我不确定ldapwhoami是测试此叠加层的正确工具.手册页讨论了身份验证客户端,例如nss_ldap.您应该事先对其进行配置并观察它执行的查询,以便模拟模板,范围和基础.