一、Mac 上的 DNS 洩漏是什麼?為何「已連 VPN」仍可能外洩

DNS(網域名稱系統)負責把網址轉成伺服器 IP。當你開啟瀏覽器或 App 時,裝置會先向某個 DNS 解析器 發出查詢;若這一步沒有跟著 VPN 隧道走,而是仍使用家裡路由器、公司 Wi‑Fi 或行動網路業者提供的解析器,外界就有機會從查詢紀錄推測你造訪過哪些網域——這就是一般所說的 DNS 洩漏

macOS 的網路堆疊比手機更複雜:你可能同時有 Wi‑Fi、乙太網路、iPhone 個人熱點,還有 VPN 虛擬介面。VPN 用戶端若只接管部分流量,或系統在隧道建立前已快取解析結果,都會讓人誤以為「圖示已連線就萬事大吉」。因此,Mac VPN DNS 設定 的目標很明確:讓所有需要經 VPN 的 DNS 查詢,在隧道存活期間一律走 VPN 指定的解析路徑,並在斷線時避免瞬間回落到本地 ISP。

若你剛在 Mac 上完成用戶端安裝,建議先對照 Windows 11 VPN 下載與安裝教學:從零到首次連線完整步驟(2026)Android VPN 下載與安裝教學:官方用戶端取得到首次連線完整步驟(2026) 中「官方來源、首次連線要驗證出口」的原則;本篇則假設你已能穩定連上 VPN,專注在 DNS 這一層。

二、動手前:確認隧道狀態與目前使用的解析器

調參數前,請先建立基線,避免改完不知道有沒有生效:

  1. 連上 VPN 並等待握手完成:選單列 VPN 圖示穩定後再測,勿在切換節點中途檢查。
  2. 記下未連 VPN 時的 DNS:稍後對照「斷線瞬間」是否短暫回到 ISP(見下文 Kill Switch)。
  3. 關閉多餘代理:第二套 VPN、瀏覽器獨立代理擴充功能、與系統衝突的「自動代理設定」腳本,測試期請只保留一套。

在 macOS「終端機」輸入 scutil --dns 可列出各網路服務目前的解析器順序;連線前後各執行一次,最容易看出 VPN 是否已把 DNS 推到隧道介面。若你使用分流(Split Tunnel),請確認要受保護的 App 與 DNS 規則一致,否則會出現「網頁走 VPN、解析卻走本地」的割裂狀況。

三、macOS 系統 DNS 設定:從「網路」到進階參數

系統層設定決定「沒開 VPN 用戶端時」Mac 預設把查詢送到哪裡;也是排查 macOS DNS 洩漏 的第一站。以 macOS Sonoma/Sequoia 為例(選單名稱可能隨版本略有差異):

  1. 打開「系統設定」→「網路」,點目前使用中介面(Wi‑Fi 或乙太網路)的「詳細資訊」。
  2. 進入「DNS」分頁:此處列出手動指定的解析器。若你為了加速曾填入 8.8.8.8 等公共 DNS,連 VPN 時可能與客戶端推送的 DNS 衝突;測試防洩漏時可暫時改為「自動」,改由 VPN 接管。
  3. 檢查「代理」分頁:不應殘留未知 PAC 網址;企業環境若有強制代理,需與 IT 確認是否繞過 VPN 隧道。
  4. 若使用多個網路服務(例如同時開 Wi‑Fi 與 USB 網卡),請在「網路」→「⋯」→「設定服務順序」中理解服務優先順序,避免次要介面在 VPN 斷線時搶走預設路由。

重要觀念:在 macOS 上手動填公共 DNS,並不能取代 VPN 的防洩漏;它只改變「沒走隧道時」的解析對象。真正要避免 VPN DNS 防洩漏 失效,仍須依賴客戶端把 DNS 綁進隧道,並在斷線時阻擋回落。系統設定的作用是清掉會干擾的殘留規則,而不是單靠改幾組數字就完成防護。

四、VPN 客戶端 DNS 選項:強制隧道、專用解析與 Kill Switch

各品牌用戶端名稱不同,但邏輯相近。下列類型在 Mac 上最常見,建議在官方 App 的「設定/進階/隱私」類選單中逐項核對(以 ClashVPN macOS 版為例,介面可能隨版本更新):

  • 透過 VPN 傳送所有 DNS 查詢(或「Use VPN DNS」「Block outside DNS」等同義選項):啟用後,系統應只接受隧道內推送的解析器,降低查詢落到本地 ISP 的機率。
  • 使用 VPN 提供的 DNS 伺服器:由服務端下發解析器,通常與節點或隱私策略綁定;勿在系統與 App 各填一套不同 DNS 互相打架。
  • Kill Switch/網路鎖:VPN 意外斷線時暫停對外流量,避免在「無隧道」狀態下短暫用本地 DNS 解析敏感網域。
  • 分流(Split Tunnel)與例外清單:若必須讓部分 App 直連內網,請確認例外流量不會拖著全系統 DNS 一起走出隧道;必要時改為「僅 Web 直連」而非全系統分流。

