排查 v2rayN 連線問題時,先確認核心是否啟動,再檢查連線停在本機監聽、網域解析、遠端連接埠還是協定握手。本文適合已匯入訂閱、但網頁仍無法開啟的使用者:透過常見英文錯誤訊息、Windows 檢查指令及一次只調整一項的測試步驟,將「無法使用」縮小到可處理的具體環節。
先看完整錯誤訊息,不要只看最後一行
v2rayN 是管理設定、訂閱和代理設定的用戶端,實際連線由所選核心處理。主視窗中的操作提示與核心輸出不一定來自同一層。訂閱更新成功,只能表示已取得設定;核心啟動成功,也不代表已連上遠端伺服器。
查看主視窗下方的日誌或資訊區域,記下一次失敗發生的時間,再展開同一則錯誤的前後文。不同版本的介面入口和措辭可能有所變動,本文以 Windows 桌面版為操作環境;需要調整設定時,請先從「設定」→「參數設定」確認本機實際設定,不要憑截圖位置猜測。
-
固定測試條件
選定一台伺服器和一個目標網頁,暫停其他應用程式的連續重試。記下系統代理與 TUN 目前的狀態,排查期間不要同時切換兩者。
-
找出首次失敗的位置
記下目前時間,重新開啟目標網頁一次。只查看這次操作前後的錯誤,避免將啟動前的舊紀錄誤認為新問題。
-
保留錯誤前後文
保留錯誤前後幾行,特別留意目標位址、連接埠及最內層原因。分享前請遮蔽訂閱網址、使用者識別資訊和驗證資料。
-
一次只調整一項
每次只調整連接埠、DNS、伺服器或傳輸參數其中一項。儲存後重新啟動核心,再以相同目標重測,並記錄錯誤是否有所變化。
本機監聽失敗:先檢查代理連接埠
如果核心一啟動就退出,先不要修改節點。應用程式必須先連上本機代理入口,之後才有可能連線到遠端。日誌中的 127.0.0.1 代表本機回送位址;同樣是「連線遭拒」,發生在本機入口和伺服器端時,排查方向完全不同。
錯誤:address already in use
原因:核心要監聽的位址和連接埠已被占用,可能是用戶端重複啟動,或其他程式正在監聽。
解決方法:檢查占用該連接埠的程序,關閉確認為重複的執行個體,或前往「設定」→「參數設定」修改本機監聽連接埠;手動設定代理的應用程式也須同步修改。
錯誤:Only one usage of each socket address
原因:這是 Windows 常見的通訊端占用提示,通常表示相同位址和連接埠無法重複繫結。
解決方法:先確認是哪個程序占用連接埠,不要直接結束不熟悉的系統程序;關閉重複執行的程式後,再重新啟動核心。
在 PowerShell 執行以下唯讀查詢。範例檢查 10808;如果你的本機連接埠不同,請先替換這個數字。第一個查詢沒有輸出,表示當下找不到該 TCP 監聽項目;此查詢無法確認 UDP 狀態或遠端連線情形。
Get-NetTCPConnection -LocalPort 10808 -State Listen -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess
Get-NetTCPConnection -LocalPort 10808 -State Listen -ErrorAction SilentlyContinue |
ForEach-Object { Get-Process -Id $_.OwningProcess }
連線遭拒或逾時:分辨主動拒絕與沒有回應
確認本機監聽正常後,再查看日誌中嘗試連線的遠端位址和連接埠。連線遭拒通常表示收到拒絕回應;逾時則表示未能在等待期限內完成相應操作。光憑其中一種錯誤,無法判定帳號是否失效,更不能將所有逾時都歸因於 DNS。
錯誤:connection refused
原因:目標連接埠沒有服務正在監聽,或中間設備主動拒絕連線。Windows 也可能顯示 No connection could be made because the target machine actively refused it。
解決方法:先確認錯誤中的目標是不是本機,再核對訂閱中的伺服器連接埠;如果遠端設定正確但仍遭拒,請服務提供者檢查監聽設定與防火牆。
錯誤:i/o timeout
原因:某次網路讀寫未能在期限內完成,可能發生於連線至伺服器、握手或轉送資料的階段。
解決方法:根據前文的 dial tcp、TLS 或讀取提示判斷發生階段,再以同一節點切換網路重測,不要只延長逾時時間。
錯誤:context deadline exceeded
原因:目前工作超過了截止時間;該工作可能是取得訂閱、DNS 請求,也可能是連線測試。
解決方法:先確認是哪項操作觸發錯誤,再檢查該操作使用直連還是代理,避免僅因訂閱請求失敗,就推斷所有節點都無法使用。
| 觀察到的情況 | 優先檢查 | 目前無法據此判斷 |
|---|---|---|
| 連線至本機代理連接埠遭拒 | 核心是否正在執行、應用程式設定的連接埠是否正確 | 遠端伺服器是否可用 |
| 連線至遠端 TCP 連接埠逾時 | 位址、連接埠、網路路徑及伺服器防火牆 | 使用者識別資訊是否正確 |
| TCP 已連線,但 TLS 發生錯誤 | 伺服器名稱、憑證、系統時間及 TLS 參數 | 代理協定驗證一定成功 |
結論:確認連接埠可連線後,再檢查協定參數
如果連線仍卡在 TCP 撥號逾時,請先核對網路路徑和遠端監聽狀態。進入握手階段後,再調整 SNI、傳輸路徑或使用者識別資訊才更有針對性。
網域解析失敗:確認是哪個網域解析失敗
DNS 會將網域名稱轉換為 IP 位址。日誌中解析失敗的對象可能是節點伺服器、目標網站,或某個 DNS 服務本身的網域。先確認解析對象再處理,才能避免因「網頁打不開就更換所有 DNS」而反覆試錯。
錯誤:no such host
原因:目前的解析路徑未能取得此主機名稱的有效結果,可能與網域拼寫、記錄狀態或使用的解析器有關。
解決方法:檢查錯誤訊息中的完整網域名稱,確認訂閱沒有多出空格或包含過期位址,再分別檢查系統解析和核心的 DNS 設定。
錯誤:failed to lookup ip
原因:網域查詢未傳回所需的 IP,請繼續查看後續的逾時或解析錯誤,才能確認具體原因。
解決方法:核對核心使用的 DNS 位址及其路由,特別留意 DNS 請求是否依賴尚未連線的代理出站。
- 系統端檢查:在 PowerShell 執行
Resolve-DnsName -Name example.com,確認系統解析是否正常;排查節點時,應查詢節點實際使用的主機名稱。 - 核心端檢查:查看目前的 DNS 與路由設定。系統能解析,不代表核心指定的遠端 DNS 也能連線。
- 避免直接替換位址:不要任意將解析出的 IP 填入 TLS 節點的所有欄位。伺服器位址、SNI 與 HTTP Host 可能各有不同用途,請以服務端要求為準。
如果只有特定目標網站無法連線,而節點伺服器本身可以連線,排查重點應轉向該網站的解析結果、套用的路由及目標服務。路由分流決定「連線交由哪個出口」,不會讓每個網域自動取得可用的解析結果。
TLS 握手失敗:檢查時間、名稱與傳輸設定
TCP 連線成功後,TLS 仍可能失敗。TLS 負責建立受保護的連線;VMess、VLESS 等代理協定也各有設定要求。連接埠可以建立連線,不代表 TLS、傳輸層和代理驗證都已通過。
錯誤:x509: certificate has expired or is not yet valid
原因:憑證有效期間與目前的驗證時間不符,可能是伺服器憑證過期,也可能是本機日期錯誤。
解決方法:在 Windows「設定」→「時間與語言」→「日期與時間」檢查時間並進行同步;如果時間正確但仍出現錯誤,請聯絡服務提供者處理憑證問題。
錯誤:x509: certificate signed by unknown authority
原因:目前的信任機制無法驗證憑證鏈,可能是伺服器憑證鏈不完整,或網路中有憑證遭到替換。
解決方法:檢查是否位於需要安裝專用憑證的網路環境,並請服務提供者確認憑證鏈完整;不要將關閉憑證驗證當成一般修復方式。
錯誤:tls: handshake failure
原因:對端未能完成 TLS 協商,可能與伺服器名稱、協定參數或連到錯誤的伺服器連接埠有關。
解決方法:依照有效訂閱檢查 TLS 開關、SNI 和連接埠;如果使用 REALITY,還要另外核對其公鑰、shortId、伺服器名稱等相應參數。
EOF 與 connection reset by peer 比較像是「連線已中止」的結果描述,並非特定的驗證錯誤。傳輸類型不符、WebSocket 路徑錯誤、反向代理設定異常,甚至目標服務主動中斷連線,都可能造成類似結果。應一併查看錯誤發生階段,不要一看到 EOF 就重新安裝用戶端。
- 使用 WebSocket 時,請依照伺服器設定檢查路徑和 Host;路徑中的大小寫與字元不可憑感覺修改。
- 使用 gRPC 時,請核對服務名稱與伺服器設定,不可直接套用 WebSocket 路徑。
- 使用 VLESS 或 VMess 時,請確認協定類型、使用者識別資訊及相關參數相符;更新訂閱前,先儲存必要的自訂設定。
- 確認所選核心支援目前的設定。v2rayN 介面、核心程式和訂閱內容是不同部分,更新其中一項不代表其他項目也會同步變更。
日誌沒有請求紀錄:檢查系統代理與路由入口
如果開啟網頁時,核心沒有出現相應請求,可能是應用程式根本沒有將流量交給用戶端,也可能只是目前的日誌層級不會記錄存取細節。因此,「看不到日誌」既不能證明節點正常,也不能直接證明流量繞過了代理。
-
確認代理入口
在 v2rayN 主視窗或系統匣選單的「系統代理」中檢查目前狀態;需要使用系統代理時,請選擇「自動設定系統代理」,再確認 Windows 記錄的位址和連接埠與本機監聽設定一致。
-
檢查應用程式設定
確認瀏覽器或目標應用程式是否另外設定直連、其他代理連接埠或代理擴充功能。應用程式本身的設定可能不會跟隨系統代理。
-
核對路由方向
請求進入核心後,查看相應的出站標籤與目前路由規則。設定為直連的目標,不會因為選取了某台伺服器就自動改走代理。
-
短暫開啟詳細日誌
在「設定」→「參數設定」中尋找日誌等級相關選項;必要時暫時使用 debug,重現一次後恢復原本等級,避免長期記錄目標位址等敏感資訊。
常見問題與故障資訊回報
延遲測試有數值,為什麼網頁還是打不開?
先確認執行的是 TCP 測試還是真實連線測試。TCP 測試主要用來確認連接埠是否可連線,無法驗證所有代理驗證流程和網站存取情形。固定一個網頁重測,並比對同一時間的握手與路由紀錄。
訂閱更新逾時,要先換節點嗎?
先確認失敗的是取得訂閱。前往「訂閱群組」查看更新操作使用直連還是透過代理;如果選擇透過代理更新,就必須先有可用的代理連線。請勿在公開求助時貼出完整訂閱網址。
換個網路就能用了,還需要修改協定嗎?
先保留原有設定,記錄同一節點、同一連接埠在兩種網路下的表現。兩者差異較可能與網路路徑、解析或網路存取限制有關,但仍須搭配錯誤發生階段判斷;不要立刻重寫協定和傳輸參數。
需要把整份設定和所有日誌都傳給別人嗎?
不需要。提供用戶端版本、核心名稱與版本、作業系統、代理模式、重現時間,以及已遮蔽敏感資訊的錯誤前後文即可。刪除訂閱權杖、使用者識別資訊、密碼和私鑰,只保留排查所需的欄位名稱與錯誤結構。
回報問題前,依序做最後一次檢查:本機連接埠正在監聽、應用程式確實將流量送入代理、伺服器網域能依預期解析、遠端連接埠可連線,最後才檢查 TLS 與代理協定參數。如果你管理伺服器,也請依照相同時間檢查監聽狀態、防火牆、憑證和伺服器錯誤紀錄;如果使用訂閱服務,提供已確認的排查步驟給服務提供者,比只說「逾時了」更容易獲得有效回覆。
結論:依錯誤發生階段決定下一步
每次重測後,記下「調整了什麼、錯誤停在哪一層、結果是否改變」。錯誤從撥號逾時變成憑證錯誤,表示排查已進展到下一層,不必還原所有設定再盲目重試。