---
title: "如何在 Mac 上清除 DNS 快取（終端機指令） · Kilobat 指南"
url: "https://kilobat.app/zh-hant/guides/flush-dns-cache-mac.html"
description: "網站搬家後或「找不到伺服器」錯誤一直出現時，用「終端機」清除 macOS 的 DNS 快取。了解清除何時有用、何時沒用。"
---

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 嗎？**

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

## 資料來源

- [Apple 支援（已封存）：在 OS X 中重置 DNS 快取](https://support.apple.com/en-us/101481)
- dscacheutil(1)，macOS 27.2 內建的 man 頁面
- mDNSResponder(8)，macOS 27.2 內建的 man 手冊頁

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

## 相關指南

- [Mac 上的 DNS 無法解析](https://kilobat.app/zh-hant/guides/dns-server-not-found.html): DNS 失敗時，Mac 無法將 apple.com 這類名稱轉換成 IP 位址。
- [Mac 上 /etc/hosts 的變更沒有作用](https://kilobat.app/zh-hant/guides/hosts-file-not-working.html): /etc/hosts 檔案只在這部 Mac 上把名稱對應到 IP 位址。
- [Mac 上的 DNS 很慢](https://kilobat.app/zh-hant/guides/slow-dns-mac.html): 每個新網站在載入前都需要先查詢 DNS。
- [Mac 上的「Safari 找不到伺服器」](https://kilobat.app/zh-hant/guides/safari-cant-find-server.html): 「Safari 找不到伺服器」通常表示 Mac 無法取得該網站名稱的位址。
- [Mac 上的 mDNSResponder 是什麼？](https://kilobat.app/zh-hant/guides/what-is-mdnsresponder.html): mDNSResponder 為 Mac 上的每個 App 回應 DNS 查詢，也負責在區域網路上執行 Bonjour。
