VPN 並不是按下連線按鈕後,就能自動遮蔽所有網路資訊。它主要負責把符合規則的流量導向加密通道,但 DNS 查詢、瀏覽器即時通訊介面、系統代理設定、應用程式分流和作業系統網路服務,仍可能在通道之外運作。只要其中一個環節沒有被正確接管,網站或第三方服務就可能從 DNS 或 WebRTC 等資訊推測使用者的網路環境。
DNS 洩漏和 WebRTC 洩漏並不代表 VPN 一定不安全,也不等於所有公開的 IP 位址都能直接識別個人。它們代表的是:原本希望透過 VPN 處理的部分資訊,仍可能由本地網路、電信商、瀏覽器或其他網路服務取得。本文會分別說明兩種洩漏的原理、常見誤判、實際檢查順序,以及 Windows、macOS、Android、iOS 和 Linux 使用者可以採取的防護方式。
VPN 安全嗎:先理解它能保護什麼
VPN 的安全性不能只用「安全」或「不安全」二選一來判斷。建立連線後,裝置與 VPN 節點之間的資料通常會透過特定協定封裝和加密,讓本地網路較難直接看到通道內的內容。常見協定包括 WireGuard、OpenVPN、IKEv2、Shadowsocks、VMess、Trojan 和 Hysteria2,但實際支援項目取決於服務商與用戶端。不同協定在傳輸方式、平台相容性、分流能力和故障表現上都有差異。
不過,加密通道只涵蓋實際進入通道的流量。如果瀏覽器或作業系統把 DNS 請求送往本地路由器,這些查詢就可能沒有經過 VPN;如果瀏覽器的 WebRTC 功能取得了本地介面或候選連線位址,網頁也可能看到與一般 HTTP 請求不同的網路資訊。換句話說,VPN 的保護範圍受到「哪些流量被接管」影響,而不是隻由用戶端畫面上的連線狀態決定。
2
本文重點洩漏類型
7
常見連線協定
5
涵蓋主要平台
判斷安全性時,建議把問題拆成四層:第一層是 VPN 是否成功建立;第二層是系統代理或 TUN 模式是否接管了目標應用程式;第三層是 DNS 是否按照預期解析;第四層是瀏覽器是否透過 WebRTC 暴露額外位址。只有逐層檢查,才能知道問題是在 VPN 本身、用戶端設定,還是瀏覽器功能。
DNS 洩漏是什麼,為什麼會發生
DNS 的作用是把網域名稱轉換成 IP 位址。當使用者在瀏覽器輸入網域名稱時,裝置通常要先提出 DNS 查詢,才能知道應該連線到哪一個伺服器。若查詢由本地路由器、電信商 DNS 或作業系統預設 DNS 處理,即使後續網頁流量經過 VPN,查詢紀錄仍可能留在本地網路一側,這就是常說的 DNS 洩漏。
DNS 洩漏最常見於以下情況:用戶端只設定了系統代理,卻沒有接管系統 DNS;啟用規則分流後,DNS 模組仍使用原本的解析器;作業系統在 VPN 連線建立後保留了舊的 DNS 路由;IPv4 查詢走進 VPN,但 IPv6 查詢仍直接離開;或者瀏覽器、應用程式自行啟用加密 DNS,繞過用戶端的 DNS 設定。
DNS 洩漏檢查頁面通常會列出多個解析伺服器的網域、位址或註冊地區。看到本地電信商或家用路由器相關結果,並不一定代表每一筆資料都已暴露,也可能是分流規則刻意讓特定網域直連。重點是把檢查結果與自己的預期比較:如果目標是讓所有外部網域查詢交給 VPN 端處理,結果中就不應持續出現未預期的本地解析來源。
檢查 DNS 前先固定條件
檢查前先關閉瀏覽器其他分頁、暫停系統更新和大型同步工作,並記錄目前是否開啟 VPN、TUN 模式、瀏覽器加密 DNS 以及 IPv6。接著使用同一個瀏覽器,分別在未連線與已連線狀態下執行檢查。不要只看一次結果就下結論,因為解析器可能依照時間、網路環境和快取狀態回傳不同內容。
若要確認出口與 DNS,可使用本站的 IP 檢測頁面查看連線後的公開資訊。檢查時應同時注意公網 IP、DNS 伺服器、IPv4 與 IPv6 結果,以及瀏覽器是否有快取舊資料。不要把「IP 地區符合預期」直接當成「DNS 沒有洩漏」;這是兩個不同的檢查項目。
WebRTC 洩漏如何暴露額外網路資訊
WebRTC 是瀏覽器支援的一組即時通訊技術,常用於語音、視訊、檔案傳輸和瀏覽器內的點對點連線。為了建立連線,瀏覽器會收集不同類型的候選位址,並嘗試判斷哪一條網路路徑適合通訊。這個過程可能涉及本地網路介面、路由器映射出的位址、VPN 虛擬介面和遠端反射伺服器。
過去部分瀏覽器和測試頁面可以透過 WebRTC 取得本地或候選網路位址,因此即使一般網頁請求已經使用代理,WebRTC 仍可能顯示額外資訊。現代瀏覽器已逐步加入限制、權限提示和位址遮蔽機制,但實際行為仍會受到瀏覽器版本、作業系統、隱私設定、擴充功能與網站程式碼影響,不能假設所有裝置都採用相同規則。
WebRTC 洩漏和 DNS 洩漏的差異在於,前者主要與瀏覽器的即時通訊 API 和網路介面候選有關,後者則是網域名稱解析路徑沒有按照預期通過 VPN。關閉瀏覽器的 WebRTC 功能,通常不能修復 DNS 洩漏;修改 DNS 伺服器,也不會自動阻止 WebRTC 收集候選位址。因此,兩者必須分別驗證。
| 檢查項目 | 主要涉及環節 | 常見異常表現 | 優先處理方向 |
|---|---|---|---|
| DNS 洩漏 | 作業系統、路由器、用戶端 DNS 模組 | 結果出現未預期的本地解析器 | 檢查 DNS 路由、分流與 IPv6 |
| WebRTC 洩漏 | 瀏覽器即時通訊 API、網路介面 | 測試頁面顯示額外本地或候選位址 | 調整瀏覽器權限與 WebRTC 設定 |
| 代理繞過 | 應用程式代理、TUN、規則模式 | 某個應用程式仍使用原本網路 | 確認應用程式是否被規則接管 |
| IPv6 洩漏 | 系統 IPv6 路由與用戶端支援 | IPv4 已切換,IPv6 仍顯示本地出口 | 確認 IPv6 是否被接管或暫時停用 |
動手檢查:從連線到 DNS 與 WebRTC
以下步驟適合在 Windows、macOS、Android、iOS 或 Linux 上作為通用排查框架。不同用戶端的按鈕名稱可能不同,Clash Verge、sing-box、Shadowrocket 和各平台官方用戶端也可能使用不同的模式。不要為了追求「全域」而一次更改所有選項,應該每完成一個步驟就重新測試,這樣比較容易找到真正造成差異的設定。
- 先關閉 VPN 和其他代理程式,使用同一個瀏覽器記錄未連線時的公開 IP、DNS 結果和 IPv4、IPv6 狀態。
- 只開啟一個 VPN 用戶端,匯入訂閱或設定檔,選擇一個線路並建立連線。不要同時啟動兩個代理用戶端,避免系統路由互相覆蓋。
- 確認用戶端顯示已連線,再查看系統代理、TUN 模式和分流模式。目前使用規則模式時,要確認檢查頁面的網域沒有被規則判定為直連。
- 重新開啟 IP 與 DNS 檢查頁面,清除瀏覽器快取後再次檢查。若結果仍顯示本地 DNS,先記錄結果,不要立即修改多項系統設定。
- 在瀏覽器的隱私或網站權限設定中,檢查 WebRTC、區域網路存取和即時通訊相關選項。若使用擴充功能,確認其是否真的適用於目前的瀏覽器版本。
- 切換一次全域模式或完整 TUN 接管,再重複 DNS 與 WebRTC 檢查。若全域模式正常、規則模式異常,問題多半在分流或 DNS 規則,而不是節點本身。
- 最後重新連線一次,檢查裝置從睡眠或更換網路後是否仍維持相同的防護狀態。
測試結果最好以「未連線正常」「連線後 DNS 仍為本地」「WebRTC 顯示額外候選位址」「只有某個瀏覽器異常」等可複核文字記錄。不要只截取 VPN 用戶端的連線畫面,因為那隻能證明通道建立,不能證明每一種流量都已經使用通道。
- ✅ 檢查時固定同一台裝置、同一個瀏覽器和同一個網路環境
- ✅ DNS 與 WebRTC 分開測試,不把一項結果當成另一項結論
- ✅ 規則模式異常時,先查看 DNS 和分流規則,再考慮更換節點
- ❌ 不要同時啟動兩個 VPN 或代理用戶端
- ❌ 不要把單次檢查結果當成永久保證,換網路或更新瀏覽器後應重新確認
各平台的修復與防護方向
Windows、macOS 與 Linux
桌面系統通常提供較完整的系統代理、DNS 和 IPv6 選項,但也因此容易出現多個網路介面同時存在的情況。官方用戶端若支援完整流量接管,優先使用其明確標示的 TUN 或系統級模式;Clash Verge 和 sing-box 使用者則要分清系統代理與 TUN 的差異。系統代理主要讓支援代理的應用程式改用指定入口,TUN 則會建立虛擬網路介面,通常能接管更多不支援傳統代理的流量。
在 Windows 上,檢查乙太網路、Wi-Fi、虛擬介面和 IPv6 的 DNS 設定,特別留意 VPN 斷線後是否恢復原本設定。在 macOS 上,網路服務順序、私人轉送功能和瀏覽器自己的加密 DNS 可能同時影響結果。在 Linux 上,NetworkManager、systemd-resolved、resolv.conf、容器網路和桌面代理設定可能分別管理 DNS,單純修改其中一個檔案不一定有效。
如果使用 WireGuard、OpenVPN 或其他以路由為基礎的方案,應確認 DNS 位址與路由規則確實被套用。如果使用 Shadowsocks、VMess、Trojan 或 Hysteria2 等代理型協定,則要額外確認用戶端是否只設定了瀏覽器代理,還是已透過 TUN 或透明代理接管系統流量。協定名稱本身不能代表 DNS 或 WebRTC 一定不會洩漏。
Android 與 iOS
手機系統常會在切換 Wi-Fi、行動數據和省電狀態後重新建立網路路由。Android 使用者可查看 VPN 設定中的「一律使用 VPN」或類似選項,並留意「封鎖未使用 VPN 的連線」是否會影響斷線時的網路行為。不同品牌的省電管理也可能停止背景用戶端,導致裝置看似已安裝 VPN,實際上卻在背景中斷線。
iOS 對系統級 VPN 的管理較集中,但瀏覽器、私人轉送、應用程式專用網路功能仍可能影響檢查結果。Shadowrocket 等相容用戶端通常會提供全域、規則和代理模式,使用者應確認目前模式、DNS 解析方式以及是否允許某些網域直連。手機連線恢復後,建議重新打開檢查頁面,而不是隻依賴狀態列上的 VPN 圖示。
瀏覽器與應用程式設定
瀏覽器的加密 DNS 可提升解析傳輸的隱私,但它可能繞過用戶端預期使用的 DNS 模組。當你正在排查 DNS 洩漏時,可以暫時記錄並調整瀏覽器的安全 DNS 選項,再比較不同設定的結果。這不是要求所有人永久關閉加密 DNS,而是先確認到底由哪一層負責解析。
WebRTC 方面,應檢查瀏覽器的網站權限、區域網路存取和擴充功能。若工作、會議或教育平台需要 WebRTC,不宜直接全面停用而不測試功能;更合理的做法是限制不必要的網站權限,並確認視訊通話、麥克風和螢幕分享仍能正常工作。對於不需要即時通訊的瀏覽器配置,則可採取較嚴格的 WebRTC 位址保護策略。
公共網絡、付款與帳戶使用建議
在公共 Wi-Fi、旅館、機場或共享辦公室使用網路時,VPN 可以降低本地網路直接觀察部分連線內容的機會,但它不是釣魚網站、惡意程式和帳戶盜用的全面防護。連線前應確認網域名稱、使用 HTTPS、避免安裝不明憑證,也不要因為看到 VPN 已連線就忽略瀏覽器的安全警告。
付款和帳戶登入時,建議使用獨立且受信任的裝置,啟用多因素驗證,並避免在公共裝置儲存密碼、訂閱連結或付款資訊。若付款頁面因出口地區、風控或 DNS 位置出現異常,不要反覆重新整理或同時切換多條線路;先確認帳戶資料、網站網域與用戶端連線狀態,再依照服務商規則處理。VPN 能改變網路出口,但不能替使用者驗證網站是否真實。
共享裝置或家庭多裝置使用時,也要注意訂閱連結本身可能包含識別資訊。不要把訂閱連結放在公開文件、聊天羣組或截圖中。若懷疑連結外洩,應從服務面板重新產生或聯絡支援管道。用戶端不限裝置台數的條件,也不代表可以忽略帳戶密碼、瀏覽器工作階段和本機權限管理。
- ✅ 公共網絡連線後重新檢查 IP、DNS 與 WebRTC 狀態
- ✅ 付款和登入時確認網站網域與瀏覽器 HTTPS 狀態
- ✅ 為帳戶啟用多因素驗證,並避免在共用裝置保存登入工作階段
- ✅ 將訂閱連結視為敏感設定,避免公開分享
- ❌ 不要把 VPN 當成防毒軟體、密碼管理器或釣魚網站攔截器
常見問題
IP 顯示正常,但 DNS 仍然洩漏,代表 VPN 失效嗎?
不一定。這通常表示一般網頁流量的出口已經改變,但 DNS 查詢仍由另一個解析器處理。先確認用戶端的 DNS 模式、分流規則、IPv6 狀態和瀏覽器加密 DNS,再重新檢查。若只有規則模式異常,可以比較全域模式或 TUN 模式的結果,以定位是否為分流問題。
WebRTC 顯示本地位址是否一定很危險?
不一定。WebRTC 顯示的候選位址可能是區域網路介面、虛擬介面或經過瀏覽器處理的遮蔽位址,實際意義要看測試頁面列出的類型和內容。若位址與預期的本地網路或 VPN 虛擬介面一致,風險判斷與直接顯示未經處理的外部出口不同。重點是確認瀏覽器是否暴露了不希望公開的網路資訊。
更換 WireGuard、VMess 或其他協定,就能修復洩漏嗎?
通常不能直接這樣推論。協定主要決定資料如何建立和傳輸通道,DNS 洩漏可能來自作業系統路由、用戶端 DNS 模組或分流規則,WebRTC 洩漏則主要與瀏覽器功能有關。更換協定有時會改變用戶端的接管方式,但真正的修復仍應回到 DNS、TUN、IPv6、代理和瀏覽器設定逐項確認。
多久需要重新檢查一次?
沒有適用所有人的固定週期。更新瀏覽器、作業系統或 VPN 用戶端,切換 Wi-Fi 與行動數據,修改分流規則,或在新的裝置上匯入訂閱後,都值得重新檢查。日常使用中若沒有變更設定,可以把檢查當成故障排查工具;一旦發現出口地區、DNS 結果或瀏覽器行為與過去不同,就應立即重新驗證。
總結來說,VPN 安全性取決於通道、路由、DNS、瀏覽器和帳戶習慣是否互相配合。先確認哪些流量被接管,再分別檢查 DNS 與 WebRTC,最後處理 IPv6、分流和瀏覽器權限,通常比盲目更換節點更有效。建立這套檢查順序後,即使換用不同平台或相容用戶端,也能較快判斷問題到底出在哪一層。