– named.conf の場所が違う, または権限が不足している
named の起動オプションで
named -c /etc/named/named.conf
のように -c で設定ファイルへのパスを指定してみましょう。
– 名前解決で自分を見ていない
> nslookup example.com 127.0.0.1
または
> dig @127.0.0.1 example.com
でDNSサーバを明示してみます。
これで解決できるなら、解決先が正しくない可能性が高いです。
たとえば UNIX 系なら /etc/resolv.conf で
> nameserver 127.0.0.1
のように解決先を指定していない可能性があります。
– 設定ファイルの文法が間違っている
文法が間違っていると、黙ってその設定ファイルを無視します。
named.conf と zone ファイルの文法を次のコマンドでチェックしてみましょう。
named-checkconf <named.conf のパス>
named-checkzone <ゾーン名> <ゾーンファイルのパス>
具体的にはたとえば次のようにします。
named-checkconf /etc/named/named.conf
named-checkzone example.com /etc/named/example.com.zone
これを実行し、named-checkconf の場合何も表示されなければ、named-checkzone の場合最後に OK と出れば、そのファイルの文法は正しいということです。
文法が間違っている場合、エラーメッセージが出力されるので、それを元に正します。
– 設定ファイルの変更後、DNS をリロード/再起動していない
設定ファイルは、リロードまたは再起動しないと即時反映されません。
> /sbin/named.reload
などとして、明示的にリロードすることで直ちに反映されます。
参考:
– @IT:実用 BIND 9 で作る DNS サーバ