#author("2018-08-22T12:24:46+09:00","","") [[CentOS7]] *OpenLDAPマルチマスターレプリケーション [#a80704a2] OpenLDAP マルチマスターレプリケーションの設定です。 プロバイダー/コンシューマー構成の場合、 コンシューマー側ではデータの登録はできませんが、マルチマスター構成とすることで、いずれのサーバーでもデータ登録可能となります。 **LDAP マスターとするサーバー全てで、 [[こちらを参照>OpenLDAPサーバーのインストール]]し、LDAP サーバーとしての基本設定をしておきます。 [#m082b033] **LDAP マスターとするサーバー全てで syncprov モジュールを追加します [#k72fb86b] |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# vi mod_syncprov.ldif| |&color(lightpink){# 新規作成}; &br; dn: cn=module,cn=config &br; objectClass: olcModuleList &br; cn: module &br; olcModulePath: /usr/lib64/openldap &br; olcModuleLoad: syncprov.la| |[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif| |SASL/EXTERNAL authentication started &br; SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth &br; SASL SSF: 0 &br; adding new entry "cn=module,cn=config"| |[root@localhost ~]# vi syncprov.ldif| |&color(lightpink){# 新規作成}; &br; dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config &br; objectClass: olcOverlayConfig &br; objectClass: olcSyncProvConfig &br; olcOverlay: syncprov &br; olcSpSessionLog: 100| |[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif| |SASL/EXTERNAL authentication started &br; SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth &br; SASL SSF: 0 &br; adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"| **LDAP マスターとするサーバー全てで、以下の設定をします。 ただし、それぞれのサーバーで「olcServerID」は一意の ID を、「provider=***」には相手側のサーバーを指定してください [#w819a9c5] |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# vi master01.ldif| |&color(lightpink){# 新規作成}; &br; dn: cn=config &br; changetype: modify &br; replace: olcServerID &br; &color(lightpink){# ID はサーバー毎に異なるものを指定}; &br; olcServerID: 0 &br; &br; dn: olcDatabase={2}hdb,cn=config &br; changetype: modify &br; add: olcSyncRepl &br; olcSyncRepl: rid=001 &br; &color(lightpink){# 相手側のLDAPサーバーのURI}; &br; provider=ldap://10.0.0.50:389/ &br; bindmethod=simple &br; &br; &color(lightpink){# 自身のドメイン名}; &br; binddn="cn=Manager,dc=hoge,dc=com" &br; &color(lightpink){# ディレクトリマネージャーのパスワード}; &br; credentials=password &br; searchbase="dc=hoge,dc=com" &br; &color(lightpink){# サブツリーも含める}; &br; scope=sub &br; schemachecking=on &br; type=refreshAndPersist &br; &color(lightpink){# リトライ間隔 リトライ回数 再リトライまでの間隔 再リトライ回数}; &br; retry="30 5 300 3" &br; &color(lightpink){# レプリケーションの間隔}; &br; interval=00:00:05:00 &br; - &br; add: olcMirrorMode &br; olcMirrorMode: TRUE &br; &br; dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config &br; changetype: add &br; objectClass: olcOverlayConfig &br; objectClass: olcSyncProvConfig &br; olcOverlay: syncprov| |[root@localhost ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f master01.ldif| |SASL/EXTERNAL authentication started &br; SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth &br; SASL SSF: 0 &br; modifying entry "cn=config" &br; &br; modifying entry "olcDatabase={2}hdb,cn=config" &br; &br; adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"| **LDAP クライアント側で全てのマスターを参照先として設定します。 [#w1ab047d] 以上で設定完了です。データの登録はいずれのサーバーからでも可能となっています。 |BGCOLOR(black):COLOR(white):|c |&color(lightpink){# カンマ区切りで指定する (実際の設定ファイルにはスペース区切りで登録される)};| |[root@localhost ~]# authconfig --ldapserver=slapd01.hoge.com,slapd02.hoge.com --update|