LDAPでDNSの管理
ローカルネットワーク用にDNSがほしい。ついでに情報を集約したいのでLDAPも建てたい。すると当然、DNSもLDAPで・・・となった。小さなローカルネットでの用途なのでパフォーマンスとかはそんなにシビアじゃない。
ざっとググって見たところBINDでは直接LDAPと連携できないようだ。そのようなバージョンを作ってるとか作ってたとかいう文書もあったけど、メジャーなパッケージとしてはいまだ現れていないらしい。BIND9のマニュアルの目次を見ても連携に関するタイトルはなさそうだ。間接的にBINDとLDAPを連携させるツールとしてldap2bindがあるが、これはLDAPからBindのZoneファイルを作るためのものであって、BINDがLDAPを直接に参照してくれるものではない。パフォーマンスとかの関係でやりたくないのかな?というわけでBINDはあきらめた。
nss_ldapは確かにLDAPからホスト情報を取ってくるんだけど、ネームサーバではなくクライアントが導入して使うもの。Windows版があるのかどうかわからないし、やっぱDNSサーバ1つ建てるだけで済むようなやつがいい。これもだめ。
http://www.linux.or.jp/JF/JFdocs/LDAP-Implementation-HOWTO/dns.html
ldapdnsというそのままズバリな名前のDNSがあった。まさに僕が望んだとおりの動作をしてくれるDNSに違いない。しかしドキュメントがあまりにもお粗末だ。そりゃぁBINDと比べれば機能は必要最低限なのかもしれないが、それにしたってもうちょっと気の利いたドキュメントはないのか?リリースやコミット、MLのアーカイブを見てもすでに下火な雰囲気がすさまじい。よく言えば枯れて安定かもしれないけど、情報がなさ過ぎて怖い。
ldapdnsのDevMLの書き込みにもあったが、DebianのパッケージにあるDNSでLDAPをサポートしてるものとしてもうひとつ、PowerDNSがある。こいつはこいつでいろいろできそうな感じだ。ldapdnsと比べればかなり規模がでかい。しかし使ってる人もそれなりに多いみたいでldapdnsよりは情報も得やすそうだ。
というわけで夢をかなえてくれそうなのは ldapdns と PowerDNS の2つだけど、あえてldapndsを採用してみた。最初は設定がいまいち意味不明だったけど、試してるうちに動いてしまった。そして機能もこれで十分だ。なんだか軽そうだし、これでいいんじゃね?ってことになった。
設定に関しては、結局のところそのままズバリなドキュメントが見つからなかった。インストールはapt-getなりaptitudeでいいとして、起動までの設定についてはGentooの解説が役に立った。
http://www.gentoo.org/doc/ja/ldapdns-guide.xml
ただし、このページは肝心のbootstrap.ldifへのリンクが切れてる。偶然にこのファイルへのリンクを見つけておいた。
http://ru.gentoo.neysx.org/doc/ja/bootstrap.ldif.txt
もっと単純化した設定は、ldapdnsのUsersMLに書き込みがあった。
http://sourceforge.net/mailarchive/forum.php?thread_name=200612231845.36899.ibc2%40euskalnet.net&forum_name=ldapdns-users
簡単に仕組みをメモしておくと、/etc/ldapdns.conf で BaseDN を設定するのだが、ここから objectClass: dNSDomain な DC をたどってゆくようだ。ldapdns.conf で指定した BaseDN の直下に objectClass: dNSDomain な DC が存在しないと解決に失敗する。
従って DNS 設定だけを専用ディレクトリにまとめたい場合は ou=dns とでも作っておいてそこに設定を入れておき、 /etc/ldapdns.conf では BaseDN に ou=dns,[BaseDN] と設定しておく。
コメント
RSS feed for comments on this post.
TrackBack URL : http://debunyan.org/modules/wordpress/archives/2007/09/26/106/trackback/
この投稿には、まだコメントが付いていません
コメントの投稿
改行や段落は自動です
URLとE-mailは自動的にリンクされますので、<a>タグは不要です。
HTML allowed: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <code> <em> <i> <strike> <strong>