家庭内LAN(SOHO)/FireWall内でのネームサーバの設定方法
インターネットにつながない状態で、DNSを動かしている状態が、多々有ると思うのですが、このような場合の設定方法についてまで書いている資料は目にすることが無いのでえーい書いちゃえぇということで私の知識から書いて見ます。先ずはこのような環境の時、以下のnslookupでコマンドを実行して見て下さい
nslookup
>set type=ns
>.
どうなるでしょう?
すぐ返事が返ってくるなら、設定は間違ってないでしょう
でも返事が返ってこない場合は、ちょっと考えて見て下さい
暫くすると
*** localhost can't find .: No response from server
といって返ってくるでしょう
現在インターネットにつながって以内状態なのに、一生懸命外部の
サーバを探しに言ってるのです。
えっ わたしはちゃんとローカルサーバをroot.cacheに書いてますって?
でも その設定は以下のようになってませんか?
BIND 4.9.x の場合
cache . root.cache
BIND 8.1.x の場合
zone "." {
type hint;
file "root.cache";
}
確かにインターネットに接続している場合はこれで良いですし、多分最初の
インストールされたサンプルもこうなっているでしょう。
でもこの設定はこのファイルがインターネット上のトップレベルドメインへの道標にしている物なのです。
ですから前述のnslookuup でのネームサーバ "."を探すために外部へパケットを出して返答待ち状態になって、最終段階でタイムアウトとなるわけです。
え、これでいいって
じゃこれから先は必要ないです(^^ゞ
これを回避するには、cache / hint という設定で指標とするのではなく、自サーバ内にルート"."があるという設定にすれば良いのです。
BIND 4.9.x の場合
primary . root.cache
BIND 8.1.x の場合
zone "." {
type master;
file "root.cache";
}
これだけです
さぁもう一度 nslookup を実行して見ましょう
root.cacheに書かれた情報通りになっているはずです
では 実例編を