判斷 VPN 是否生效,不能只看客戶端顯示的「已連線」。這個狀態通常只代表本機客戶端與遠端節點完成交握,不一定表示瀏覽器、命令列工具和其他應用程式的流量都經過該線路。可靠的檢查應同時觀察出口 IP、DNS 解析路徑、路由模式與特定應用程式的連線結果。
最實用的順序是:先記錄連線前的網路特徵,再建立連線並檢查出口 IP,接著驗證 DNS,最後逐一測試容易繞過代理的應用程式。如此可以將問題縮小到節點、系統代理、虛擬網路介面、分流規則或應用程式本身的設定,而不是反覆更換線路碰運氣。
先了解「已連線」究竟代表什麼
客戶端建立連線時,會先解析節點位址,再與伺服器協商協定、加密和驗證資訊。使用 Shadowsocks、VMess、Trojan 或 VLESS 等連線方式時,只要交握成功,客戶端通常就會顯示已連線。但此時流量如何進入連線通道,仍取決於客戶端採用的接管方式。
常見的接管方式包括系統代理和虛擬網路介面。系統代理會修改作業系統提供給應用程式的代理設定,遵循該設定的瀏覽器與桌面應用程式通常能進入線路;不讀取系統代理的程式則可能繼續直接連線。虛擬網路介面會在系統路由層接收更多流量,涵蓋範圍通常更廣,但仍可能受到排除規則、本地網路路由和應用程式自有網路堆疊的影響。
| 觀察到的狀態 | 可以說明什麼 | 仍不能說明什麼 |
|---|---|---|
| 節點交握成功 | 客戶端能夠連線至遠端服務 | 所有應用程式都已進入線路 |
| 系統代理已開啟 | 系統代理設定已寫入 | 應用程式一定遵循系統代理 |
| 虛擬網路介面已啟用 | 客戶端可以在路由層接管流量 | 分流規則沒有排除目標 |
| 網頁可以開啟 | 目前的網頁請求可以完成 | DNS 與其他應用程式使用相同路徑 |
IEPL 專線、中轉線路與直連線路描述的是節點到目標網路之間的傳輸組織方式。IEPL 通常用於更穩定的跨境傳輸,中轉會先將流量送至中繼入口,直連則由本地網路直接連線至遠端節點。這些差異會影響連線品質,但不會改變驗證方法:最終仍要查看出口、DNS 與應用程式請求的實際走向。
出口 IP 驗證:確認網頁流量前往何處
出口 IP 是第一項檢查,因為它會直接反映測試請求從哪個網路出口存取外部服務。測試前應先中斷客戶端連線,開啟能顯示公網出口資訊的查詢頁面,記錄電信業者、地區和網路組織等結果。接著連線至目標線路,關閉原有查詢分頁並重新開啟,再比較兩次結果。
- 中斷連線,記錄目前的出口地區與網路組織。
- 完全關閉用於查詢的頁面,避免頁面快取舊結果。
- 連線至目標節點,確認客戶端沒有持續重新連線或顯示錯誤。
- 重新開啟查詢頁面,比較出口地區和網路組織是否改變。
- 換用其他瀏覽器或命令列請求重複檢查,觀察結果是否一致。
如果連線後出口資訊變為所選線路對應的地區,表示目前測試工具的請求已經經過線路。如果結果完全沒有變化,應優先檢查系統代理是否已寫入、虛擬網路介面是否啟用,以及目前的分流模式是否將查詢網站判定為直連。
出口發生變化,也不代表所有流量都已被接管。瀏覽器可能使用系統代理,而終端工具、遊戲平台或同步程式可能直接連線。因此,出口 IP 驗證更適合回答「這個請求是否經過線路」,不能單獨證明整台裝置的所有連線都採用相同路徑。
瀏覽器也可能保留舊連線。即使線路已切換,原有分頁中的長連線仍可能暫時沿用先前建立的工作階段。檢查時應建立新分頁,必要時完全退出瀏覽器後重新開啟。使用私密瀏覽視窗也有助於減少擴充功能、快取和持久連線對結果的干擾,但不會自動改變系統路由。
DNS 驗證:網域解析是否繞過連線
存取網站通常會先進行 DNS 查詢,將網域名稱轉換為可連線的位址。網頁內容經過國際線路,不一定表示 DNS 查詢也走同一路徑。如果 DNS 請求仍交由本地網路處理,可能出現解析結果與出口地區不一致、特定網域解析失敗,或連線介面正常但網站持續逾時的情況。
檢查 DNS 時,應留意解析服務所屬的網路與地區,而不是只看頁面是否標示「洩漏」。不同檢測頁面採用的判定標準不完全相同。更穩妥的方式是比較連線前後的解析結果:連線後若仍只顯示本地網路預設的解析服務,同時出口已改變,就需要檢查客戶端的 DNS 接管設定。
- 確認客戶端是否啟用遠端 DNS 或加密 DNS。
- 確認分流規則是否讓 DNS 請求繞過虛擬網路介面。
- 檢查瀏覽器是否啟用獨立的安全 DNS,並使用另一套解析服務。
- 檢查系統中是否保留手動填寫的固定 DNS 設定。
- 切換線路後清除系統與瀏覽器的 DNS 快取,再重新測試。
所謂 DNS 洩漏,通常是指原本預期由連線通道處理的解析請求,實際上被傳送至本地網路或其他非預期的解析服務。這不一定會導致網頁無法開啟,但會造成出口路徑與解析路徑不一致。對依賴地區解析的內容服務而言,這種不一致還可能回傳不適合目前出口的位址。
瀏覽器的安全 DNS 是常見的干擾因素。它可能繞過作業系統的預設解析設定,直接連線至瀏覽器指定的解析服務。若只有某個瀏覽器的 DNS 檢測結果異常,而其他應用程式正常,應先檢查瀏覽器本身的設定;若所有應用程式都出現相同結果,再檢查客戶端和系統層的 DNS 接管。
分應用程式驗證:找出哪些程式沒有經過線路
分應用程式驗證用於處理一種常見情況:瀏覽器測試正常,但命令列、下載工具、遊戲啟動器或桌面客戶端仍使用原本的網路。原因通常不是節點失效,而是不同應用程式讀取代理設定的方式不同。
先選擇一個已通過出口 IP 驗證的瀏覽器作為基準,再依序開啟其他應用程式,觀察相同目標是否能夠存取、顯示的地區是否一致,以及客戶端連線記錄中是否出現對應請求。每次只測試一個應用程式,避免多個背景請求混在一起,讓記錄難以判斷。
| 應用程式類型 | 常見接管方式 | 容易出現的問題 |
|---|---|---|
| 一般瀏覽器 | 系統代理或瀏覽器代理 | 擴充功能覆蓋代理設定,安全 DNS 獨立解析 |
| 命令列工具 | 環境變數、明確指定代理或虛擬網路介面 | 預設忽略系統代理,繼續直接連線 |
| 桌面應用程式 | 系統代理、應用程式內代理或虛擬網路介面 | 應用程式內建的網路設定覆蓋系統設定 |
| 遊戲平台與即時通訊 | 虛擬網路介面或專用轉送規則 | 部分資料報流量未被系統代理接管 |
如果客戶端提供全域、規則和直連等模式,可以暫時切換至涵蓋範圍較大的模式進行對照測試。若應用程式在擴大接管範圍後恢復正常,表示節點本身可用,問題更可能出在分流規則。此時不應長期依賴盲目全域轉送,而應檢查目標網域、位址區段和應用程式程序是否被錯誤歸入直連。
分流規則通常會依照網域、目標位址、地理資料庫、應用程式程序或協定類型決定路徑。規則順序也很重要:前方較寬泛的直連規則可能先命中,使後面的代理規則沒有執行機會。修改後應重新啟動相關應用程式,因為已建立的連線不會自動移轉至新路徑。
訂閱連結只負責向客戶端提供節點與設定更新,不等同於系統流量已被接管。匯入訂閱後,還需要選擇節點、啟用連線並確認代理模式。訂閱更新成功但出口沒有變化時,通常應檢查本地接管設定,而不是反覆重新匯入訂閱。
客戶端顯示已連線但沒有流量的排查順序
遇到「已連線但無法存取」時,從本地到遠端依序檢查,通常比隨機更換協定有效。先確認裝置本身能正常連網,再觀察客戶端是否持續重新連線。若基礎網路無法使用,客戶端介面可能保留上一次的狀態,但不會產生有效轉送。
- 確認基礎連線:中斷客戶端後存取一般網站,排除目前網路本身中斷的可能。
- 重新選擇節點:重新整理訂閱並選擇另一條可用線路,排除單一節點設定過期。
- 檢查時間:系統時間偏差可能導致憑證驗證或驗證流程失敗,應啟用系統自動校時。
- 檢查接管模式:系統代理適合遵循代理設定的應用程式;需要更廣泛的涵蓋範圍時,可測試虛擬網路介面。
- 檢查分流:暫時擴大接管範圍,判斷目標是否被誤判為直連。
- 檢查 DNS:改用客戶端提供的遠端解析方式,並清除舊快取。
- 檢查衝突:退出其他會修改代理、路由或過濾網路請求的程式後重試。
協定切換應放在基礎檢查之後。Shadowsocks 主要提供加密代理傳輸;VMess 和 VLESS 常由客戶端依規則轉送連線;Trojan 結合驗證與加密傳輸,並常搭配傳輸層安全設定。不同協定需要客戶端與伺服器設定相互匹配,不能只更改客戶端的協定名稱,卻保留不相容的連接埠、傳輸方式或驗證資訊。
連線記錄也能協助定位問題階段。網域解析失敗通常指向 DNS 或基礎網路;連線遠端逾時可能與節點無法連線、路由品質或本地網路限制有關;驗證失敗更可能是訂閱內容過期或設定不匹配;交握成功但沒有應用程式請求,則應回頭檢查系統代理、虛擬網路介面和分流規則。
排查時應避免同時修改節點、協定、DNS 和分流設定。一次只改變一項,接著重複出口與 DNS 檢查,才能確認是哪項設定產生影響。若同時改動多處,即使暫時恢復,也很難建立可重複使用的設定。
Windows、macOS、iOS 與 Android 的驗證差異
Windows 桌面程式對系統代理的支援並不一致。瀏覽器通常會讀取系統設定,但部分命令列程式和使用自有網路元件的應用程式需要明確指定代理參數,或依賴虛擬網路介面。發現瀏覽器出口已改變而終端機沒有變化時,應優先檢查這項差異。
macOS 同樣提供系統代理,但應用程式可以選擇自己的網路實作。啟用虛擬網路介面後,需要留意系統是否跳出網路延伸功能授權,以及客戶端延伸功能是否仍處於啟用狀態。系統更新或重新安裝客戶端後,相關授權可能需要重新確認。
iOS 上的客戶端通常透過系統提供的 VPN 設定接管流量。狀態列圖示只能表示系統設定處於連線狀態,仍建議使用瀏覽器檢查出口與 DNS。若某個應用程式的結果不同,應確認客戶端是否啟用隨選連線、分應用程式規則或排除本地網路等選項。
Android 客戶端通常依賴系統 VPN 權限建立虛擬介面。系統的永遠開啟設定、允許略過設定、省電策略和背景限制都可能影響持續連線。若切換至背景後線路中斷,應檢查系統是否限制客戶端執行,而不是直接判定遠端節點故障。
各平台的客戶端介面不同,但驗證邏輯一致:先確認交握,再確認出口,接著檢查 DNS,最後按應用程式驗證。平台差異主要在於流量如何進入線路,而不在檢測標準本身。
如何判斷檢查已完成
完整驗證不要求所有應用程式顯示完全相同的介面,而是要求路徑結果符合預期。用於國際存取的應用程式應顯示所選線路對應的出口;預計直連的本地服務應繼續使用本地路徑;DNS 解析不應意外落到與設定衝突的服務;切換線路後,新建立的連線應採用新的出口。
- 連線前後的出口資訊有明確變化。
- 出口地區與目前選擇的線路相符。
- DNS 解析路徑符合客戶端設定。
- 瀏覽器、終端機和目標應用程式分別完成驗證。
- 分流規則能夠說明哪些請求直連、哪些請求進入線路。
- 切換節點後關閉舊連線,重新測試仍能得到一致結果。
如果出口、DNS 與目標應用程式都符合預期,就可以確認連線已實際生效。若只有其中一項異常,應針對對應層級處理:出口不變時檢查接管方式,DNS 異常時檢查解析設定,單一應用程式異常時檢查應用程式代理與分流規則。將連線狀態拆分成這些獨立環節,通常比只盯著客戶端按鈕更容易找出原因。