先看結論:連線狀態不等於流量已經經過線路
用戶端顯示已連線,通常只代表本機用戶端與遠端節點完成了協定交握,或系統已接受用戶端建立的代理伺服器、虛擬網卡或 VPN 設定。這本身無法證明瀏覽器、下載工具與其他應用程式都將流量交給這條連線。
驗證時應將問題拆成不同層次:出口 IP 是否變更,用來判斷公開網路請求從哪裡離開;DNS 請求交由誰解析,用來判斷網域名稱查詢是否繞過預期路徑;目標應用程式是否實際符合代理伺服器或通道規則,用來判斷分流是否符合預期。只有這些結果彼此一致,才能確認目前的連線確實依設定經過線路。
| 檢查項目 | 可以說明什麼 | 無法單獨說明什麼 |
|---|---|---|
| 用戶端連線狀態 | 用戶端與節點可能已建立工作階段 | 所有應用程式都已進入通道 |
| 出口 IP | 目前測試請求的公開網路出口 | DNS 與其他應用程式也使用相同路徑 |
| DNS 檢查 | 網域名稱查詢所使用的解析器與路徑 | 網頁內容流量必然經過相同路徑 |
| 分應用程式驗證 | 指定程式是否符合代理伺服器或通道規則 | 系統中的其他程式也採用相同設定 |
| 用戶端記錄 | 規則比對、交握與連線錯誤 | 遠端網站看到的最終出口結果 |
檢查出口 IP:確認網頁請求從哪裡離開
出口 IP 是最直觀的檢查項目。中斷 VPN 後,透過可信賴的 IP 查詢頁面記錄目前的公開網路位址與大致地區;接著關閉原頁面、連線至目標線路,再開啟無痕視窗進行相同查詢。如果位址或出口地區變成所選線路所在區域,表示這次瀏覽器請求已抵達遠端出口。
比較時不要只重新整理舊分頁。瀏覽器可能重複使用已建立的連線,也可能保留網站快取。更穩妥的做法是關閉相關分頁,等待用戶端確認連線後,再重新開啟瀏覽器視窗。若用戶端提供連線記錄,也可以同時觀察存取查詢頁面時是否出現新的對外連線紀錄。
同時檢查 IPv4 與 IPv6
部分網路同時提供 IPv4 與 IPv6,而用戶端設定可能只接管其中一種。如果查詢頁面顯示 IPv4 已經變更,但 IPv6 仍指向本地網路,支援 IPv6 的網站就可能優先使用未被接管的路徑。這類情況常見的表現是:某些網站顯示線路地區,另一些網站仍判定為原本的網路地區。
處理方式取決於用戶端能力。優先啟用能完整接管雙堆疊流量的 TUN 或系統 VPN 模式;如果目前節點、協定或用戶端無法處理 IPv6,可在充分了解影響後,暫時關閉本地網路的 IPv6,再重新建立連線並複查。不要只靠反覆切換節點來掩蓋協定堆疊不一致的問題。
為什麼出口地區與節點名稱可能不完全一致
節點名稱通常代表線路用途或預期出口區域,但 IP 資料庫由不同服務維護,更新速度與歸屬判定可能有所不同。某個位址可能已遷移至新的機房,查詢頁面卻仍顯示舊地區。因此,地區文字不一致時,應綜合參考公開網路位址是否變更、目標服務實際回傳的內容區域,以及用戶端記錄,而不是只依賴單一資料庫。
IEPL 專線、中轉與直連描述的是抵達出口節點前的傳輸方式。IEPL 通常著重於跨境區段的專線承載,中轉會先將流量送至中繼節點,直連則由本地網路直接存取遠端入口。這些線路類型會影響路徑與穩定性,但最終網站看到的仍是出口節點的公開網路位址。僅憑出口 IP 無法反推出前段究竟採用了哪種承載方式。
檢查 DNS:確認網域名稱查詢是否繞過預期路徑
存取網站前,裝置通常需要先將網域名稱解析為 IP 位址。網頁內容經過 VPN,不代表 DNS 請求也必然經過相同線路。如果系統仍將查詢傳送給本地網路提供的解析器,就會造成 DNS 路徑與內容流量路徑不一致,通常稱為 DNS 洩漏。
驗證時可以使用 DNS 檢查頁面,觀察解析器所屬網路與地區,但不要把「解析器地區必須與出口地區完全相同」視為唯一標準。公共解析服務可能採用就近接入,回傳的節點名稱也不一定對應實際地理位置。更重要的是確認結果中是否持續出現本地網路的解析器,以及連線前後的解析路徑是否產生預期變化。
瀏覽器安全 DNS 會改變測試結果
現代瀏覽器可能啟用基於 HTTPS 的 DNS,也就是常見的 DoH。此時瀏覽器會繞過系統 DNS 設定,直接向瀏覽器指定的解析服務發起加密查詢。系統層級的 VPN 可能仍會承載這段連線,但解析器名稱不會變成用戶端設定的 DNS;如果使用規則代理伺服器,瀏覽器的 DoH 請求也可能因規則不同而直接連線。
排查時應先查看瀏覽器的安全 DNS 設定,再確認用戶端是否提供 DNS 劫持、虛擬 DNS、遠端解析或遵循系統解析等選項。不要同時修改多處設定,否則很難判斷是哪一項產生了效果。完成測試後,再依照隱私需求、相容性與分流策略,決定採用系統 DNS、用戶端遠端解析或瀏覽器安全 DNS。
DNS 快取會造成「修改無效」的假象
系統、瀏覽器與應用程式都可能快取已解析過的網域名稱。切換線路後立即存取剛開啟過的網站時,應用程式可能直接使用快取結果,不會產生新的 DNS 查詢。此時在 DNS 檢查記錄中看不到請求,不代表設定一定失效。可以關閉瀏覽器程序、清除系統 DNS 快取,或測試先前未存取過的網域,再觀察解析結果。
分流環境中的 DNS 必須配合規則
規則模式會依照網域名稱、IP、程序或規則集決定直連或代理伺服器。如果網域名稱先透過本地 DNS 解析,用戶端只能看到解析後的 IP,某些依賴網域名稱的規則可能無法命中;反過來,如果所有網域名稱都交由遠端解析,本地網站可能取得不合適的位址。較成熟的用戶端會透過網域名稱嗅探、虛擬 IP 或依規則選擇解析器,以維持對應關係。
當問題只發生在特定網域時,應檢查網域規則是否排在較寬泛的直連規則之後、規則集是否已更新,以及該應用程式是否自行執行加密 DNS。DNS 結果正確但頁面仍無法存取時,應繼續檢查路由、協定交握與目標服務限制,而不是持續更換解析器。
分應用程式驗證:確認瀏覽器以外的程式是否經過線路
許多「VPN 已連線但應用程式無效」的問題,實際上源自代理伺服器模式的差異。系統代理伺服器只對主動遵循系統設定的程式生效;TUN 模式透過虛擬網卡接管更多系統流量;應用程式內建代理伺服器則只影響已完成設定的程式。瀏覽器能開啟目標網站,不代表遊戲、命令列工具、同步軟體或商店應用程式也使用相同路徑。
使用相同測試分別檢查不同應用程式
- 中斷連線,分別在瀏覽器與目標應用程式中記錄目前可觀察到的出口或存取結果。
- 連線至線路,確認用戶端沒有交握錯誤,並維持網路環境不變。
- 在瀏覽器重新檢查出口 IP,再於目標應用程式中執行相同類型的網路請求。
- 查看用戶端連線記錄,確認目標網域、目標位址或程序是否出現,以及命中的是代理伺服器還是直連規則。
- 如果瀏覽器的結果有變化而目標應用程式沒有,請切換至 TUN 模式,或為該應用程式設定用戶端支援的獨立代理伺服器。
有些應用程式會忽略系統代理伺服器,有些使用 UDP,還有些會在啟動時建立長連線並持續重複使用。切換線路後,舊連線可能仍留在原本的路徑上。測試前應徹底退出目標應用程式,再連線至線路並重新啟動。只關閉視窗不一定會結束背景程序,需在系統工作管理介面確認程式是否仍在執行。
規則模式、全域模式與直連規則
全域模式通常會將用戶端可接管的流量統一送往節點,適合快速判斷問題是否由分流規則造成。規則模式則依照目標位址、網域名稱或應用程式選擇路徑,更適合日常使用。如果全域模式正常、規則模式異常,重點應放在規則順序、規則集版本、程序比對與 DNS 對應,而不是協定本身。
本地網路、列印裝置、區域網路檔案共享與部分本地服務通常需要保留直連。啟用全域接管後,如果這些服務無法使用,不代表 VPN 失效,也可能只是未啟用區域網路繞過選項。驗證跨境存取與維持本地網路連線是不同目標,應分別檢查。
系統代理伺服器與 TUN 模式的差異
| 接管方式 | 常見涵蓋範圍 | 適合排查的情況 |
|---|---|---|
| 瀏覽器代理伺服器 | 目前瀏覽器及其擴充功能發出的請求 | 判斷網頁存取是否正常 |
| 系統代理伺服器 | 遵循作業系統代理伺服器設定的應用程式 | 檢查一般網頁與桌面應用程式 |
| TUN 模式 | 由虛擬網卡接管的系統流量 | 處理忽略系統代理伺服器或使用 UDP 的應用程式 |
| 應用程式內建代理伺服器 | 單一應用程式自行設定的連線 | 精確驗證指定程式 |
協定與訂閱正常,不代表系統路由已正確
Shadowsocks、VMess、Trojan、VLESS、Hysteria2 與 TUIC 都可以作為用戶端連線至節點時使用的協定或傳輸方案,但它們處理的是用戶端與伺服器之間如何建立及承載連線。應用程式流量是否進入該連線,仍由用戶端的系統代理伺服器、TUN、路由與分流設定決定。
例如,Shadowsocks、VMess、Trojan 或 VLESS 節點在用戶端記錄中顯示交握成功,但系統代理伺服器未啟用,瀏覽器也未設定代理伺服器,網頁仍可能直接連線。Hysteria2 與 TUIC 常使用基於 UDP 的傳輸,如果本地網路對 UDP 不友善,可能出現能建立工作階段但實際請求不穩定的情況。此時可以比較其他協定線路的表現,並查看記錄中的逾時、重傳或交握失敗,而不是只觀察連線按鈕的顏色。
訂閱連結只負責傳送節點設定
訂閱連結通常用於向用戶端匯入節點位址、連接埠、協定參數與線路名稱。匯入成功只表示用戶端能夠讀取並解析訂閱內容,不代表節點已連線,也不代表作業系統流量已被接管。更新訂閱後,還需要選擇節點、啟用對應的接管模式,並完成實際出口測試。
如果更新訂閱後所有節點突然無法使用,應先確認系統時間是否準確、用戶端是否支援訂閱中的協定、舊設定是否覆蓋新設定,以及網路是否封鎖節點入口。不要在多個用戶端之間反覆匯入同一份訂閱後同時啟用連線,多個系統代理伺服器或虛擬網卡互相競爭,會讓路由結果更難判斷。
不同平台的檢查重點
Windows
在 Windows 上應同時檢查系統代理伺服器、虛擬網卡與路由表。部分桌面程式會讀取系統代理伺服器,部分程式則直接建立網路連線。使用 TUN 模式時,用戶端通常需要建立虛擬介面卡並寫入路由;如果權限不足、安全性原則阻止驅動程式載入,或其他網路工具修改了路由,介面可能顯示連線成功,但流量不會依預期進入通道。
macOS
macOS 用戶端可能透過系統 VPN 設定、網路延伸功能或系統代理伺服器接管流量。首次啟用時需要授予相應的系統權限。如果系統設定中存在舊的 VPN 設定或其他網路延伸功能,應避免同時啟用。瀏覽器正常而命令列工具直接連線時,通常需要確認目前使用的是系統代理伺服器還是完整通道模式。
iOS 與 Android
行動平台通常透過系統 VPN 介面承載連線,但省電策略、背景限制與網路切換可能中斷通道。從無線網路切換至行動網路後,應重新觀察系統狀態列中的 VPN 標記,並複查出口。Android 用戶端也可能提供按應用程式代理伺服器或繞過應用程式清單;若目標程式被加入繞過清單,就會繼續直接連線。
Linux
Linux 的網路堆疊與桌面環境組合較多,需要區分環境變數代理伺服器、桌面代理伺服器、TUN 裝置與策略路由。圖形瀏覽器可能遵循桌面代理伺服器,終端程式則可能讀取自己的代理伺服器環境變數。使用 TUN 時應檢查裝置是否建立、預設路由與策略規則是否寫入,以及 DNS 管理服務是否覆蓋用戶端設定。
顯示已連線但流量未經過線路:依序排查
排查的關鍵是一次只變更一個變數。先從最簡單的連線與出口檢查開始,再進入 DNS、分流與協定層。任意同時更換節點、協定、DNS 與用戶端,可能讓問題暫時消失,卻無法確認真正原因。
- 確認基礎網路可用。中斷用戶端後存取常用網站。如果基礎網路本身中斷,應先恢復本地連線。
- 重新建立用戶端連線。中斷目前節點,關閉可能衝突的網路工具,再重新連線並查看交握記錄。
- 切換為全域接管進行對照。如果全域模式有效而規則模式無效,請檢查規則比對與 DNS 設定。
- 重新啟動目標應用程式。結束背景程序,避免舊連線繼續沿用原本的路徑。
- 分別檢查 IPv4、IPv6 與 DNS。確認沒有出現部分流量進入線路、部分流量直接連線的雙堆疊問題。
- 檢查系統時間與權限。時間偏差可能影響憑證驗證,權限不足可能阻止虛擬網卡或系統 VPN 設定生效。
- 比較不同線路類型。如果特定入口在目前網路上無法連線,可以比較直連、中轉或 IEPL 線路,但仍需透過出口測試確認結果。
- 重新匯入訂閱。先移除失效或重複的設定,再從可信賴的來源匯入,避免舊參數與同名節點造成混淆。
常見現象與對應方向
| 現象 | 優先檢查 | 常見原因 |
|---|---|---|
| 出口 IP 完全不變 | 系統代理伺服器、TUN、直連規則 | 應用程式未被接管,或測試網域命中直連 |
| 瀏覽器有效,其他應用程式無效 | 應用程式代理伺服器與 TUN 模式 | 目標應用程式忽略系統代理伺服器 |
| IPv4 變更,IPv6 未變更 | 雙堆疊接管設定 | 用戶端只處理部分協定堆疊 |
| 出口正確,DNS 仍為本地解析器 | 系統 DNS、瀏覽器安全 DNS | DNS 未進入通道,或被獨立設定覆蓋 |
| 全域模式正常,規則模式異常 | 規則順序、規則集與網域名稱解析 | 目標請求被錯誤判定為直連 |
| 切換網路後失效 | 重新交握與系統 VPN 狀態 | 舊工作階段未在新網路上恢復 |
如果記錄顯示節點交握成功、出口 IP 也已變更,但只有某個網站或應用程式無法使用,問題通常已不在「VPN 是否生效」這一層。此時應檢查目標服務的地區規則、帳號區域、快取、應用程式版本與目標線路的相容性。不要將單一服務的存取結果直接等同於整條線路失效。
最終檢查清單
- 未連線與已連線狀態下的出口 IP 有明確差異。
- IPv4 與 IPv6 都依預期進入線路,或已明確處理不支援的協定堆疊。
- DNS 解析路徑符合目前方案,沒有意外回到本地解析器。
- 瀏覽器與目標應用程式分別完成測試,結果不是由單一應用程式設定造成。
- 用戶端記錄能看到目標請求,並顯示命中預期的代理伺服器或直連規則。
- 訂閱已更新,節點協定與目前用戶端相容。
- 系統中沒有同時執行並爭用代理伺服器、路由或虛擬網卡的其他工具。
完成這些檢查後,就能較清楚地區分節點連線問題、系統接管問題、DNS 問題與應用程式分流問題。出口 IP 用於確認公開網路出口,DNS 檢查用於確認解析路徑,分應用程式測試用於確認實際程式是否命中規則;三者結合,比單看「已連線」狀態可靠得多。