※本ページにはプロモーション(広告)が含まれています
Macのインターネット接続がおかしいと感じたら、まずDNSキャッシュをクリアしよう
「さっきまで開けていたサイトが突然表示されなくなった」「特定のサイトだけ繋がらない」「ページが古いまま更新されない」――こういったネット接続のトラブルは、DNSキャッシュが原因であることが多くあります。
DNSキャッシュは普段は便利な機能ですが、古い情報が残り続けると通信の邪魔になることがあります。Macではターミナルにコマンドを1行入力するだけでキャッシュを消去できます。macOS Sonoma・Ventura・Monterey・Big Surいずれにも対応したコマンドを、この記事ではバージョン別に整理して紹介します。
初めてターミナルを使う方でも迷わないよう、画面の開き方から手順を丁寧に解説します。ブラウザ(Chrome・Safari)のDNSキャッシュのクリア方法、DNSサーバーをGoogle(8.8.8.8)やCloudflare(1.1.1.1)に変更する方法も合わせて解説しますので、ぜひ最後まで読んでみてください。

- DNSキャッシュとは何か、なぜ問題になるのか
- クリアが必要な場面・症状のチェックリスト
- macOSバージョン別(Sonoma / Ventura / Monterey / Big Sur)のターミナルコマンド
- ターミナルを使ったことがない方向けの手順ガイド
- Chrome・SafariブラウザのDNSキャッシュをクリアする方法
- DNSサーバーをGoogle・Cloudflareに変更する方法
- それでも直らないときのトラブルシューティング
DNSキャッシュとは?なぜ問題になるのか
DNSとは「インターネットの電話帳」
インターネット上のすべてのサーバーは、数字の羅列であるIPアドレス(例:142.250.207.46)で識別されています。しかし、私たちはURLに「google.com」「minto.tech」などのドメイン名を入力します。このドメイン名をIPアドレスに変換する仕組みがDNS(Domain Name System)です。
サイトにアクセスするたびにDNSサーバーへ問い合わせしていては時間がかかるため、Macは一度調べたドメインとIPアドレスの対応情報をローカル(Mac本体)に一時保存します。これがDNSキャッシュです。
なぜDNSキャッシュが問題になるのか
DNSキャッシュがあると2回目以降のアクセスは高速化されますが、以下のような状況では古いキャッシュが邪魔をして正常にアクセスできなくなることがあります。
| 状況 | 何が起こるか |
|---|---|
| サイトがサーバー移転した | 古いIPアドレスに接続しようとして表示されない |
| DNSレコードが更新された | 変更前の情報を参照し続け接続できない |
| hostsファイルを編集した | キャッシュが優先されhosts設定が反映されない |
| DNSキャッシュポイズニング(汚染) | 偽のIPアドレスを掴まされ危険なサイトに誘導される |
| Macの長時間稼働でキャッシュ肥大化 | 不安定なDNS解決で接続が遅くなる・エラーになる |
DNSキャッシュクリアが必要な症状チェックリスト
以下に当てはまる症状があれば、DNSキャッシュのクリアを試す価値があります。
- 特定のWebサイトだけ表示されない(他のサイトは問題なし)
- 「このサイトにアクセスできません」「サーバーのIPアドレスが見つかりませんでした」というエラーが出る
- ChromeやSafariでサイトにアクセスすると古いページが表示される
- hostsファイルを変更したのに反映されない
- VPNをON/OFFしたあとにネット接続がおかしくなった
- Macを長時間起動し続けているとネットが不安定になる
- Wi-Fiを切り替えたあとにサイトが開けなくなった
逆に「すべてのサイトが繋がらない」場合はDNSキャッシュではなくWi-Fi接続自体や、ルーターの問題である可能性が高いです。
【macOSバージョン別】DNSキャッシュをクリアするコマンド一覧
MacのDNSキャッシュはターミナルからsudoコマンドで消去します。macOSのバージョンによってコマンドが異なるため、自分のMacのバージョンを確認してから実行してください。
macOSバージョンの確認方法
画面左上の「Appleメニュー()」→「このMacについて」で確認できます。「macOS Sonoma 14.x」のように表示されます。
| macOSバージョン | バージョン番号 | DNSキャッシュクリアコマンド |
|---|---|---|
| macOS Sonoma | 14.x | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| macOS Ventura | 13.x | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| macOS Monterey | 12.x | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| macOS Big Sur | 11.x | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| macOS Catalina | 10.15.x | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| macOS Mojave以前 | 10.14以前 | sudo killall -HUP mDNSResponder |
現在(2026年時点)のMacであれば、ほぼすべて以下の統一コマンドで対応できます:
ターミナルを使ったDNSキャッシュクリア手順(画像付き)
ターミナルを初めて使う方でも迷わないよう、ステップごとに説明します。

