VPN 連線卻沒生效,不能只看用戶端顯示的「已連線」。這個狀態通常只代表用戶端已與遠端節點完成交握,或本機代理埠已啟動,並不能直接證明瀏覽器、命令列工具與其他應用程式的流量都經過目標線路。可靠的判斷方式是依序檢查出口 IP、DNS 解析、IPv6 路徑與分應用規則。

排查時不要頻繁切換節點、協定與系統設定。一次只修改一個變數,再重複相同測試,才能分辨是節點、路由,還是某個應用程式繞過代理。以下方法適用於常見的系統 VPN、系統代理、TUN 模式,以及使用 Shadowsocks、VMess、Trojan、VLESS、Hysteria2 或 TUIC 設定的用戶端。

為什麼「已連線」仍可能沒生效

用戶端建立連線後,還需要將流量送進對應的通道或本機代理埠。這個過程涉及系統代理、路由表、虛擬網卡、DNS 設定與應用程式本身的網路實作。任何一環未成功接管,都可能出現「用戶端顯示正常,但存取結果沒有改變」。

不同連線模式的涵蓋範圍並不相同。系統代理主要影響會讀取系統代理設定的應用程式,瀏覽器通常會讀取,但部分命令列程式、遊戲、下載工具或自行實作網路堆疊的軟體可能忽略它。TUN 模式透過虛擬網卡處理更廣泛的 IP 流量,但仍會受到路由排除項目、區域網路繞過、分流規則與系統權限影響。

表面現象 實際可能發生的情況 優先檢查項目
用戶端顯示已連線 只完成節點交握,應用程式未使用本機代理或通道路由 出口 IP、系統代理、TUN 狀態
瀏覽器生效,其他應用程式未生效 瀏覽器讀取了系統代理,其他應用程式直接連線 分應用規則、應用程式代理設定、TUN 模式
網頁出口改變,但解析異常 網頁流量經過節點,DNS 仍由本地網路處理或使用快取 DNS 模式、快取、用戶端記錄
部分網站路徑異常 網域規則、IP 規則或 IPv6 路徑與預期不同 規則命中記錄、IPv6、路由策略
切換節點後結果不變 檢測頁面被快取,或目前應用程式未進入代理路徑 重新載入、換用應用程式複測、檢查路由

協定名稱本身也不能證明涵蓋範圍。Shadowsocks、VMess、Trojan、VLESS、Hysteria2 與 TUIC 描述的是用戶端與節點之間傳輸資料的方式。應用程式流量是否進入這條連線,仍由本機監聽埠、系統代理、TUN 與路由規則決定。協定成功交握與全域流量接管是兩回事。

階段結論:「已連線」只能作為排查起點,不能當作最終結果。至少要看到目標應用程式的出口 IP 出現預期變化,並確認 DNS 與分流規則沒有繞過代理。

先記錄未連線時的網路基準

要判斷是否發生變化,必須先知道未連線時的狀態。關閉用戶端連線,確認系統代理與 TUN 已恢復,接著記錄目前的出口 IP、網路業者資訊、IP 類型與大致地區。可以開啟本站的 IP 檢測頁面完成這一步。

基準測試應使用之後要驗證的同一個應用程式。如果要檢查瀏覽器,就在該瀏覽器中記錄;若問題出在命令列工具,也需要從命令列單獨測試。瀏覽器結果不能取代其他應用程式,因為兩者可能使用不同的代理設定。

如果中斷連線後仍顯示節點出口,表示系統代理、瀏覽器擴充功能、虛擬網卡或背景程序可能尚未恢復。此時繼續進行連線測試沒有意義,因為基準已被舊設定污染。應先退出相關用戶端,檢查系統網路設定,再重新建立基準。

檢查出口 IP:確認網頁流量走向

