macOSでDNSキャッシュをフラッシュする方法
8 分で読了
#dns#macos#network#maintenance#terminal
macOSでDNSキャッシュをフラッシュする方法
サイトがサーバーを移したのにMacが古いIPのままになる、ルーターが誤ったアドレスを返す——そのようなとき、アプリはDNSキャッシュに覚えた答えを使い続けます。
キャッシュをフラッシュするとmacOSは名前解決をやり直し、「スマホでは開くのにMacでは開かない」、開発用ドメインが固まる、/etc/hosts変更直後などが直ることがよくあります。
何がクリアされるか
- ディレクトリサービスキャッシュ —
dscacheutil -flushcache - mDNSResponder —
HUPでリゾルバ状態を再読み込み
macOSのバージョンで挙動は変わりますが、両方(NythyCleanerと同じ)が一般的なトラブルシュートです。
注意: ブラウザだけのDNS問題とは別です。1ブラウザだけならスーパーリロードやプライベートウィンドウ。全アプリならシステムをフラッシュ。
方法1: ターミナル
ターミナルを開く(/アプリケーション/ユーティリティ/ターミナル.app)。
dscacheutil -flushcache
sudo killall -HUP mDNSResponder
または:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
その後 ping example.com やサイトを開き直す。
方法2: NythyCleaner メンテナンス
DNSをフラッシュタスクは次を実行します。
/usr/bin/dscacheutil -flushcache/usr/bin/killall -HUP mDNSResponder(不要な場合は失敗を無視)
アプリのメンテナンスタスクランナーと同じで、SpotlightやLaunchServicesなどと並び、実行前に確認します。
効くとき
- DNSサーバー変更のあと
- サイト移転後も古いIP
/etc/hosts編集のあと- 名前解決だけおかしいネット診断
効かないとき
- 接続自体がない
- サーバー/CDN側の問題
- キャプティブポータルやVPN
- 特定ブラウザだけ
FAQ
安全?
個人ファイルは消しません。DNSの問い合わせをやり直すだけです。
NythyCleanerがDNSサーバーを変える?
しません。
まとめ
macOSでDNSをフラッシュするには dscacheutil -flushcache と killall -HUP mDNSResponder(必要ならsudo)、または NythyCleaner メンテナンス → DNSをフラッシュ で同じ操作をガイド付きで実行できます。