V2Ray 節點逾時無法連線怎麼排查:從本機設定到伺服器的檢查順序

依固定順序排查連線逾時:先檢查系統時間與本機代理連接埠,再核對節點參數與傳輸設定,最後判斷節點失效或訂閱過期,逐步提供對應處理方式。

「節點逾時」不是單一故障。它可能發生在網域解析、TCP 建立連線、TLS 交握、協定驗證或本機代理轉送的任何一層。反覆切換節點只能偶爾繞過問題,無法判斷故障究竟位於本機、網路、訂閱還是伺服器。

更有效的做法是縮短故障鏈:先確認用戶端核心正在執行,再確認本機監聽連接埠可用,接著核對節點參數,最後才檢查遠端伺服器。每完成一步,都要觀察一次記錄或連線結果,不要同時修改多個欄位。

本文速覽

本文適合遇到 v2rayN、v2rayNG 或 v2flyNG 節點逾時、測速失敗、連線後網頁無法開啟的使用者。排查順序固定為:辨識錯誤層級、校準時間、檢查本機連接埠、核對節點與傳輸欄位、重新整理訂閱、交叉測試網路,最後界定伺服器端故障範圍。

先區分「逾時」發生在哪一層

用戶端顯示紅色延遲、連線測試失敗或記錄出現 timeout,不代表一定是同一種問題。一次完整連線至少會經過「用戶端程序 → 本機代理連接埠 → 網域解析 → 遠端連接埠 → TLS 或 REALITY 交握 → VMess/VLESS 驗證」這些環節。前一層尚未完成,後一層就不會開始。

先清除或暫停滾動記錄,重新連線一次發生問題的節點,只閱讀這次連線產生的內容。v2rayN 可從主視窗底部的記錄區查看;需要更完整的記錄時,進入「設定」→「參數設定」→「基礎設定」,將記錄層級暫時調整為 info。v2rayNG 可開啟左上角選單,再進入「記錄」查看目前核心輸出。

錯誤:dial tcp: i/o timeout

原因與解法:用戶端向遠端位址與連接埠發起連線,但在等待時間內未收到回應。先切換另一個網路測試,再核對伺服器連接埠與防火牆狀態。

錯誤:connectex: No connection could be made because the target machine actively refused it

原因與解法:遠端主機可以連線,但目標連接埠明確拒絕連線。常見原因包括服務未監聽、連接埠填寫錯誤,或伺服器規則未允許連線。

錯誤:failed to find an available destination

原因與解法:目前的出站連線沒有取得可用目標,可能是位址解析失敗或前置連線全部失敗所致。檢查節點位址拼寫、DNS 與網路可達性後重新啟動核心。

錯誤:context deadline exceeded

原因與解法:某個連線階段超過核心的等待期限。結合前後兩行記錄,判斷發生在 TCP 建立連線、TLS 交握還是訂閱要求階段,不要只看最後一行。

第一輪檢查:系統時間、核心與本機代理連接埠

VMess 會使用時間資訊參與驗證,TLS 與 REALITY 交握也需要正確時間。系統時間相差數分鐘時,表面上可能仍能解析網域並連線到連接埠,但驗證階段會失敗。先在系統設定中啟用自動設定時間與自動設定時區,完成同步後完全退出用戶端,再重新啟動。

第二個檢查點是核心狀態。用戶端介面負責管理設定,真正建立連線的是 Xray 或 v2fly 核心。按鈕顯示「已啟動」不代表核心一定持續執行;若連接埠已被佔用,核心可能啟動後立即退出。應以記錄中的監聽成功訊息為準。

10808
常見本機 SOCKS 連接埠
10809
舊設定常見的 HTTP 連接埠
±30 秒
建議控制的時間誤差
15 秒
單次基礎連線觀察時間
  1. 同步時間

    開啟系統日期與時間設定,啟用自動時間與自動時區。同步完成後確認日期、時區與分鐘數都正確。

  2. 確認核心

    在 v2rayN 開啟「設定」→「參數設定」→「Core 類型」,確認目前節點對應 Xray 或 v2fly 核心;儲存後執行「重新啟動服務」。

  3. 讀取連接埠

    在 v2rayN 進入「設定」→「參數設定」→「基礎設定」,記下本機監聽連接埠。v2rayNG 則進入左上角選單「設定」→「本機代理連接埠」。

  4. 排除佔用

    觀察記錄是否出現 address already in useOnly one usage of each socket address。若有,關閉佔用該連接埠的舊程序,或將監聽連接埠改為未使用的值。

  5. 重新開啟代理

    在 v2rayN 的系統匣選單中先關閉系統代理,再選擇自動設定系統代理。Android 端則中斷目前連線,等待 3 秒後重新啟動。

