Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d5cfbb34ea | |||
| fb5e47ff37 | |||
| 8e8db4bef5 |
47
Readme.md
47
Readme.md
@@ -1,39 +1,26 @@
|
|||||||
# Réplication
|
# 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
|
Maintenant, le _consumer_ est identique, d'un point de vue configuration ldap et schéma, au _provider_. Ne lui manque que les données ...
|
||||||
- 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
|
|
||||||
|
|||||||
@@ -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
|
dn: olcDatabase={2}mdb,cn=config
|
||||||
changetype: modify
|
changetype: modify
|
||||||
replace: olcSyncrepl
|
replace: olcSyncrepl
|
||||||
olcsyncrepl: rid=001
|
olcsyncrepl: rid=001
|
||||||
provider="ldaps://plop1.formation.opendoor.fr"
|
provider="CHANGEME"
|
||||||
binddn="cn=replica,ou=services,dc=example,dc=fr"
|
binddn="CHANGEME"
|
||||||
bindmethod="simple"
|
bindmethod="simple"
|
||||||
credentials="123Soleil"
|
credentials="CHANGEME"
|
||||||
tls_cacert="/etc/openldap/certs/ca.pem"
|
tls_cacert="/etc/openldap/certs/ca.pem"
|
||||||
searchbase="dc=example,dc=fr"
|
searchbase="CHANGEME"
|
||||||
type=refreshAndPersist
|
type=refreshAndPersist
|
||||||
retry="10 +"
|
retry="10 +"
|
||||||
-
|
-
|
||||||
replace: olcupdateref
|
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