先日 bind を黙らせたつもりだったけど、まだこんなエラーが続出していた。
Oct 20 09:53:36.329 client 192.168.1.14#2273: update 'XXXXXX.XX.XXX/IN' denied
Oct 20 09:53:36.359 client 192.168.1.14#2278: update '1.168.192.in-addr.arpa/IN'
なんだーこれー?と思っていたらどうやら 2000 以降の Windows が軒並み DynamicDNS クライアントとして動いているようだ。たぶん目的は ActiveDirectory.
今回は local での運用の話なので、zone のところに
allow-update {
192.168.1.0/24;
};
こういう記述を足して解決。ふむ。確かにしばらく放っておいたら Windows マシンの名前や IP アドレスが引けるようになった。なるほどねぇ。
あるいは Windows 側の設定で TCP/IP のプロパティで DNS のタブの、右のチェックを外しても対応可能らしい(スクリーンショットは 2000 のもの)が、これで解決するのはクライアント側の台数や設置場所によりますな。
外部に公開している DNS の場合はログにフィルタ掛けて update の失敗だけよけておいて、さらに外部からの update の失敗と内部からの update の失敗を分けて、、、というのがチェックしやすいログを作る方法なんだろうけど、今回は関係ないのでそんなことしてません。
参考 第4回 BINDでDynamic DNS環境構築 (@IT 連載 BINDで作るDNSサーバ より)
ISP の DNS のログってひっどいことになってるんだろなー。想像したくもない。
cron.d って Linux 系だけなのかなぁ? よく知らないけど。
/etc/crontab
/etc/cron.d/*
の両方から設定できるんだけど(daily とか hourly とかはとりあえず置いておく)、cron.d/ 方式はいたずらにファイルが分散してタスクが一覧できないから、どの辺で負荷が高そうか目で判断しにくいのがいやだなぁ。もちろん本当は負荷の高さはちゃんと計測して記録して分析すべきだろうけど、一目で分かりそうならその方が簡単だもの。
というか man にこの cron.d のことって書いてないんだけど、なんなんだろ、これ。はっきりしてほしい。BSD 派な自分は全部 crontab に書いてしまいたい。
Debian の cron は毎分 crontab の内容は読まない。毎分起動はするが
- メモリに load されている内容を実行する
- ファイルが更新されていたら load する
のプロセスが別々に実行されているかあるいはこの順番で実行されているので、更新後すぐに実行させるという芸当はできない。cron の実行をテストするようなときにハマるな、これ。(現にハマっていた。)
76% の男性のワタナベさんはこう呼ばれているらしい。(from トリビア)
ちなみに私がこう呼ばれたのはあるバイト先に居たときの上司からのみでした。今も一部に呼んでる人は居るみたいだけど、基本的にこう呼ばれることはないですね。なんででしょう。まぁ今さらそんな呼び方されても困るんですが。