如何確認 VPN 真的生效?最直接的做法不是看用戶端上的「已連線」,而是從出口 IP、DNS 歸屬、分應用三個層面各查一次。三處都通過,才代表流量確實經過線路;只要有一處沒過,就屬於「看似連上,其實沒走」。

本文把三層驗證拆成可重現的步驟:每一層都給出要看的指標、具體查法,以及不通過時的修法。文末附上常見情況對照表與自我檢查清單,照著做即可。

3 層驗證:出口 IP、DNS 歸屬、分應用
100+ 國家出口,可逐條切換比對
170+ 線路,含 IEPL 專線 / 中轉 / 直連
5 平台用戶端:Windows / macOS / iOS / Android / Linux

為什麼「已連線」不等於流量已走線路

用戶端上的連線狀態,代表本機代理程序已經啟動、並與入口節點建立了工作階段。它不負責檢查之後每一個應用程式的流量走向——這一步由連線模式、分流規則與分應用清單共同決定。

有三種常見的「漏」,外觀上都顯示已連線:

  • 規則(分流)模式下,目標網域被判為直連,這部分流量從未進入線路;
  • 分應用模式下,目前應用程式沒有被勾選,流量仍從本機網路出去;
  • 瀏覽器或其他軟體自帶代理設定,在系統層之上又套了一層,把流量導向別處。

換個角度理解:所謂「生效」,是指該走線路的流量確實從線路出口出去,而且解析與範圍兩件事都對得上。它不是用戶端上的一個狀態燈,而是三層檢查共同得出的結果。

第一層:查出口 IP 是否真的變了

做法很簡單:先中斷用戶端,記錄本機直連時的出口 IP 與歸屬地;再連上目標線路,重新查一次。需要比對兩點——位址是否改變、歸屬地是否與線路列表標註的國家/地區一致。

查詢時優先使用會顯示歸屬地的 IP 查詢網站,只看到一串數字無法判斷地區。命令列使用者可以直接比對:

# 中斷用戶端時先記錄一次
curl -s https://ifconfig.me; echo

# 連上線路後再查一次,比對是否變化
curl -s https://ifconfig.me; echo

# IPv6 出口單獨查(部分線路只處理 IPv4)
curl -s -6 https://ifconfig.me; echo

IPv4 與 IPv6 要分別看。部分線路只處理 IPv4;如果本機同時具備 IPv6 出口,IPv6 請求可能仍然從本機網路出去,表現為「有的網站走了線路,有的沒走」。

查詢結果出現兩個位址時,兩個都要核對歸屬。只有一個變了,代表另一條協定堆疊沒有走線路,需要在用戶端裡確認 IPv6 的處理方式,或暫時關閉 IPv6 再複測。

出口 IP 變了,只證明「有流量走了線路」,還不能證明「所有該走的流量都走了」。這一層通過後,繼續往下查 DNS。

第二層:查 DNS 歸屬有沒有跟著走

DNS 請求和網頁流量是兩條通道。即使網頁內容已經透過線路傳輸,網域名稱解析仍可能送給本機電信業者的 DNS,這種情況通常稱為 DNS 洩漏。

洩漏的後果有兩個:一是解析結果按你的真實位置就近回傳,你可能拿到本機 CDN 節點,頁面語言、價格區域與線路所在地不一致;二是解析請求暴露了真實網路位置,與使用線路的目的相悖。

檢查分兩步:先看本機目前使用的 DNS 伺服器是誰,再讓解析器自報來源位址,反查歸屬。

# 查看本機目前使用的 DNS 伺服器
ipconfig /all          # Windows
scutil --dns           # macOS
resolvectl status      # Linux

# 讓解析器自報來源位址,用於反查歸屬
dig +short TXT o-o.myaddr.l.google.com @8.8.8.8

如果解析伺服器仍屬於本機電信業者,依用戶端支援的功能依序嘗試:啟用用戶端的 DNS 覆寫 / 遠端 DNS 選項;改用加密 DNS(DoH / DoT),並確認這部分流量同樣走線路;檢查瀏覽器是否另外開啟了「安全 DNS」——瀏覽器內建的 DoH 會繞過系統 DNS 設定,讓解析從另一條路出去。

第三層:分應用驗證流量範圍

前兩層驗證的是線路通不通、解析乾不乾淨,第三層驗證的是範圍:哪些應用程式、哪些網域被算進了線路。

用戶端通常提供三種模式。全域模式把所有流量交給線路;規則(分流)模式按網域、IP 段、GeoIP 判斷;直連模式不走線路。行動裝置還多一份分應用清單,只有被勾選的應用程式才會被接管。

驗證方法是橫向比對:在同一台裝置上,用兩個不同的應用程式分別開啟出口查詢頁面,看出口 IP 是否一致。如果一個是線路出口、一個是本機出口,代表其中一個應用程式沒有被接管。桌面端還可以在用戶端的連線日誌或規則命中記錄裡,查看目標網域命中了哪條規則、走的是代理還是直連。

