djbdnsのdnscacheを外部キャッシュとして単体使用してみた。
設定方法は以下を参考にしました。
http://cr.yp.to/djbdns/run-cache.html http://cr.yp.to/djbdns/dnscache.html
外部キャッシュ単体で動作する時のやるべきことは以下の通り
まずはemerge(djbdns, daemontools) dnscache-confを実行する(このとき実行する自IPを最後につける) /service/dnscacheのリンク作成する(ln -s /var/dnscache/ /services/) /service/dnscache/env/FORWARDONLY内に配信する先のネットワークアドレス1オクテット目を記述(192.168.0.0/24なら192) /service/dnscache/env/IP内は自IPが記述されてることを確認 /service/dnscache/env/IPSEND内は0.0.0.0でおk /service/dnscache/env/CACHESIZE , DATALIMITは適当に。ROOTはdnscache-confで指定した場所が記述されてます。 /service/dnscache/root/ip/内にtouchで配信する先のネットワークアドレス1オクテット目(192.168.0.0/24なら192)と同じ名前のファイルを作る /service/dnscache/root/server/@を編集して、接続先DNSサーバのIPを記述する。
後はsvscanが勝手に動かしておいてくれるので放置でおk!
もしsvstat /service/dnschacheを実行してupなんだけど秒数が1から動かない場合は
tail -f /var/dnscache/log/main/current
で、確認するとログがたくさんでてるかも!
tinydnsやaxrfdnsと同居させてて同じIPを指定すると当然のことながら、IPは使用中ですメッセージがでてきます。
svscan後にError表示があったときの対処方法?
1.以下のメッセージが表示された場合
>|envdir: fatal: unable to read ./env/supervise: is a directory
該当のDirectoryを削除(supervise)