DNSキャッシュクリアの方法とコマンド:Windows・Mac・Linux・Chrome

ポイント

DNSキャッシュのクリア(フラッシュ)とは、端末が過去に調べたドメイン名の回答を削除し、次のアクセスで改めてDNSに問い合わせさせる操作です。Windowsはコマンド プロンプトで ipconfig /flushdns を実行します。macOSはターミナルで sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder を実行します。systemd-resolvedを使うLinux(Ubuntu、Fedora)では sudo resolvectl flush-caches を実行します。Chromeでは chrome://net-internals/#dns を開いて「Clear host cache」をクリックします。安全な操作で、影響するのはご自分の端末だけです。

今すぐ確認

DNS キャッシュ クリア方法ガイド — Windows・Mac・Linux・Chromeでの手順を解説
DNS キャッシュ クリア方法ガイド — Windows・Mac・Linux・Chromeでの手順を解説
読み始める
  1. DNSキャッシュクリアのコマンド早見表
  2. DNSキャッシュの仕組み:TTL・キャッシュレベル・有効期限
  3. DNSフラッシュが必要なのはどんなとき?
  4. Windows 10・Windows 11でDNSキャッシュをクリアする方法
  5. MacでDNSキャッシュをクリアする方法(El Capitan以降の全バージョン)
  6. Linux(Ubuntu・Fedora・Debian)でDNSキャッシュをクリアする方法
  7. Google ChromeでDNSキャッシュをクリアする方法
  8. Firefox・Edge・SafariなどでDNSキャッシュをクリアする方法
  9. Android・iPhoneでDNSキャッシュをクリアする方法
  10. ルーターのDNSキャッシュをクリアする方法
  11. DNSキャッシュがクリアされたことを確認する方法
  12. DNSフラッシュで問題が解決しない場合の対処法
  13. よくある質問

DNSキャッシュクリアのコマンド早見表

DNSキャッシュをクリアするには、お使いのシステムに合ったコマンドを1つ実行するだけです。 クリア(フラッシュ)すると、端末が最近調べたドメイン名の回答が削除され、次のアクセスで改めてDNSに問い合わせて最新のアドレスを取得します。

ドメインの現在のレコードとTTLを確認

システム別のコマンドは次のとおりです。

対象コマンドまたは操作
Windows 10・11ipconfig /flushdns(コマンド プロンプト)または Clear-DnsClientCache(PowerShell)
macOSsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
systemd-resolvedを使うLinux(Ubuntu、Fedora 33以降)sudo resolvectl flush-caches
Chrome・Edge・Bravechrome://net-internals/#dns(または edge://、brave://)→ Clear host cache
Firefoxabout:networking#dns → DNS キャッシュを消去(英語版では Clear DNS Cache)
Android・iPhone機内モードを10秒オンにしてからオフにする(または再起動)
ルーター再起動する

なぜクリアが必要なのでしょうか。DNSレコードは変わるからです。サイトが新しいサーバーやホスティング会社に移転しても、端末に保存された回答は古いアドレスを指したままになります。ローカルキャッシュからの回答はほぼ一瞬で返りますが、リゾルバーへ問い合わせる場合は、私たちの自宅回線からGoogleの8.8.8.8まで約30msかかりました(2026年10月26日測定)。回答が古くなるまでは、キャッシュは役に立つ仕組みです。

DNSはブラウザ、OS、そして多くの場合ルーターと、複数の場所にキャッシュされます。そのため、しつこく古い回答が残るときは、複数の階層でクリアが必要になることがあります。

DNSキャッシュの仕組み:TTL・キャッシュレベル・有効期限

すべてのDNSレコードには、ドメインの所有者が設定するTTL(Time to Live)があります。キャッシュがそのレコードを保持してよい秒数です。値は通常300秒(5分)から86,400秒(24時間)の範囲で、たとえばCloudflareの既定値は300秒です。

