VPN 真的安全嗎?答案不能只看「已連線」三個字。VPN 主要負責建立加密通道,將裝置的部分網路流量送往遠端伺服器,但 DNS 解析、瀏覽器的 WebRTC、作業系統的分流規則,以及應用程式自己的網路設定,都可能讓資訊繞過預期通道。若 DNS 請求仍交給本地電信商,或 WebRTC 暴露了實際網路介面,使用者看到的出口 IP 與 DNS 服務位置就可能不一致。

這份指南把檢查拆成三個層次:先確認目前使用的 DNS 服務,再檢查瀏覽器是否透過 WebRTC 暴露位址,最後回到 VPN 客戶端與作業系統修正設定。測試時不要只看一個網站的結果,也不要把「網站能開啟」當成隱私設定已經正確。DNS 洩漏通常不會阻止網頁載入,反而需要比較連線前後的解析服務、出口地區與介面資訊。

VPN 真的安⁠全嗎?DNS 洩漏檢查與修復指⁠南

DNS 洩漏是什麼:不要把出口 IP 當成全部答案

當你輸入網站名稱時,裝置通常需要先把網域名稱轉換成 IP 位址,這個程序就是 DNS 解析。若 VPN 連線後,DNS 請求仍由原本的電信商、公司網路或公共 Wi-Fi 提供者處理,解析者可能看見你查詢過的網域。即使後續頁面流量經由 VPN 出口傳送,DNS 查詢路徑仍可能暴露使用習慣與服務類型。

常見原因包括客戶端沒有接管系統 DNS、系統保留了原本的解析介面、IPv6 流量沒有納入隧道、瀏覽器啟用了獨立的 DNS over HTTPS,或企業網路透過自己的安全閘道攔截 DNS。某些應用程式也會自行處理解析,不一定遵循作業系統的預設設定。因此,單純看到 VPN 出口 IP 已改變,不能證明 DNS 解析也走同一條通道。

3

主要檢查面向

4

常見洩漏來源

1

最終驗證原則

「洩漏」也不一定表示服務商或電信商已經讀取完整瀏覽內容。DNS 通常只涉及網域解析請求,實際頁面是否加密還取決於 HTTPS、應用程式協定與網站本身。正確的判斷方式,是把它視為一個路徑一致性問題:連線後,DNS 解析者是否符合你的預期;連線中斷後,系統是否會停止或切回可接受的安全狀態。

測試前先建立基準:避免把正常差異誤判為洩漏

檢查前先關閉 VPN,使用目前的網路連線完成一次基準測試。記下測試頁面顯示的公共 IP、DNS 服務商名稱、所在國家或地區,以及是否列出多個解析伺服器。不要只截取一個數字,最好保存完整畫面或文字結果。接著關閉瀏覽器中不必要的代理擴充功能,避免擴充功能與 VPN 客戶端同時改寫連線。

重新啟用 VPN 後,等待客戶端顯示連線成功,再以相同瀏覽器、相同測試頁面重做檢查。若使用的是規則分流模式,先確認測試頁面本身沒有被設定為直連;若使用全域模式,則應比較連線前後的 DNS 服務與公共 IP。若兩次測試的解析伺服器完全相同,並不代表一定洩漏,因為有些 VPN 會使用與外部服務相同的 DNS 供應者;此時還要查看客戶端的 DNS 設定或連線記錄。

檢查項目 連線前應記錄 連線後要比較 可能的異常
公共 IP 目前網路的出口位置 是否切換到 VPN 出口 仍顯示本地網路出口
DNS 解析者 電信商、公司或公共 Wi-Fi 的服務 是否改為 VPN 或指定的解析路徑 連線前後完全相同且不符合預期
IPv6 位址 是否存在可用 IPv6 是否也經過同一通道 IPv4 已切換,IPv6 仍是本地出口
WebRTC 位址 瀏覽器可見的介面資訊 是否暴露本地或實際公共位址 出現未預期的本地介面或出口

動手檢查 DNS 與 WebRTC:按照順序排除問題

