VPN 並不代表所有 DNS 查詢都會自動受到保護。裝置連上通道後,瀏覽器、作業系統、第三方安全軟件或特定應用程式,仍可能把網域查詢送往本地網絡供應商、公共 WiFi 的 DNS 伺服器,甚至直接使用瀏覽器自訂的 DNS over HTTPS(DoH)。這種情況通常稱為 DNS 洩漏:網頁資料看似經過 VPN 傳送,但「要連去哪個網域」的查詢仍可能暴露在通道之外。
DNS 洩漏不一定代表 VPN 完全失效,也不一定會在每次連線時出現。它可能只在切換 WiFi、啟用 IPv6、開啟分流規則、瀏覽器使用獨立 DNS 設定,或 VPN 用戶端重新連線失敗時發生。因此,排查時不能只看用戶端是否顯示「已連線」,而要分別確認出口位址、DNS 伺服器、IPv4 與 IPv6 路徑,以及不同應用程式的實際查詢方式。
DNS 洩漏是什麼,會暴露哪些資訊
DNS 是把網域名稱轉換為 IP 位址的基礎服務。當你在瀏覽器輸入網站地址時,裝置通常要先查詢該網域對應的位址,之後才建立連線。即使頁面內容使用加密連線,DNS 查詢仍可能在另一條路徑上傳送。旁觀者未必能看到頁面內文,但可能推測你正在嘗試存取哪些服務或網站。
正常情況下,VPN 用戶端會建立虛擬網路介面,並將系統的 DNS 設定改為由通道處理,或把查詢交給 VPN 服務端指定的解析器。若路由表、名稱解析設定與實際通道狀態不一致,系統就可能繼續使用原本 WiFi 路由器、電訊商或公共網絡的 DNS。部分程式則不遵從作業系統設定,直接連接自己的 DoH 服務,形成「一般流量走 VPN、DNS 走瀏覽器服務」的分離狀態。
| 現象 | 可能來源 | 先檢查什麼 |
|---|---|---|
| 測試頁顯示本地供應商 DNS | 系統 DNS 沒有被用戶端接管 | 網路介面、DNS 設定與 VPN 的 DNS 選項 |
| 只有瀏覽器出現異常 | 瀏覽器獨立啟用 DoH 或安全 DNS | 瀏覽器的隱私與安全設定 |
| IPv4 正常、IPv6 仍顯示本地網絡 | VPN 沒有完整處理 IPv6 | IPv6 路由、用戶端支援與系統介面 |
| 切換 WiFi 後才發生洩漏 | 網路變更後 DNS 設定沒有重新套用 | 重連流程、背景權限與自動保護功能 |
| 只有某些程式查詢外流 | 分流、獨立網路堆疊或應用程式自訂解析 | 分流規則、代理模式與程式內部設定 |
如何實際檢查 DNS 洩漏
開始檢查前,先關閉其他 VPN、代理工具與瀏覽器的私隱擴充功能,避免多個網路層互相影響。記錄目前使用的裝置、作業系統、VPN 用戶端、連線網路及是否啟用分流。檢查最好分為兩輪:第一輪在沒有 VPN 時觀察基線,第二輪連上 VPN 後重新測試。兩輪都使用同一個瀏覽器與同一個網路,結果才有可比性。
- 先確認出口位址。使用 IP 檢測頁查看連線前後的出口資訊是否按照預期改變。若出口沒有改變,應先處理 VPN 連線或系統代理問題,暫時不要只追查 DNS。
- 再查看 DNS 提供者。開啟可信賴的 DNS 洩漏測試頁,執行標準檢查;如需更完整資料,再執行延伸檢查。留意測試結果列出的組織、地區及伺服器,而不是隻看「安全」或「通過」字樣。
- 比較連線前後的結果。如果連線後仍出現原本網絡供應商的解析器,或同時出現無法解釋的本地 DNS,便需要檢查系統與用戶端設定。若只出現 VPN 服務所使用的解析器,通常表示 DNS 路徑已由通道接管,但仍要測試 IPv6 與瀏覽器 DoH。
- 分別測試 IPv4 與 IPv6。部分裝置只把 IPv4 流量送入 VPN,而 IPv6 經由原有網路直接外出。測試頁若列出與目前網絡有關的 IPv6 DNS,代表需要在用戶端啟用完整 IPv6 處理,或按照用戶端說明停用未受保護的 IPv6 路徑。
- 切換一次網路再重測。在 WiFi、行動數據或另一個可信任網路之間切換後,先讓 VPN 斷線並重新連線,再檢查 DNS。這一步可以發現網路改變後用戶端沒有重新寫入 DNS 或路由的問題。
你也可以使用本站的 IP 檢測頁面先確認出口狀態,再配合 DNS 洩漏測試服務觀察解析器。不同測試頁的顯示方式可能不同,結果應以多項訊號交叉判斷:出口是否改變、DNS 組織是否符合預期、IPv6 是否繞出,以及瀏覽器與其他應用程式是否一致。
- ✅ 先記錄未連線時的 DNS 結果,再與 VPN 連線後比較。
- ✅ 同時檢查 IPv4、IPv6、瀏覽器及常用應用程式。
- ✅ 更換 WiFi 或行動數據後,重新連線並再次測試。
- ✅ 先停用其他代理工具,避免無法判斷哪個程式接管 DNS。
- ❌ 不要只因測試頁顯示「VPN 已連線」就直接判定沒有洩漏。
- ❌ 不要在公開測試頁或截圖中暴露訂閱連結、帳戶名稱及用戶端記錄。
動手修復裝置與用戶端設定
確認問題來源後,應由最小改動開始。先使用 VPN 用戶端內置的 DNS 保護、DNS 防洩漏或全隧道路由選項;如果用戶端支援終止開關(Kill Switch),也應瞭解它是否只阻擋一般流量,還是連 DNS 與 IPv6 一併阻擋。不同協定與客戶端的實作並不完全相同,WireGuard、OpenVPN、Trojan、VMess、Shadowsocks 及 Hysteria2 的 DNS 接管方式,可能由用戶端而不是協定本身決定。
在 Windows 上,先關閉其他代理程式,再查看目前網路介面的 DNS 設定、IPv6 狀態與路由。啟用 VPN 的 DNS 保護後,斷線再重連,並重新測試。若使用 Clash Verge 或 sing-box,需確認目前模式是否為全域、規則或直連,並檢查 DNS 模組是否啟用遠端解析、Fake-IP 或其他解析策略。設定檔中若把某些網域指定為直連,這些查詢可能不會跟隨一般代理流量。
在 macOS 上,除了用戶端本身,也要查看系統網路服務的 DNS、代理與 IPv6 選項。若瀏覽器啟用了「安全 DNS」,要確認它是否與 VPN 的 DNS 策略一致;不一致時,可以暫時關閉瀏覽器自訂解析作為排查手段,修復後再按照安全需求決定是否重新啟用。macOS 的網路服務順序也可能影響名稱解析,切換 WiFi、乙太網路或行動熱點後,應重新連線測試。
在 Android 與 iOS 上,重點是 VPN 用戶端的「封鎖 VPN 外流量」、「始終使用 VPN」或相近選項,以及系統的私人 DNS、iCloud Private Relay、內容過濾器和安全軟件。這些功能不是一定要關閉,但排查時必須知道它們是否會接管 DNS。Shadowrocket 等兼容客戶端則要檢查 DNS、代理模式、IPv6 與分流規則;若啟用了按網域直連,應確認該規則是否為有意設定。
Linux 使用者需要留意 NetworkManager、systemd-resolved、resolv.conf、容器網路及桌面環境的網路管理器。若 VPN 用戶端啟動後 DNS 仍由本機解析器處理,可能是 resolved 的上游設定沒有更新,或是容器內部使用獨立的 DNS。修正後不要只查看檔案內容,還要從實際應用程式發起查詢並重新執行外部測試。
| 修復方向 | 適合處理的情況 | 注意事項 |
|---|---|---|
| 啟用用戶端 DNS 保護 | 系統 DNS 沒有跟隨 VPN | 重連後仍要檢查 IPv4、IPv6 與瀏覽器 |
| 使用終止開關 | 通道中斷時仍有流量外出的風險 | 確認它是否涵蓋 DNS、IPv6 與分流連線 |
| 調整瀏覽器 DoH | 只有瀏覽器出現獨立 DNS 結果 | 不要把瀏覽器設定誤當作系統全局保護 |
| 檢查分流規則 | 部分網域或程式繞過代理 | 直連規則可能同時影響網頁流量與 DNS |
| 處理 IPv6 | IPv6 DNS 或位址仍屬於本地網絡 | 優先使用用戶端支援的完整方案,不要盲目改動系統 |
公共 WiFi 與網上付款時的私隱注意事項
公共 WiFi 的風險不只在於網路速度或是否需要登入。接入咖啡店、酒店、機場或共享辦公空間的網絡後,裝置會重新取得 DNS、路由與 IPv6 參數;即使先前在家中測試沒有問題,換到新的接入點後仍可能出現洩漏。連線公共 WiFi 後,應先完成入口頁登入,再啟動 VPN,確認用戶端已建立通道,最後重新執行 DNS 與出口測試。
網上付款時,VPN 不能取代網站本身的加密與帳戶安全。付款頁應確認瀏覽器顯示正確的安全連線,避免在不明彈窗、短網址或來歷不明的登入頁輸入卡號、密碼及一次性驗證碼。某些銀行或支付服務會因出口地區、代理特徵或網路切換而要求額外驗證;遇到這種情況,應以官方應用程式或官方支援渠道核實,不要為了繞過提示而關閉所有安全功能。
如果公共 WiFi 需要安裝描述檔、根憑證或不明安全軟件才能使用,應先確認提供者與用途。這類設定可能改變裝置的 DNS、代理或憑證信任範圍。VPN 只能保護符合其路由與分流規則的流量,不能替你判斷某個登入頁是否可信,也不能阻止惡意應用程式主動收集資料。
- ✅ 使用公共 WiFi 後重新連線 VPN,並重做 DNS 洩漏檢查。
- ✅ 付款前確認網址、瀏覽器安全狀態及官方應用程式來源。
- ✅ 不在陌生裝置保存訂閱連結、密碼或付款資料。
- ✅ 為重要帳戶啟用多因素驗證,並使用不同服務的獨立密碼。
- ❌ 不要把公共 WiFi 的登入頁當作銀行或支付平台頁面。
- ❌ 不要在排查 DNS 時同時安裝多個來歷不明的「加速」或「安全」工具。
如何避免 DNS 洩漏再次出現
修復完成後,建立一套可重複的檢查流程比單次更換 DNS 更重要。每次更新 VPN 用戶端、切換協定、修改分流、啟用新的瀏覽器私隱功能,或更換作業系統後,都應重新檢查。若你使用訂閱匯入方式,更新訂閱後也要確認新的設定沒有把某些網域改為直連。訂閱連結本身屬於帳戶敏感資訊,不應貼到公開轉換服務或與他人共用。
日常使用可採取「連線前、連線後、網路變更後」三個檢查節點。連線前確認沒有其他代理工具正在運行;連線後核對出口與 DNS;網路變更後讓 VPN 重新建立通道,而不是隻等待介面重新顯示已連線。若工作對私隱要求較高,可以把常用瀏覽器與需要長時間連線的程式分開測試,因為不同程式可能採用不同的解析方式。
不要把所有 DNS 問題都歸咎於某個協定名稱。協定只是建立通道的方法,實際是否防止洩漏,還取決於用戶端如何修改路由、系統如何處理 DNS、應用程式是否繞過系統,以及 IPv6 與分流是否完整納入保護範圍。選擇官方 Windows、macOS、Android、iOS 或 Linux 用戶端時,可先查看其 DNS、終止開關及分流說明;使用 Clash Verge、sing-box 或 Shadowrocket 等兼容客戶端時,則要自行核對每項規則。
常見問題
VPN 顯示已連線,為什麼仍然會 DNS 洩漏?
「已連線」通常只表示用戶端完成了某一階段的通道建立,不代表所有 DNS、IPv6 及應用程式流量都已經納入通道。瀏覽器 DoH、分流規則、系統 IPv6 或其他代理工具,都可能讓查詢走另一條路徑。應先檢查 DNS 測試結果,再逐層停用衝突設定並重新連線。
只更換成公共 DNS,可以解決洩漏嗎?
不一定。更換 DNS 只能改變查詢的目的地,不能保證查詢會經由 VPN 傳送。如果本機仍直接連接該 DNS 伺服器,公共 WiFi 或網絡供應商仍可能看到連線行為。更換 DNS 應配合 VPN 的 DNS 保護、路由與終止開關一起驗證。
瀏覽器的安全 DNS 應該關閉嗎?
沒有一個設定適用所有人。排查期間可以暫時關閉,確認問題是否由瀏覽器獨立解析造成;修復後,再根據 VPN 用戶端是否能正確保護 DoH 決定是否啟用。重點是不要讓瀏覽器的 DNS 路徑與整個裝置的私隱策略互相矛盾。
修復後多久需要再檢查一次?
不應只按固定日期檢查,更應在發生重要變更時重測,例如更換 WiFi、更新用戶端、切換協定、修改分流、啟用新的瀏覽器功能或升級作業系統。若公共網絡經常變更,則每次連線後做一次快速核對會更可靠。