2 Commits

Author SHA1 Message Date
c16f56b149 s/cn/uid/ 2022-11-30 16:34:57 +01:00
082f2da424 s/cn/uid/ 2022-11-30 16:34:08 +01:00
6 changed files with 70 additions and 22 deletions

View File

@@ -1,26 +1,39 @@
# Réplication # Réplication
## Préparation ## Référence
Créer une nouvelle vm pour chaque participant (LDXY avec Y=X+nb participant) 📖 Support Ch 9 (p 119)
Faire une archive de: ## Prérequis
/etc/openldap
/etc/letsencrypt # les certificats seront incorrects mais ce n'est pas grave dans le cadre de l'exercice.
### Provider Un serveur ldap vierge avec avec les caractéristiques suivantes:
```
tar cpzf ldap.tgz /etc/openldap /etc/letsencrypt /etc/profile.d /home/formation
rsync -a ldap.tgz ${CONSUMER}:
```
* même suffixe
* même admin
* même schémas
* même overlays
* même modules
### Consumer ## mettre en place la réplication entre les 2 serveurs
``` ### sur le producteur:
dnf install openldap-servers openldap-clients -y
tar xpzf ~formation/ldap.tgz -C /
source /etc/profile
```
Maintenant, le _consumer_ est identique, d'un point de vue configuration ldap et schéma, au _provider_. Ne lui manque que les données ... - création compte de réplication - replication_user.ldif
- module et overlay synchprov - replication_add_syncprov.ldif
- serverid et index - replication_producer.ldif
### sur le consommateur:
- récupérer le certificat CA
- rajouter overlay ppolicy - atelier ppolicy
- configurer syncrepl - replication_consumer.ldif
## troublehooting
Vérifier que l'on peut faire un ldapsearch depuis le consumer sur le producer avec le compte de réplication
Voir les logs, sur le producteur ET le consommateur
TLS negotiation failure - probablement un pb de certificat non reconnu
syncrepl_null_callback : error code 0x50 - causé par l'absence de ppolicy sur le consumer

View File

@@ -0,0 +1,10 @@
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModuleLoad: syncprov.la
dn: olcOverlay=syncprov, olcDatabase={2}mdb,cn=config
objectclass: olcSyncProvConfig
olcOverlay: syncprov
olcSpCheckpoint: 100 10
olcSpSessionLog: 200

View File

@@ -1,15 +1,17 @@
#créer une base d'accueil
# avec le meme suffix que la base à répliquer
dn: olcDatabase={2}mdb,cn=config dn: olcDatabase={2}mdb,cn=config
changetype: modify changetype: modify
replace: olcSyncrepl replace: olcSyncrepl
olcsyncrepl: rid=001 olcsyncrepl: rid=001
provider="CHANGEME" provider="ldaps://plop1.formation.opendoor.fr"
binddn="CHANGEME" binddn="uid=replica,ou=services,dc=example,dc=fr"
bindmethod="simple" bindmethod="simple"
credentials="CHANGEME" credentials="123Soleil"
tls_cacert="/etc/openldap/certs/ca.pem" tls_cacert="/etc/openldap/certs/ca.pem"
searchbase="CHANGEME" searchbase="dc=example,dc=fr"
type=refreshAndPersist type=refreshAndPersist
retry="10 +" retry="10 +"
- -
replace: olcupdateref replace: olcupdateref
olcupdateref: CHANGEME olcupdateref: ldaps://plop1.formation.opendoor.fr

5
replication_disable.ldif Normal file
View File

@@ -0,0 +1,5 @@
dn: olcDatabase={2}mdb,cn=config
changetype: modify
delete: olcSyncREPL
-
delete: olcUpdateRef

10
replication_producer.ldif Normal file
View File

@@ -0,0 +1,10 @@
dn: cn=config
changetype: modify
add: olcServerId
olcServerId: 6
dn: olcdatabase={2}mdb,cn=config
changetype: modify
add: olcdbindex
olcdbindex: entryUUID eq
olcdbindex: entryCSN eq

8
replication_user.ldif Normal file
View File

@@ -0,0 +1,8 @@
dn: ou=services,dc=example,dc=fr
objectclass: organizationalUnit
dn: uid=replica,ou=services,dc=example,dc=fr
objectclass: account
objectclass: simpleSecurityObject
userpassword: {SSHA}w0iYqR5W1PhINqdu1Lm2oJr8P9kzBR0h