2011年1月29日土曜日

djbdns is striking back

タイトルに深い意味はない。("striking back" 書きたかっただけ)

内部DNS サーバに unbound と NSD を使っているのだが、これがなにやらご機嫌斜めのようである。
ある程度時間を割いてちょろちょろパラメータ調整してみたいのだけど、
それにさほど手間をとりたくない。(DNS いじるだけのお仕事ではないし、、)
あと、フォワーダとしての設定を一部変更しておく必要がでてきていじくる機会があり、

・・・ (手慣れた)djbdns だな、うん。。。

と思い、時代(?)に逆行してるんだ、、よね、、とか、「まるで成長していない・・・」とも思いつつ、djbdns をインストール、dnscache と tinydns をちょろりと設定して、置き換えた。今は全世界でどのくらい使われているんだろうな。
自分としてはやはり、よく手に馴染んでいるから戻ってきてしまったよという感じ。

久しぶりに扱ったこともあり、以下メモ。

djbware 全般
・errno の問題は conf-cc に -include /usr/include/errno.h を加える (別の方法もある)
・make setup
・daemontools 0.76 は slashpackage なので ./package/compile したあとは コマンド群を まるっとinstall でいれるようにする (slashpackage は嫌い)

アカウント作成
・log 用に dnslog ユーザ
・dnscache ユーザ, tinydns ユーザ作成 (わけんでもいいけど、まぁ)

dnscache
・dnsroots.global は古いので注意
・dnscache-conf
・root/servers/@ を所定のキャッシュ DNS サーバのアドレスに変更 (ルートサーバは見に行かない)
・root/servers/<とあるドメイン名> に tinydns のアドレスを記述して内部で解決させる
・env/ 以下に FORWARDONLY を作成. 中身は 1 にしておく
・env/CACHESIZE, env/DATALIMIT を適宜変更
・/service 以下に symlink はる、起動する
・しばらくして キャッシュサイズを調整する (stat 行をみておく)

tinydns
・tinydns-conf でもりっと作成
・Z 行は使わず . 行で。A RR の ワイルドカードも前は * でなくて \052 だったかな、そう書いてたけど * で問題ない
・tinydns-get でテストを行う


(一旦)さよなら、unbound, NSD..