【バージョン別】macOSでDNSキャッシュをクリアする方法
目次
まずは基本的な対処法を試そう
DNSキャッシュのクリアは、ターミナルを使って管理者権限(sudo)でコマンドを実行する必要があるため、やや高度な操作となります。一般的なDNSトラブルであれば、まず以下の手順をお試しください。
- ブラウザのキャッシュやCookieをクリアする
- ネットワークをいったん切断し、再接続する
- Macを再起動する
これらを試しても解決しない場合に、DNSキャッシュのクリアを検討してください。
【免責事項】
この記事の内容を参考に各種設定や操作を行う場合は、あくまでもご自身の判断と責任において行ってください。万が一何らかの損害・不具合が発生したとしても、筆者および運営者は一切の責任を負いかねますので、予めご了承ください。
macOSバージョン別:DNSキャッシュをクリアする方法
DNSキャッシュをクリアするためには、ターミナルで「管理者権限(sudo)」を伴うコマンドを実行します。実行後、パスワードの入力を求められますが、成功してもメッセージは表示されないことがあるので注意してください。
macOS 10.10.4(Yosemite 後期)以降 ~ 最新バージョン
sudo killall -HUP mDNSResponder
- Yosemite 10.10.4以降、El Capitan、Sierra 以降、Ventura / Sonomaなどの最新バージョンもこのコマンドでOKです。
- OSビルドや環境によっては「sudo killall -HUP mDNSResponderHelper」や「sudo dscacheutil -flushcache」も併用する場合がありますが、基本的には上記1回だけで十分とされています。
macOS 10.10 ~ 10.10.3(Yosemite 初期)
sudo discoveryutil mdnsflushcache
- 当時は「discoveryd」がDNSサービスを担っていました。
macOS 10.9(Mavericks)
sudo killall -HUP mDNSResponder
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情報を取り直すため、問題が解決する可能性があります。
- それでも解決しない場合は、ルーターの再起動、別のDNSサーバ(Google Public DNSなど)の利用、ネットワーク設定の見直しも検討してください。
まとめ
- DNS関連の不具合は、まずブラウザのキャッシュ削除やMacの再起動など基本的な対処を試す。
- 解決しない場合は、macOSバージョンごとに異なるコマンドを実行してDNSキャッシュをクリアする。
- 最新バージョン(Yosemite 10.10.4以降~)は「sudo killall -HUP mDNSResponder」を基本とし、Tiger以前は「sudo lookupd -flushcache」を使うなど、バージョンによって手順が変わる。
DNSキャッシュのクリアは、根本原因がDNS以外にある場合(ネットワーク機器の故障やプロバイダの設定など)では効果がない可能性もあります。状況に応じて、Apple公式サポートやネットワーク機器のマニュアルも参考にしてください。