各階層はそれぞれ独自のコピーを保持しています。

  • ブラウザ — Chromeは通常、内蔵のDNSクライアントを使います(Windows、macOS、Linux、ChromeOS、Androidで既定で有効)。各回答をレコードのTTLの間(最低60秒)保持し、「存在しない」という回答はゾーンのネガティブTTLの間保持します。OSのリゾルバーにフォールバックした場合は回答を60秒保持し、失敗した問い合わせは保持しません(Chromiumのソースコード)。Firefoxは最大3,200件の名前を保持し、OSからTTLが得られない場合は60秒を使います(Firefoxの設定項目)。
  • OS — WindowsのDNSクライアント(DNS Client)サービス、macOSのmDNSResponder、Linuxのsystemd-resolvedは、TTLが切れるまで回答を保持します。一部のLinux(既定構成のDebianや最小構成のインストール)はまったくキャッシュしません。
  • ルーター — 多くの家庭用ルーターはdnsmasqで動いており、既定で150件の名前をキャッシュします(dnsmasqのマニュアル)。OpenWrtではこれが1,000件に増やされています。
  • DNSプロバイダー — ISPやパブリックリゾルバーのキャッシュは、それを使う全員が共有しています。ISPのキャッシュはクリアできませんが、Google Public DNSとCloudflareでは、誰でも特定の名前をキャッシュから削除(パージ)できます(Google、Cloudflare)。それ以外の場合は、TTLが切れるのを待つか、リゾルバーを切り替えてください。

DNSキャッシュをクリアするとブラウザとOSの階層が消去され、ルーターを再起動するとルーターの階層が消去されます。プロバイダー側の古いキャッシュを避けるには、Cloudflareの1.1.1.1やGoogleの8.8.8.8などのパブリックリゾルバーに切り替えます。各レコードの現在のTTLはDNS確認で確認できます。

DNSフラッシュが必要なのはどんなとき?

キャッシュされた回答はシステムが自動的に期限切れにするため、定期的にクリアする必要はありません。次のような場合にクリアしてください。

  • 自分だけサイトが表示されない(他の人は見られる) — DNS_PROBE_FINISHED_NXDOMAINやDNSサーバーが応答しないなどのエラーが出る
  • サイトが新しいサーバーやホスティング会社に移転した後も、古いページが表示される
  • DNSサーバーを変更した — たとえばGoogle DNS(8.8.8.8)やCloudflare(1.1.1.1)に切り替えて、すぐに反映させたい
  • サイトの移転後に証明書の警告が出る — 保存されたアドレスが、旧サーバーとその古い証明書を指したままになっている
  • DNSレコード(A、CNAME、MX)を編集し、古いTTLが切れる前に変更を確認したい。世界中のリゾルバーに反映されたかはDNS伝播チェッカーで確認できます
  • 回答の改ざんや乗っ取り(DNSキャッシュポイズニングなど)が疑われる — クリアすれば、その回答がキャッシュから消えます

Windows 10・Windows 11でDNSキャッシュをクリアする方法

WindowsでDNSキャッシュをクリアする方法は、コマンド プロンプトとPowerShellの2つです。どちらもWindowsのDNSクライアントサービスのキャッシュを消去します。ipconfig /flushdns はWindows Serverや古いバージョンを含め、すべてのバージョンで使えます。

方法1:コマンド プロンプトを使う

  • 手順1 — Windows + S を押して cmd と入力し、コマンド プロンプトを開きます(現在のWindows 10・11では通常のウィンドウで十分です。管理者特権が必要だと表示された場合は、右クリックして管理者として実行を選びます)
  • 手順2 — ipconfig /flushdns と入力してEnterキーを押します
  • 手順3 — 「DNSリゾルバーキャッシュは正常にフラッシュされました。」と表示されれば完了です(英語版Windowsでは "Successfully flushed the DNS Resolver Cache.")

これだけで完了です。WindowsのDNSキャッシュが空になり、次にウェブサイトにアクセスするとき、Windowsは設定されたDNSサーバーに最新のIPアドレスを問い合わせます。ipconfigコマンドはWindows標準のネットワークユーティリティで、/flushdns はその数あるオプションの1つです。

方法2:PowerShellを使う

PowerShellには、同じ処理に加えて追加のオプションも使える専用のDNSコマンドレットがあります。

powershell
# Flush the DNS cache
Clear-DnsClientCache

# Verify the cache is empty (should return very few entries)
Get-DnsClientCache

# Count cached entries
Get-DnsClientCache | Measure-Object | Select-Object Count

Clear-DnsClientCache は ipconfig /flushdns とまったく同じ処理を行います。PowerShellの利点は Get-DnsClientCache コマンドレットで、キャッシュされたエントリを表形式で表示するため、ipconfig /displaydns よりも絞り込みやエクスポートが簡単です。

MacでDNSキャッシュをクリアする方法(El Capitan以降の全バージョン)

MacではターミナルからDNSキャッシュをクリアします。El Capitan(10.11)から現在のリリースまで、macOS 26 Tahoeを含むすべてのバージョンで同じコマンドが使えます。

