Windows 10でDNSキャッシュをフラッシュ(クリア)・リセットする3つの方法
インターネットを利用していて、ウェブサイトがうまく開かない、目的のページにアクセスできない——そんなトラブルに直面していませんか?その原因は、DNSサーバーとその解決キャッシュ(DNS Resolver Cache)にある可能性があります。
DNS(Domain Name System:ドメインネームシステム)は、オンライン上における頼れる相棒です。訪問したウェブサイトのドメイン名を、コンピューターが理解できるIPアドレスへと変換する役割を担っています。たとえば、ドメイン名を使ってあるサイトにアクセスすると、ブラウザーはDNSサーバーへ問い合わせを行い、そのサイトのIPアドレスを取得します。そして、取得したIPアドレスの記録はデバイス内にもローカル保存されるため、次回以降に同じサイトへアクセスする際には、以前よりも高速に情報を取得できるようになります。
これらのIPアドレスはDNS Resolver Cache(DNSリゾルバーキャッシュ)としてキャッシュ形式で保存されています。しかし場合によっては、サイトへアクセスしても高速な結果が返ってくるどころか、まったく反応がないことがあります。こうした場合は、DNSリゾルバーキャッシュをフラッシュ(消去)してリセットすることで、問題が解決することがあります。
時間の経過とともにDNSキャッシュが不具合を起こす理由はいくつかあります。ひとつは、ウェブサイト側がIPアドレスを変更しているのに、ローカルの記録には古いIPアドレスが残っているケースです。この場合、接続を確立しようとしても古い情報が邪魔をしてしまいます。
もうひとつの理由は、不正な結果がキャッシュとして保存されてしまうことです。DNSスプーフィングやDNSポイズニングによって誤った情報が保存されると、ネットワーク接続が不安定になることがあります。サイト自体には問題がなくても、デバイス上のDNSキャッシュが破損していたり、情報が古くなっていたりすると、サイトにアクセスできなくなるのです。こうした症状が出たら、DNSリゾルバーキャッシュのフラッシュとリセットを試してみましょう。
なお、DNSリゾルバーキャッシュ以外にも、必要に応じてフラッシュ・リセットできるキャッシュがデバイス上には存在します。それがメモリキャッシュとサムネイルキャッシュです。メモリキャッシュはシステムメモリー上のデータのキャッシュであり、これを削除すればシステムメモリーをある程度解放できます。サムネイルキャッシュには、デバイス内の画像や動画のサムネイル(削除済みファイルのものも含む)が保存されており、これを削除すればハードディスクの空き容量を確保できます。
Windows 10でDNSキャッシュをフラッシュ・リセットする方法
Windows 10でDNSリゾルバーキャッシュをフラッシュするには、主に3つの方法があります。いずれの方法も、インターネット接続の問題を解消し、安定した通信を取り戻すのに役立ちます。
方法1:「ファイル名を指定して実行」ダイアログを使う
1. ショートカットキーの Windowsキー + R を押して、「ファイル名を指定して実行」ダイアログを開きます。
2. ボックスに ipconfig /flushdns と入力し、「OK」ボタンまたは Enter キーを押します。

3. 一瞬 コマンドプロンプト画面(cmd) が表示され、「DNS リゾルバー キャッシュは正常にフラッシュされました」というメッセージでキャッシュの消去が確認できます。

方法2:コマンドプロンプトを使う
管理者アカウントでWindowsにログインしていない場合は、管理者権限を持つアカウントにアクセスできるようにしておくか、新しく管理者アカウントを作成してください。DNSキャッシュの消去には管理者権限が必要で、権限がないまま実行すると「System error 5」が表示され、要求が拒否されます。
コマンドプロンプトでは、DNSキャッシュやIPアドレスに関連するさまざまな操作を実行できます。具体的には、現在のDNSキャッシュの表示、ホストファイルへのDNS登録、現在のIPアドレス設定の解放、新しいIPアドレスの取得・再設定などです。また、わずか1行のコマンドでDNSキャッシュ機能を有効化または無効化することも可能です。
1. Windowsの検索バーに「cmd」と入力し、「管理者として実行」をクリックして、昇格されたコマンドプロンプトを開きます。これらのコマンドを有効にするには、必ず管理者として実行してください。

2. コマンド画面が表示されたら、ipconfig /flushdns と入力して Enter キーを押します。Enterを押すと確認メッセージが表示され、DNSキャッシュのフラッシュが成功したことがわかります。

