CentOS 5.2でBIND
自宅ネットワークのIPv6化に取り組んでる。とりあえずpingは通るようになったので、次はローカルネットワーク向けのDNSを立ち上げようとした。AAAAレコードを登録するのがとりあえずの目的。
BINDは以前何度か使った事あるし、すぐ終わるだろうと思ってたけど、結構時間がかかったので一応メモ。
環境
- CentOS 5.2
- BIND 9.3.4 (CentOSのrpm)
まぁ簡単な事なんだけどちょっと戸惑ったのが2点あったのでそれを。
1点目は設定ファイルがあるべき場所にないという事。結論としては/usr/share/doc/bind-9.3.4/sample/の下にあるファイルを色々コピーしてこなければいけない。
- named.conf
- named.root.hints
- named.rfc1912.zones (named.confを編集して、このファイルを使わないようにしてもいいけど)
2点目はどういう内容かというと、当然named.confは適切に変更をしなきゃいけないんだけど、それに関して最初気づかなかった点がある。現象としてはbindを起動しようとしても失敗する。で、/var/log/messagesには以下のようなエラーメッセージが出てた。
Feb 23 00:29:56 localhost named[8838]: starting BIND 9.3.4-P1 -u named -t /var/named/chroot
Feb 23 00:29:56 localhost named[8838]: found 1 CPU, using 1 worker thread
Feb 23 00:29:56 localhost named[8838]: loading configuration from '/etc/named.conf'
Feb 23 00:29:56 localhost named[8838]: listening on IPv4 interface lo, 127.0.0.1#53
Feb 23 00:29:56 localhost named[8838]: listening on IPv4 interface eth0, 192.168.1.2#53
Feb 23 00:29:56 localhost named[8838]: /etc/named.conf:89: configuring key 'ddns_key': bad base64 encoding
Feb 23 00:29:56 localhost named[8838]: loading configuration: bad base64 encoding
Feb 23 00:29:56 localhost named[8838]: exiting (due to fatal error)
named.confを見てみると以下のような箇所があったのに気づいた。
secret "use /usr/sbin/dns-keygen to generate TSIG keys";
書いてある通り、dns-keygenコマンドの出力をsecretに設定すればok。
この2点を解決するのに思ったより時間がかかった。CentOSの英語のフォーラムでも同じような問題ではまっている人がいた(→)。