---
title: "Mac 上的 VPN DNS 洩漏：檢查你用的是哪台 DNS 伺服器 · Kilobat 指南"
url: "https://kilobat.app/zh-hant/guides/vpn-dns-leak-mac.html"
description: "檢查 Mac 是把 DNS 查詢送到 VPN 的 DNS 伺服器，還是送到本機網路。找出讓 DNS 走到通道外的設定。"
---

DNS

# Mac 上的 DNS 查詢繞過 VPN

開著 VPN 時，通常會希望 DNS 查詢送到 VPN 的伺服器。有些設定卻會把查詢送到本機網路的伺服器。

適用於：「系統設定」的步驟適用於 macOS 13 Ventura 以上版本。終端機指令適用於所有目前的 macOS 版本。 · 檢查日期：2026年10月29日

## 症狀

- VPN 已連線，但 DNS 測試顯示的是本地業者的伺服器。
- 開著 VPN 時，網站看到的是你本機網路的 DNS 伺服器。
- 內部名稱可以用，但其他名稱走的是本機網路的 DNS。

## 可能原因

- **Wi-Fi 或乙太網路上手動設定的 DNS 伺服器。**你為某個網路服務輸入的伺服器，可能會和 VPN 的伺服器一起繼續使用。
- **分割通道 VPN。**有些 VPN 只讓部分網域或網路經過通道，其他查詢則使用本機的伺服器。
- **加密 DNS 描述檔或 DNS App。**DNS 設定描述檔或其他 DNS App 可能會把查詢送到它自己的伺服器。
- **VPN App 的設定。**很多 VPN App 都有自己的 DNS 選項。這些選項決定 macOS 會拿到哪些伺服器。

## 如何檢查

1. 連上 VPN。顯示 DNS 設定。解析器 #1 是大多數名稱的預設解析器。

   ```
   scutil --dns
   ```

   輸出每個解析器及其 `nameserver` 位址、`if_index` 介面，有些還會有 `domain`。
2. 找出解析器 #1 的介面。VPN 介面的名稱通常類似 `utun`。

   ```
   ifconfig -l
   ```
3. 尋找你在實體服務上手動設定的 DNS 伺服器。

   ```
   networksetup -getdnsservers Wi-Fi
   ```
4. 尋找描述檔。在 macOS 15 以上版本中，選擇「蘋果」選單 >「系統設定」>「一般」>「裝置管理」。
5. 在 macOS 13 和 14，選擇「蘋果」選單 >「系統設定」>「隱私權與安全性」>「描述檔」。

## 如何修正

1. 如果不需要，移除你在 Wi-Fi 或乙太網路上手動設定的 DNS 伺服器。

   ```
   networksetup -setdnsservers Wi-Fi empty
   ```

   需要管理者密碼。
2. 打開 VPN App 的設定。如果有使用 VPN 的 DNS 的選項，請開啟它。
3. 移除不需要的 DNS 描述檔。在「裝置管理」或「描述檔」中選取它，然後按一下「移除」按鈕。
4. 中斷 VPN 後再重新連線。再次執行 `scutil --dns` 並比較結果。
5. 詢問 VPN 供應商或你的管理者，通道應該使用哪些 DNS 伺服器。

## 使用 Kilobat

1. Kilobat 會把 VPN 介面列在實體介面旁邊。

   ```
   kilobat interfaces --json
   ```
2. 對於私人名稱，`why` 會說明查詢送到了哪個 VPN 解析器，以及它是否有回應。它也會比較直接路徑和通道路徑。

   ```
   kilobat why intranet.corp.example
   ```

## 常見問題

**VPN 一定會處理所有 DNS 嗎？**

不一定，由 VPN 決定。分割通道 VPN 可能只把部分網域送到它的 DNS 伺服器。

**為什麼我看到不只一個解析器？**

macOS 可以使用多個解析器。帶有 `domain` 那一行的解析器只回應該網域的查詢。scutil 的 man 頁面有說明。

## 資料來源

- scutil(8)，macOS 27.2 內建的 man 頁面
- resolver(5)，macOS 27.2 內建的 man 頁面
- [Apple 支援：在 Mac 上更改 DNS 設定](https://support.apple.com/guide/mac-help/change-dns-settings-on-mac-mh14127/mac)
- [Apple 支援：更改 Mac 使用的網路服務順序](https://support.apple.com/guide/mac-help/change-order-network-services-mac-mchlp2711/mac)
- [Apple 支援：使用設定描述檔統一 Mac 電腦的設定](https://support.apple.com/guide/mac-help/configuration-profiles-standardize-settings-mh35561/mac)

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

## 相關指南

- [連上 VPN 後內部名稱無法解析](https://kilobat.app/zh-hant/guides/vpn-split-dns-internal-names.html): macOS 可以把某個網域的查詢送往一台 DNS 伺服器，其他查詢則送往另一台。
- [在 Mac 上使用加密 DNS](https://kilobat.app/zh-hant/guides/encrypted-dns-mac.html): 一般的 DNS 查詢沒有加密。
- [Mac 已連上 VPN 但無法上網](https://kilobat.app/zh-hant/guides/vpn-connected-no-internet.html): VPN 會讓流量經由通道傳送。
- [Mac 上的 DNS 無法解析](https://kilobat.app/zh-hant/guides/dns-server-not-found.html): DNS 失敗時，Mac 無法將 apple.com 這類名稱轉換成 IP 位址。