下面的流程適用於 Windows、macOS、Android、iOS 與 Linux,但不同版本的選單名稱可能略有差異。測試時應使用可信的 DNS 洩漏檢查與 WebRTC 檢查頁面,並閱讀頁面說明,不要在不明網站輸入帳號、密碼或安裝額外程式。檢查頁只需要讀取連線資訊,不需要授權通知、通訊錄或其他裝置資料。

  1. 關閉 VPN,記錄公共 IP、DNS 解析者與 WebRTC 顯示的介面資訊,建立目前網路的基準。
  2. 啟用 VPN,等待狀態穩定後重新載入檢查頁,不要只在背景連線時查看舊結果。
  3. 比較 DNS 解析者。若仍出現原本的電信商或公司 DNS,先查看客戶端是否有「防止 DNS 洩漏」「使用 VPN DNS」或相近選項。
  4. 查看是否出現 IPv6 解析結果。若 VPN 只接管 IPv4,而 IPv6 仍直接連線,就可能形成部分路徑繞出隧道的情況。
  5. 在瀏覽器執行 WebRTC 檢查,分辨顯示的是本地私有位址、VPN 位址,還是未預期的公共位址。
  6. 暫停瀏覽器的安全 DNS 或 DNS over HTTPS,再測試一次;若結果改變,代表瀏覽器自己的解析設定可能沒有遵循系統或 VPN 設定。
  7. 最後斷開 VPN,重新載入網站,確認是否出現短暫直連。若斷線後仍能繼續傳輸,應檢查 kill switch 或網路封鎖功能。

若測試頁顯示多個 DNS 服務,不要看到數量增加就直接判定洩漏。部分服務會把同一組解析叢集列為多個位址,也可能同時顯示 IPv4 與 IPv6 伺服器。真正需要追問的是:這些伺服器是否屬於預期的 VPN DNS、是否與本地網路提供者有關,以及 VPN 斷線時是否仍然可被系統使用。

依裝置修復 DNS 洩漏:先改客戶端,再處理系統

Windows 與 macOS

桌面系統最常見的問題,是同時安裝多個 VPN、代理或網路過濾工具,導致虛擬介面優先順序互相衝突。先只保留一個 VPN 客戶端執行,關閉其他代理工具,再檢查客戶端是否啟用 DNS 洩漏防護、kill switch、IPv6 保護與自動套用 DNS。完成修改後,重新連線,不要只切換節點而不重建隧道。

Windows 可從網路介面與 DNS 設定查看目前使用的解析伺服器;macOS 則可在網路服務的進階設定中查看 DNS 與代理項目。若手動指定公共 DNS,必須確認 VPN 客戶端會接管該介面,否則手動設定不一定能防止請求離開隧道。企業、校園或公共網路可能強制攔截 DNS,這時應先確認網路政策,不要任意停用必要的安全軟體。

Android 與 iOS

手機常見的幹擾來源是系統層級的私人 DNS、iCloud Private Relay 類功能、內容過濾器、企業設定檔與其他 VPN 設定檔。Android 使用者應檢查「私人 DNS」是否設定為自訂主機名稱,並確認它與 VPN 客戶端的 DNS 模式沒有衝突;iOS 使用者則要檢查是否有其他網路隱私功能或內容過濾 App 正在接管連線。

手機在切換 Wi-Fi 與行動網路時,VPN 可能短暫重建連線。測試不能只在 Wi-Fi 下完成,也應在行動網路下重新連線後檢查。若啟用「始終開啟 VPN」或類似功能,應同時查看是否啟用了不允許 VPN 連線時使用網路的選項。這些功能可以降低斷線直連風險,但也可能讓個別應用程式在 VPN 重建期間暫時無法連線。

Linux 與相容客戶端

Linux 上的 DNS 管理可能由 NetworkManager、systemd-resolved、發行版服務或桌面環境共同處理。若使用 sing-box、Clash Verge、Shadowrocket 或其他相容客戶端匯入訂閱,應確認設定檔中的 DNS 模式、透明代理、TUN 介面與路由規則是否互相配合。只開啟 TUN 不代表 DNS 一定被接管;只設定 DNS 伺服器,也不代表所有應用程式都會遵循該設定。

建議先用最簡單的全域模式完成測試,再逐步恢復規則分流。若全域模式沒有洩漏,而規則模式出現異常,問題通常在 DNS 規則、直連清單或特定應用程式的例外設定。若使用 VMess、Trojan、Shadowsocks、Hysteria2 或 WireGuard 等協定,應把「協定能否連線」與「DNS 是否沿同一路徑」分開驗證,不能因為隧道已建立就跳過 DNS 檢查。

操作結論

最穩妥的順序是先讓 VPN 客戶端接管 DNS,再確認 IPv6 與瀏覽器獨立解析設定,最後才調整分流規則。若一開始就同時修改多個位置,出現問題時很難知道是哪一層造成繞路。

修正瀏覽器 WebRTC 暴露:DNS 正常不代表瀏覽器沒有其他資訊

