2026-06-02 · 故障排查 · 約 8 分鐘

代理顯示已連線但網頁打不開:逐項排查清單

用戶端顯示已連線卻無法上網,問題可能出在系統代理、DNS、路由規則或節點本身。本文提供從本機到出口的逐項排查清單,依序檢查即可找出故障點。

本文速覽

適用於 v2rayN、v2rayNG 或 v2flyNG 已顯示執行,但瀏覽器仍逾時、部分網站無法存取或所有請求都失敗的情況。檢查順序固定為本機監聽、流量接管、DNS、路由、節點出口和日誌;每完成一步都進行一次獨立測試,藉此確認故障位於哪一段連線。

先釐清「已連線」代表哪一層

用戶端介面的執行狀態通常只代表核心程序已啟動,或 Android 上的本機網路介面已建立。這不等於遠端節點完成握手,也不等於瀏覽器流量已進入代理。排查時必須將連線拆成五段:應用程式請求、本機代理連接埠、DNS 解析、遠端節點、目標網站。

以 v2rayN 7.14.3 的常見設定為例,本機 SOCKS 連接埠通常是 127.0.0.1:10808,HTTP 連接埠通常是 127.0.0.1:10809。連接埠可在「設定」→「參數設定」→「基礎設定」中調整,因此實際檢測必須以目前用戶端顯示的數值為準,不能只照抄預設值。

先暫時關閉瀏覽器擴充功能中的獨立代理設定,退出其他可能接管系統代理或虛擬網卡的程式,再重新啟動用戶端。這麼做不是直接修復問題,而是減少並行連線,避免一個應用程式使用系統代理、另一個應用程式使用自訂 SOCKS 連接埠,導致測試結果互相矛盾。

10808
常見 SOCKS 本機連接埠
10809
常見 HTTP 本機連接埠
127.0.0.1
預設回送監聽位址
5 段
從應用程式到出口的檢查連線

結論:執行狀態不能取代請求測試

只要本機連接埠沒有監聽,或瀏覽器沒有將請求送入該連接埠,就還沒開始測試遠端節點是否可用。

第一步:確認本機連接埠與系統代理

在 Windows 上先開啟 PowerShell,檢查 v2rayN 的本機 SOCKS 連接埠是否能建立 TCP 連線。若已修改連接埠,請將命令中的 10808 替換為「參數設定」裡顯示的值。測試成功只代表連接埠正在監聽,不代表遠端出口正常。

Test-NetConnection 127.0.0.1 -Port 10808

結果中的 TcpTestSucceeded 應為 True。如果是 False,先在 v2rayN 主視窗確認已選取一個節點,再執行「伺服器」→「設為作用中伺服器」,接著重新啟動核心。仍然失敗時,直接查看日誌是否有連接埠佔用或設定載入錯誤。

本機連接埠正常後,檢查 v2rayN 的系統代理模式。進行一般瀏覽器測試時,可從系統匣選單選擇「自動設定系統代理」。Windows 的「設定」→「網路和 Internet」→「代理」中,應出現由用戶端寫入的本機代理設定。若退出用戶端後舊代理位址仍然保留,請先關閉系統代理,再重新啟動用戶端。

  1. 選取一個明確可用的伺服器,設為作用中伺服器。
  2. 確認本機監聽位址為 127.0.0.1,SOCKS 與 HTTP 連接埠沒有重複。
  3. 啟用「自動設定系統代理」,完全關閉瀏覽器後再重新開啟。
  4. 使用沒有獨立代理規則的瀏覽器視窗造訪兩個不同網域,記錄是全部失敗,還是只有特定網域失敗。

第二步:繞過瀏覽器直接測試代理出口

瀏覽器可能保留舊代理設定、DNS 快取或擴充功能規則。為了判斷故障發生在瀏覽器之前還是之後,可以直接向本機代理連接埠發起請求。macOS 與 Linux 可在終端機使用 curl;Windows 安裝對應命令列工具後,也可以執行相同測試。

curl --proxy socks5h://127.0.0.1:10808 https://v2rayroot.com/ -I --connect-timeout 10

