djbdns(dnscache)のインストール

djbdnsはqmailの作者であるD. J. Bernstein氏作が作成したDNSサーバです。
特徴として
・機能ごとにモジュールを分け、1つのモジュールは1つの動作をする
・可能な限り個々のモジュールは非rootである独自のユーザIDで動作させ、また、デーモンはchrootすることで、モジュールの動作環境を他から独立させる
・簡潔な設定ファイル
となっています。

また、Bindと異なりキャッシュサーバ、コンテンツサーバと機能が分かれています。
(i)dnscache(DNSキャッシュサーバ)
クライアントからの再起的な問い合わせを受け付け、その結果得たDNS情報をキャッシュする
(ii)tinydns(DNSコンテンツサーバ)
DNSの問い合わせに答える

ここでは、キャッシュサーバであるdnscacheのインストールから運用まで説明します。
また、インストールに当たってdaemontoolsのインストールが必須となります。
daemontoolsのインストールは daemontoolsのインストール を参照ください。

ソース入手

以下の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        ←追加
--------------------
これで、名前解決は自分自身を問い合わせるようになります。

marronおすすめの参考書 by Amazon
djbdnsで作るネームサーバ徹底攻略 (DJB tools) djbdnsで作るネームサーバ徹底攻略 (DJB tools)
ソフトバンククリエイティブ / 森下 泰宏, 渡邉 郁郎, 塚本 弘, 与儀 丈二
¥ 2,730
Copyright(C) 2004-2006 マロンくん.NET ~サーバ管理者への道~ All Rights. Reserved.