WebRTC 是瀏覽器用來支援即時音訊、視訊與資料通訊的機制。為了建立連線,它可能收集本地網路介面、候選位址與連線路徑資訊。VPN 連線後,WebRTC 檢查頁仍可能列出本地私有位址,這不一定等同於公共 IP 洩漏;但若出現未預期的實際公共位址,就應進一步檢查瀏覽器與 VPN 的處理方式。

修正方法取決於瀏覽器與使用情境。可以先在瀏覽器設定中查看 WebRTC、媒體權限與隱私防護選項,並移除不必要的網站攝影機、麥克風權限。若依賴瀏覽器進行視訊會議,不建議直接用不明擴充功能全面阻擋 WebRTC,因為可能造成通話、螢幕分享或登入驗證失效。更合理的做法是使用可信的瀏覽器設定,並以實際會議服務重新測試。

瀏覽器的 DNS over HTTPS 也需要單獨確認。有些瀏覽器會把 DNS 請求送往預設解析服務,不理會作業系統的 DNS 介面;有些則會在偵測到 VPN 或企業政策後改用系統設定。若你要求所有解析都由 VPN 客戶端處理,應選擇符合該目標的瀏覽器選項,並在修改後重新做 DNS 洩漏測試。

斷線保護與分流設定:修復後還要驗證失效狀態

DNS 洩漏修復不能只測試「連線成功」的狀態,還要測試 VPN 暫時斷線時會發生什麼。kill switch 的作用是當隧道中斷時封鎖部分或全部網路流量,避免系統立刻改用本地介面直連。不同客戶端可能提供「封鎖未連線流量」「僅封鎖 VPN 應用程式流量」或「允許區域網路」等不同模式,啟用前應閱讀說明並確認是否影響印表機、檔案伺服器與本地裝置。

分流規則則要注意 DNS 與實際連線是否使用同一套判斷。某個網域被列入直連,不代表它的 DNS 請求也必須直連;某個應用程式走 VPN,也不代表它使用的解析服務一定走 VPN。尤其是瀏覽器、遊戲啟動器、影音 App 與命令列工具,可能各自使用不同的解析或連線方式。

建議先使用全域代理與完整 DNS 接管完成基準測試,再加入必要的直連規則。每加入一組規則,就重新測試公共 IP、DNS 與 WebRTC。若只希望本地服務不經 VPN,可以使用明確的區域網路例外,但不要為了方便而把所有 DNS、系統服務或未知網域加入直連清單。

設定狀態 適合用途 主要風險 驗證方式
全域代理 建立最清楚的測試基準 本地服務可能無法使用 比較 DNS、IP 與 WebRTC
規則分流 區分本地、國際與特定應用程式 例外規則造成部分流量直連 逐條檢查網域與 DNS 路徑
kill switch 降低隧道斷線時的直連風險 可能暫停本地或背景服務 斷線後重新測試網站與 DNS
IPv6 保護 避免 IPv6 繞過 VPN 部分網路或服務相容性受影響 分別檢查 IPv4 與 IPv6 結果

常見問題

DNS 洩漏代表 VPN 完全沒有加密嗎?

不一定。DNS 洩漏通常表示部分網域解析請求沒有按照預期通過 VPN 通道,並不直接等同於所有頁面流量都未加密。仍應分別檢查 HTTPS、VPN 隧道、DNS 路徑、IPv6 與瀏覽器 WebRTC。

測試頁顯示很多 DNS 伺服器,是不是一定洩漏?

不一定。解析服務可能使用多個位址或叢集,也可能同時顯示 IPv4 與 IPv6。重點是判斷它們是否屬於預期的 VPN DNS,並比較 VPN 開啟前後的提供者與路徑。

WebRTC 顯示私有 IP,需要關閉嗎?

私有 IP 通常只代表本地網路介面資訊,不等同於公共出口洩漏。若你需要瀏覽器視訊或螢幕分享,應先確認實際暴露的是哪種位址,再按瀏覽器功能與工作需求調整,不要盲目安裝不明擴充功能。

換了 VPN 協定就能解決 DNS 洩漏嗎?

通常不能直接保證。Shadowsocks、VMess、Trojan、Hysteria2 與 WireGuard 的連線方式不同,但 DNS 是否經過隧道,還取決於客戶端、TUN 或路由設定、IPv6 處理與瀏覽器選項。應先檢查設定與路徑,再考慮更換協定。

最終判斷

VPN 安全性不是「有沒有連上」的單一開關,而是 DNS、IP、IPv6、WebRTC、分流與斷線保護共同形成的結果。完成修復後,請在實際使用的裝置、瀏覽器與網路環境再次測試,並在客戶端更新設定或更換網路後重新核對。

免費開始