DNS

清除 Mac 上的 DNS 快取

macOS 會把 DNS 回應保留一段時間。清除後,下一次查詢會重新詢問 DNS 伺服器。

適用於:OS X 10.10.4 Yosemite 及以後版本,涵蓋所有目前的 macOS 版本。檢查日期:2026年10月29日

症狀

  • 網站已搬到新伺服器,但 Mac 仍然連到舊位址。
  • /etc/hosts 或 DNS 記錄的變更沒有生效。
  • 網路恢復後,「找不到伺服器」錯誤仍然存在。

可能原因

  • 快取的回應。mDNSResponder 會快取 DNS 回應,其中可能有已經不正確的回應。
  • 瀏覽器快取。有些瀏覽器有自己的 DNS 快取,macOS 的清除不會清掉它。
  • DNS 伺服器快取。路由器或網路供應商也會保留回應,在 Mac 上清除不會清掉它們。

如何檢查

  1. 向 macOS 解析器查詢該名稱,將位址與你預期的位址比較。

    dscacheutil -q host -a name example.com
  2. 顯示 macOS 使用的 DNS 伺服器。

    scutil --dns

如何修正

  1. 打開「終端機」,清除目錄服務快取。

    sudo dscacheutil -flushcache

    需要管理者密碼。

  2. 讓 mDNSResponder 清除它的快取。Apple 針對 OS X 10.10.4 及以後版本提供這個指令。

    sudo killall -HUP mDNSResponder

    需要管理者密碼。

  3. 「終端機」要求時輸入你的密碼。指令成功時不會顯示任何訊息。

  4. 結束瀏覽器再重新打開,讓它不再使用自己的舊回應。

  5. 再查詢一次名稱。如果還是舊位址,就是 DNS 伺服器還保留著它。

使用 Kilobat

  1. CLI 執行的是同樣的兩個指令。macOS 會要求輸入管理者密碼。

    kilobat dns flush
  2. 在 App 中打開「健康狀態」標籤頁,然後按一下 DNS 面板中的「清除快取⋯」。

  3. MCP 工具 set_dns 在 provider 設為 flush 時效果相同。它會要求 AI 代理程式先詢問你。

常見問題

清除快取會讓 DNS 變快嗎?

不會。它只是移除舊的回應。接下來的查詢會重新送到 DNS 伺服器,所以可能稍微慢一點。

清除 DNS 快取安全嗎?

安全。App 查詢名稱時,macOS 會重新填入快取。dscacheutil 的 man 手冊頁建議只在必要時才使用它的清除功能。

需要重新啟動 Mac 嗎?

不需要。指令會立即生效。

資料來源

資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。