socks5h 中的字母 h 表示讓網域名稱透過 SOCKS 連線解析。若回傳 HTTP/2 200HTTP/1.1 200 或正常的重新導向狀態,代表本機連接埠、節點和遠端 DNS 至少能完成一次完整請求。此時網頁打不開,更可能是瀏覽器代理、快取、擴充功能或系統接管問題。

若命令立即顯示無法連線至 127.0.0.1,故障位於本機監聽。若等待約 10 秒後逾時,本機連接埠通常已接受請求,但遠端節點或目標方向沒有回應。若只有一個網域失敗,則應檢查路由規則、網域解析或目標服務狀態,不要立刻更換所有設定。

測試結果 連線判斷 下一步
拒絕連線至本機連接埠 核心未監聽或連接埠填寫錯誤 核對 10808、重新啟動核心、檢查連接埠佔用
10 秒連線逾時 節點握手或出口異常 切換節點並查看核心日誌
命令成功、瀏覽器失敗 代理核心連線正常 重設瀏覽器與系統代理設定
僅少數網域失敗 DNS 或分流規則匹配異常 暫時使用全域代理進行比對

第三步:檢查 DNS 與路由分流

DNS 故障常見表現是節點延遲測試有數值,但輸入網域後網頁一直等待。延遲測試可能直接連線至節點位址,而瀏覽器仍需要解析目標網域。先在系統終端機執行 nslookup v2rayroot.com,確認本機能取得位址;再使用前面的 socks5h 命令,比較本機解析與代理端解析的結果。

如果 IP 位址可以存取而網域無法存取,優先檢查 DNS。v2rayN 7.x 可從「設定」→「參數設定」進入 DNS 相關設定。排查階段不要一次加入多組複雜規則,先還原為用戶端提供的基礎設定,儲存後重新啟動核心。系統端也可以清除 DNS 快取;Windows 使用 ipconfig /flushdns,接著完全退出並重新開啟瀏覽器。

若只有部分網站失敗,請將路由模式暫時切換為全域代理進行比對。全域模式正常、規則模式失敗,表示節點本身大多可用,故障集中在網域規則、IP 規則或直連出口。檢查自訂規則時尤其要注意優先順序:前面的規則會先匹配,一條範圍過大的直連規則可能讓目標請求繞過代理。

  • 所有網域失敗:檢查系統 DNS、用戶端 DNS 設定及節點網域是否能解析。
  • 網域失敗但 IP 成功:將問題限定在 DNS,暫時不要調整協定參數。
  • 全域模式成功:逐條停用自訂路由規則,找出錯誤的直連或封鎖條件。
  • 全域模式仍然失敗:繼續檢查節點握手、傳輸層和伺服器出口。

延遲顯示 120 毫秒,為什麼網頁仍然逾時?

延遲測試只能涵蓋特定探測請求。使用 curl --proxy socks5h://127.0.0.1:10808 發起完整 HTTPS 請求,再判斷節點是否真的具備出口能力。

切換至全域代理後恢復正常,應該修改哪裡?

在「設定」→「路由設定」中檢查自訂規則順序,先停用最近新增的網域、GeoIP 或直連規則,每次只恢復一組並重新測試。

更新訂閱後突然所有節點都打不開?

確認作用中伺服器沒有被刪除或替換,重新選取節點並設為作用中伺服器。若節點參數整體變更,更新後必須重新啟動核心才能載入新設定。

Android 上顯示已啟動,應用程式仍然無法連線?

在 v2rayNG 或 v2flyNG 中先關閉分應用程式代理與自訂路由,保留單一節點進行全域測試;確認可用後再恢復應用程式範圍和分流規則。

第四步:從日誌判斷節點、協定與 TLS 故障

本機連接埠和流量接管都正常後,日誌是判斷遠端故障的主要依據。v2rayN 可從主介面的日誌區域查看核心輸出,也可在「設定」→「參數設定」中調整日誌等級。排查時使用 info 通常已足夠;只有資訊不足時才暫時提高詳細程度,完成後恢復,避免大量重複記錄干擾判斷。

