ソース入手
以下のURLから最新のソースを入手してください。
http://cr.yp.to/djbdns/install.html
今回は djbdns-1.05.tar.gz をダウンロードしました。
http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
インストール
インストール作業を行います。
$ tar xvfz djbdns-1.05.tar.gz
$ cd djbdns-1.05
$ make
$ su
# make setup check
これでインストールは完了です。
/usr/local/以下にクラアントツールのdnsip,dnsname,dnsmx,dnstxtなどがインストールされます。
クライアントツールの利用は djbdnsクライアントツールの利用方法 を参照してください。
dnscacheの準備
(1)専用ユーザの作成
dnscacheの専用ユーザの作成をします。
qmailの様に多くのユーザの作成が必要です。
dnscacheの専用ユーザ: dnscache
dnscacheのログ取得ユーザ: dnslog
となります。
# groupadd -g 530 djbdns
# useradd -u 530 -g djbdns -d /var/djbdns -s /bin/false dnslog
# useradd -u 531 -g dnscache -d /var/djbdns/dnscache -s /bin/false dnslog
続いてdnscacheが動作する専用ディレクトリを作成します。
# mkdir /var/djbdns
(2)設定ファイルの準備
設定ファイルは dnscache-conf コマンドを利用することで作成できます。
【書式】
# dnscache-conf dnscache動作ユーザ dnscacheログユーザ dnscacheディレクトリ 許可するIPアドレス
今回は以下の様にコマンドを実施しました。
127.0.0.1つまり自分自身からのみキャッシュサーバを利用できるように設定を行いました。
# dnscache-conf dnscache dnslog /var/djbdns/dnscache 127.0.0.1
実行後、/var/djbdns/dnscacheに env,log,rootといったディレクトリが構成されます。
(3)ルートキャッシュファイルの準備
root/servers/@にDNS問い合わせの起点となるルートサーバのIP一覧を記載します。
以下のコマンドでルートキャッシュサーバを取得しIPのみを記述します。
# dnsq ns . a.root-servers.net|grep additional|awk '{print $5}' \
> /var/djbdns/dnscache/root/servers/@
daemontoolで起動
daemontoolsにリンクを張り起動させます。
# cd /var/service
# ln -s /var/djbdns/dnscache dnscache
起動しているか確認する
# svstat /var/service/dnscache
/var/service/dnscache: up (pid 12539) 16 seconds
また、サーバで利用するには /etc/resolv.conf を編集します。
# vi /etc/resolv.conf
--------------------
nameserver 127.0.0.1 ←追加
--------------------
これで、名前解決は自分自身を問い合わせるようになります。