另外,規則模式的分流依據通常是網域、IP 段與 GeoIP 資料庫,資料庫本身有更新週期,新出現的網域偶爾會被判錯。這也是「昨天還好好的,今天突然變直連」的常見原因之一——先查規則命中記錄,再判斷是不是線路的問題。

分應用驗證的價值在於排除「線路沒問題,只是某個應用程式沒被接管」。這類情況最容易被誤判成線路故障:先改設定,再考慮換線路。

「看似連上其實沒走」的幾種常見情況

下表把常見現象、成因與處理方式放在一起,按現象對照排查,通常幾分鐘內就能定位。處理方式按「先改設定、再換線路」的順序排列。

現象可能成因處理方式
出口 IP 與連線前完全一致 用戶端處於分應用模式,目前應用程式未被勾選;或規則把目標網域判為直連 在分應用清單裡勾選該應用程式,或切到全域模式後再驗證一次
出口 IP 已變,頁面仍是本機語言與本機價格 DNS 請求仍由本機電信業者解析,CDN 按解析位置就近調度 啟用用戶端 DNS 覆寫 / 遠端 DNS,或改用同樣走線路的加密 DNS
瀏覽器生效,其他應用程式不生效 瀏覽器自帶代理擴充功能或獨立代理設定,接管了瀏覽器流量 關閉瀏覽器代理擴充功能,統一由用戶端接管,再複測
更新訂閱後,線路列表仍是舊的 用戶端未重新整理訂閱,仍在使用舊的節點資訊 在用戶端手動更新訂閱,或重新匯入訂閱連結後重新啟動用戶端
顯示已連線,但所有網站都打不開 節點無法使用,或規則把流量判給了不可達的出口 切換另一條線路複測;仍不通時切到全域模式,比對是否與規則有關
  • ❌ 只看用戶端首頁的「已連線」就下結論——它不代表應用層流量真的走了線路
  • ❌ 只用一個網站測出口——遇到就近調度或快取,結果會誤導判斷
  • ❌ 瀏覽器裡同時開著另一個代理擴充功能——測到的可能是擴充功能的出口
  • ❌ 更新訂閱後沒有重新啟動用戶端——舊連線仍在生效,新節點資訊沒有套用

一套可重現的三層自檢流程

把前面的方法串起來,就是下面五步。更換網路環境(住家、公司、公共 Wi-Fi 之間切換)、更新訂閱、切換線路之後各做一次即可,不必每次連線都測。

  1. 中斷用戶端,記錄直連時的出口 IP 與歸屬地,IPv4、IPv6 各查一次。
  2. 連上目標線路,重新查詢出口 IP,確認位址變化且歸屬與線路標註一致。
  3. 開啟 DNS 洩漏檢測頁面,確認解析伺服器歸屬線路側,而不是本機電信業者。
  4. 用兩個不同應用程式分別開啟出口查詢頁面,確認出口一致;再到用戶端日誌裡核對規則命中。
  5. 三層都通過後,再測速度與穩定性。任何一層不通過,先改設定,不要急著換線路。
  • ✅ 出口 IP 變為線路所在國家/地區,IPv4 與 IPv6 的走向一致
  • ✅ 解析伺服器歸屬線路側,列表裡不再出現本機電信業者
  • ✅ 目標應用程式被用戶端接管,與其他應用程式的出口一致
  • ✅ 規則命中記錄裡,目標網域走的是代理而不是直連

訂閱連結等同於帳號憑證。截圖、轉發到公開群組都會讓它外洩;一旦外洩,在使用者面板裡重設訂閱連結,舊連結隨即失效,再到用戶端重新匯入即可。

三層驗證的順序不要顛倒:出口 IP 回答「有沒有走」,DNS 回答「走得乾不乾淨」,分應用回答「範圍對不對」。三層都過,才叫真的生效。

常見問題

用戶端顯示已連線,還需要每次都驗證嗎?

不必。更換網路環境(住家、公司、公共 Wi-Fi 之間切換)、更新訂閱、切換線路之後各查一次即可。日常使用時,查出口 IP 這一層通常就能涵蓋大部分情況。

出口 IP 變了,網站還是顯示本機版本,問題出在哪?

多半是 DNS 仍在本機解析,CDN 按解析位置就近回傳了本機節點。按第二層的方法檢查解析伺服器歸屬,再啟用用戶端的 DNS 覆寫或遠端 DNS 選項。

分應用模式下,背景應用程式也要勾選嗎?

視需要而定。系統更新、應用程式商店這類背景大流量任務,留在直連通常更合適;確實需要走線路的應用程式再單獨勾選。規則越少,排查越容易。

三層都通過,但存取速度仍然慢,是線路問題嗎?

先看範圍:只有某一個網站慢,通常是對方 CDN 調度或本機網路波動;多條線路、多個網站都慢,再考慮換線路。另外,測速前先確認三層驗證已通過,否則測到的可能是本機直連的速度。