2004年10月24日
FreeBSD BIND9への移行
20040925 以降、すなわち FreeBSD 5.3 以降 は、FreeBSDに付属しているBINDがバージョン9になる。以前はバージョン8であった。また、20040928 以降、/var/named/ 以下に関連ファイルが集約され、chroot sandbox を使った、より安全な動作環境が採用されている。必要な移行作業は /usr/src/UPDATING に示されており、次のようになった。
make installworld まで終え、mergemaster をする前の段階で、次の作業をする。
BIND8を止めて、BIND9のレイアウトで設定ファイルを準備をする。
# /etc/rc.d/named stop
# cd /etc
# mv namedb namedb.bak
# mkdir -p /var/named/etc/namedb
# cp -Rp namedb.bak/* /var/named/etc/namedb/
mergemasterを使って/var/named/etc/namedb/named.conf をBIND9の雛型と比較して、修正する。雛型/usr/src/etc/namedb/named.confを見て、手動で修正してもよい。
# mergemaster (with your usual options)
更に、外向けに運用している場合は、/var/named/etc/namedb/named.conf に次の修正が必要。listen-onオプションをコメントアウトしておく。
// listen-on { 127.0.0.1; };
ローカルアドレス用の設定ファイルを準備する。
# cd /var/named/etc/namedb
# /bin/sh make-localhost
# rm -f localhost-v6.rev localhost.rev
再起動を行い、変更を反映させる。
# /etc/rc.d/syslogd restart
# /etc/rc.d/named start
なお、これまであった/etc/namedb は次のようにシンボリックリンクになる。
lrwxr-xr-x 1 root wheel 21 Oct 9 20:10 /etc/namedb@ -> /var/named/etc/namedb
最後に、不要になった BIND8 のファイルを削除しておく。
# rm /usr/bin/dnskeygen
# rm /usr/bin/dnsquery
# rm /usr/libexec/named-xfer
# rm /usr/sbin/named.restart
# rm /usr/sbin/ndc
# rm /usr/sbin/nslookup
# rm /usr/sbin/nsupdate
(最後の二つは /usr/bin に移動になった)