OpenLDAP仅作为代理缓存,没有本地数据库

时间:2015-11-09 11:37:50

标签: caching proxy openldap

我正在尝试运行本地LDAP代理缓存。这个想法是这样的:

  • 目前,计算机data-load-type-property正在将所有ldap请求发送到远程ldap服务器(A)
  • 而不是那样,(L)上应该有一个代理缓存“服务器”作为AA之间的中间件。缓存将存储所有查询及其所有属性(直到它被填满,然后它开始“回收”)。

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

我有什么遗失的吗? 感谢

1 个答案:

答案 0 :(得分:0)

melka@somedomain.com

这可能是目标LDAP系统中的DN,谁知道,但它肯定不在OpenLDAP中。您需要提供适当的专有名称。