Windows、Mac、または Linux で DNS キャッシュをフラッシュする方法

公開: 2022-10-20

ページにアクセスしたときに、表示されるコンテンツが古いか、部分的に欠落しているか、またはコンテンツがまったくないように見えるというシナリオを経験したことがありますか? その場合、トラブルシューティング中に確認する必要があることの 1 つは、これらの問題の原因がデバイスの DNS キャッシュであるかどうかです。

ブラウザがコンテンツを「キャッシュ」する可能性があることはおそらくご存知でしょう (コンテンツを保存して、後で簡単かつ迅速に取得できるようにする)。 今日は、Windows を実行しているか、Mac で作業しているか、Linux ディストリビューション システムを実行しているかに関係なく、コンピューターに保存されている DNS キャッシュをクリア/フラッシュする方法を紹介します。

では、本題に入る前に、DNS キャッシングとは何かを簡単に詳しく見ていきましょう。

DNS キャッシュが存在する理由

ご存じかもしれませんが、ドメイン ネーム システム (DNS) は基本的に、ドメイン名を Web サイトのコンテンツを保持するサーバーの IP と照合するアドレス帳です。 そのため、Web サイトにアクセスすると、DNS はドメイン名を対応する IP アドレスに変換し、ブラウザーが正しいリソースをレンダリングできるようにします。

以下の図は、ドメインがコンピューターに適した IP 形式に変換され、Web サイトのコンテンツを返す方法を示しています。

このプロセスが実行され、応答が送信されるまでに時間がかかる場合があります。 そのため、ルックアップ プロセスの各ステップに DNS キャッシュが含まれており、オペレーティング システムの DNS キャッシュもその 1 つです。 このように、ユーザーが Web サイトに再度アクセスすると、情報を検索して DNS システムを介して IP アドレスを検索するプロセスに従う代わりに (図のように)、ブラウザは単にキャッシュから情報を取得して結果を返します。 これにより、Web サイトの読み込みプロセスが大幅に高速化されます。

オペレーティング システムの DNS キャッシュをフラッシュする理由

オペレーティング システムの DNS キャッシュをフラッシュする理由はいくつかあります。

システムの DNS は (理論的には) 必要に応じて更新する必要がありますが (たとえば、Web サイトが新しい IP アドレスに移動するなど)、常に更新されるとは限りません。 このため、古いコンテンツが表示されるか、404 エラーが発生する可能性があります。 これは非常にイライラする可能性があります。

DNS キャッシュをフラッシュすると、Web サイトを開発したり、ドメイン名レコードを設定したりするときにも役立ちます。 これは、DNS キャッシュが競合を引き起こし、正しいコンテンツまたはサイト全体を表示できない場合です.

また、ブラウザが提供するシークレット モードを使用したくない場合でも、DNS キャッシュをフラッシュすることで検索を非公開にすることができます。 これを行い、Cookie をクリアすると、アクセスした Web サイトに関して保存されている情報が削除されます。

Pressidium でウェブサイトをホストする

60日間の返金保証

プランを見る

注目に値する最後の 1 つの問題は、DNS スプーフィング (DNS キャッシュ ポイズニングとも呼ばれます) と呼ばれます。 これは、誰かが DNS キャッシュにアクセスして、ネーム サーバーを別の IP アドレスなどの誤った結果レコードにリダイレクトするコンピューター ハッキングの一種です。 これは、ユーザーが思っていたサイトとは異なるサイトを無意識のうちに閲覧してしまう可能性があることを意味します。 だまされてログイン資格情報を入力したり、ハッカーに役立つ他の情報を手放したりする可能性があるため、これには明らかにセキュリティ上の影響があります。 DNS キャッシュを定期的にクリアすることで、この特定のタイプのハッキング攻撃の犠牲になる可能性を減らします.

通常、DNS キャッシュは一定期間後に自動的に期限切れになるように設定されますが、これを手動でフラッシュすると、このプロセスが完全に実行されるようになります。 また、Web サイトへの接続に問題があることに気付いた場合 (インターネット接続などの明らかな原因を除外した後) に着手するのも良いステップです。

キャッシュをフラッシュすることの実際のマイナス面はありません。おそらく、最初に Web サイトにアクセスするときのわずかな時間のペナルティを除けば. ただし、この「ラグ」はおそらくほとんど目立たず、サイトがキャッシュされるため、同じサイトに 2 回アクセスしたときに経験することはありません。

Windows 10 で DNS キャッシュをフラッシュする方法

Windows 10 オペレーティング システムで DNS キャッシュをクリアするために従う必要がある手順は次のとおりです。

ステップ 1: DOS コマンド ウィンドウを開きます。 これを行うには、検索アイコンをクリックして「実行」と入力します (または、Windows ボタンを押しながら R キーを押します)。

ステップ 2:表示されるポップアップ実行ウィンドウで、引用符なしで「cmd」と入力し、Enter キーを押します。 コマンドプロンプトウィンドウが目の前に開くはずです。

最後に、次のコマンドを入力して Enter キーを押します。

 ipconfig /flushdns

それでおしまい。 DNS キャッシュがフラッシュされました。

Mac で DNS キャッシュをフラッシュする方法

使用している macOS のバージョンによっては、DNS キャッシュをフラッシュするプロセスが異なる場合があります。

最新の macOS バージョンで DNS キャッシュをクリアする

macOS バージョン 10.11 以降の場合、ターミナルを開いて以下のコマンドを入力します。

 sudo killall -HUP mDNSResponder

次に、パスワードの入力を求められます。入力したら、それで終わりです。 DNS キャッシュがクリアされます。

古い macOS バージョンで DNS キャッシュをクリアする

古いバージョンの場合、コマンドはバージョンごとに異なります。

OS Xマーベリックス

 sudo killall -HUP mDNSResponder

OS X ヨセミテ:

 sudo discoveryutil udnsflushcaches

Mac OS X Snow Leopard、Mac OS X Leopard :

 sudo dscacheutil -flushcache

Mac OS X タイガー:

 lookupd -flushcache

注: 左上隅にある「リンゴ」アイコンをクリックし、「この Mac について」オプションを押すと、実行している macOS のバージョンを確認できます。

Linux ディストリビューションで DNS キャッシュをフラッシュする方法

Linux ディストリビューションで DNS キャッシュをクリアする前に、systemd-resolved がアクティブであることを確認する必要があります。 これを確認するには、ターミナル ウィンドウで次のコマンドを入力します。

 sudo systemctl is-active systemd-resolved

「アクティブ」の場合は、続行してコマンドを入力して、DNS キャッシュをフラッシュできます。

Ubuntuを使用している場合は、次のように入力する必要があります。

 sudo systemd-resolve --flush-caches

DNS が正常にクリアされたことを示す確認メッセージは表示されません。 確認する方法は、次のコマンドを実行することです。

 sudo systemd-resolve --statistics

プロセスが成功すると、「現在のキャッシュ サイズ」が 0 になっていることがわかります。

ただし、Ubuntu を使用していない場合は、次のコマンドを挿入します。

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

結論

DNS キャッシュのフラッシュは頻繁に行う必要はありませんが、Web サイトの閲覧に関する予期しない問題を解決する簡単な方法です。 上記からわかるように、オペレーティング システムに関係なく、非常に迅速なプロセスです。