第二輪檢查:位址、連接埠、使用者識別碼與加密欄位

本機監聽正常後,開始逐字核對節點。不要憑記憶修改。節點名稱只是備註,並不決定連線;真正影響驗證的是伺服器位址、連接埠、協定、使用者識別碼以及傳輸設定。

VMess 節點重點檢查 idalterId 與安全性選項。現代設定通常使用 alterId: 0,但最終必須依照伺服器設定。VLESS 節點重點檢查 UUID、流量控制欄位與安全層;使用 XTLS Vision 時,常見流量控制值為 xtls-rprx-vision,空值與該值不能任意互換。

欄位 檢查內容 典型錯誤
address 網域或 IP 是否完整,前後是否有空格 誤把訂閱備註填成伺服器位址
port 範圍應為 1 至 65535,並與服務監聽設定一致 誤把本機 10808 當成遠端連接埠
id UUID 的字元、連字號與順序必須完全一致 複製時遺漏結尾字元
security 區分 none、tls 與 reality 伺服器使用 REALITY,用戶端卻選擇 TLS
flow 僅在伺服器要求時填寫對應的流量控制值 一般 VLESS 節點誤填 Vision 流量控制
{
  "address": "node.example.net",
  "port": 443,
  "id": "依節點資料逐字核對",
  "security": "reality",
  "flow": "xtls-rprx-vision"
}

第三輪檢查:傳輸層、TLS 與 REALITY 參數

位址與使用者識別碼正確,不代表節點能完成交握。WebSocket、gRPC、TCP 與 HTTPUpgrade 的欄位結構各不相同。用戶端選擇的傳輸方式必須與伺服器一致,路徑、主機名稱、服務名稱等字串也要逐字相符。

使用 TLS 時,serverName 通常是交握使用的網域名稱。它不一定與連線位址相同,但必須符合伺服器部署設定。使用 REALITY 時,還要核對 publicKeyshortIdserverName 與指紋。任何一個欄位不相符,都可能表現為建立連線後立即中斷或交握逾時。

network

傳輸類型

用於區分 TCP、WebSocket、gRPC 或 HTTPUpgrade。用戶端與伺服器必須選擇相同的傳輸方式。

path

要求路徑

WebSocket 與 HTTPUpgrade 常用的欄位。斜線、大小寫與附加查詢內容都應依照節點資料填寫。

serviceName

gRPC 服務名稱

僅用於 gRPC 傳輸。它不是網頁路徑,也不能直接用 WebSocket 的 path 取代。

serverName

交握伺服器名稱

TLS 或 REALITY 交握使用的名稱。應依照伺服器端設定填寫,不要自動替換成節點備註。

shortId

REALITY 短識別碼

由伺服器設定提供。複製時要保留完整的十六進位字元,不應自行產生或補齊。

錯誤:remote error: tls: handshake failure

原因與解法:TLS 交握參數未獲遠端接受。檢查 serverName、系統時間、安全層選擇及伺服器憑證的對應關係。

錯誤:REALITY: processed invalid connection

原因與解法:REALITY 驗證參數不相符。重新核對公鑰、shortId、serverName、指紋與 Vision 流量控制,不要只替換伺服器位址。

錯誤:websocket: bad handshake

原因與解法:WebSocket 升級要求未被正確接受。檢查 path、Host、連接埠與 TLS 開關,並確認沒有將 gRPC 節點依 WebSocket 匯入。

第四輪檢查:訂閱是否過期、快取是否仍是舊節點

訂閱連結可以開啟,不代表其中每個節點仍然有效。伺服器端可能已更換位址、連接埠或 UUID,但用戶端清單仍保留上次更新的快取。手動編輯舊節點只能暫時修補,後續更新訂閱時還可能被覆蓋。

