OpenLDAP : レプリケーション2018/06/05 |
|
OpenLDAP レプリケーションの設定です。
LDAP スレーブサーバーを構築し、LDAP マスターサーバーダウン時も LDAP クライアントに対してサービスを継続できるようにします。 OpenLDAP 用語で LDAP マスターサーバーを [プロバイダー], LDAP スレーブサーバーを [コンシューマー] と呼びます。 |
|
| [1] |
LDAP プロバイダー および コンシューマーとするサーバー双方に、
こちらを参照して LDAP サーバーとしての基本設定をしておきます。
|
| [2] | LDAP プロバイダーの設定です。syncprov モジュールを追加します。 |
|
root@dlp:~#
vi mod_syncprov.ldif # 新規作成 dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/lib/ldap olcModuleLoad: syncprov.la 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"
root@dlp:~#
vi syncprov.ldif # 新規作成
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=syncprov,olcDatabase={1}mdb,cn=config"
|
| [3] | LDAP コンシューマーの設定です。 |
|
root@node01:~#
vi syncrepl.ldif # 新規作成
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
# LDAPサーバーのURI
provider=ldap://10.0.0.30:389/
bindmethod=simple
# 自身のドメイン名
binddn="cn=admin,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
ldapadd -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}mdb,cn=config"
# データを検索して確認 root@node01:~# ldapsearch -x -b 'ou=people,dc=srv,dc=world' dn: ou=people,dc=srv,dc=world objectClass: organizationalUnit ou: people # bionic, people, srv.world dn: uid=bionic,ou=people,dc=srv,dc=world objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: bionic sn: ubuntu loginShell: /bin/bash uidNumber: 2000 gidNumber: 2000 homeDirectory: /home/bionic uid: bionic ..... ..... |
| [4] | LDAP クライアント側でプロバイダーとコンシューマーの両方を参照先として設定します。 以上により、プロバイダーダウン時も、参照先がコンシューマーに切り替わり、LDAP サービスは継続されるようになります。 |
|
root@www:~#
vi /etc/ldap.conf # 30行目:LDAP コンシューマー追記 uri ldap://dlp.srv.world ldap://node01.srv.world
|
| Sponsored Link |
|
|