網路知識 約 8 分鐘

VPN 連線後沒生效?查出口 IPDNS完整檢查方法

顯示已連線不代表流量真的經過指定線路。教你查出口 IP 所在地、檢測 DNS 解析路徑、逐一驗證應用程式,並解析幾種「看似連上卻沒經過線路」的常見情況。

VPN 生效檢查不能只看用戶端裡的「已連線」。這個狀態通常只代表用戶端已與遠端伺服器完成交握,或本機代理連接埠已啟動;單憑此狀態,無法證明瀏覽器、命令列工具及其他應用程式的流量都經過目標線路。可靠的判斷需要同時核對出口 IP、DNS 解析路徑、IPv4 與 IPv6,以及不同應用程式實際採用的網路路徑。

最實用的做法,是先保留連線前的基準資料,連線後再使用同一組測試重測。只開啟一個 IP 查詢網頁往往不夠,因為瀏覽器快取、分流規則、系統代理和應用程式內建網路堆疊,都可能造成結果差異。以下提供一套可重現,也方便定位故障層級的完整流程。

先定義「生效」:不要只看連線圖示

「生效」至少包含幾個彼此獨立的層面:通道或代理工作階段已建立;目標應用程式已將流量交給用戶端;路由或代理規則命中了預期線路;DNS 查詢沒有繞過設定的路徑;出口位址與選定地區或伺服器相符。任何一層不一致,都可能出現「用戶端顯示正常,但網頁仍透過本地網路存取」的情況。

觀察位置 能證明什麼 無法單獨證明什麼
用戶端顯示已連線 本機用戶端已啟動工作階段或代理服務 所有應用程式都已進入該工作階段
出口 IP 已變更 目前測試要求經過另一個出口 DNS、IPv6 和其他應用程式也採用相同路徑
DNS 解析服務商已變更 目前檢測中的網域查詢已進入預期解析路徑 所有協定與所有應用程式都沒有旁路
目標網站可正常存取 該網站目前的請求能夠完成 線路設定整體正確,或其他目標同樣可用

因此,驗證過程不應追求一個「通過」圖示,而應收集彼此印證的證據。出口 IP 回答「請求最後從哪裡進入公開網路」,DNS 檢測回答「網域由誰解析」,按應用程式測試則回答「哪些程式真正命中了規則」。將這些結果放在一起,才能區分線路故障、分流遺漏和應用程式設定錯誤。

判斷標準: 用戶端狀態只是起點。出口 IP 符合預期、DNS 路徑合理、各類應用程式結果一致,才能判斷整體設定已生效。

比對出口 IP:確認請求從哪裡離開

出口 IP 是最直觀的驗證項目。中斷連線時,先開啟可信賴的 IP 查詢工具,記錄公開位址、網路歸屬和大致地區;接著關閉該頁面,連線至目標線路,再重新查詢。也可以使用站內的網路檢測頁面輔助核對。連線前後位址完全相同,不一定代表失敗,但這是強烈訊號,需繼續檢查分流規則、系統代理和用戶端模式。

查詢時應避免只重新整理舊頁面。有些網頁可能已被瀏覽器快取,頁面中的檢測腳本也可能沒有重新發出網路請求。更穩妥的做法是開啟新的私密視窗,或使用未設定獨立代理的另一個瀏覽器交叉驗證。如果兩個瀏覽器顯示的出口不同,問題通常不在線路本身,而在瀏覽器擴充功能、代理設定或應用程式分流。

網頁語言與定位結果可能來自 Cookie、帳戶資料、瀏覽器語言、系統時區或網站本身的快取,並不等同於 IP 歸屬。相反地,IP 資料庫也可能存在更新延遲,因此「城市名稱略有偏差」與「出口完全沒有變化」並不是同一類問題。驗證重點應放在位址區段、網路歸屬,以及國家或地區是否大致符合預期。

如果使用命令列,可以向公開的 IP 回顯服務發出請求,再與瀏覽器結果比較。命令列工具是否跟隨系統代理,取決於作業系統、環境變數和軟體實作;這正好能協助判斷目前設定是全域通道,還是只涵蓋支援系統代理的應用程式。

curl https://example-ip-check.invalid
curl -4 https://example-ip-check.invalid
curl -6 https://example-ip-check.invalid

上方網域僅用於展示命令結構,實際測試時應替換為可信賴的 IP 回顯服務。分別指定 IPv4 與 IPv6 的意義,在於找出雙堆疊網路中的旁路,而不是比較哪個協定更快。

