Bind

chroot

デフォルトではchrootという機能が有効になっている。
これはセキュリティ対策のため、/var/named/chrootディレクトリをルートディレクトリに見せかける技術だ。
今回は無効にする。以下はその手順
/etc/sysconfig/named の ROOTDIR=/var/named/chrootの行をコメントにする。次のコマンドでもいいらしい。
# bind-chroot-admin -d
逆に有効にする場合は、/etc/sysconfig/namedを戻すか、次のコマンドを実行。
# bind-chroot-admin -e

/etc/named.conf

== CentOS 5.3の場合 ==
bindはインストールされ、rpm -ql bindでも出力されるのだが、実際には存在しない。なんだそりゃ!
インストール後に削除しているのか?
どうも、自動更新の問題で提供しないことにしたらしい。でもサンプルくらいあっていい気がする → named.conf

/var/named/named.ca

== CentOS 5.3の場合 ==
上記と同様に存在しない。なんだそりゃ! → named.ca
最新版が欲しい場合はこちらから → named.root

caching-nameserver

# yum -y install caching-nameserver
によってある程度インストールされる。

ログ

起動時など通常のログは、/var/log/messagesに出力される。
デフォルトだと、同じ情報が/var/named/data/named.runにも出力される。
ただし、このままだとアクセス時の情報が出ないので、後者にのみ出力するようにする。
そのためには、次のようにしてデバッグレベルを上げる。
# rndc trace レベル
レベルは 0 から 100 までの数字で、大きい方が詳しい。
停止は 0 か、notrace とする。
起動時のデバッグレベルは、/etc/sysconfig/namedにOPTIONS="-d レベル"と記述。
よくわからないが、レベルは10くらいでいいと思う。

設定ファイルのチェック

# named-checkconf
# named-checkzone ゾーン名 ゾーンファイル名

注意点

  1. ゾーンファイルが存在しない場合は、そもそも起動に失敗する。
  2. NSレコードの名前に対応するAレコードで、自分自身の正しいIPアドレスを指定する。
    そうしないと、正しく動作しない。ただし、他のレコードは適当でも動作する。