OpenLDAP : マルチマスターレプリケーション2025/11/06 |
|
OpenLDAP マルチマスターレプリケーションの設定です。 |
|
| [1] |
LDAP マスターとするサーバー全てで、こちらを参照し、LDAP サーバーとしての基本設定をしておきます。 |
| [2] | LDAP マスターとするサーバー全てで [syncprov] モジュールを追加します。 |
|
dlp:~ #
vi mod_syncprov.ldif # 新規作成
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
adding new entry "olcOverlay=syncprov,olcDatabase={1}mdb,cn=config"
|
| [3] | LDAP マスターとするサーバー全てで、以下の設定をします。 ただし、それぞれのサーバーで [olcServerID] は一意の ID を、[provider=***] には相手側のサーバーを指定します。 |
|
dlp:~ #
vi master01.ldif # 新規作成 dn: cn=config changetype: modify replace: olcServerID # ID はサーバー毎に異なる値を指定 olcServerID: 101 dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 # 相手側の LDAP サーバーの URI provider=ldap://node02.srv.world:389/ bindmethod=simple # 自身のドメイン名 binddn="cn=Manager,dc=srv,dc=world" # ディレクトリマネージャーのパスワード credentials=password searchbase="dc=srv,dc=world" # サブツリーも含める scope=sub schemachecking=on type=refreshAndPersist # [リトライ間隔] [リトライ回数] [再リトライまでの間隔] [再リトライ回数] retry="30 5 300 3" # レプリケーションの間隔 interval=00:00:05:00 - add: olcMirrorMode olcMirrorMode: TRUE ldapmodify -Y EXTERNAL -H ldapi:/// -f master01.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
modifying entry "olcDatabase={1}mdb,cn=config"
|
| [4] | LDAP クライアント側で全てのマスターを参照先として設定します。 以上で設定完了です。データの登録はいずれのサーバーからでも可能となっています。 |
|
client:~ #
vi /etc/sssd/sssd.conf # 追記 ldap_uri = ldap://dlp.srv.world/ ,ldap://node02.srv.world/
systemctl restart sssd
|
| Sponsored Link |
|
|