Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c16f56b149 | |||
| 082f2da424 |
47
Readme.md
47
Readme.md
@@ -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
|
||||||
10
replication_add_syncprov.ldif
Normal file
10
replication_add_syncprov.ldif
Normal 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
|
||||||
@@ -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
5
replication_disable.ldif
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
dn: olcDatabase={2}mdb,cn=config
|
||||||
|
changetype: modify
|
||||||
|
delete: olcSyncREPL
|
||||||
|
-
|
||||||
|
delete: olcUpdateRef
|
||||||
10
replication_producer.ldif
Normal file
10
replication_producer.ldif
Normal 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
8
replication_user.ldif
Normal 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
|
||||||
|
|
||||||
Reference in New Issue
Block a user