手動在「網路」裡新增 L2TP/IKEv2 描述檔的舊式做法,往往沒有統一的防洩漏開關,也難在斷線時鎖住 DNS;相較之下,圖形化品牌用戶端能把協定細節封裝在背後,並用同一帳號同步節點與 DNS 策略。若你同時在 iPhone 上使用 VPN,節點與 DNS 思路可參考 iPhone VPN 節點切換教學:串流與日常瀏覽怎麼選線路更穩(2026) ;兩端請避免各開一套互相衝突的私人轉送或第二 VPN。

五、自測 DNS 是否洩漏:建議檢查流程

沒有單一按鈕能保證永遠不洩漏,但下列流程可重複執行,足以抓出大多數設定錯誤:

  1. 連上 VPN 後,用瀏覽器開啟可信的 DNS 洩漏檢測頁(搜尋「DNS leak test」即可找到多個非營利或資安社群維護的工具),觀察列出的解析器是否仍為你家寬或電信業者。
  2. 對照終端機 scutil --dns 輸出:理想狀態下,VPN 介面對應的 resolver 應排在實際使用路徑上。
  3. 強制斷開 VPN(關閉 Wi‑Fi 或從 App 斷線):若已開 Kill Switch,在恢復連線前不應出現大量對外連線;若未開,請觀察是否出現短暫本地 DNS——這正是需要開啟網路鎖的原因。
  4. 換一個節點再測一次,排除單一節點異常;若僅串流 App 異常,也可能是 CDN 路由而非 DNS,可參考 Netflix 播放失敗或一直轉圈?VPN 情境下網路與節點逐步排查(2026) 中的 DNS 與節點檢查順序。

測試時請使用一般瀏覽器分頁,並暫時停用會自行指定 DoH(DNS over HTTPS)的擴充功能;部分瀏覽器會繞過系統 DNS,讓檢測結果看起來「已防洩漏」,但其他 App 仍可能走不同路徑。若要評估整機行為,可另用系統預設瀏覽器或終端機 dig / nslookup 對同一網域比對。

六、Mac 常見踩雷:iCloud 私人轉送、mDNS 與多 VPN 疊加

  • iCloud 私人轉送(Private Relay):與第三方 VPN 同時啟用時,可能出現雙重代理或規則衝突;測試 VPN DNS 防洩漏 時建議暫時關閉私人轉送,確認結果後再依需求決定是否同開。
  • 本地 mDNS/.local 網域:印表機、AirPlay 等服務需要區域解析,部分客戶端會對區域網段做例外;若你發現內網裝置找不到,請查分流例外而非關閉全部 DNS 防護。
  • 睡眠喚醒與快速切換網路:Mac 從睡眠醒來或從 Wi‑Fi 切到熱點時,隧道可能重建數秒;這段空窗正是 Kill Switch 要擋的時機。
  • 僅依賴瀏覽器 VPN 擴充功能:擴充功能往往只代理瀏覽器分頁,系統其他 App 的 DNS 仍可能外洩;需要整機防護時請使用 macOS 原生 VPN 描述檔層級的用戶端。

跨境存取協作或 AI 服務若出現逾時,有時會與 DNS 解析慢有關,可並讀 ChatGPT 頻繁報錯、頁面打不開?先看網路鏈路,再穩住跨境存取體驗(2026) ,把「鏈路品質」與「解析路徑」分開排查。

七、設定習慣與產品選擇:為何建議用官方 macOS 用戶端統一 DNS

誤區一:手動填 1.1.1.1 就等於防洩漏。公共 DNS 只決定「查詢送到誰」,無法保證查詢一定經 VPN 加密通道。誤區二:只看 IP 檢測站。出口 IP 變了,DNS 仍可能走本地。誤區三:開著 VPN 卻讓瀏覽器 DoH 另闢蹊徑。檢測頁與實際 App 行為不一致。誤區四:免費節點清單 + 手動描述檔。來源不明、無統一斷線保護,DNS 回落風險更高。

相較零散腳本與過期設定檔,ClashVPN macOS 用戶端把節點、隧道與 DNS 策略放在同一套介面裡維護:註冊後即可取得免費高速流量額度試用,需要更多用量時可在帳號內加購付費方案;全部節點對各方案開放,差異僅在價格、可用期間與流量,不會因方案不同而鎖住「防洩漏專用」功能。建議在 App 內開啟透過 VPN 傳送 DNS 與網路鎖後,再用上文自測流程驗證一次。若尚未安裝,請由本站 下載用戶端頁面 取得 macOS 版,並透過 登入/註冊 完成帳號步驟;把系統 DNS 清乾淨、客戶端防洩漏打開、自測通過這三步做成固定習慣,比反覆換十幾組公共 DNS 數字更能實際降低 macOS DNS 洩漏 風險。