檢查 DNS 路徑:辨識解析請求是否繞路

存取網域之前,系統通常需要先將網域解析為位址。如果網頁流量經過目標線路,而 DNS 查詢仍交由本地網路的預設解析器處理,檢測頁面可能顯示出口 IP 已變更,但 DNS 解析服務商仍屬於原本的網路。這通常稱為 DNS 洩漏。它不代表網站內容一定繞過線路,卻表示網域查詢與網頁連線沒有沿用同一套預期路徑。

檢測時應使用能發出多個隨機子網域查詢的 DNS 測試工具。隨機網域可以減少作業系統、瀏覽器和本地快取對結果的干擾。觀察結果時,不要只盯著解析器顯示的城市,因為公共 DNS 可能採用就近調度;更應關注解析服務提供商是否與設定一致,以及中斷與連線兩種狀態下,結果是否出現合理變化。

DNS 結果異常時如何定位

  1. 清除瀏覽器 DNS 快取與系統解析快取,然後重新執行隨機網域測試。
  2. 檢查用戶端是否啟用了遠端 DNS、虛擬網路介面接管或 DNS 劫持功能。
  3. 確認分流規則是否只代理網頁連線,卻把 DNS 請求留在直連路徑。
  4. 檢查瀏覽器是否啟用了獨立的加密 DNS,並與系統設定分開測試。
  5. 更換網路後重新測試,排除目前路由器強制改寫 DNS 的影響。

代理協定本身與 DNS 的處理方式不是同一個問題。Shadowsocks、VMess、Trojan、VLESS、Hysteria2 與 TUIC 都可以承載不同形式的代理流量,但最終採用本地解析還是遠端解析,取決於用戶端、執行模式和規則設定。單憑節點協定名稱,無法推斷 DNS 一定會經過遠端。

在規則模式下,常見做法是讓用戶端依網域決定直連或代理。如果網域在規則判斷前已由本地網路解析,解析記錄仍可能暴露給本地 DNS;如果用戶端接管 DNS 並使用遠端解析,網域判斷與後續連線便能維持在同一套策略內。不同用戶端的術語可能不同,應查看其 DNS、嗅探、虛擬網路介面與規則模式說明,而不是機械式複製其他平台的設定。

分別驗證 IPv4 與 IPv6:排除雙堆疊旁路

現代網路可能同時提供 IPv4 和 IPv6。某些用戶端只接管 IPv4,但系統卻優先透過 IPv6 存取支援雙堆疊的網站,於是檢測頁面可能一下顯示線路出口,一下顯示本地網路。這類問題常被誤判為節點不穩定,實際原因是兩套位址協定採用了不同路由。

驗證方法是分別測試 IPv4 與 IPv6 出口。如果 IPv4 已變為目標線路,而 IPv6 仍顯示本地網路,應檢查用戶端是否支援 IPv6 接管、虛擬網路介面是否取得對應路由,以及規則是否涵蓋 IPv6。如果目前服務或用戶端不處理 IPv6,可以在充分了解影響後調整系統網路設定;更穩妥的方案仍是使用能完整接管雙堆疊流量的執行模式。

檢測現象 可能原因 優先檢查
IPv4 變更,IPv6 未變更 用戶端只接管 IPv4,或缺少 IPv6 路由 虛擬網路介面、雙堆疊支援、路由表
瀏覽器結果交替變化 網站的雙堆疊連線選擇不同 分別強制測試兩種位址協定
兩者均未變更 應用程式未進入代理,或通道未接管流量 系統代理、TUN 模式、分流規則
兩者都變更但 DNS 未變更 資料連線已經過代理,解析仍採用本地路徑 遠端 DNS、瀏覽器安全 DNS、快取

關閉 IPv6 並不是通用解法。它可能暫時消除旁路,卻也可能影響依賴 IPv6 的本地網路環境。排查階段可以透過單獨測試確認問題範圍;長期設定則應優先讓用戶端正確處理雙堆疊,或明確阻止未被接管的流量離開裝置。

分別測試各應用程式:瀏覽器生效不代表全系統生效

系統代理模式通常只會影響主動讀取系統代理設定的軟體。瀏覽器往往能夠跟隨,但部分遊戲、命令列程式、下載工具和使用自有網路堆疊的應用程式,可能直接建立連線。TUN 或虛擬網路介面模式更接近系統層級的路由接管,但仍會受到排除規則、區域網路繞過和應用程式分流影響。