完成基準後連線至目標節點,再次開啟 IP 檢測頁面。為減少快取干擾,可以重新載入頁面,或使用新的瀏覽器分頁。若出口 IP 從本地網路位址變為節點出口,且網路歸屬與所選線路相符,即可確認這個瀏覽器分頁的網頁請求已經經過代理路徑。

出口 IP 變化是最直接的證據,但只能證明目前這次檢測請求的路徑。瀏覽器擴充功能可能只代理瀏覽器;系統代理可能只被部分程式讀取;分流規則也可能讓檢測網站經過節點,而其他網域維持直接連線。因此還要繼續檢查實際發生問題的應用程式與目標網域。

出口 IP 沒有變化時如何排查

  1. 查看用戶端是否只啟動了本機代理埠,卻沒有自動寫入系統代理設定。
  2. 確認瀏覽器沒有設定獨立代理。獨立設定可能覆蓋系統設定,也可能指向已失效的舊埠。
  3. 檢查用戶端目前的模式。規則模式可能將檢測網域判定為直接連線,可暫時使用涵蓋範圍更明確的模式進行診斷。
  4. 如果使用 TUN,請檢查虛擬網卡是否成功建立,以及用戶端是否取得修改路由所需的系統權限。
  5. 查看執行記錄,確認請求是否命中代理規則、直接連線規則或拒絕規則。

用戶端從訂閱連結匯入設定後,通常會取得節點參數與分組規則,但匯入成功不等於系統代理已啟用。有些用戶端會將「更新訂閱」、「選擇節點」、「啟動本機服務」與「設為系統代理」分成獨立操作。排查時應確認這些狀態,而不是反覆重新匯入訂閱。

出口 IP 變化後仍無法開啟目標服務

這時問題已從「是否經過代理」縮小為「這條路徑是否適合目標請求」。可能原因包括 DNS 回應異常、目標服務限制特定出口網路、分流導致相關子網域走不同路徑,或瀏覽器保留了舊連線。先不要繼續切換協定,應檢查 DNS、規則命中與應用程式記錄。

出口判斷:IP 改變表示目前檢測請求已透過另一個出口送出;IP 未變則應優先檢查本機接管狀態。這能證明單一請求的路徑,但不能單獨證明所有應用程式與所有網域都使用相同路徑。

檢查 DNS:判斷網域解析經過哪條路徑

存取網站前,系統通常需要先將網域解析為 IP 位址。網頁連線經過節點,不代表 DNS 查詢一定沿著相同路徑傳送。如果 DNS 仍交由本地網路處理,可能出現解析結果與節點地區不符、部分網域回應異常,或網域請求暴露給本地解析服務的情況。

DNS 排查不能只看系統介面填寫了哪台伺服器。許多系統會使用本地存根解析器,用戶端也可能接管查詢、回傳虛擬位址,或將查詢封裝進通道。介面中出現本地位址不必然代表洩漏;關鍵在於用戶端記錄中的處理方式,以及最後由哪一方完成遞迴解析。

瀏覽器與系統 DNS 可能不同

現代瀏覽器可以啟用自己的加密 DNS。啟用後,瀏覽器的解析路徑可能與作業系統不同。因此可能出現命令列查詢正常、瀏覽器仍異常,或瀏覽器正常、其他應用程式仍使用本地網路解析器的情況。排查時需要分別測試,不要用單一結果代表整個系統。

可以在終端機查詢一個尚未快取的目標網域,並同時觀察用戶端記錄。Windows 常用 nslookup,macOS 與 Linux 可使用 dignslookup。命令輸出負責顯示解析結果,用戶端記錄則說明請求是否被接管、轉送或依規則直接連線。

nslookup example.com

dig example.com

nslookup example.com 指定的解析服務

最後一行中的「指定的解析服務」應替換為實際準備測試的伺服器位址。不要把公共解析服務本身當成代理。DNS 只負責解析網域,不會自動改變網頁連線的出口。

避免 DNS 快取造成誤判