3. 実行後は、DNSキャッシュが本当に消去されたかを確認しましょう。ipconfig /displaydns と入力して Enter キーを押します。DNSエントリが残っていれば画面に表示されます。このコマンドは、いつでもDNSエントリを確認したいときに使えます。

4. DNSキャッシュを無効化したい場合は、net stop dnscache と入力して Enter キーを押します。

5. 次に、DNSキャッシュを再度有効化したい場合は、net start dnscache と入力して Enter キーを押します。
注意: DNSキャッシュを無効化したまま有効化し忘れても、システムを再起動すると自動的に再開されます。

その他にも、ipconfig /registerdns を使えばHostsファイルのDNSレコードを手動で再登録でき、ipconfig /renew はIPアドレスをリセットして新しいアドレスを取得します。現在のIPアドレス設定を解放したい場合は、ipconfig /release を使用してください。
方法3:Windows PowerShellを使う
Windows PowerShellは、Windows OSに搭載されている最も強力なコマンドラインツールです。コマンドプロンプトよりも多くの操作が可能で、さらに大きな利点として、コマンドプロンプトではローカルのDNSキャッシュしか消去できないのに対し、PowerShellではクライアント側のDNSキャッシュも消去できます。
1. 「ファイル名を指定して実行」ダイアログまたは Windows検索バー から「Windows PowerShell」を開きます。

2. クライアント側のキャッシュを消去したい場合は、PowerShellで Clear-DnsClientCache と入力して Enter キーを押します。

3. デスクトップPC上のDNSキャッシュだけを消去したい場合は、Clear-DnsServerCache と入力して Enter キーを押します。

DNSキャッシュがフラッシュ(消去)できない場合は?
まれに、コマンドプロンプトを使ってもDNSキャッシュを消去・リセットできないことがあります。これはDNSキャッシュ機能自体が無効になっていることが原因の可能性があります。その場合は、まずキャッシュを消去する前に、DNSキャッシュ機能を有効化する必要があります。
1. 「ファイル名を指定して実行」ダイアログを開き、services.msc と入力して Enter キーを押します。

2. サービス一覧の中から「DNS Client(DNSクライアント)」サービスを探し、右クリックして「プロパティ」を選択します。

3. 「プロパティ」ウィンドウが開いたら、「全般」タブに切り替えます。
4. 「スタートアップの種類」を「自動」に変更し、「OK」をクリックして変更を確定します。

これで再度DNSキャッシュの消去を試みると、コマンドが正常に実行されるはずです。逆に、何らかの理由でDNSキャッシュを無効化したい場合は、スタートアップの種類を「無効」に変更してください。
あわせて読みたい記事:
- Windows 10のキャッシュをまとめて削除する究極ガイド
- 2021年版おすすめパブリックDNSサーバー10選:比較&レビュー
- Windows 10でDNS設定を変更する3つの方法
本記事が参考になり、Windows 10でDNSキャッシュのフラッシュ&リセットが成功していれば幸いです。まだ不明な点がある場合は、お気軽にコメント欄でお尋ねください。
-
Windows 11を初期化(リセット)する方法【ファイルを残す/すべて削除】
新しく購入したWindows 11ノートパソコンでエラーや不具合が頻発している場合は、Windows 11をリセットすることを検討してみてはいかがでしょうか。Windowsの「このPCをリセット」機能を使えば、OSを出荷時の状態(工場出荷時設定)に戻すことができます。リセット後はプログラムファイルが再インストールされ、これまでの問題が解消されたクリーンなWindows環境を手に入れられます。さらに、リセットの際には個人ファイルを「残す」か「削除する」かを選択することも可能です。この記事では、Windows 11を初期化(ファクトリーリセット/ハードリセット)する方法を詳しく解説します。 Win
-
【Windows】ipconfig /flushdnsコマンドでDNSキャッシュをクリア(フラッシュ)する方法
ウェブサイトに初めてアクセスした後、次に訪れたときには読み込みがずっと速くなったことに気づいたことはありませんか? これは、OS(Google Chromeの場合はブラウザ本体)が、訪問したウェブサイトのIPアドレスやDNS(ドメインネームシステム)情報をキャッシュしているためです。DNSキャッシュには以下の情報が含まれています。 ウェブサイトのアドレスまたはホスト名(技術的にはリソースデータ「rdata」と呼ばれます) ウェブサイトのドメイン名 レコードタイプ(IPv4またはIPv6) キャッシュの有効期限であるTTL(Time To Live:生存時間) TTLが期限切れになると、キャ