VMess、VLESS 的協定名稱本身不能證明設定正確。伺服器位址、連接埠、使用者識別碼、傳輸方式、TLS、SNI、路徑和服務名稱必須與伺服器端一致。訂閱匯入通常會填入這些欄位,手動修改其中一項就可能造成 TCP 已連線,但 TLS 或協定驗證失敗。

錯誤:failed to listen TCP on 127.0.0.1:10808

原因與解法:本機連接埠已被另一個程序佔用——退出重複執行的用戶端,或在「設定」→「參數設定」中改用未佔用的連接埠,儲存後重新啟動核心。

錯誤:failed to find an available destination

原因與解法:出站伺服器位址無法解析或沒有可用目標——核對節點位址拼寫,還原基礎 DNS 設定後重新啟動核心。

錯誤:lookup server.example: no such host

原因與解法:節點網域解析失敗——檢查目前網路的 DNS 可用性,重新更新訂閱,並確認節點位址沒有被手動截斷。

錯誤:TLS handshake timeout

原因與解法:用戶端已嘗試建立 TLS,但未能在規定時間內完成握手——核對伺服器連接埠、SNI、傳輸方式與系統時間,再換用同一訂閱中的另一個節點進行比對。

錯誤:connection reset by peer

原因與解法:連線已抵達遠端,但遭對方主動重設——檢查協定與傳輸參數是否匹配,並測試其他節點,以區分單一節點故障與本機網路限制。

如果同一訂閱中三個節點只有一個失敗,優先判斷為單一節點設定或伺服器狀態問題。如果所有節點都出現完全相同的本機連接埠錯誤,則應先修復本機設定。若所有 TLS 節點都失敗,還要確認系統日期、時區和分鐘數值準確;明顯的時間偏差會導致憑證有效期判斷異常。

結論:相同錯誤決定排查範圍

單一節點報錯就檢查節點參數,所有節點報錯則檢查本機連接埠、DNS 與系統環境;先比較錯誤是否一致,比連續隨機切換節點更容易找出原因。

第五步:按最小設定還原,再逐項加回功能

經過前四步仍無法確認原因時,使用最小設定建立基準。保留一個剛從有效訂閱更新取得的節點,關閉自訂 DNS、路由規則、分應用程式代理和 TUN,只啟用系統代理。重新啟動用戶端後先測試本機連接埠,再執行一個代理請求,最後開啟瀏覽器。

最小設定正常後,按照固定順序恢復功能:先恢復 DNS,再恢復路由分流,接著恢復瀏覽器或應用程式層級規則,最後啟用 TUN。每恢復一項就造訪相同的兩個測試網域,並記錄從哪一步開始失敗。這樣可以將故障鎖定在某個設定層,而不是在數十個參數之間反覆猜測。

在 Android 上使用 v2rayNG 或 v2flyNG 時也遵循相同邏輯:先選擇單一節點並關閉自訂路由,確認一般網頁可存取後,再恢復分應用程式設定。v2rayNG 使用 Xray 核心,v2flyNG 使用 v2fly 核心;兩者匯入同一訂閱後,仍可能因核心支援範圍和具體傳輸參數不同而產生不同結果。

  1. 重設為單一節點、基礎 DNS、系統代理或預設網路接管。
  2. 確認 127.0.0.1:10808 或目前設定的連接埠可以連線。
  3. 執行含有 socks5h 的請求,確認網域解析與出口同時成功。
  4. 恢復路由規則,比較全域與規則模式的差異。
  5. 最後恢復 TUN、分應用程式範圍和其他進階設定。
斷點位置 典型現象 處理重點
本機監聽 10808 連線遭拒 核心啟動、設定格式、連接埠佔用
流量接管 命令成功但瀏覽器失敗 系統代理、瀏覽器擴充功能、舊設定
DNS IP 可存取但網域失敗 解析方式、快取、節點網域
路由 全域正常但規則模式失敗 規則優先順序、直連條件、封鎖條件
節點出口 多個目標均握手逾時 伺服器狀態、協定參數、TLS 與 SNI
下載用戶端