系統、瀏覽器與用戶端都可能快取解析結果。切換節點後立即查詢相同網域,看到的可能仍是舊回應。較穩妥的做法是關閉相關分頁、清除應用程式內的 DNS 快取,重新連線後再查詢。若不熟悉系統清除快取的命令,可以重新啟動目標應用程式;不要隨意刪除未知的網路設定。

檢查 IPv6 與分應用路由

部分網路同時提供 IPv4 與 IPv6。用戶端可能只接管其中一種,也可能依系統能力選擇不同路徑。如果 IPv4 經由節點,而 IPv6 維持本地直接連線,支援 IPv6 的網站可能優先使用未被接管的路徑,造成同一瀏覽器中不同網站的結果不一致。

檢查時應在 IP 檢測頁觀察目前暴露的是 IPv4、IPv6,還是兩者同時存在。如果只接管部分協定堆疊,應在用戶端啟用相應支援,或依用戶端文件調整 IPv6 策略。不要只在瀏覽器中隱藏結果,因為底層路由並未改變。

分應用代理的常見邊界

分應用功能通常透過納入或排除應用程式來決定路由。設定時容易混淆「只有選取的應用程式經過代理」與「選取的應用程式不經過代理」這兩種語意。更新用戶端後,應用程式路徑或程序名稱也可能改變,舊規則因此不再匹配。

瀏覽器還可能啟動多個輔助程序。將主程式加入規則,不一定能涵蓋由系統元件處理的請求。相對地,TUN 模式通常依網路流量與規則匹配,不完全取決於應用程式是否讀取代理設定,更適合檢查不支援系統代理的軟體。但 TUN 不代表無條件全域接管,區域網路、保留位址、直接連線網域與手動排除項目仍可能繞過代理。

接管方式 通常涵蓋的流量 容易遺漏的部分 適合的驗證方法
瀏覽器擴充功能 瀏覽器內由擴充功能處理的請求 其他應用程式、系統背景請求 分別檢查瀏覽器與命令列的出口
系統代理 遵循系統代理設定的應用程式 忽略系統代理的軟體、部分非網頁流量 逐一測試應用程式並查看記錄
TUN 模式 進入虛擬網卡並符合路由規則的 IP 流量 排除路由、區域網路流量、未接管的協定堆疊 檢查路由、IPv6 與規則命中
應用程式內代理 該應用程式主動發往代理埠的請求 應用程式外流量、設定未涵蓋的連線 核對位址、埠號與應用程式記錄

從用戶端記錄定位連線層問題

如果出口與 DNS 都不符合預期,記錄比反覆切換節點更有效。記錄通常可以區分訂閱解析失敗、節點交握失敗、本機埠衝突、憑證或時間異常、路由寫入失敗,以及請求由哪條規則處理。閱讀時應從連線動作發生的時間點開始,避免受到較早的歷史錯誤干擾。

Shadowsocks、VMess、Trojan、VLESS、Hysteria2 與 TUIC 的交握方式不同,錯誤訊息也不完全一致,但排查順序相近:先確認設定完整,再確認節點可連線,接著確認本機監聽成功,最後查看目標請求是否進入對應的輸出。若交握成功但記錄中沒有目標請求,問題多半出在本機接管或分流規則,而不是遠端協定。

訂閱連結匯入失敗時,應先檢查連結是否完整、用戶端是否支援訂閱包含的設定格式,以及訂閱更新是否受到目前網路阻擋。成功匯入後還要選擇有效節點並啟動連線。只看到節點清單,不代表節點已被使用。

不同平台的檢查重點

Windows 上需要注意系統代理殘留、虛擬網卡狀態,以及應用程式是否使用 WinHTTP 或自有代理設定。macOS 上應核對目前網路服務的代理設定,並確認系統延伸功能或網路延伸功能取得所需權限。Linux 的桌面代理設定與終端機環境變數可能彼此獨立,瀏覽器生效不代表終端機命令也生效。

