web-dev-qa-db-ja.com

CentOSでローカルDNSキャッシュをフラッシュする方法

CentOS 6のローカルDNSキャッシュをフラッシュする方法を探しています。

システムはDNSサーバーなどを実行していません。重複しているDNSサーバーでも、構成されたネームサーバーにすべてのDNSクエリを送信したいと思います。

オンラインで見つけたほとんどのことは、service nscd restart、リロードまたは実行nscd -i hosts。ただし、キャッシュをフラッシュするものはありません。

だから私はこれをどのように行うかについて誰かが考えているかどうか疑問に思っています。カーネルに切り替えが必要なスイッチはありますか?あらゆる種類の回避策も問題ありません。

20
zee

DNSリクエストをキャッシュしているのはローカルボックスではありませんが、/etc/resolv.confでキャッシュしているDNSリゾルバです。

キャッシュされたクエリの返信を取得しないようにするには:

  1. リゾルバーを変更します。

    $ Dig @<resolve-ip> www.google.com

  2. DNSサーバーにアクセスできる場合は、リゾルバーのDNSキャッシュをフラッシュします。

    $ Sudo /etc/init.d/bind restart

11
pradeepchhetri

応答をキャッシュするシステムではないことはほぼ確実です。その部分(システムキャッシュ)はnscdデーモンによってのみ処理されます。デーモンを再起動(または完全に停止)すると、ネームサービス要求応答のOSキャッシュがリセットまたは削除されます。

私は2つの可能性を提供しますが、ポート53で設定したカスタムリスナーはかなり水を濁します。

  • A)システムが上流にクエリを発行していますが、直接の上流の名前リゾルバーは、その設定またはレコードのTTLに基づいて応答をキャッシュしています。
  • B)カスタムリスナーが応答を内部的にキャッシュし、キャッシュ時間の期限が切れる前に再度要求されたときに、その応答をシステムに返すだけです。
3
John

クライアントマシンのDNSキャッシュが更新またはフラッシュされた後も機能しない場合は、サーバーまたはクライアントマシンがNISサーバーにバインドされていることを確認し、そうであれば「hosts:files nis dns」を「hosts:files dns nis」に変更します。 /etc/nsswitch.confファイルのエントリと、NISマスターサーバーのホストリストのIPアドレスを変更する必要もあります。

3
Vilas Addagatla