結論からお伝えすると、現在使われているmacOS(Big Sur〜最新のmacOS 27 Golden Gate)なら、ターミナルで次のコマンドを1行実行するだけでDNSキャッシュをクリアできます。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
この記事では、ターミナルを使ったことがない方でも迷わないように、実行手順・よくあるエラー・古いmacOSでのコマンドの違い・ブラウザ側のキャッシュの消し方・それでも直らないときの対処法まで、まとめて解説します(2026年10月時点の情報です)。
なお、DNSキャッシュのクリアは、ターミナルを使って管理者権限(sudo)でコマンドを実行する必要があるため、やや高度な操作となります。一般的なDNSトラブルであれば、まず以下の手順をお試しください。
- ブラウザのキャッシュやCookieをクリアする
- ネットワークをいったん切断し、再接続する
- Macを再起動する
これらを試しても解決しない場合に、DNSキャッシュのクリアを検討してください。
リンクが開かない原因と対処法|スマホ・PC別にエラーの見分け方も解説【免責事項】
この記事の内容を参考に各種設定や操作を行う場合は、あくまでもご自身の判断と責任において行ってください。万が一何らかの損害・不具合が発生したとしても、筆者および運営者は一切の責任を負いかねますので、予めご了承ください。
DNSキャッシュとは?クリアすると何が変わるのか
DNSキャッシュの役割
インターネット上のサイトは、本来「203.0.113.10」のような数字の住所(IPアドレス)で区別されています。私たちが「shinsu-blog.com」のようなドメイン名を入力したとき、それをIPアドレスに変換してくれるのがDNS(ドメインネームシステム)です。
Macは、一度調べた「ドメイン名とIPアドレスの対応表」をしばらく手元に保存しておきます。これがDNSキャッシュです。次に同じサイトを開くときはDNSサーバーに問い合わせずに済むため、表示が速くなります。macOSでこの仕組みを担当しているのは「mDNSResponder」というシステムのプログラムです。
DNSキャッシュのクリアが効果的な症状
便利なキャッシュですが、保存されている情報が古くなったり壊れたりすると、かえってトラブルの原因になります。次のような症状があるときは、DNSキャッシュのクリアを試す価値があります。
- 特定のサイトだけ開けない(他のサイトや、iPhoneなど別の端末では開ける)
- 「サーバが見つかりません」「DNS_PROBE_FINISHED_NXDOMAIN」などのエラーが出る
- サイトの引っ越し(サーバー移転)やDNS設定の変更をしたのに、自分のMacだけ古いサイトが表示される
- Webサイトを開発中で、DNSレコードを変えた結果をすぐに確認したい
- VPNの接続・切断を繰り返したあと、社内サイトなどにつながらなくなった
クリアしても解決しないケース
一方で、DNSキャッシュのクリアは「名前解決(ドメイン名→IPアドレスの変換)」に関わる問題にしか効きません。次のような場合は、別の原因を疑いましょう。
- すべてのサイトが開けない、Wi-Fiにそもそもつながらない(回線・ルーター・Wi-Fi設定の問題)
- どの端末からも同じサイトが開けない(相手側のサーバー障害の可能性)
- ページは表示されるが、画像やレイアウトが古い(DNSではなくブラウザのキャッシュの問題)
なお、DNSキャッシュを消しても、保存しているファイルやパスワード、ブラウザのブックマークなどが消えることはありません。消えるのは「名前解決の一時的な記録」だけで、次にサイトへアクセスしたときに自動で取り直されます。
まずは自分のmacOSのバージョンを確認する
DNSキャッシュをクリアするコマンドは、macOSのバージョンによって異なります。実行する前に、お使いのMacのバージョンを確認しておきましょう。
- 画面左上のアップルメニュー(リンゴのマーク)をクリックする
- 「このMacについて」を選ぶ
- 表示されたウインドウで、macOSの名前とバージョン番号を確認する
2026年10月時点で、比較的新しいmacOSの名前とバージョン番号の対応は次のとおりです。下の表のどれかに当てはまれば、この記事冒頭のコマンドを使えばOKです。
| 名前 | バージョン |
|---|---|
| macOS Golden Gate | 27(2026年9月公開) |
| macOS Tahoe | 26 |
| macOS Sequoia | 15 |
| macOS Sonoma | 14 |
| macOS Ventura | 13 |
| macOS Monterey | 12 |
| macOS Big Sur | 11 |
| macOS Catalina〜OS X El Capitan | 10.15〜10.11 |
macOS Tahoeからは、バージョン番号が「16」ではなく発表年に合わせた「26」になりました。そのため、Sequoia(15)の次がTahoe(26)になっています。
ターミナルでDNSキャッシュをクリアする手順(最新macOS対応)
ここでは、現在主流のmacOS(Big Sur〜macOS 27 Golden Gate)での手順を、ターミナルを初めて使う方向けに説明します。
手順1:ターミナルを開く
ターミナルは、次のどちらかの方法で開けます。
- 「command+スペース」でSpotlightを開き、「ターミナル」と入力してEnterキーを押す
- Finderで「アプリケーション」→「ユーティリティ」→「ターミナル」を開く
手順2:コマンドを貼り付けて実行する
ターミナルの画面に、次のコマンドをそのまま貼り付けてEnterキーを押します。打ち間違いを防ぐため、手入力よりコピー&ペーストがおすすめです。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
前半の「dscacheutil -flushcache」はディレクトリサービスのキャッシュを消すコマンド、後半の「killall -HUP mDNSResponder」はDNSを担当するmDNSResponderに「キャッシュを捨てて読み込み直して」という合図(HUPシグナル)を送るコマンドです。間の「;(セミコロン)」は「続けて実行する」という意味です。
手順3:Macのログインパスワードを入力する
「Password:」と表示されたら、Macにログインするときのパスワードを入力してEnterキーを押します。このとき、入力しても文字や「●」は一切表示されませんが、ちゃんと入力されているので、そのまま最後まで打ってEnterキーを押してください。
手順4:何も表示されなければ完了
コマンドが成功しても、完了を示すメッセージは表示されないことがほとんどです。エラーが出ずに次の入力待ちの行(「%」や「$」で終わる行)に戻れば、DNSキャッシュのクリアは完了しています。ターミナルを閉じて、問題のサイトを開き直してみましょう。
ターミナルの基本的な使い方をもっと知りたい方は、こちらの記事も参考にしてください。
初心者向け!Macのターミナルで使える便利コマンド10選よくあるエラーと対処法
| 表示されたメッセージ | 原因と対処法 |
|---|---|
| Sorry, try again. | パスワードの入力ミスです。もう一度、Macのログインパスワードを入力してください(3回間違えるとやり直しになります) |
| (ユーザー名) is not in the sudoers file. | 使用中のアカウントに管理者権限がありません。管理者アカウントでログインし直すか、Macの管理者に依頼してください |
| command not found | コマンドの打ち間違いです。大文字・小文字(mDNSResponder)や半角スペースを含めて、コピー&ペーストでやり直してください |
| No matching processes were found | 指定したプログラムが見つからない状態です。お使いのmacOSに合わないコマンドを実行している可能性があるため、下のバージョン別のコマンドを確認してください |
macOSバージョン別:DNSキャッシュをクリアする方法
DNSキャッシュをクリアするためには、ターミナルで「管理者権限(sudo)」を伴うコマンドを実行します。実行後、パスワードの入力を求められますが、成功してもメッセージは表示されないことがあるので注意してください。
まずは一覧表で、ご自身のバージョンに合うコマンドを確認してください。Appleの公式サポート記事(現在はアーカイブ扱いで更新停止)で案内されているコマンドをもとにしています。
| macOSのバージョン | コマンド |
|---|---|
| 10.10.4(Yosemite後期)〜 27(Golden Gate) | sudo killall -HUP mDNSResponder (念のため「sudo dscacheutil -flushcache; 」を前に付けても可) |
| 10.10 〜 10.10.3(Yosemite初期) | sudo discoveryutil mdnsflushcache |
| 10.7(Lion)〜 10.9(Mavericks) | sudo killall -HUP mDNSResponder |
| 10.5(Leopard)、10.6(Snow Leopard) | sudo dscacheutil -flushcache |
| 10.4(Tiger)以前 | sudo lookupd -flushcache |
macOS 10.10.4(Yosemite 後期)以降 ~ 最新バージョン(macOS 27 Golden Gate)
sudo killall -HUP mDNSResponder
- Yosemite 10.10.4以降、El Capitan、Sierra、High Sierra、Mojave、Catalina、Big Sur、Monterey、Ventura、Sonoma、Sequoia、Tahoe、Golden Gateまで、このコマンドが基本です。Appleの公式サポート記事でも、10.10.4以降はこのコマンドが案内されています。
- 多くの解説サイトや大学の情報システム部門などでは、「sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder」と2つを続けて実行する方法が紹介されています。2つ続けて実行しても問題はないため、迷ったら記事冒頭の2つをまとめたコマンドを使えば確実です。
macOS 10.10 ~ 10.10.3(Yosemite 初期)
sudo discoveryutil mdnsflushcache
- 当時は「discoveryd」がDNSサービスを担っていました。
- 10.10.4のアップデートでDNSの担当がmDNSResponderに戻ったため、このコマンドが使えるのはこの短い期間のバージョンだけです。
macOS 10.9(Mavericks)
sudo killall -HUP mDNSResponder
- Appleの公式サポート記事では、このコマンドが案内されています。解説サイトによっては「dscacheutil -flushcache」を先に実行する方法も紹介されています。
macOS 10.7(Lion)および 10.8(Mountain Lion)
sudo killall -HUP mDNSResponder
macOS 10.5(Leopard)、10.6(Snow Leopard)
sudo dscacheutil -flushcache
- これらのバージョンでは「dscacheutil -flushcache」を使います。
macOS 10.4(Tiger)以前
sudo lookupd -flushcache
- 非常に古いバージョンですが、DNSキャッシュの管理が「lookupd」なのでコマンドが異なります。
ブラウザのDNSキャッシュもクリアする(Chrome・Firefox・Safari)
macOSのDNSキャッシュを消しても症状が変わらない場合、ブラウザが独自に持っているDNSキャッシュが残っている可能性があります。ブラウザ側のキャッシュとmacOS側のキャッシュは別物なので、必要に応じて両方をクリアしましょう。
Google Chrome(Microsoft Edgeも同様)
- アドレスバーに「chrome://net-internals/#dns」と入力してEnterキーを押す(Edgeの場合は「edge://net-internals/#dns」)
- 「Clear host cache」ボタンをクリックする
- 続けて「chrome://net-internals/#sockets」を開き、「Flush socket pools」をクリックする
3つ目の操作は、すでに開いている通信の接続を切るためのものです。古い接続が残っていると、DNSキャッシュを消しても以前のIPアドレスにつながり続けることがあるため、あわせて実行しておくと確実です。
Firefox
- アドレスバーに「about:networking#dns」と入力してEnterキーを押す
- 「DNSキャッシュを消去」(英語表示では「Clear DNS Cache」)ボタンをクリックする
FirefoxのDNSキャッシュはディスクに保存されないため、Firefoxを完全に終了して起動し直すだけでもクリアされます。
Safari
Safariには、DNSキャッシュだけを消す専用の画面はありません。SafariはmacOSの名前解決の仕組みを使っているため、ターミナルでmacOSのDNSキャッシュをクリアしたあと、Safariを「command+Q」でいったん完全に終了し、開き直せば十分です。
DNSキャッシュがクリアできたか確認する方法
一番簡単な確認方法は、問題のあったサイトをもう一度開いてみることです。正しく表示されれば成功です。もう少し詳しく確かめたい場合は、ターミナルで次のコマンドを使います。
Macが今どのIPアドレスに接続しているかを見る
dscacheutil -q host -a name example.com
「example.com」の部分を調べたいドメイン名に置き換えて実行すると、Macがそのドメイン名をどのIPアドレスとして扱っているかが「ip_address:」の行に表示されます。サーバー移転後なら、新しいサーバーのIPアドレスになっていればOKです。sudoは不要で、パスワードも聞かれません。
使っているDNSサーバーを確認する
scutil –dns
「nameserver[0] :」の行に、Macが問い合わせ先にしているDNSサーバーのIPアドレスが表示されます。VPNやセキュリティソフトを使っていると、ここに想定外のDNSサーバーが入っていることがあります。
なお、「nslookup」や「dig」といったコマンドはDNSサーバーに直接問い合わせるため、macOSのDNSキャッシュの状態は反映されません。「digでは新しいIPアドレスが返ってくるのに、ブラウザでは古いサイトが表示される」という場合は、Mac側かブラウザ側のキャッシュが残っていると判断できます。
キャッシュクリア後の注意点と、解決しないときの対処法
- コマンド実行後、特に完了を示すメッセージは表示されません。
- ウェブサイトに再アクセスすると、新たにDNS情報を取り直すため、問題が解決する可能性があります。
- それでも解決しない場合は、ルーターの再起動、別のDNSサーバ(Google Public DNSなど)の利用、ネットワーク設定の見直しも検討してください。
ここからは、DNSキャッシュをクリアしても直らないときに試したい対処法を、手軽なものから順に紹介します。
ルーター(モデム)を再起動する
家庭用のルーターも、DNSの情報を一時的に保存していることがあります。ルーターの電源を切り、1〜2分ほど待ってから入れ直すと、ルーター側の古い情報もリセットされます。光回線の場合は、モデム(ONU)→ルーターの順に電源を入れると安定しやすいです。
DNSサーバーを変更する
通常は、契約しているプロバイダのDNSサーバーが自動で使われます。プロバイダのDNSサーバーに不具合がある場合は、公開DNSサーバーに変更すると改善することがあります。
- アップルメニュー →「システム設定」→「ネットワーク」を開く(macOS Monterey以前は「システム環境設定」→「ネットワーク」)
- 「Wi-Fi」(有線なら「Ethernet」)を選び、接続中のネットワークの「詳細」をクリックする
- 「DNS」を選び、「+」ボタンでDNSサーバーのアドレスを追加して「OK」をクリックする
代表的な公開DNSサーバーは、Google Public DNS(8.8.8.8/8.8.4.4)や、Cloudflare(1.1.1.1/1.0.0.1)です。元に戻したいときは、追加したアドレスを選んで「−」ボタンで削除すれば、自動設定に戻ります。会社や学校のネットワークでは、決められたDNSサーバーでないと社内サイトにつながらなくなる場合があるので、変更前に管理者へ確認しましょう。
hostsファイルに古い設定が残っていないか確認する
Macには「/etc/hosts」という、ドメイン名とIPアドレスの対応を手動で書き込めるファイルがあります。ここに書かれた内容はDNSより優先されるため、過去に開発作業などで書き込んだ設定が残っていると、DNSキャッシュをいくら消しても古いサーバーにつながります。ターミナルで「cat /etc/hosts」と実行すると中身を確認できます。心当たりのない行がある場合は、むやみに消さず、追加した人や詳しい人に確認してから編集してください。
VPN・セキュリティソフト・iCloudプライベートリレーを一時的にオフにする
VPNアプリやセキュリティソフト、広告ブロックアプリの中には、独自のDNSサーバーを使うものがあります。また、iCloud+の「プライベートリレー」をオンにしていると、Safariの通信は別の経路で名前解決されます。いったんオフにして症状が変わるかを確かめると、原因を絞り込めます。確認が終わったら、元の設定に戻すのを忘れないようにしましょう。
ネットワーク自体の問題を疑う
すべてのサイトが開けない場合や、Wi-Fiのアイコンに「!」が付いている場合は、DNSよりも手前の段階でつまずいている可能性があります。IPアドレスが正しく取得できているかも確認してみてください。
IPアドレスが自動取得できない原因と解決法|OS別の再取得手順また、DNSキャッシュに偽の情報を紛れ込ませて、利用者を偽サイトへ誘導する「DNSキャッシュポイズニング」という攻撃もあります。仕組みと対策を知っておくと安心です。
DNSキャッシュポイズニングとは?攻撃の仕組みから具体的対策まで徹底解説MacのDNSキャッシュに関するよくある質問
DNSキャッシュをクリアしても、Macに悪影響はありませんか?
基本的にはありません。消えるのは名前解決の一時的な記録だけで、ファイルや設定、パスワードなどには影響しません。クリア直後は、各サイトの初回アクセス時にDNSサーバーへ問い合わせ直すため、ほんの一瞬だけ表示が遅くなることがありますが、すぐに元どおりになります。
定期的にクリアしたほうがいいですか?
その必要はありません。DNSキャッシュは、情報ごとに決められた有効期限が過ぎると自動で入れ替わります。「特定のサイトだけ開けない」「サーバー移転後に古いサイトが表示される」など、トラブルが起きたときに実行すれば十分です。
Macを再起動するだけでもDNSキャッシュは消えますか?
消えます。Appleの公式サポート記事でも、Macを再起動すればキャッシュされている情報が更新されると案内されています。ターミナルの操作に不安がある方は、まず再起動を試すのがおすすめです。ターミナルのコマンドは、作業中のアプリを閉じずにすぐ直したいときや、何度も試したいときに便利です。
パスワードを入力しても何も表示されません。壊れていますか?
壊れていません。ターミナルでは、のぞき見を防ぐために、パスワードを入力しても画面には何も表示されない仕様になっています。そのまま入力してEnterキーを押してください。間違えた場合は「Sorry, try again.」と表示されるので、もう一度入力します。
iPhoneやiPadのDNSキャッシュはどうやって消しますか?
iPhoneやiPadには、Macのようなコマンドはありません。機内モードをオンにして数秒待ってからオフにするか、本体を再起動するのが手軽な方法です。iPhoneのネット接続トラブル全般については、こちらの記事で詳しく解説しています。
iPhoneがインターネットに繋がらない原因と対処法|Wi-Fi・モバイル通信別に解説まとめ
- DNS関連の不具合は、まずブラウザのキャッシュ削除やMacの再起動など基本的な対処を試す。
- 解決しない場合は、macOSバージョンごとに異なるコマンドを実行してDNSキャッシュをクリアする。
- Yosemite 10.10.4以降〜最新のmacOS 27 Golden Gateまでは「sudo killall -HUP mDNSResponder」が基本。迷ったら「sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder」をまとめて実行すれば確実。
- Yosemite初期は「sudo discoveryutil mdnsflushcache」、Leopard・Snow Leopardは「sudo dscacheutil -flushcache」、Tiger以前は「sudo lookupd -flushcache」など、古いバージョンでは手順が変わる。
- ChromeやFirefoxは独自のDNSキャッシュを持っているので、必要に応じてブラウザ側もクリアする。
- それでも直らなければ、ルーターの再起動、DNSサーバーの変更、hostsファイルやVPNの確認へ進む。
DNSキャッシュのクリアは、根本原因がDNS以外にある場合(ネットワーク機器の故障やプロバイダの設定など)では効果がない可能性もあります。状況に応じて、Apple公式サポートやネットワーク機器のマニュアルも参考にしてください。
リンクが開かない原因と対処法|スマホ・PC別にエラーの見分け方も解説








