Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d5cfbb34ea | |||
| fb5e47ff37 | |||
| 8e8db4bef5 |
47
Readme.md
47
Readme.md
@@ -1,39 +1,26 @@
|
||||
# Réplication
|
||||
|
||||
## Référence
|
||||
## Préparation
|
||||
|
||||
📖 Support Ch 9 (p 119)
|
||||
Créer une nouvelle vm pour chaque participant (LDXY avec Y=X+nb participant)
|
||||
|
||||
## Prérequis
|
||||
Faire une archive de:
|
||||
/etc/openldap
|
||||
/etc/letsencrypt # les certificats seront incorrects mais ce n'est pas grave dans le cadre de l'exercice.
|
||||
|
||||
Un serveur ldap vierge avec avec les caractéristiques suivantes:
|
||||
### Provider
|
||||
```
|
||||
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
|
||||
|
||||
## mettre en place la réplication entre les 2 serveurs
|
||||
### Consumer
|
||||
|
||||
### sur le producteur:
|
||||
```
|
||||
dnf install openldap-servers openldap-clients -y
|
||||
tar xpzf ~formation/ldap.tgz -C /
|
||||
source /etc/profile
|
||||
```
|
||||
|
||||
- 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
|
||||
Maintenant, le _consumer_ est identique, d'un point de vue configuration ldap et schéma, au _provider_. Ne lui manque que les données ...
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
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
|
||||
@@ -1,17 +1,15 @@
|
||||
#créer une base d'accueil
|
||||
# avec le meme suffix que la base à répliquer
|
||||
dn: olcDatabase={2}mdb,cn=config
|
||||
changetype: modify
|
||||
replace: olcSyncrepl
|
||||
olcsyncrepl: rid=001
|
||||
provider="ldaps://plop1.formation.opendoor.fr"
|
||||
binddn="cn=replica,ou=services,dc=example,dc=fr"
|
||||
provider="CHANGEME"
|
||||
binddn="CHANGEME"
|
||||
bindmethod="simple"
|
||||
credentials="123Soleil"
|
||||
credentials="CHANGEME"
|
||||
tls_cacert="/etc/openldap/certs/ca.pem"
|
||||
searchbase="dc=example,dc=fr"
|
||||
searchbase="CHANGEME"
|
||||
type=refreshAndPersist
|
||||
retry="10 +"
|
||||
-
|
||||
replace: olcupdateref
|
||||
olcupdateref: ldaps://plop1.formation.opendoor.fr
|
||||
olcupdateref: CHANGEME
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
dn: olcDatabase={2}mdb,cn=config
|
||||
changetype: modify
|
||||
delete: olcSyncREPL
|
||||
-
|
||||
delete: olcUpdateRef
|
||||
@@ -1,10 +0,0 @@
|
||||
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
|
||||
@@ -1,9 +0,0 @@
|
||||
dn: ou=services,dc=example,dc=fr
|
||||
objectclass: organizationalUnit
|
||||
|
||||
dn: cn=replica,ou=services,dc=example,dc=fr
|
||||
objectclass: person
|
||||
cn: replica
|
||||
sn: replica
|
||||
userpassword: {SSHA}w0iYqR5W1PhINqdu1Lm2oJr8P9kzBR0h
|
||||
|
||||
Reference in New Issue
Block a user