行動平台通常由系統 VPN 介面統一承載流量,但省電策略、依應用程式設定 VPN、永遠開啟連線與區域網路存取設定仍會改變結果。若背景恢復後失效,應重新開啟用戶端查看通道狀態與最近記錄,而不是只看狀態列圖示。

幾種「看似連上」的常見情況

瀏覽器正常,下載工具仍使用本地出口

這通常是系統代理涵蓋範圍的問題。瀏覽器讀取系統代理,而下載工具使用直接連線的網路堆疊。應檢查下載工具是否支援代理,或使用能涵蓋這類流量的 TUN 模式,再分別驗證兩個應用程式的出口。

切換節點後網頁地區沒有變化

先排除頁面快取與舊連線重用,再檢查規則模式是否讓檢測網域直接連線。如果記錄中沒有檢測請求,表示瀏覽器可能未進入目前的用戶端。若記錄顯示請求已經經過新節點,但地理資訊未更新,應以出口 IP 與網路歸屬為主,不要只看地區文字。

啟用連線後完全無法存取網路

如果啟用了斷線保護或類似的阻擋策略,節點交握失敗時,本地直接連線也可能被主動阻止。這種情況並非「流量偷偷直接連線」,而是保護規則在連線不可用時停止放行。應查看交握錯誤、本機時間、網路權限與節點可連線性。

只有部分網域連線失敗

優先檢查網域分流、DNS 回應結果與相關子網域。一項服務可能使用多個網域,主站與介面請求可能命中不同規則。只將主網域加入代理清單,不能保證所有資源都使用相同路徑。記錄中的規則命中資訊通常能直接指出差異。

直接連線、一般中轉與 IEPL 專線的結果不同

直接連線表示裝置直接連接遠端節點,路徑會受到公網路由影響。一般中轉會先連接中轉入口,再轉送至出口。IEPL 專線通常將入口與出口之間的傳輸放在專用鏈路中,但使用者到入口、出口到目標服務仍是完整路徑的一部分。線路類型會影響路由穩定性,卻不能取代本機代理與 DNS 檢查。即使使用專線,本機應用程式未進入通道,出口仍不會改變。

最終判定:先在同一個應用程式中比較連線前後的出口 IP,再核對 DNS、IPv6 與分流記錄。結果一致,才能判斷目標流量已依預期進入線路;任一項不一致,就依「應用程式接管 → 規則命中 → 協定交握 → 節點路徑」的順序定位。

一套可重複執行的驗證順序

完整排查不需要同時修改大量設定。以下順序從最容易觀察的現象開始,逐步深入系統與用戶端內部。每完成一步都記錄結果;一旦發現異常,就停在該層處理,不必提前調整後面的協定參數。

  1. 中斷連線,記錄目標應用程式的出口 IP、IP 類型與網路歸屬,建立基準。
  2. 連線至目標節點,在同一個應用程式中重新檢測出口,確認請求是否改變路徑。
  3. 使用瀏覽器與系統工具分別檢查 DNS,結合用戶端記錄判斷解析方式。
  4. 檢查 IPv4 與 IPv6 是否都依預期被接管,避免雙堆疊環境出現路徑分離。
  5. 在實際發生問題的應用程式中重複測試,確認系統代理、TUN 或應用程式內代理的涵蓋範圍。
  6. 查看規則命中與輸出記錄,區分直接連線、代理、拒絕與解析錯誤。
  7. 最後再切換節點或協定,並維持其他條件不變,以便比較變化來源。

如果問題仍然存在,可以在用戶端內整理連線時間、平台、連線模式、協定類型、錯誤記錄與已完成的檢查項目,再透過站內 FAQ 或故障支援管道繼續定位。明確說明「哪個應用程式、哪個網域、出口是否變化、DNS 如何處理」,比只描述「連不上」更容易找到故障層級。