パスワードを忘れた? アカウント作成
726897 journal

noboruの日記: dnscache

日記 by noboru

学内のネットワークが不調なのか、時折 DNS の名前引きがすっごく遅いことがある。そこで djbcache を入れてみた。こいつは daemontools を要求しやがって、そいつがまた変なディレクトリを掘ってくださるもんだから、ちょっとイヤなわけ。そこで何とか daemontools なしで動かしてみようとしたわけ。

まず、djbdns 自体のコンパイルとインストールは daemontools が無くても問題なし。

dnscache の設定。新しいユーザを作るのが面倒くさいので "# dnscache-conf obata obata /etc/dnscache" とかやっちゃう。

次に実行。たくさん環境変数を与えれば単体で起動することがわかった。起動時に 128 バイトの乱数を必要とする。"</etc/dnscache/seed" で与えてもいいが、何となく /dev/urandom を使ってみた。GID と UID は上の dnscache-conf で引数に与えたユーザのものを指定する。

# /bin/dd if=/dev/urandom bs=128 count=1 2>/dev/null | /usr/bin/env CACHESIZE=1000000 IP=127.0.0.1 ROOT=/etc/dnscache/root GID=100 UID=1000 IPSEND=0.0.0.0 /usr/local/bin/dnscache &

なお、env を使わずにシェルプロンプトから起動しようとすると、"bash: UID: readonly variable" というエラーになる。

このように起動すると、標準出力にログがだらだらと出力される。動作を確認後、不要に感じたら >/dev/null すればよい。ぼくはソースをいじって log_* 関数の呼び出しをすべて削除してみた。

しばらく使っているが、動いてるね。

typodupeerror

「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」

読み込み中...