ステップ1:ターミナルを開く
ターミナルはmacOSに標準搭載されているアプリです。以下のいずれかの方法で開けます。
方法A:Spotlight検索を使う(最も簡単)
- キーボードの ⌘ Command + スペース を押す
- 「ターミナル」または「Terminal」と入力する
- 「ターミナル.app」が表示されたら Enter を押す
方法B:Finderから開く
- Finderを開く
- メニューバーの「移動」→「ユーティリティ」をクリック
- 「ターミナル」をダブルクリック
方法C:Launchpadから開く
- Dockの「Launchpad」アイコンをクリック
- 「その他」フォルダを開く
- 「ターミナル」をクリック
ステップ2:コマンドを入力する
ターミナルが起動すると、黒またはダークな画面に「ユーザー名@MacのPC名 ~ %」のような表示が出ます。ここにコマンドを入力します。
以下のコマンドをコピーしてターミナルに貼り付けます(⌘ Command + V で貼り付け可能):
貼り付けたら Enter キーを押します。
ステップ3:パスワードを入力する
sudoコマンドは管理者権限で実行するため、Macのログインパスワード(Appleアカウントのパスワードではなく、Mac起動時に入力するパスワード)の入力を求められます。
ステップ4:完了を確認する
パスワードを入力して Enter を押すと、コマンドが実行されます。成功した場合は何も表示されず、次のプロンプト(入力待ち状態)に戻ります。これが正常な完了の合図です。
エラーメッセージが表示されなければ、DNSキャッシュのクリアは完了です。その後、ブラウザを再起動して問題が解消されたか確認してください。
コマンドの意味を理解しよう
| コマンド部分 | 意味 |
|---|---|
sudo |
管理者権限でコマンドを実行する(Super User DO) |
dscacheutil -flushcache |
ディレクトリサービスのキャッシュ(DNSを含む)を消去する |
; |
複数のコマンドを続けて実行する区切り文字 |
killall -HUP mDNSResponder |
DNSを管理するmDNSResponderプロセスを再起動してキャッシュをリセットする |
dscacheutil -flushcache だけでは不完全な場合があるため、killall -HUP mDNSResponder と組み合わせて実行するのが確実です。
ブラウザのDNSキャッシュをクリアする方法
macOSのDNSキャッシュをクリアしても問題が解決しない場合、ブラウザ自体がDNSキャッシュを持っている可能性があります。ChromeとSafariそれぞれのクリア方法を説明します。
Google ChromeのDNSキャッシュをクリアする
ChromeはmacOSとは独立した独自のDNSキャッシュを持っています。
手順:
- Chromeを開く
- アドレスバーに
chrome://net-internals/#dnsと入力して Enter - 「DNS」ページが開く
- 「Clear host cache」ボタンをクリック
さらに徹底的にクリアしたい場合は、ソケット接続のキャッシュも消去します:
- アドレスバーに
chrome://net-internals/#socketsと入力して Enter - 「Flush socket pools」ボタンをクリック
SafariのDNSキャッシュをクリアする
Safariの場合は、キャッシュのクリアと開発メニューからの操作の2ステップが有効です。
方法A:キャッシュを消去する(簡単)
- Safariを開く
- メニューバーの「Safari」→「環境設定」をクリック(またはショートカット ⌘,)
- 「詳細」タブを選択
- 「メニューバーに”開発”メニューを表示」にチェックを入れる
- メニューバーに「開発」が追加される
- 「開発」→「キャッシュを空にする」をクリック
方法B:Safariを完全にリセットする
- Safariをすべて閉じる
- ターミナルで以下を実行して、Safariのキャッシュフォルダを消去する:
その後Safariを再起動すると、キャッシュが完全にクリアされた状態で起動します。
DNSサーバーをGoogle・Cloudflareに変更する方法
DNSキャッシュをクリアしても問題が続く場合や、普段からDNS解決を高速・安定させたい場合は、DNSサーバー自体を変更することが効果的です。
主要パブリックDNSサーバー比較
| プロバイダー | プライマリDNS | セカンダリDNS | 特徴 |
|---|---|---|---|
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | 高速・安定・世界最大規模のインフラ |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | 世界最速クラス・プライバシー保護重視 |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | フィッシング対策機能あり・家庭向けフィルタリングも |
| ISP(プロバイダー)標準 | 自動取得 | 自動取得 | 地域によって速度・安定性にばらつきあり |
特にこだわりがなければ Google(8.8.8.8)またはCloudflare(1.1.1.1) がおすすめです。どちらも無料で利用でき、応答速度が速く世界中に展開されています。
MacでDNSサーバーを変更する手順

