Então, depois de muitas pesquisas frustrantes no google, parece que meu Google-fu não está à altura - as especificidades do encadeamento não estão mais perto do meu alcance.
Eu consegui parte do caminho usando a resposta aqui , mas isso não ajuda quando tento adicionar o encadeamento real:
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f chain_conf.ldif
chain_conf.ldif contém:
#dn: olcOverlay={0}chain
#objectClass: olcOverlayConfig
#objectClass: olcChainConfig
#olcOverlay: {0}chain
#olcChainCacheURI: FALSE
#olcChainMaxReferralDepth: 1
#olcChainReturnError: TRUE
#structuralObjectClass: olcChainConfig
dn: olcDatabase={0}config
objectClass: olcLDAPConfig
objectClass: olcChainDatabase
olcDatabase: {0}ldap
olcDbStartTLS: none starttls=no
olcDbRebindAsUser: FALSE
olcDbChaseReferrals: TRUE
olcDbTFSupport: no
olcDbProxyWhoAmI: FALSE
olcDbProtocolVersion: 3
olcDbSingleConn: FALSE
olcDbCancel: abandon
olcDbUseTemporaryConn: FALSE
olcDbConnectionPoolMax: 16
olcDbSessionTrackingRequest: FALSE
olcDbNoRefs: FALSE
olcDbNoUndefFilter: FALSE
structuralObjectClass: olcLDAPConfig
dn: olcDatabase={1}mdb
objectClass: olcLDAPConfig
objectClass: olcChainDatabase
olcDatabase: {1}ldap
olcDbURI: "ldap://provider.example.com"
olcDbStartTLS: none starttls=no
olcDbIDAssertBind: mode=self flags=prescriptive,proxy-authz-non-critical bindm
ethod=simple timeout=0 network-timeout=0 binddn="cn=manager,o=example,c=com”
credentials="VerySecret" keepalive=0:0:0
olcDbRebindAsUser: FALSE olcDbChaseReferrals: TRUE olcDbTFSupport: no
olcDbProxyWhoAmI: FALSE
olcDbProtocolVersion: 3
olcDbSingleConn: FALSE
olcDbCancel: abandon
olcDbUseTemporaryConn: FALSE
olcDbConnectionPoolMax: 16
olcDbSessionTrackingRequest: FALSE
olcDbNoRefs: FALSE
olcDbNoUndefFilter: FALSE
structuralObjectClass: olcLDAPConfig
A tentativa de adicionar isso fornece a seguinte resposta:
root@consumer:~# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f chain_conf.ldif
adding new entry "olcDatabase={0}config"
ldap_add: Server is unwilling to perform (53)
additional info: no global superior knowledge
... e agora estou bastante preso.
A idéia geral é ter um único servidor ldap principal que é sincronizado com alguns servidores somente leitura que, por sua vez, fornecem encadeamento de volta ao servidor principal para atualizações e, de outra forma, fornecem pesquisas.
Eu já consegui fazer o syncrepl funcionar e funciona bem.
Informações do OpenLDAP:
Package: slapd
Version: 2.4.45+dfsg-1ubuntu1
SO:
Ubuntu 17.10
Alguém por favor pode ajudar com isso?
Com base no seu LDIF publicado, os Nomes Distintos estão errados. Deve ser algo assim:
Observe que as
dn:
linhas são alteradas.Isso pressupõe que você também carregou o
back_ldap
móduloAhh! - Finalmente! - Iluminação atingida :)
Então, em primeiro lugar, ocorreu-me que as várias
dn: olcDatabase={N}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
estrofes devem corresponder aosolcDatabase={N}mdb,cn=config
atributos reais (?) emcn=config
, e em segundo lugar que cortar e colar de páginas da Web horríveis que usam aspas unicode esquerda e direita em vez de aspas duplas ascii agradáveis tende a levar a dores de cabeça a estrada.