UbuntuでDNSキャッシュをクリアする方法は?


45

Ubuntu 9.10でDNSの解決に関連する問題が発生しています。
ISPに文句を言う前に、WindowsのようにローカルDNSキャッシュを更新したいと思いますipconfig /flushdns

Ubuntuでこれを行うにはどうすればよいですか?

回答:


54

Øhh、ubuntu デフォルトでDNSをキャッシュしません。したがって、フラッシュするものは何もありません!(ただし、SOHOルーターはそうするかもしれません)。nscdをインストールすると、ubuntuキャッシュがDNSになります。その後、キャッシュをクリアできます。


3
好奇心から、私は14.04にいて、実行中nslookupは応答がserverから来ることを教えてくれます127.0.0.1。しかし-私の知る限り、DNSキャッシングはインストールされていnscdません(どちらでもありませんdnsmasq)。私はKubuntuにいます...これはKDE Network Managerのものですか?
exhuma

@exhumaはubuntu 14.04でも同じなので、kubuntuのものではありません。
LJ_1102 14年

2
@ LJ_1102 @ exhumaこれはUbuntuのネットワークマネージャーになり、ローカルDNSサーバーとしてリッスンしますが、すべての要求を定義されているものに転送します。副作用として(または設計上)、これにより、ルート権限を必要とせずにインターフェースからDNSサーバーをその場で変更できます。:例えば、この質問を参照してくださいunix.stackexchange.com/questions/59414/...
Raghd Hamzeh

19

Ubuntu 12.04以降では、ローカルキャッシュにdnsmasqを使用します。SIGHUP(sudo killall -HUP dnsmasq)を送信すると、キャッシュが再読み取りされます。


SIGHUPを受信すると、dnsmasqはキャッシュをクリアし、/ etc / hostsと/ etc / ethers、および--dhcp-hostsfile、-dhcp-optsfile、または--addn-hostsで指定されたファイルを再ロードします。dhcpリース変更スクリプトは、既存のすべてのDHCPリースに対して呼び出されます。--no-pollが設定されている場合、SIGHUPは/etc/resolv.confも再読み取りします。SIGHUPは構成ファイルを再読み取りしません。


これは合理的に見えます。P:私の代わりに他の受け入れられるように、このマークをテストする(/ etc / hostsファイルとオペラに新しいサイトに関連している)私が持っていた問題の別のものを見つける必要があるが
igorsantos07

それはいいです。私は実際にこれに出会い、自分のキャッシュされたDNSエントリを消去しようとしました。しかし、解決策を見つけたら、ここに調査結果を追加する必要があると感じました。ただし、Ubuntuがdnsmasqの使用を開始したバージョンはわかりません。
ytjohn

1
これは機能し、本当に答えとしてマークされるはずです!
HDave

1
少数の編集が禁止され、眉をひそめられなかった場合、「SIGUP」をSIGHUPに修正します。
ジェームスヘイ14

@Igoru:digキャッシュが本当にクリアされたかどうかをテストするために使用できます。OpenWrtルーターの1つでキャッシュをクリアしたかったのですが、これをdig @192.168.0.3 nixos.org何回か試しました(既存のドメインなら何でもかまいません)。キャッシュされている間、通常、クエリ時間killall -HUP dnsmasq1ミリ秒ですが、ルーターで(ルートとして)発行するたびに、クリアするたびに約27ミリ秒になります。
ジェームスヘイ14

13

以下を試してください:

sudo /etc/init.d/dns-clean start

わたしにはできる。


1
これは14.04で機能しなくなるように見えるので、この回答以降は状況が変わったと思います。ちょっとubuntu、特定の名前解決システムやOSバージョン(そしておそらくOSディストリビューションは後で...)の詳細に縛られていないインターフェースがあればいいと思います。
クロードランシャン

15.04で動作します
Milan Simek

Ubuntu 14.04.5で動作します。このスクリプトはpppconfigパッケージで提供されます。デフォルトではディストリビューションに含まれていないと思います。
ssoto

1

DNSを変更したサイトでこの問題が発生し、このページで見つかった解決策を探してみました。

私の経験では、Firefoxは時々DNSキャッシュを保持し、時間内にクリアしません。そのため、Firefoxでサイトを表示していて、古いサイトを引き続き表示する場合は、Chromeを試して問題を解決できる可能性があります。それが機能する場合、Firefoxでキャッシュをクリアできます。これはUbuntuで発生しましたが、WindowsでもOSXでも発生するかはわかりません。

nscdがインストールされていません。しかし、端末で数分後に新しいDNSが見つかったため、問題は解決しました。


1

質問のコンテキストによっては、Webブラウザのキャッシュもクリアする必要がある場合があります。

Firefoxでこれを行うには、設定->プライバシー->最近の履歴を消去します[そこで[キャッシュ]チェックボックスをオンにします)

Chromeの場合:chrome:// net-internals /#dnsに移動して、[ホストキャッシュをクリア]ボタンを押します。(別の回答を参照)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.