在 v2rayN 中,先進入「訂閱群組」核對訂閱位址,再執行「訂閱群組」→「更新全部訂閱」。如果目前網路無法直接存取訂閱位址,但已有一個節點可用,可依實際環境選擇透過代理更新。v2rayNG 中可從左上角選單進入「訂閱群組設定」,儲存位址後返回節點清單,再執行「更新訂閱」。

  1. 保留舊清單

    更新前記下問題節點的位址、連接埠與更新時間。不要先刪除全部設定,以免失去前後比對的依據。

  2. 核對連結

    進入訂閱群組設定,確認連結沒有換行、空格或複製不完整。若服務提供者給了新位址,應替換舊位址後儲存。

  3. 更新訂閱

    執行更新全部訂閱,觀察記錄中的 HTTP 狀態與耗時。超過 30 秒仍無回應時,應分別測試直接連線更新與透過代理更新。

  4. 比較欄位

    開啟更新後的節點詳細資料,與舊記錄比較 address、port、id、network 和 security,確認伺服器端是否發生遷移。

  5. 重新測試三次

    選擇一個更新後的節點,間隔 5 秒執行三次實際連線測試。若一次成功、兩次逾時,應繼續檢查網路丟包與伺服器負載。

第五輪檢查:用交叉測試界定本機網路與伺服器範圍

完成用戶端與節點欄位檢查後,才進入網路範圍判斷。最簡單的交叉測試是保持節點設定不變,只更換連線網路。例如桌面端從目前寬頻切換到手機熱點,Android 端則從目前無線網路切換到行動網路。若更換網路後立即恢復,故障更可能位於原網路的 DNS、路由或連接埠存取路徑。

反過來,若同一節點在兩個獨立網路上都逾時,而同一用戶端的其他節點可以正常連線,就應將注意力轉向該節點伺服器。此時繼續重裝用戶端、反覆切換系統代理,通常不會改變結果。

測試結果 較可能的位置 下一步
所有節點在目前網路失敗,切換網路後恢復 原網路、DNS 或出口路徑 恢復自動 DNS,重新啟動網路設備,再測試遠端連接埠
只有一個節點在兩個網路上都失敗 節點參數或伺服器 重新更新訂閱,並確認伺服器程序與監聽連接埠
節點連線成功,但瀏覽器仍直接連線 系統代理或應用程式代理設定 重新啟用系統代理,確認瀏覽器沒有設定固定的代理例外
連線數秒後反覆中斷 交握參數、網路抖動或伺服器負載 查看中斷前的記錄,核對 TLS、REALITY 與傳輸欄位

常見追問:測速、系統代理與更新後的異常

完成固定順序後,多數問題可以歸入本機監聽、節點參數、訂閱快取、網路路徑或伺服器狀態其中一類。以下幾種現象容易互相混淆,需要分別處理。

節點延遲顯示逾時,但網頁可以開啟,算是故障嗎?

不一定。延遲測試使用的目標可能與實際網頁要求不同。先執行實際連線測試,再連續存取兩個不同網站;若記錄中有穩定流量且頁面正常,不應只因紅色延遲就刪除節點。

訂閱更新失敗並顯示逾時怎麼辦?

先確認訂閱位址完整,再分別嘗試直接連線更新與透過代理更新。v2rayN 可在訂閱群組設定中檢查更新方式;等待 30 秒仍無回應時,查看記錄中的網域解析與 HTTP 狀態。

顯示連線成功,為什麼瀏覽器仍無法開啟?

在 v2rayN 系統匣選單中重新選擇自動設定系統代理,並核對實際監聽連接埠。若瀏覽器曾設定固定代理,位址應為 127.0.0.1,連接埠必須與用戶端設定一致。

更新用戶端後所有節點都逾時怎麼辦?

先開啟「設定」→「參數設定」→「Core 類型」確認核心選擇,再讀取啟動記錄。若舊設定使用 10808,而新設定監聽了其他連接埠,還要同步修改系統代理或應用程式代理。

v2rayNG 和 v2flyNG 的測試結果不同,正常嗎?

兩者使用的核心與預設選項可能不同。比較時應保持相同節點、相同網路與相同傳輸參數,並分別查看記錄中的核心版本與交握結果,不能只比較介面上的延遲數字。

下載 v2rayN 前往用戶端下載中心