CentOS 6のローカルDNSキャッシュをフラッシュする方法を探しています。
システムはDNSサーバーなどを実行していません。重複しているDNSサーバーでも、構成されたネームサーバーにすべてのDNSクエリを送信したいと思います。
オンラインで見つけたほとんどのことは、service nscd restart
、リロードまたは実行nscd -i hosts
。ただし、キャッシュをフラッシュするものはありません。
だから私はこれをどのように行うかについて誰かが考えているかどうか疑問に思っています。カーネルに切り替えが必要なスイッチはありますか?あらゆる種類の回避策も問題ありません。
DNSリクエストをキャッシュしているのはローカルボックスではありませんが、/etc/resolv.conf
でキャッシュしているDNSリゾルバです。
キャッシュされたクエリの返信を取得しないようにするには:
リゾルバーを変更します。
$ Dig @<resolve-ip> www.google.com
DNSサーバーにアクセスできる場合は、リゾルバーのDNSキャッシュをフラッシュします。
$ Sudo /etc/init.d/bind restart
応答をキャッシュするシステムではないことはほぼ確実です。その部分(システムキャッシュ)はnscd
デーモンによってのみ処理されます。デーモンを再起動(または完全に停止)すると、ネームサービス要求応答のOSキャッシュがリセットまたは削除されます。
私は2つの可能性を提供しますが、ポート53で設定したカスタムリスナーはかなり水を濁します。
クライアントマシンのDNSキャッシュが更新またはフラッシュされた後も機能しない場合は、サーバーまたはクライアントマシンがNISサーバーにバインドされていることを確認し、そうであれば「hosts:files nis dns」を「hosts:files dns nis」に変更します。 /etc/nsswitch.confファイルのエントリと、NISマスターサーバーのホストリストのIPアドレスを変更する必要もあります。