DJBDNS Configuration Manual

djbdns最新バージョン
2004/12/06 現在
djbdns-1.05
daemontools-0.76
ucspi-tcp-0.88

目次

DNSサービスには大きく分けると2種類の役割がある。 一つは自身が持つゾーン情報に返答をする”コンテンツサービス”と 再帰的に名前を問い合わせる”キャッシュサービス”である。 DJBDNSでは別々のプロセスで、動くことになります。

また、セキュリティ上これらのサービスを同時に動かすことはできません。 別々のマシンで、それぞれのサービスを提供してください。

daemontoolsのインストール

DJBDNSのパッチはこちらからどうぞ・・・

まずはじめにdaemontoolsのインストールを行う。

mkdir -p /package
chmod 1755 /package
cd /package
gunzip daemontools-0.76.tar.gz
tar -xpf daemontools-0.76.tar
cd admin
patch -p0 < ../daemontools-0.76.errno.patch
cd daemontools-0.76
package/install

ucspi-tcpのインストール

続いてucspi-tcpのインストール

gunzip ucspi-tcp-0.88.tar.gz
tar -xf ucspi-tcp-0.88.tar
patch -p0 < ../ucspi-tcp-0.88.errno.patch
cd ucspi-tcp-0.88
make
make setup check

djbdnsのインストール

最後に本体のインストール

gunzip djbdns-1.05.tar.gz
tar -xf djbdns-1.05.tar
patch -p0 < ../djbdns-1.05.errno.patch
cd djbdns-1.05
make
make setup check

各種設定(DNSCache)

ユーザの作成

adduser -u 800 -d /noexsistent -s /sbin/nologin dnscache
adduser -u 801 -d /noexsistent -s /sbin/nologin dnslog

当然ながらユーザIDは好きに決めてよい。

/etc/dnscache サービスディレクトリを作成します:

dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1

新しいサービスを svscan に通知します。 svstatを使って、サービスが動いたことを確認します:

ln -s /etc/dnscache /service
svstat /service/dnscache

DNSサービスを待ち受けるIP(自分のIP)を指定

vi /etc/dnscache/env/IP
--------------------------------------------------
192.168.100.xxx
--------------------------------------------------
(自分自身が名前解決したい場合はresolv.confに設定したIPを指定)

DNSサービスを提供できるIPを指定

touch /etc/dnscache/root/ip/192.168.100

各種設定(TinyDNS)

ユーザの作成

adduser -u 802 -d /noexsistent -s /sbin/nologin tinydns

TinyDNSのディレクトリを作成する

tinydns-conf tinydns dnslog /etc/tinydns 192.168.0.xxx

ゾーン情報の作成

サンプルとして以下の設定のゾーンを作成する。

ゾーンネーム : hoge.jp
ネームサーバ : ns.hoge.jp   : 192.168.100.1
webサーバ   : www.hoge.jp  : 192.168.100.2
メールサーバ : mail.hoge.jp  : 192.168.100.3

add-ns等のスクリプトを用いれば自動でテンプレートを作ってくれるが 自分で作ることも可能。

dataファイルを作成

cd /etc/tinydns/root
vi data
--------------------------------------------------
.hoge.jp:192.168.100.1:ns.hoge.jp
=www.hoge.jp:192.168.100.2
@hoge.jp:192.168.100.3:mail.hoge.jp:10
--------------------------------------------------

設定を反映させる

make

makeコマンドを実行することで、”data.cdb”というバイナリファイルが作成される。 この”data.cdb”はコンテンツサービスの基となるデータで、問い合わせに対し常にこのファイルを見ることになる。 ゾーン情報の記述に誤りがある場合、”data.cdb”ファイルは更新されないため、記述ミスによる誤更新の心配は少ない。

おまけ情報 DJBDNSではゾーン情報をメモリー上に格納しない。問い合わせがあるごとに”data.cdb”を読みに行くのである。 これは安全にゾーン情報を更新するための”仕様”である。 BINDはゾーン情報をメモリー上に持つため、更新のためにゾーンデータをメモリーにアップロードする必要がある。

Tinydns-data形式

記号形式レコード解説
..fqdn:ip:x:ttl:timestamp:loNS,A,SOA3つのレコードがセットになった設定
意外と便利かもしれない
         記述サンプル:   .hoge.jp:192.168.100.1:ns.hoge.jp
&&fqdn:ip:x:ttl:timestamp:loNS,A複数のネームサーバを設定するときなどに利用する
         記述サンプル:   &hoge.jp:192.168.100.1:ns.hoge.jp
==fqdn:ip:ttl:timestamp:loA,PTR正引きと逆引きをセットで記述できる
         記述サンプル:   =hoge.jp:192.168.100.1
++fqdn:ip:ttl:timestamp:loAAレコードのみのホストを追加する時に使う
         記述サンプル:   +hoge.jp:192.168.100.1
@@fqdn:ip:x:dist:ttl:timestamp:loA,MXMXレコードを登録する
         記述サンプル:   @hoge.jp:192.168.100.1:mail.hoge.jp:10
ZZfqdn:mname:rname:ser:ref:ret:exp:min:ttl:timestamp:loSOA連絡先メールアドレスまで正確に記述したいときに使いましょう
         記述サンプル:   Zhoge.jp:192.168.100.1:ns.hoge.jp:postmaster.hoge.jp
##コメントコメント行を記述する
 
項目解説
ttlキャッシュに保存できる時間(秒)
timestanpそのまんま タイムスタンプ
loクライアント毎の制限を行うらしい(使ったことがない)
fqdnフルドメイン名
ipIPアドレス
xネームサーバを指す値
distMXレコードの優先度(プリファレンス値)
mnameネームサーバ名
rname連絡先メールアドレス
serシリアル番号
refリフレッシュ間隔
retリトライ間隔
exp有効期間
min最低有効期間

設定が終了したらDJBDNSが自動起動するよう設定

ln -s /etc/tinydns /service
svstat /service/tinydns

参考リンク

qmail.jp

djbdns

EZ-NET 特集: DNS サーバ djbdns


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-01 (日) 20:51:11 (2670d)