djbdnsを試してみた
今までBINDしか使ったことがない、というかそのBINDもよく分かってなかったんですが、ふと思い立ってdjbdnsを自宅サーバに導入してみました。
djbdnsの大きな特徴は、
のように機能毎に別々のソフトウェアで構成されていること。
BINDでは1つのIPアドレスで上記の2つの機能を提供しますが、djbdnsは「役割が違うんだから別のIPで動かすべき」という思想を持っています。名前情報を伝える本来のDNSの役割と、DNSキャッシュサーバは(普通は)それぞれ違うIPアドレスで動作させることになります。別のサーバを立ててもいい(本来はそれを想定しているのかな)けど、IPエイリアスで動作させても問題なしです。
具体的な設定などはこのあたりを参考に。
- Stray Penguin - Linux Memo (djbdns)
- Stray Penguin - Linux Memo (djbdns-2)
- DNS(コンテンツ)サーバの各実装による 動作の相違とその考察 - BIND 9, djbdns, NSD -
- 仙石浩明の日記: 一つのIPアドレスで djbdns (tinydns, dnscache) を走らせる (1) djbdns の特徴
実際の所、どちらがどうというのはよく分からないと、というか自分の使用範囲では今のところ差が出るようなことはないかなという印象。djbdnsの設定などは確かになるほどと思うところもあるけどインストールが若干面倒でちょっと特殊な雰囲気があるし、情報もBINDに比べて少ないです。
djbdnsの設定ファイルは記述が簡潔で分かりやすい、ということだけど内部向けと外部向けでゾーン情報を分ける記述が今ひとつしっくりこない。
%lan:192.168.10 %wan +example.com:192.168.10.10::lan +example.cpm:XXX.XXX.XXX.XX::wan
という具合にやるらしいんだけど、いちいちlanとかwanとか付けるのもあまりおいしくない感じがいます。何かまとめて書ける方法とかないのかな。BINDだとviewを2つ用意してやって、内部向けと外部向けで別々のゾーンファイルを指定出来るから切り分けは楽。
慣れの部分も大きいんだろうけど、BINDはyumでサクっと入るし、ディレクトリの管理も「まぁこういう感じだよね」というのが分かりやすい印象です。対するdjbdnsはパッケージは用意されてないし、daemontools(仮想CDのアレとは関係ない)も入れて、その上で稼働させるという特殊な形なので最初の一歩が踏み出しにくい感があります。とは言え思想がハッキリしている分、一度分かってしまえば、把握しやすいかも知れません。
まだどちらを使う方が自分にとっていいのか分かりませんが、DNSというものについて考えるいい機会にはなりました。今までDNSとDNSキャッシュの違いをそこまで明確に意識していなかったので、かなり頭の中での理解は進んだ気がします。
今のところ、Xenの仮想サーバで両方別々に動かしてるけど、どちらで運用するかは悩みどころ。djbdnsが「BINDはダメだー」って盛り上がっていた頃とはBINDのバージョンも違うから、一概には比較出来ないようだし、難しいところですね。無難に行くならBINDの方が情報も見付けやすいし、誰でも(というと語弊があるかも知れないけど)使えるというのも大きなメリットかな。とにかくしばらく平行して使ってみよう。
あと、BINDの設定はこの本が分かりやすく、かつ各パラメータの内容も詳しく解説してくれていたので助かりました。ネットだと「とりあえずこうしとけ」的なサンプルは簡単に見付かるけど、その意味を理解しようとするとやっぱり書籍のまとまった情報というのはありがたいですね。
- 作者: 川原龍人,伊藤宏通,野津新
- 出版社/メーカー: 技術評論社
- 発売日: 2006/11/09
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 13回
- この商品を含むブログ (4件) を見る