Estou tentando executar um cache de proxy LDAP local. A ideia é esta:
- Atualmente, um computador
(A)
está enviando todas as solicitações de ldap para um servidor ldap remoto (L)
- Em vez disso, deve haver um "servidor" de cache de proxy em execução em
A
para atuar como intermediário entre A
e L
. O cache armazenaria todas as consultas e todos os seus atributos (até que ele seja preenchido e então comece a "reciclar").
O mecanismo de cache de proxy do OpenLDAP parece muito bom, mas não há muita informação sobre como configurá-lo acima. Há um arquivo de configuração de exemplo, mas não consigo fazer isso funcionar.
Como isso deve ser apenas um cache de proxy, não preciso configurar um banco de dados local. Então o arquivo de configuração é assim:
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
Agora, eu esperaria que qualquer solicitação para ldap: // localhost fosse espelhada para o LDAP remoto, se não no cache.
Eu uso este comando para testar a autenticação no servidor remoto:
ldapwhoami -vvv -h dc-04.int.somedomain.com -p 389 -D [email protected] -x -w <passwd>
O que funciona bem, eu recebo a autenticação.
No entanto, quando tento executar o mesmo comando no localhost:
ldapwhoami -vvv -h localhost -p 389 -D [email protected] -x -w <passwd>
Ele falha, dizendo
ldap_initialize( ldap://localhost:389 )
ldap_bind: Invalid DN syntax (34)
additional info: invalid DN
Slapd está escutando em localhost, o netstat contém esta linha:
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 10352/slapd
Há algo que estou perdendo?
Obrigado