NythyCleaner
← ブログ

macOSでDNSキャッシュをフラッシュする方法

8 分で読了
#dns#macos#network#maintenance#terminal

macOSでDNSキャッシュをフラッシュする方法

サイトがサーバーを移したのにMacが古いIPのままになる、ルーターが誤ったアドレスを返す——そのようなとき、アプリはDNSキャッシュに覚えた答えを使い続けます。

キャッシュをフラッシュするとmacOSは名前解決をやり直し、「スマホでは開くのにMacでは開かない」、開発用ドメインが固まる/etc/hosts変更直後などが直ることがよくあります。

何がクリアされるか

  1. ディレクトリサービスキャッシュdscacheutil -flushcache
  2. mDNSResponderHUP でリゾルバ状態を再読み込み

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をフラッシュタスクは次を実行します。

  1. /usr/bin/dscacheutil -flushcache
  2. /usr/bin/killall -HUP mDNSResponder(不要な場合は失敗を無視)

アプリのメンテナンスタスクランナーと同じで、SpotlightやLaunchServicesなどと並び、実行前に確認します。

効くとき

  • DNSサーバー変更のあと
  • サイト移転後も古いIP
  • /etc/hosts編集のあと
  • 名前解決だけおかしいネット診断

効かないとき

  • 接続自体がない
  • サーバー/CDN側の問題
  • キャプティブポータルVPN
  • 特定ブラウザだけ

FAQ

安全?

個人ファイルは消しません。DNSの問い合わせをやり直すだけです。

NythyCleanerがDNSサーバーを変える?

しません。

まとめ

macOSでDNSをフラッシュするには dscacheutil -flushcachekillall -HUP mDNSResponder(必要ならsudo)、または NythyCleaner メンテナンス → DNSをフラッシュ で同じ操作をガイド付きで実行できます。