macOSのバージョンDNSキャッシュをクリアするコマンド
Big Sur(11)以降(Tahoe(26)を含む)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Catalina(10.15)〜El Capitan(10.11)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Yosemite(10.10.4〜10.10.5)sudo killall -HUP mDNSResponder
Yosemite(10.10〜10.10.3)sudo discoveryutil mdnsflushcache
Lion(10.7)〜Mavericks(10.9)sudo killall -HUP mDNSResponder
  • 手順1 — Command + Space でSpotlightを開き、ターミナルと入力してEnterキーを押します
  • 手順2 — sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder を貼り付けてEnterキーを押します
  • 手順3 — 求められたらMacのパスワードを入力します。ターミナルには何も表示されませんが、キャッシュは消去されています

dscacheutil -flushcache はディレクトリサービスのキャッシュを消去し、killall -HUP mDNSResponder はmacOSのDNSリゾルバーであるmDNSResponderに、キャッシュした回答を破棄するよう指示します(プロセスを再起動するわけではありません)。Safariは独自のDNSキャッシュを持たないため、この操作でSafariもカバーされます。古いアドレスへの接続が残らないよう、Safariも終了(⌘Q)してください。

Linux(Ubuntu・Fedora・Debian)でDNSキャッシュをクリアする方法

LinuxでDNSがキャッシュされるのは、キャッシュ機能を持つサービスが動いている場合だけです。UbuntuとFedora(33以降)はsystemd-resolvedを使います。Debianや最小構成のインストールではキャッシュがまったくないことも多く、代わりにdnsmasqやnscdを使うシステムもあります。

  • 手順1 — ターミナルを開きます(Ubuntuでは Ctrl + Alt + T)
  • 手順2 — 使っているDNSサービスに合ったコマンドを実行します(下記参照)
  • 手順3 — 結果を確認します。resolvectl statistics で現在のキャッシュサイズ(Current Cache Size)が0になっていれば成功です
bash
# Ubuntu, Fedora 33+ and other systemd-resolved systems
sudo resolvectl flush-caches

# Check: "Current Cache Size" should be 0
resolvectl statistics

# Older systemd (before version 239, e.g. Ubuntu 18.04)
sudo systemd-resolve --flush-caches

# dnsmasq
sudo systemctl restart dnsmasq

# nscd
sudo systemctl restart nscd

どのサービスを使っているか分からない場合は、resolvectl status を実行します。DNSサーバーの一覧が表示されれば、systemd-resolvedを使っています。コマンドが見つからない場合や、resolveサービスに接続できないと表示される場合は、systemctl status dnsmasq または systemctl status nscd を確認してください。

Google ChromeでDNSキャッシュをクリアする方法

ChromeはOSとは別に独自のDNSキャッシュを持っているため(前述のキャッシュの階層を参照)、両方をクリアしてください。手順は次のとおりです。

  • 手順1 — Chromeで新しいタブを開きます
  • 手順2 — アドレスバーに chrome://net-internals/#dns と入力してEnterキーを押します
  • 手順3 — Clear host cache ボタンをクリックします(このページは日本語版のChromeでも英語で表示されます)
  • 手順4 — 続けて chrome://net-internals/#sockets を開き、Flush socket pools をクリックします。古いIPアドレスを使い続けている可能性のあるTCP接続が閉じられます

完全にリフレッシュするには、OSとChromeの両方をクリアしてください。Chromeはブラウジングしながらキャッシュを作り直すため、クリアしても速度に長期的な影響はありません。

Firefox・Edge・SafariなどでDNSキャッシュをクリアする方法

Chromium系のブラウザはどれも、それぞれのプレフィックスで同じページを持っています。Firefoxには専用のページがあり、SafariはMacのキャッシュを使います。

ブラウザDNSキャッシュのクリア方法
Microsoft Edgeedge://net-internals/#dns → Clear host cache、続けて edge://net-internals/#sockets → Flush socket pools
Firefoxabout:networking#dns → DNS キャッシュを消去(英語版では Clear DNS Cache)。Firefoxは最大3,200件の名前を保持し、OSからTTLが得られない場合は60秒保持します
Safari(Mac)独自のDNSキャッシュはありません。前述の手順でmacOSのキャッシュをクリアしてください。[開発]→[キャッシュを空にする]で消去されるのはWebページのキャッシュで、DNSではありません
Brave・Opera・Vivaldibrave://net-internals/#dns、opera://net-internals/#dns、vivaldi://net-internals/#dns → Clear host cache

Android・iPhoneでDNSキャッシュをクリアする方法

