
CentOS 仮想マシンで DNS サーバーを構成し、vmnet2 (ホストのみ) IP 192.168.0.0/24 に接続しました。これは完璧に動作します。次に、別のアダプターを設定し、インターネット接続のために NAT に設定しました。次に、nslookup コマンドを試したところ、ISP DNS サーバーを使用して解決しようとしました。私の要件は、最初にローカル DNS を使用して解決を試み、解決できない場合は ISP 側に転送することです。私の NAT IP 範囲は 192.168.205.0/24 です。
私のresolv.conf
# Generated by NetworkManager
#search server
search sithila.server
nameserver 192.168.0.10
[ other commented material deleted ]
1 つのネットワーク カード (vmnet2) を使用した nslookup 出力
[sithila@sithila ~]$ nslookup www.sithila.server
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: www.sithila.server
Address: 192.168.0.10
2 つのネットワーク カード (vmnet2 と NAT) を使用した nslookup 出力
[sithila@sithila ~]$ nslookup www.sithila.server
Server: 192.168.205.2
Address: 192.168.205.2#53
** server can't find www.sithila.server: NXDOMAIN
答え1
OK、上記のコメントスレッドによると、間違ったサーバーが にリストされていたため、サーバーが間違ったサーバーに問い合わせていたことが判明しました/etc/resolv.conf
。これは良いことですし、あなたにとって便利な教訓となるはずです。ファイルの内容など、何かが問題を引き起こしているかどうかを確認するためにテストを行う場合は、問題が発生しているときにテストを実行する必要があります。!
2番目の質問については、 経由でそれを実行する方法はないと思いますresolv.conf
。代わりに、ローカルネームサーバーを設定して、上流のネームサーバーをフォワーダーとして使用する必要があります。 のエントリはnamed.conf
次のようになります。
zone "." {
type forward ;
forwarders {
192.168.205.2 ;
} ;
} ;
これにより、ローカル ネーム サーバーは、回答できない質問を上流サーバーに転送するようになります。 にローカル ネーム サーバーのみをリストしておくとresolv.conf
、それに応じてすべてのクエリが処理されるようになります。