• ベストアンサー

DNS リゾルバのキャッシュ

RedHat Linuxでbindを使っています。 自分自身はDNSサーバではなく、リゾルバとして外部DNSサーバを参照しています。 この場合、問い合わせたDNS情報は、自分自身のHDD上にキャッシュされるのでしょうか? WindowsならDNS Clientサービスで、ipconfig /displaydns で表示したり、/flushdns で削除したりできますが、 これをLinux(bind?)ではできるのか(そもそもキャッシュされていない?)を知りたいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuma-ku
  • ベストアンサー率54% (1558/2845)
回答No.2

サーバとして動作していなかったんですよね、失礼しました。 リゾルバとしてのみ動作している場合は、キャッシュしないはずです。

noname#41382
質問者

お礼

ありがとうございました! >リゾルバとしてのみ動作している場合は、キャッシュしないはずです。 > これはbindを使った場合ということなのでしょうか? そもそもlinuxのリゾルバがdjbdnsやbindなどのDNSプログラムに依存しているのかがわかりませんが...(汗)

その他の回答 (2)

  • kuma-ku
  • ベストアンサー率54% (1558/2845)
回答No.3

>これはbindを使った場合ということなのでしょうか? そもそもlinuxのリゾルバがdjbdnsやbindなどのDNSプログラムに依存しているのかがわかりませんが...(汗) BINDだけではないです。 Linuxをリゾルバとしてのみ扱うと言うことで、 DNSサーバとして扱う場合には、キャッシュは有効にできます。

noname#41382
質問者

お礼

何度もご回答ありがとうございます! >Linuxをリゾルバとしてのみ扱うと言うことで、 >DNSサーバとして扱う場合には、キャッシュは有効にできます。 > そういうことなんですね。 Windowsの"DNS Client"は、リゾルバにキャッシュ機能を付随するサービスのようですし、 純粋な(スタブ)リゾルバは自分自身でキャッシュする事(仕様?)はないといった感じでしょうか。 なんとなく道が見えてきたような気がします。 ありがとうございました。

  • kuma-ku
  • ベストアンサー率54% (1558/2845)
回答No.1

こんにちは 確か、BINDではHDD内にはキャッシュファイルとして残しておらず、メモリ内で展開されていたはずです。 なので、リブートさせるとリフレッシュされます。 nslookup時に [ Non-authoritative answer: ] と表示されれば、キャッシュされた内容を示しています。 ウル覚えで申し訳ないです。

noname#41382
質問者

お礼

アドバイスありがとうございました! 実際にnslookupを行った状態をtcpdumpでキャプチャしてみたのですが、 毎回問い合わせを行っているようです。 キャッシュされていないのでしょうか? "Non-authoritative answer:"はDNSサーバ側のキャッシュ状況しか確認できないように見えます。

関連するQ&A

専門家に質問してみよう