#author("2017-01-01T20:51:11+09:00","default:auth_user","auth_user")
*DJBDNS Configuration Manual [#i49c779c]

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

*目次 [#nd29d835]
#contents

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

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

**daemontoolsのインストール [#h57b3871]
>>''DJBDNSのパッチは[[こちら>DJBTools patch]]からどうぞ・・・''

まずはじめに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のインストール [#l87bc104]
続いて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のインストール [#l5cf4503]
最後に本体のインストール

 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) [#c1bb4ebb]
ユーザの作成
 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) [#aa6f2210]
ユーザの作成
 adduser -u 802 -d /noexsistent -s /sbin/nologin tinydns

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

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

**ゾーン情報の作成 [#o9e2f46f]
サンプルとして以下の設定のゾーンを作成する。
 ゾーンネーム : 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形式 [#z0c04c1e]
|BGCOLOR(#FF6633):CENTER:記号|BGCOLOR(#FF6633):CENTER:形式|BGCOLOR(#FF6633):CENTER:レコード|BGCOLOR(#FF6633):CENTER:解説|
|.|.fqdn:ip:x:ttl:timestamp:lo|NS,A,SOA|3つのレコードがセットになった設定&br;意外と便利かもしれない|
|>|>|>|BGCOLOR(#FFFF66):         記述サンプル:   .hoge.jp:192.168.100.1:ns.hoge.jp|
|&|&fqdn:ip:x:ttl:timestamp:lo|NS,A|複数のネームサーバを設定するときなどに利用する|
|>|>|>|BGCOLOR(#FFFF66):         記述サンプル:   &hoge.jp:192.168.100.1:ns.hoge.jp|
|=|=fqdn:ip:ttl:timestamp:lo|A,PTR|正引きと逆引きをセットで記述できる|
|>|>|>|BGCOLOR(#FFFF66):         記述サンプル:   =hoge.jp:192.168.100.1|
|+|+fqdn:ip:ttl:timestamp:lo|A|Aレコードのみのホストを追加する時に使う|
|>|>|>|BGCOLOR(#FFFF66):         記述サンプル:   +hoge.jp:192.168.100.1|
|@|@fqdn:ip:x:dist:ttl:timestamp:lo|A,MX|MXレコードを登録する|
|>|>|>|BGCOLOR(#FFFF66):         記述サンプル:   @hoge.jp:192.168.100.1:mail.hoge.jp:10|
|Z|Zfqdn:mname:rname:ser:ref:ret:exp:min:ttl:timestamp:lo|SOA|連絡先メールアドレスまで正確に記述したいときに使いましょう|
|>|>|>|BGCOLOR(#FFFF66):         記述サンプル:   Zhoge.jp:192.168.100.1:ns.hoge.jp:postmaster.hoge.jp|
|#|#コメント||コメント行を記述する|

#br
|BGCOLOR(#FF6633):CENTER:項目|BGCOLOR(#FF6633):CENTER:解説|
|ttl|キャッシュに保存できる時間(秒)|
|timestanp|そのまんま タイムスタンプ|
|lo|クライアント毎の制限を行うらしい(使ったことがない)|
|fqdn|フルドメイン名|
|ip|IPアドレス|
|x|ネームサーバを指す値|
|dist|MXレコードの優先度(プリファレンス値)|
|mname|ネームサーバ名|
|rname|連絡先メールアドレス|
|ser|シリアル番号|
|ref|リフレッシュ間隔|
|ret|リトライ間隔|
|exp|有効期間|
|min|最低有効期間|

設定が終了したらDJBDNSが自動起動するよう設定
 ln -s /etc/tinydns /service
 svstat /service/tinydns

*参考リンク [#uca5af1d]
>> [[qmail.jp:http://www.qmail.jp/]]
>> [[djbdns:http://djbdns.qmail.jp/]]
>> [[EZ-NET 特集: DNS サーバ djbdns:http://network.station.ez-net.jp/special/djbdns/]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS