2개의 OpenLDAP 서버 간에 마스터-슬레이브 복제를 설정하고 싶습니다.
실행하면 ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" -LLL -Q "olcDatabase=*" dn
다음이 생성됩니다.
마스터에서:
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcOverlay={0}syncprov,olcDatabase={0}config,cn=config
dn: olcDatabase={1}hdb,cn=config
dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
dn: olcOverlay={2}syncprov,olcDatabase={1}hdb,cn=config
노예에:
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}mdb,cn=config
노예에서 나는 다음을 실행합니다.ldapmodify -Y EXTERNAL -H ldapi:/// -f rp.ldiff
내 rp.ldiff
모습은 다음과 같습니다.
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=003
provider=ldap://192.168.2.3:389/
bindmethod=simple
binddn="uid=rpuser,dc=redacted,dc=co"
credentials=redacted
searchbase="dc=redacted,dc=co"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="30 5 300 3"
interval=00:00:05:00
내가 추가했을 때 rpuser
나는 다음과 같은 것을 사용했습니다.
dn: uid=rpuser,dc=redacted,dc=co
objectClass: simpleSecurityObject
objectclass: account
uid: rpuser
description: Replication User
userPassword: redacted
그리고 나는 다음과 같은 결과를 얻습니다.
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}hdb,cn=config"
ldap_modify: No such object (32)
matched DN: cn=config
관리자 사용자를 사용하려고 해도 같은 일이 발생합니다.
복제 설정을 완료하려면 이 문제를 어떻게 극복해야 합니까?
답변1
나는 문제가 당신이 추가하는 데 있다고 생각하지 않습니다 uid=rpuser,dc=redacted,dc=co
. 오히려 수정이 olcDatabase={1}hdb,cn=config
실패했습니다. 당신의 노예(요즘 소비자입니다.)는 을 가지고 있지 않지만 olcDatabase={1}hdb,cn=config
대신 을 가지고 있습니다 olcDatabase={1}mdb,cn=config
.
참고 사항:
1. TLS를 확보하세요. 귀하의 비밀번호(및 디렉토리의 나머지 부분)를 유선을 통해 암호화되지 않은 상태로 전송하고 있습니다.
2.slapo-memberOf
복제는 다음과 같이 상호 작용합니다.흥미로운 방법.