スマホにはDNSキャッシュをクリアするコマンドがありません。接続し直せば同じ効果が得られます。

  • 機内モードをオンにし、10秒待ってからオフにします。スマホがネットワーク接続とそのDNSキャッシュを作り直します。
  • それでも古いまま? スマホを再起動します。Androidでは 設定 → ネットワークとインターネット → プライベート DNS も確認してください(Samsungでは 接続 → その他の接続設定)。ここにプロバイダーのホスト名が設定されていると、Wi-FiのDNS設定に関係なく、すべての問い合わせにそのプロバイダーが応答します。
  • Wi-Fi接続時はルーターのキャッシュも使われます。特定のサイトがどの端末でも表示されない場合は、ルーターも再起動してください。

ルーターのDNSキャッシュをクリアする方法

家庭用ルーターも、ネットワーク上のすべての端末のDNS応答をキャッシュしています。パソコンとブラウザのDNSキャッシュをクリアしても古いレコードが残る場合は、ルーターのキャッシュが原因かもしれません。

ほとんどの家庭用ルーターには、DNSキャッシュをクリアする専用の機能がありません。ルーターのDNSキャッシュを消すいちばん簡単な方法は再起動です。

  • 手順1 — ルーターの電源ケーブルを抜きます(リセットボタンは押さないでください。ルーターが工場出荷時の状態に初期化されます)
  • 手順2 — 完全に電源が落ちるよう、30秒ほど待ちます
  • 手順3 — 電源ケーブルを差し直し、ルーターが完全に起動するまで1〜2分待ちます
  • 手順4 — 必要に応じてWi-Fiに再接続し、問題が解決したか確認します

OpenWrtなどdnsmasqで動くルーターでは、SSHで /etc/init.d/dnsmasq restart を実行すれば、再起動せずにキャッシュをクリアできます。

DNSのトラブルが続く場合は、ルーターのDNSをCloudflare(1.1.1.1)やGoogle(8.8.8.8)などのパブリックリゾルバーに設定すると、すべての端末がそれを使うようになります。手順は遅いDNS検索の修正ガイドをご覧ください。

DNSキャッシュがクリアされたことを確認する方法

クリアしたら、キャッシュが空になったか、またはシステムが新しいアドレスを解決するようになったかを確認します。

bash
# Windows: lists what's cached (only a few entries right after a flush)
ipconfig /displaydns

# Windows PowerShell: count cached entries
(Get-DnsClientCache).Count

# macOS: the address your Mac resolves now
dscacheutil -q host -a name example.com

# Linux (systemd-resolved): "Current Cache Size" should be 0
resolvectl statistics

そのうえで、表示できなかったサイトを開いてみてください。自分の端末が受け取る回答と、実際のDNSの内容を比べるには、DNS確認でドメインを調べます。

原因がキャッシュにあるのか、レコード自体にあるのかを見分けるには、DNS伝播チェッカーでドメインを調べます。28か国の34のリゾルバーに同時に問い合わせます。どのリゾルバーも新しいアドレスを返しているのに自分だけ違う場合は、自分のキャッシュかリゾルバーが遅れています。

DNSフラッシュで問題が解決しない場合の対処法

DNSキャッシュのクリアで直るのは古い回答だけで、すべてのDNSトラブルが古い回答によるものではありません。端末、ブラウザ、ルーターのキャッシュをクリアしても問題が残る場合は、次を試してください。

  • DNSサーバーを切り替える — ISPのリゾルバーが停止しているか、古いレコードを返している可能性があります。Cloudflare(1.1.1.1)かGoogle(8.8.8.8)を試してください。手順は遅いDNS検索の修正ガイドにあります
  • サイト自体が落ちていないか確認する — サーバーダウンチェックは11か所からサイトを開きます。どこからも開けなければ、原因はキャッシュでもリゾルバーでもありません
  • レコードを確認する — DNS確認でドメインのA・AAAA・CNAMEレコードを調べます。誤ったIPを指している場合、修正できるのはドメインの所有者だけです
  • VPNやプロキシを切断する — VPNはDNSを自社のサーバー経由で送り、そのサーバーも独自のキャッシュを持っています
  • hostsファイルを確認する — Windowsは C:\Windows\System32\drivers\etc\hosts、macOSとLinuxは /etc/hosts です。該当するドメインのエントリを削除してください
  • 最近の変更なら時間をおく — 各リゾルバーが変更後のレコードを取り込むのは、手元にある古いコピーのTTLが切れたときです。TTLが短ければ数分、長ければ最大1〜2日かかります

