ときどき、ローカルDNSカチの焦土作戦を行う必要があります。この最も一般的なシナリオは、OpenDNSを使用していて、名前の解決に失敗した場合(ローカルネットワーク上のホスト名でしたが、実行されていなかった場合)、OpenDNSから素敵な広告ページに移動しました。その後、DNSの問題が修正された後も、OpenDNSに解決しています。それは実際にはもうあまり起こりませんが、それでも時々、DNSを新たに開始する必要があります。
さて、私の質問に答えられる可能性が高いのであれば、最近のコンピューターはどこでもDNSキャッシュを隠していることを知っていると思います。あなたのOSはそれを持っています、あなたのブラウザはそれを持っています、あなたの他のブラウザはそれを持っています、あなたがDNSMasqを実行しているなら(私はそうです)、あなたはそれもクリアしなければなりません。そこで、これらのキャッシュのほとんどをクリアするための小さなシェルスクリプトを作成しましたが、ブラウザのDNSキャッシュも手動で実行されています。
Chromeで、chrome:// net-internals /#dnsにアクセスし、[ホストキャッシュをクリア]をクリックします
Firefoxでも、同様のプロセスがあると確信しています。それが何であるかはわかりません。
ただし、これらの両方をコマンドラインからクリアしたいので、DNS書き込みスクリプトに統合できます。これは可能ですか?もしそうなら、どのように?
ChromeまたはFirefoxがこれを行うためのコマンドラインインターフェイスを提供している場合、それは非常にクールです。
そうでない場合は、DNSキャッシュがファイルまたはファイルのセットに保存されていると思います(それは本当ですか、それともすべてRAMに保存されていますか?)。それらのファイルを識別して削除できれば、おそらく同じ効果がありますか?それはうまくいくでしょうか、それとも単にすべてを壊すでしょうか?ファイルはどこにありますか?
他のアイデアはありますか?
Chrome/ChromiumのDNSキャッシュはすべてRAMにあります。 Chromeを完全に再起動すると、必然的にクリアされるようです。
ホストキャッシング用のChromiumソース は、永続性のためにハードドライブにコミットしていないようです。公式のGoogle Chromeも同じことをしていると思います。
Firefoxについても同じことが言えます。 プリフェッチシステムのコード はハードディスクへのコミットも示唆していないため、Firefoxを再起動するだけでキャッシュがクリアされるようです。
プライベートブラウザウィンドウを使用して、問題のサイト/ページを開きます。これは、Firefoxの他のDNSキャッシュ(私が見つけた永続的なものである可能性があります)を無視します。プライベートブラウザウィンドウでドメインにアクセスすると、通常のウィンドウで正常に機能するはずです。このためのコマンドラインオプションは次のとおりです。
firefox -private-window URL
Windows(またはLinux)のDNSキャッシュのクリーンアップを試みることができます
Windowsを使用している場合は、次のようにします。
1)管理者としてコマンドプロンプトを実行する
2)これを書いてください:
ipconfig /flushdns
enterキーを押します。
次のように入力して、DNSキャッシュを確認することもできます。
ipconfig /displaydns
Linuxを使用している場合は、次のことを試してください。
1)コマンドターミナルをrootとして開きます
2)コマンドを実行します
/etc/init.d/nscd restart
このFirefoxアドオンを使用してDNSキャッシュをクリアすることもできます: DNS Flusher