VPN 已連線卻沒生效,通常不是單一故障。客戶端中的「已連線」只代表客戶端與遠端節點完成某種連線程序,不表示瀏覽器、桌面應用程式與系統服務都已將流量交給這條線路。出口 IP 沒有變化、DNS 仍由本地網路解析,或某個應用程式繞過代理,都可能造成「狀態已連線,但存取結果沒有變化」的情況。
排查時不要反覆更換節點碰運氣。更可靠的做法,是將連線拆成數個獨立環節:客戶端是否建立工作階段、系統是否接受代理或虛擬網卡設定、目標應用程式是否符合分流規則、網域解析是否經過預期通道,以及遠端服務是否接受目前的出口。逐一驗證每個環節,才能確認問題所在。
先區分「已連線」與「已接管流量」
不同客戶端對「已連線」的定義不完全相同。使用 Shadowsocks、VMess、Trojan 或 VLESS 時,客戶端可能先啟動本機代理連接埠,再測試遠端節點。此時只有主動讀取系統代理設定,或明確設定代理位址的應用程式,才會將請求送入本機連接埠。未讀取這些設定的應用程式仍可能直接存取網路。
Hysteria2 與 TUIC 通常採用不同於傳統 TCP 轉發的傳輸方式,但是否接管系統流量,仍取決於客戶端的執行模式。協定連線成功,並不能自動證明路由表、虛擬網卡與分流規則都已正確安裝。協定處理的是客戶端到節點之間的傳輸方式;系統接管處理的是哪些本機流量會進入這條傳輸通道,兩者不能混為一談。
系統代理模式主要影響遵循作業系統代理設定的程式。TUN 模式透過虛擬網卡與路由規則接收更廣泛的網路請求,通常更適合不讀取系統代理的桌面應用程式。應用程式內代理則只對指定軟體生效。三種模式可能同時出現在同一個客戶端中,但啟用名稱、權限要求與規則實作會因平台而異。
| 觀察到的現象 | 可能所在環節 | 優先檢查項目 |
|---|---|---|
| 所有應用程式的出口都沒有變化 | 系統代理、TUN 路由或客戶端接管 | 執行模式、系統權限、代理開關 |
| 瀏覽器生效,桌面應用程式不生效 | 應用程式未讀取系統代理 | TUN 模式、應用程式內代理、分流規則 |
| 出口有變化,但網域解析歸屬異常 | DNS 路徑 | 客戶端 DNS 設定、瀏覽器安全 DNS |
| 部分網站可存取,部分網站結果不變 | 規則分流、快取或目標服務策略 | 規則命中紀錄、無痕視窗、出口地區 |
| 切換節點後舊頁面仍顯示原本地區 | 連線重用、快取或工作階段狀態 | 關閉舊連線、重新開啟頁面、退出應用程式 |
使用出口 IP 驗證公網請求路徑
出口 IP 是最直接的外部證據。驗證前先中斷線路,開啟本站的 IP 查詢,記錄目前網路的歸屬資訊;接著連線至目標節點,再次開啟查詢頁面。如果位址與歸屬出現預期變化,表示這個瀏覽器的公網請求已經經過遠端出口。如果結果完全相同,便需要繼續檢查瀏覽器是否已被接管。
測試時應避免只重新整理已開啟很久的頁面。瀏覽器可能保留連線池、代理驗證狀態或頁面快取,部分網站也會將地區資訊寫入工作階段。較穩妥的做法是關閉測試分頁,建立新的瀏覽工作階段,再重新查詢。如果瀏覽器安裝了獨立代理擴充功能,也要確認擴充功能沒有覆寫系統代理,或將目前網域強制設定為直連。
- 中斷客戶端連線,查詢並記錄目前的出口歸屬。
- 連線至目標節點,確認客戶端沒有停留在僅啟動本機連接埠的狀態。
- 建立新的瀏覽工作階段,再次查詢出口歸屬。
- 換用另一個應用程式重複查詢,比較結果是否一致。
- 查看客戶端連線紀錄,確認測試請求是否符合代理或直連規則。
出口變化只能證明受測應用程式的公網請求經過了線路,不能證明所有應用程式都使用相同路徑。瀏覽器可能使用系統代理,命令列工具可能直接連線;桌面應用程式可能使用自己的網路堆疊;系統更新、區域網路裝置與背景服務也可能不受同一組規則控制。因此,完成出口驗證後,還要檢查 DNS 與分應用程式結果。
檢查 DNS 是否沿預期線路解析
DNS 負責將網域轉換為可連線的位址。網頁內容透過遠端出口傳輸,不代表網域解析也一定經過同一通道。如果系統仍使用本地網路提供的 DNS,存取請求與解析請求就會沿不同路徑傳送。這種情況通常稱為 DNS 洩漏,可能暴露本地網路的解析歸屬,也可能讓分流判斷取得不適合目標地區的解析結果。
排查時應比較連線前後 DNS 解析服務的歸屬。如果出口已經變化,但解析服務仍明確屬於目前的本地網路,應檢查客戶端是否啟用遠端 DNS、加密 DNS,或由 TUN 接管的解析模式。具體選項名稱會因客戶端而異,不要只憑「自動」二字判斷已生效,最好結合連線紀錄與外部查詢結果確認。
瀏覽器也可能啟用自己的安全 DNS 設定,因而繞過作業系統或客戶端指定的解析器。這不一定代表故障,但會使客戶端規則與瀏覽器解析路徑不一致。如果只有某個瀏覽器的 DNS 結果異常,可以暫時讓瀏覽器跟隨系統設定,再重新驗證。企業網路中的安全軟體也可能接管解析,此時應遵循所在網路的管理要求。
- ✅ 出口歸屬與所選節點地區一致,DNS 歸屬也符合客戶端設定。
- ✅ 更換瀏覽器後結果一致,表示不是單一瀏覽器的獨立解析設定。
- ✅ 客戶端紀錄可看到網域解析請求,並顯示預期的代理或遠端解析路徑。
- ❌ 出口已經變化,但 DNS 仍固定指向本地接入網路。
- ❌ 瀏覽器與系統工具得到完全不同的解析歸屬,且分流規則無法解釋差異。
- ❌ 修改 DNS 後只重新整理舊頁面,沒有清除既有連線與解析快取。
修改 DNS 設定後,需要讓舊的解析結果失效。可以退出並重新開啟目標應用程式,中斷後重新連線線路,必要時使用作業系統提供的 DNS 快取重新整理功能。不要隨意複製來源不明的清除指令;不同系統的指令與權限模型不同,錯誤操作可能影響正常網路設定。
依應用程式驗證瀏覽器、客戶端與系統服務
分應用程式驗證的目的,是找出哪些程式生效、哪些程式沒有生效。先選擇一個明確遵循系統代理的瀏覽器作為基準,再測試不一定讀取系統代理的桌面應用程式,最後檢查命令列或系統服務。每次只改變一個條件,才能判斷差異來自應用程式、模式還是節點。
瀏覽器已生效,桌面應用程式未生效
這種情況通常表示系統代理已寫入,但桌面應用程式沒有讀取。部分應用程式會使用自己的代理頁面,部分應用程式需要在啟動時讀取系統設定,另一些應用程式則只有在 TUN 模式下才能統一接管。先查看應用程式網路設定中是否有「跟隨系統」、「直連」或自訂代理選項,再決定使用應用程式內代理還是 TUN。
如果應用程式允許填寫 HTTP 或 SOCKS 代理,應使用客戶端實際監聽的本機位址與連接埠。不要憑經驗填寫連接埠,也不要將訂閱連結當成代理位址。訂閱連結用於向客戶端分發節點設定,代理位址則是本機應用程式連線至客戶端的入口,兩者用途不同。
桌面應用程式生效,瀏覽器未生效
瀏覽器擴充功能、獨立安全 DNS、啟動參數與企業政策都可能覆寫系統設定。先停用會改變代理路徑的擴充功能,檢查瀏覽器是否選擇「跟隨系統」,再用新的瀏覽工作階段驗證。如果只有某個使用者設定檔異常,可以建立暫時設定檔進行比較,而不是立即重新安裝整個客戶端。
只有部分網域未生效
此時應重點查看規則模式。常見模式包括全域代理、規則分流與全域直連。規則分流會依據網域、位址範圍、程序或規則集決定路徑;目標網域若符合直連規則,就會出現其他網站正常、該網站仍使用本地出口的結果。查看客戶端紀錄中的規則命中項目,比反覆切換節點更有效。
如何排除訂閱、協定與節點設定問題
如果客戶端匯入訂閱後看得到節點,卻始終無法產生有效流量,需要區分「訂閱取得成功」與「節點連線成功」。訂閱連結只是設定入口,通常包含節點位址、連接埠、協定與驗證參數。客戶端成功下載訂閱,不代表其中每個節點都能在目前網路環境下建立工作階段。
匯入時應選擇客戶端明確支援的訂閱格式。Shadowsocks、VMess、Trojan、VLESS、Hysteria2 與 TUIC 的參數結構不同,不能只修改協定名稱互相替代。如果客戶端版本不支援訂閱中的傳輸方式,可能會顯示節點名稱,卻無法正確連線。優先使用服務提供方建議的客戶端,並透過客戶端的更新訂閱功能取得設定,不要手動刪改驗證欄位。
節點可以連線但沒有資料時,可以查看紀錄中的握手、驗證、網域解析與路由資訊。驗證失敗通常指向設定過期或參數不一致;連線逾時可能與本地網路、節點位址或傳輸方式有關;請求被標記為直連則屬於規則問題;紀錄只有本機連接埠啟動資訊而沒有遠端工作階段,表示客戶端可能尚未真正連線至節點。
中轉、直連與 IEPL 專線描述的是不同的鏈路組織方式。直連通常由使用者網路直接存取節點入口;中轉會先進入中轉入口,再轉送至目標出口;IEPL 專線著重於跨境區段的專用傳輸安排。它們會影響鏈路路徑與適用情境,但不能取代本機的代理接管。即使線路本身正常,若系統代理未啟用或規則符合直連,應用程式仍不會經過該線路。
各平台常見差異與處理順序
桌面系統通常同時支援系統代理與虛擬網卡模式,但 TUN 往往需要額外權限。未授予權限時,客戶端介面可能仍顯示節點已連線,但路由並未完整安裝。遇到這種情況,應檢查系統是否跳出網路擴充功能、虛擬網卡或管理員授權提示,並在授權後重新建立連線。
行動作業系統通常透過系統提供的 VPN 介面接管流量。如果另一個網路工具、內容過濾器或企業管理設定正在使用相關介面,新連線可能無法如預期運作。應在系統網路設定中確認目前生效的設定,不要只查看應用程式內的按鈕。省電策略也可能限制客戶端在背景維持連線,表現為前景短暫可用,切換應用程式後失效。
命令列程式對代理環境變數的支援各不相同。有些工具讀取 HTTP 代理,有些支援 SOCKS,有些則完全忽略系統代理。測試命令列請求時,應先查看該工具的代理文件。如果希望統一接管不支援代理的程式,應評估 TUN 模式,而不是直接將瀏覽器的驗證結果套用到終端機。
- ✅ 先確認客戶端已選擇正確的節點與執行模式。
- ✅ 再使用出口查詢驗證基準瀏覽器。
- ✅ 接著檢查 DNS 歸屬與瀏覽器的獨立解析設定。
- ✅ 然後針對異常應用程式單獨檢查代理、權限與規則命中情況。
- ✅ 最後再更換節點或協定,避免同時改變多個條件。
- ❌ 未查看紀錄就連續切換設定,導致無法重現原始問題。
仍未生效時的完整排查清單
完成基礎驗證後仍無法定位問題,可以從本機到遠端依照鏈路順序重新檢查。先排除訂閱選擇錯誤與客戶端模式問題,再排除系統權限、應用程式覆寫設定、DNS 與快取,最後才處理節點連線與目標服務限制。這樣能保留清晰的因果關係。
- 確認目前選取的節點來自正在使用的訂閱,而不是舊設定或重複群組。
- 確認客戶端模式是系統代理、TUN 或應用程式內代理中的預期選項。
- 檢查作業系統是否接受代理、虛擬網卡與網路擴充功能權限。
- 中斷線路並記錄原本的出口,再重新連線,建立新的瀏覽工作階段進行比較。
- 檢查 DNS 歸屬,並確認瀏覽器沒有獨立覆寫解析路徑。
- 在客戶端紀錄中搜尋測試網域,確認符合代理規則而非直連規則。
- 使用另一個應用程式重複出口驗證,判斷問題是全域性還是單一應用程式。
- 關閉舊頁面與舊連線後再測試,排除快取、工作階段與連線重用。
- 在設定不變的前提下更換節點,判斷是否屬於單一節點的連線問題。
- 保留必要紀錄與重現步驟,再向服務支援提交具體故障資訊。
提交問題時,建議說明作業系統、客戶端名稱、使用模式、協定類型、發生問題的應用程式、出口是否變化、DNS 是否變化,以及紀錄中的錯誤類別。驗證資訊與完整訂閱連結不應出現在截圖或工單內文中。經過去識別化的紀錄,比「連不上」更容易用於定位問題。
最終判斷標準不是客戶端圖示變色,而是目標應用程式的請求路徑符合預期:出口歸屬正確、DNS 路徑可以解釋、分流規則命中正確,不同應用程式之間的差異也能由各自的代理設定說明。依照這個順序驗證,就能將大多數「看似連線成功卻未經過線路」的問題縮小到具體環節。