DNSレコードを今すぐ確認する

ドメイン自身のネームサーバーからすべてのレコードを直接取得し、GoogleとCloudflareにキャッシュされた内容と並べて、それぞれの残りTTLとともに表示します。

出典

  1. ipconfig, Microsoft
  2. host_resolver_manager_job.cc (Chrome's DNS cache times), Chromium
  3. dnsmasq manual (default cache size), dnsmasq

よくある質問

DNSフラッシュとは何をする操作ですか?

端末に保存された、ドメイン名とIPアドレスの対応(回答)を削除する操作です。次にサイトを開くとき、システムがDNSサーバーに改めて問い合わせ、古いかもしれないアドレスではなく現在のアドレスを取得します。

DNSキャッシュのクリアは安全ですか?

はい。ファイルの削除、設定の変更、接続の切断は一切ありません。唯一の副作用は、クリア後に各サイトへ初めてアクセスするとき、新しい問い合わせを1回待つことです。通常は1秒にも満たない時間です(私たちが8.8.8.8に対して行ったテストでは約30ms)。

WindowsのDNSフラッシュコマンドは何ですか?

コマンド プロンプトを開いて ipconfig /flushdns を実行します(現在のWindows 10・11では通常のウィンドウで十分です。管理者特権が必要だと表示された場合は[管理者として実行]を使います)。「DNSリゾルバーキャッシュは正常にフラッシュされました。」と表示されます。PowerShellでは Clear-DnsClientCache が同じ処理を行います。

MacのDNSフラッシュコマンドは何ですか?

ターミナルを開いて sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder を実行し、パスワードを入力します。El Capitanから現在のリリースまで、すべてのmacOSで使えます。独自のDNSキャッシュを持たないSafariも、これでカバーされます。

FedoraでDNSキャッシュをクリアするには?

Fedora 33以降はsystemd-resolvedを使うため、sudo resolvectl flush-caches を実行し、resolvectl statistics で現在のキャッシュサイズが0になったか確認します。ブラウザにまだ古いアドレスが表示される場合は、ブラウザのキャッシュもクリアしてください(Chromeは chrome://net-internals/#dns、Firefoxは about:networking#dns)。

DNSキャッシュはどのくらいの頻度でクリアすべきですか?

定期的にクリアする必要はありません。キャッシュされた回答は、TTLが切れると自動的に期限切れになります(通常は5分〜24時間)。サイトが表示されない、古いページが表示されるなど、問題が起きたときだけクリアしてください。

OSとブラウザの両方のDNSキャッシュをクリアする必要があるのはなぜですか?

それぞれが別々のキャッシュを持っていて、一方をクリアしてももう一方は消えないからです。まずシステム(Windowsでは ipconfig /flushdns)、次にブラウザ(Chromeでは chrome://net-internals/#dns)をクリアし、すべての端末で問題が出ているならルーターを再起動してください。

DNSフラッシュでインターネット速度は改善されますか?

いいえ。クリア直後は各サイトで新しい問い合わせが1回必要になるため、ほんのわずかに遅くなります。クリアが役立つのは、古い回答のせいで間違ったサーバーに接続していた場合だけです。問い合わせ自体を速くしたい場合は、より速いリゾルバーに切り替えてください。

パソコンを再起動するとDNSキャッシュはクリアされますか?

はい。Windows、macOS、systemd-resolvedはDNSキャッシュをメモリ上に持っているため、再起動で消えます。Windowsでは[シャットダウン]ではなく[再起動]を選んでください。高速スタートアップが有効だと、シャットダウンでは前のセッションが復元されることがあります。ブラウザを完全に終了すると、メモリ上にあるブラウザのDNSキャッシュも消えます。

ルーターのDNSキャッシュはどうやってクリアしますか?

ほとんどの家庭用ルーターにはクリアボタンがありません。電源を抜いて30秒待ってから再起動すると、メモリが消去され、キャッシュされたDNSも消えます。OpenWrtなどdnsmasqで動くルーターでは、SSHで /etc/init.d/dnsmasq restart を実行してクリアすることもできます。

著者について

Shaik Vahid

DNS Robot 創設者. Vahid は長年 Web ホスティングのサポートで、お客様のドメイン、DNS レコード、SSL 証明書、メール配信の問題を解決してきました。DNS Robot のツールを開発し、実際によく起きるエラーをもとにこれらのガイドを書いています。

DNS検索

ドメイン自身のネームサーバーから全DNSレコードを取得し、GoogleとCloudflareのキャッシュと比較