qmailで有名なD.J.Bernstein氏はMTA以外にも多くのソフトウェアを作成しています。
ここで取り上げるdjbdnsもそのひとつです。djbdnsはbindに換わるものとしてD.J.Bernstein氏が開発したDNSソフトです。
djbdnsは外からの問い合わせを受け付けるtinydnsとキャッシュサーバーであるdnscacheに役割を分担しています。
ここでは、とりあえず、自分のPCから外が参照できるようにdnscacheを設定することにしましょう。
dnscacheをインストール設定するとき、最低限、必要なソフトウェアは
djbdns
daemontools
の二つです。(本当は、djbdnsだけでいいのでしょうが、daemontoolsはあった方が便利です。)
2002年5月20日現在、djbdnsはdjbdns-1.05.tar.gz、daemontoolsはdaemontools-0.76.tar.gzがそれぞれ最新のようです。
djbdnsはhttp://cr.yp.to/djbdns/djbdns-1.05.tar.gzから
daemontoolsはftp://ftp.jp.qmail.org/qmail/daemontools-0.76.tar.gzから
それぞれダウンロードが可能です。
適宜ダウンロードします。
まずは、daemontoolsをインストールしましょう。/usr/local/srcにダウンロードしたとします。
daemontools-0.76.tar.gzの場合
# cd /usr/local/src
# tar zxvf daemontools-***.tar.gz
# cd admin/daemontools-***
# package/install
でインストールは完了です。 きちんとインストールされていれば、
# ps aux
などとすると既にsvscanが走り始め、/service以下を監視していることでしょう。
次にdjbdnsをインストールします。
# cd /usr/local/src
# tar xvzf djbdns-1.0.5.tar.gz
# cd djbdns-1.0.5
# make
# make setup check
以上でインストールは完了です。以上のインストール作業によって
dnscache … 外部の zone の名前解決を行う(内部向け)。localhost:53(UDP)で運用。
tinydns … 管理 zone の名前解決を行う(外部向け)。グローバルIP:53(UDP)で運用。
axfrdns … 管理 zone の情報を slave DNS に転送する。グローバルIP:53(UDP)で運用。
のようなプログラムが展開されます。((C)PC SPOT様)
dnscacheを使うためにはdnscache,dnslogという二つのユーザが必要です。
グループdjbdnsを作り、これに所属させることにします。
# groupadd djbdns
# useradd -g djbdns -d /dev/null -s /bin/false
dnscache
# useradd -g djbdns -d /dev/null -s /bin/false
dnslog
グループとユーザを作成したら、
# dnscache-conf dnscache dnslog /etc/dnscache
自分のIP
として、
dnscacheディレクトリを作ります。
# ln -s /etc/dnscache /service
等として、/service以下にdnscacheへのシンボリックリンクを作ります。
最後に/etc/resolv.confの nameserver行を
nameserver 127.0.0.1
のように変更し、自分を参照するようにします。
ping djbdns.jp.qmail.org等として、返事が返ってくれば成功です。