レプリケーションで冗長構成:OpenLDAPで始めるディレクトリサーバ構築(5)(2/3 ページ)
ユーザー情報や組織情報などを一元的に管理するディレクトリサーバは、企業システムの中で重要な役割を果たしています。この連載ではオープンソースの「OpenLDAP」を用いて、ディレクトリサーバの構築・活用方法を解説します。(編集部)
スレーブサーバの設定
次は、スレーブサーバの設定です。slapd.confのグローバルセクションにはユーザーのアクセス制御に必要となる「access to」ディレクティブと、動作確認時に利用するログを出力するための「loglevel」ディレクティブを追加します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
続いて、データベースセクションに、「index」ディレクティブ、マスタサーバへの接続を定義する「syncrepl」ディレクティブ、スレーブサーバへ直接の更新リクエストがあった場合にリクエスト元のクライアントへ更新可能なマスタサーバを伝える「updateref」ディレクティブを追加します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
また、後の動作確認でログファイルを利用しますので、このタイミングで、連載第2回にて説明したように、syslog.confを編集した後syslogdを再起動し、OpenLDAPからのログを「/var/log/ldap.log」へ出力するように設定しておいてください。
レプリケーションの開始
スレーブサーバのslapd.conf編集後は、スレーブサーバを起動することでsyncprovモジュールがマスタサーバへの接続を開始します。接続が確立した時点でマスタサーバが検索され、スレーブサーバへデータが転送されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ここまでの設定どおりにレプリケーションが成功すると、マスタサーバのログに、以下のようにスレーブサーバからSASL認証を用いて接続した「repl」ユーザーが検索処理を実行したログが確認できるはずです。反対にレプリケーションが失敗する場合は、このログに記録された情報を手掛かりに、原因を追究することになります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
レプリケーション動作の確認
次は、マスタサーバに更新リクエストを送り、スレーブサーバに更新が伝播することを確認しましょう。今回は、連載第3回で説明した手順でユーザーエントリを登録し、LDAPクライアント認証を設定しているマスタサーバ上でtest1000ユーザーのパスワードを変更することで動作確認とします。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このとき、マスタサーバ、スレーブサーバのログを参照することで動作確認はスムーズに行えます。まずは、マスタサーバのログでuserPasswordに関連する属性が2つ変更されることを確認しておきましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次は、スレーブサーバのログを確認してみましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
スレーブサーバでも対象DN「uid=test1000,ou=People,dc=my-domain,dc=com」のエントリに含まれる属性が2つ変更されていることが確認できるはずです。
updateref動作の確認
次は、スレーブサーバでLDAPクライアントから直接の更新リクエストが許可されないことを確認します。先ほど、マスタサーバからパスワードを変更したユーザーと同一の「test1000」のuserPassword属性をスレーブサーバ上で、ldappasswdコマンドを用いて変更してみましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
LDAPクライアントへ、エラー番号10のメッセージとともに、slapd.confの「updateref」ディレクティブに指定した更新可能なマスタサーバのURLが返されることが確認できたでしょうか。更新可能なLDAPサーバのURLが返されたクライアントがそのまま処理を継続するか、またはこの時点で処理を停止するかは、LDAPクライアントの実装次第です。
Copyright © ITmedia, Inc. All Rights Reserved.