OpenLDAPを使ったLDAP-proxyの設定

OpenLDAPでは、バックエンドのDBにBDBやLDAP(他のLDAPサーバ)を指定できる。

この時、suffixを複数記載する事で、suffixごとに異なるBDBやLDAPサーバへ問い合わせをさせる事ができる。



【前提】
本店と支店に、それぞれ以下のようなLDAPサーバがある。

本店:ldap.central.sample.co.jp
支店:ldap.branch.sample.co.jp


【やりたいこと】
ldapsearch等の問い合わせで特定のsuffixを含む検索があった場合に、指定されたLDAPサーバへ問い合わせを中継したい。

支店のLDAPサーバにおいて、支店のLDAPサーバのsuffixを含まない検索が行われたら、本店のLDAPサーバへ検索を中継したい。


支店のLDAPサーバにおいて、以下のように設定する。

database        bdb
suffix          "dc=branch, dc=sample, dc=co, dc=jp"

# LDAP proxy
database        ldap
suffix          "dc=sample, dc=co, dc=jp"
uri             ldap://ldap.central.sample.co.jp/


上記のようにすると、dc=branch が含まれる問い合わせには、ローカルのBDBに対して問い合わせが行われる。
dc=branch が含まれない検索の場合は、uirで指定された本店のLDAPサーバへ問い合わせが行われる。


この設定を使う事で、複数のLDAPサーバへの問い合わせを代行するLDAP proxyを構成できる。