#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/]]