- ベストアンサー
DNS リゾルバのキャッシュ
RedHat Linuxでbindを使っています。 自分自身はDNSサーバではなく、リゾルバとして外部DNSサーバを参照しています。 この場合、問い合わせたDNS情報は、自分自身のHDD上にキャッシュされるのでしょうか? WindowsならDNS Clientサービスで、ipconfig /displaydns で表示したり、/flushdns で削除したりできますが、 これをLinux(bind?)ではできるのか(そもそもキャッシュされていない?)を知りたいです。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
サーバとして動作していなかったんですよね、失礼しました。 リゾルバとしてのみ動作している場合は、キャッシュしないはずです。
その他の回答 (2)
- kuma-ku
- ベストアンサー率54% (1558/2845)
>これはbindを使った場合ということなのでしょうか? そもそもlinuxのリゾルバがdjbdnsやbindなどのDNSプログラムに依存しているのかがわかりませんが...(汗) BINDだけではないです。 Linuxをリゾルバとしてのみ扱うと言うことで、 DNSサーバとして扱う場合には、キャッシュは有効にできます。
お礼
何度もご回答ありがとうございます! >Linuxをリゾルバとしてのみ扱うと言うことで、 >DNSサーバとして扱う場合には、キャッシュは有効にできます。 > そういうことなんですね。 Windowsの"DNS Client"は、リゾルバにキャッシュ機能を付随するサービスのようですし、 純粋な(スタブ)リゾルバは自分自身でキャッシュする事(仕様?)はないといった感じでしょうか。 なんとなく道が見えてきたような気がします。 ありがとうございました。
- kuma-ku
- ベストアンサー率54% (1558/2845)
こんにちは 確か、BINDではHDD内にはキャッシュファイルとして残しておらず、メモリ内で展開されていたはずです。 なので、リブートさせるとリフレッシュされます。 nslookup時に [ Non-authoritative answer: ] と表示されれば、キャッシュされた内容を示しています。 ウル覚えで申し訳ないです。
お礼
アドバイスありがとうございました! 実際にnslookupを行った状態をtcpdumpでキャプチャしてみたのですが、 毎回問い合わせを行っているようです。 キャッシュされていないのでしょうか? "Non-authoritative answer:"はDNSサーバ側のキャッシュ状況しか確認できないように見えます。
お礼
ありがとうございました! >リゾルバとしてのみ動作している場合は、キャッシュしないはずです。 > これはbindを使った場合ということなのでしょうか? そもそもlinuxのリゾルバがdjbdnsやbindなどのDNSプログラムに依存しているのかがわかりませんが...(汗)