ステップ1:システム設定を開く
- 画面左上のAppleメニュー()をクリック
- 「システム設定」を選択(macOS Ventura以降)または「システム環境設定」(Monterey以前)
ステップ2:ネットワーク設定を開く
- 左サイドバーまたはメイン画面から「ネットワーク」をクリック
- 現在接続中のネットワーク(Wi-Fiまたはイーサネット)をクリック
- 「詳細…」ボタンをクリック
ステップ3:DNSサーバーを入力する
- 「DNS」タブをクリック
- 「DNSサーバー」欄の左下にある「+」ボタンをクリック
- Google DNSの場合: 8.8.8.8 を入力して Enter
- 再度「+」をクリックして 8.8.4.4 を追加
- 「OK」をクリック
- 「適用」をクリックして設定を保存する
ステップ4:DNSキャッシュをクリアして反映させる
DNSサーバーを変更したら、先述のコマンドでDNSキャッシュをクリアして設定を即座に反映させます:
それでも直らないときのトラブルシューティング
トラブル1:「sudo: コマンドが見つかりません」と表示される
ターミナルで sudo が使えない場合は、Macのシステム整合性保護(SIP)の問題ではなく、ターミナルのシェル設定の問題の可能性があります。まずMacを再起動してから再度試してみてください。
トラブル2:パスワードが通らない
Macの管理者アカウントでログインしていない場合、sudoコマンドが使えません。「システム設定」→「ユーザーとグループ」で自分のアカウントが管理者かどうか確認してください。管理者アカウントでない場合は、管理者ユーザーに依頼する必要があります。
トラブル3:コマンド実行後もサイトが表示されない
以下の手順を順番に試してください:
- ブラウザを完全に閉じて再起動する(⌘+Q でブラウザを終了)
- Macを再起動する(Appleメニュー→再起動)
- ルーターを再起動する(電源OFF→10秒待つ→電源ON)
- 別のDNSサーバーを試す(Google → Cloudflareに変更など)
- 別のネットワークで試す(モバイルホットスポットなど)
トラブル4:特定のサイトだけまだ繋がらない
特定のサイトだけが問題の場合、そのサイトのサーバー側の問題である可能性があります。Down Detectorなどのサービスで障害情報を確認してみてください。
また、pingコマンドでそのサイトへの到達性を確認できます:
「Request timeout」が続く場合はネットワーク経路の問題、「0 packets received」の場合はそのサイトがダウンしている可能性が高いです。
トラブル5:Macのネットワーク設定をリセットしたい
ネットワーク設定全体をリセットしたい場合は、以下の手順で設定ファイルを削除できます(再起動後に自動再作成されます):
sudo rm -f /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
sudo rm -f /Library/Preferences/SystemConfiguration/preferences.plist
よくある診断コマンド一覧
| コマンド | 用途 |
|---|---|
nslookup google.com |
DNSが正しく解決できるか確認する |
ping -c 4 8.8.8.8 |
インターネット接続自体が生きているか確認する |
traceroute google.com |
どの経路でパケットが届いているか確認する |
networksetup -getdnsservers Wi-Fi |
現在設定されているDNSサーバーを確認する |
| scutil –dns | MacのDNS設定の詳細情報を表示する |
よくある質問(FAQ)
Q. DNSキャッシュをクリアするとどんな影響がありますか?
DNSキャッシュをクリアしても、データの削除やログアウトなどは発生しません。次にWebサイトにアクセスしたとき、初めてそのサイトにアクセスするときと同じようにDNSサーバーへ問い合わせが発生するため、最初の数回は読み込みがわずかに遅く感じられることがあります。ただし通常は数分で新しいキャッシュが再構築され、元の速度に戻ります。
Q. どのくらいの頻度でDNSキャッシュをクリアすればいいですか?
基本的には問題が発生したときだけクリアすれば十分です。定期的なクリアは必須ではありません。Macを毎日再起動していれば、再起動時にDNSキャッシュは自動的にリセットされます。ただし長時間起動しっぱなしにしているMacでは、月に1〜2回のクリアが効果的な場合もあります。
Q. コマンドを実行しても「command not found」と表示されます
dscacheutilはmacOS 10.6(Snow Leopard)以降に標準搭載されているため、通常「command not found」にはなりません。もしこのエラーが出る場合は、コマンドのスペルミスの可能性があります。コマンドをコピー&ペーストで入力しているか確認してください。また、全角スペースが混入しているとエラーになることがあります。
Q. DNSサーバーを変更したらどんなメリットがありますか?
ISP(インターネットプロバイダー)標準のDNSサーバーよりも、Google(8.8.8.8)やCloudflare(1.1.1.1)の方が応答速度が速いことが多く、ページの読み込みが体感できるほど改善するケースもあります。また、ISPのDNSサーバーは稀にダウンすることがありますが、Google・Cloudflareは高可用性インフラを持っているため、DNS障害が起きにくいという利点もあります。
Q. DNSサーバーを変更するとプライバシーに影響はありますか?
DNSサーバーを変更すると、どのサイトに問い合わせしたか(アクセス先のドメイン名)がそのDNSプロバイダーに記録される可能性があります。Googleはこのデータを一定期間保存することがあります。一方、Cloudflare(1.1.1.1)は「24時間以内にDNSクエリのログを削除する」というプライバシーポリシーを掲げており、プライバシー重視の方にはCloudflareがおすすめです。
Q. ターミナルを使わずにDNSキャッシュをクリアできますか?
macOSの標準機能ではターミナルコマンドが必須です。ただし、サードパーティのメンテナンスアプリ(例:CleanMyMac X、OnyX)を使えば、GUIでDNSキャッシュをクリアできます。ターミナルに不安を感じる方は、こういったツールを検討してみてください。ただし有料のものが多いため、コマンド1行で済むターミナル操作に慣れておくことをおすすめします。
Q. MacとiPhoneで同じDNS問題が起きています。どちらを直せばいいですか?
MacとiPhoneで同じ症状が出ている場合、自宅のWi-Fiルーターに問題がある可能性が高いです。まずルーターを再起動(電源OFF→10秒→電源ON)してから、両方の端末で問題が解消されるか確認してください。それでも改善しない場合は、ルーターのDNS設定も変更できます(ルーターの管理画面から設定)。
Q. VPNを使っていますが、DNSキャッシュクリアは有効ですか?
VPNを使用している場合、DNSの扱いはVPNソフトウェアによって異なります。VPNをON/OFFした後に接続問題が起きたときは、DNSキャッシュクリアが有効な場合があります。特にVPNを切断した直後に特定サイトが開けなくなるケースでは、sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder を試してみてください。
Q. M1・M2・M3チップのMacでも同じコマンドが使えますか?
はい、Apple Silicon(M1・M2・M3・M4チップ)搭載のMacでも、Intel Macでも、macOSのバージョンが対応していれば同じコマンドが使えます。コマンドはCPUアーキテクチャに依存せず、macOSのバージョンに依存します。
Q. DNSキャッシュクリアで解決しない場合は何が原因ですか?
以下のような原因が考えられます:①Wi-Fi接続自体の問題(Wi-Fiを切って再接続する)②ルーターの不具合(再起動する)③ISPの障害(サービス障害情報を確認する)④そのWebサイト自体のサーバー障害(Down Detectorで確認)⑤Macのネットワーク設定の破損(ネットワーク設定のリセット)⑥マルウェアによるhostsファイル改ざん(/etc/hostsを確認する)。
まとめ:MacのDNSキャッシュクリアの全手順
MacでDNS関連のネット接続トラブルが起きたときは、以下の手順を順番に試してください:
- ターミナルでDNSキャッシュクリア:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - ブラウザのDNSキャッシュクリア:Chrome(
chrome://net-internals/#dns)またはSafari(開発→キャッシュを空にする) - ブラウザを完全終了して再起動する
- それでも直らなければDNSサーバーを変更:Google(8.8.8.8)またはCloudflare(1.1.1.1)
- ルーターを再起動する
- Macを再起動する
DNSキャッシュのクリアは副作用がなく、数秒で完了する安全な操作です。ネット接続に異常を感じたときは、まず試してみることをおすすめします。
バージョン別の統一コマンドは以下の1行を覚えておけば十分です:
この記事がMacのネット接続トラブル解決に役立てば幸いです。問題が解決しない場合は、Appleサポート(support.apple.com)への問い合わせも検討してみてください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!