因此,應選擇幾類應用程式分別驗證:瀏覽器開啟出口查詢頁;命令列工具請求回顯服務;目標應用程式存取自身服務;支援 UDP 的程式檢查其連線是否可用。如果只有瀏覽器生效,優先檢查系統代理的涵蓋範圍;如果瀏覽器與命令列都生效,但某個應用程式例外,優先檢查應用程式內的代理、繞過清單和用戶端程序規則。

不同平台的常見差異

成功匯入訂閱連結,也不代表系統流量已被接管。訂閱只是將伺服器位址、連接埠、協定和部分參數交給用戶端。使用者仍需選擇節點、啟動連線,並依需求選擇規則、全域或 TUN 模式。如果匯入後只能看到節點清單,卻沒有建立工作階段,出口 IP 自然不會改變。

拆解常見的假連線:從現象回到設定層

用戶端顯示已連線,但出口完全沒有變化

先確認用戶端是否只是啟動了本地代理連接埠。如果應用程式採用手動代理模式,而瀏覽器沒有讀取系統代理,流量仍會直接送出。接著檢查系統代理是否被其他軟體覆寫,或 TUN 模式是否缺少權限。最後檢查分流規則:目標網域或位址可能被錯誤套用直連規則。

出口已變更,但目標網站仍辨識為原本地區

網站判斷地區不只依賴 IP,也可能參考帳戶地區、Cookie、定位權限、語言和時區。先在登出帳戶的私密視窗中重新測試,再檢查出口 IP 資料庫結果。如果只有單一網站表現異常,而多個 IP 查詢工具都一致指向目標地區,更可能是網站快取或帳戶屬性問題,而不是通道未生效。

剛連線時正常,之後恢復為本地出口

這通常與用戶端程序遭系統暫停、虛擬網路介面重建失敗、網路在無線與有線之間切換,或線路中斷後自動回落有關。檢查用戶端記錄是否出現重新連線,確認是否啟用了斷線阻止或隨選連線,並在網路切換後重新測試路由。不要只看介面上仍保留的連線狀態。

部分網站正常,部分網站無法開啟

這不一定代表「VPN 整體失效」。可能是 DNS 回傳了無法連線的位址、規則集將相關網域分到不同路徑、UDP 未被目前模式處理,或目標網站拒絕該出口。先比較無法連線網站的 DNS 解析結果,再檢查其主網域、靜態資源網域和 API 網域是否套用相同策略。

排查順序: 先確認單一請求的出口,再檢查 DNS 與雙堆疊,最後處理應用程式差異和目標網站策略。按層排查,比頻繁更換節點更容易找出根本原因。

線路與協定標籤不能取代實際驗證

直連、中轉與 IEPL 專線描述的是線路組織方式,不是瀏覽器中的生效證明。直連通常表示使用者網路直接連接遠端入口;中轉會先進入中間節點,再轉送至出口;IEPL 專線通常用來描述包含專線區段的跨境傳輸方案。無論採用哪種方式,最後仍應透過出口 IP、DNS 和應用程式路徑確認流量實際前往何處。

協定標籤同樣不能取代測試。Shadowsocks、VMess、Trojan、VLESS 屬於常見代理方案,Hysteria2 與 TUIC 則更強調以 UDP 為基礎的傳輸設計;用戶端是否支援對應協定、參數是否匹配、UDP 是否可用、DNS 如何處理,以及規則如何命中,都會影響最終結果。協定交握成功,只代表連線鏈路的一部分成立。

如果同一份訂閱在一個用戶端中正常、在另一個用戶端中異常,應比較協定支援、傳輸參數、TLS 設定、訂閱解析結果和執行模式。不要直接複製不同用戶端之間名稱相似的選項,因為「全域」「規則」「繞過區域網路」等術語的具體實作可能不同。

最終驗證清單:留下可重複測試的記錄

完成排查後,建議保存一份簡短記錄,包括使用的網路、用戶端、執行模式、節點地區、出口歸屬、DNS 結果和異常應用程式。下次網路環境或用戶端版本變更時,可以用相同流程重新測試,而不是從連線圖示重新猜測。

如果所有應用程式的出口都沒有變化,問題多半發生在系統接管或代理設定層;如果出口變化但 DNS 沒變,應集中檢查解析路徑;如果只有某個應用程式異常,應檢查該應用程式是否繞過系統代理;如果不同位址協定的結果不一致,則應回到雙堆疊路由。依照這個順序,通常可以將「連上了但沒生效」縮小為明確且可處理的設定問題。

免費使用