v2rayN 顯示已連線卻無法上網:8 步故障排除清單

依序檢查系統代理、本機連接埠、時間同步、路由規則與瀏覽器擴充功能,從簡單項目開始,快速找出 v2rayN 已連線卻無法瀏覽網頁的原因。

本文重點

適合已選好節點、核心看似正常啟動,瀏覽器卻一直轉圈的 Windows 使用者。依照以下 8 個步驟,逐一檢查應用程式接管、本機監聽、節點握手、DNS 與路由。每次只變更一個項目,並用同一個網址重新測試;不必先重新安裝,也不用整份設定重來。

第 1 步:確認節點已選取、核心已啟動,並檢查請求是否成功

v2rayN 是圖形介面用戶端,實際代理請求由選取的核心處理。介面上節點反白、系統代理已設定,或延遲測試顯示數值,都不能單獨證明瀏覽器的 HTTPS 請求已透過節點送出。TCP 延遲測試通常只能確認某個位址與連接埠可連線,無法驗證認證、TLS、REALITY,以及連至目標網站的完整路徑。

瀏覽器請求本機代理入口路由比對節點握手目標網站回應

先關閉其他會接管網路連線的程式,並暫時停用 v2rayN 的 TUN 模式,以「系統代理+本機入口」作為測試基準。系統代理與 TUN 模式接管的範圍不同,同時啟用會增加路由與 DNS 等變因。如果所在網路要求使用企業代理或通過驗證,請先完成網路登入,不要直接移除組織要求的設定。

  1. 暫時清除系統代理,開啟平常可以直接連線的網站,確認基礎網路正常。
  2. 選取要排查的節點並設為作用中伺服器,再查看核心啟動日誌是否出現設定或監聽錯誤。
  3. 記下目前的用戶端版本、實際核心名稱與版本、測試網址及時間,後續測試都使用相同條件。

如果清除系統代理後仍完全無法上網,請先檢查 Wi-Fi、閘道器、網路驗證與系統 DNS。此時繼續切換 VLESS、VMess 或訂閱群組,通常無法解決基礎網路問題。

第 2 步:確認系統代理位址與本機入口

在 v2rayN 系統匣選單中找到「系統代理」,選擇「自動設定系統代理」。不同版本的選項文字可能略有差異,重點是讓 Windows 的代理伺服器位址指向正在運作的本機入口,而不只是選取節點。接著前往 Windows「設定」→「網路和網際網路」→「Proxy」,檢查手動代理的位址與連接埠。

127.0.0.1
本機迴路位址
10808
以下範例所用的本機 HTTP 或混合入口連接埠
443
HTTPS 目標網站常用的連接埠,不是本機入口

這裡的 10808 僅為範例,不是所有版本共用的預設值。請前往「設定」→「參數設定」確認本機監聽相關選項,並以啟動日誌或實際設定為準。有些版本分別提供 SOCKS 與 HTTP 入口,有些則使用混合入口;Windows 手動代理必須使用可接收 HTTP 代理請求的入口,不能任意填入僅支援 SOCKS 的連接埠。

第 3 步:檢查連接埠監聽與程序占用

系統代理設定正確,但本機連接埠沒有服務接收請求,網頁仍然無法開啟。開啟 PowerShell 並執行以下查詢。如果實際連接埠不是 10808,請先替換命令中的數字。

netstat -ano | findstr ":10808"
Get-NetTCPConnection -LocalPort 10808 -State Listen

請留意本機位址、LISTENING 狀態與程序 ID。查不到監聽時,優先確認核心是否已退出;查到監聽也要確認它屬於目前由 v2rayN 啟動的核心,而非另一個用戶端執行個體。在工作管理員的「詳細資料」中依 PID 核對,必要時新增「命令列」欄以確認程式路徑。

bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

原因與解法:相同位址與連接埠已被占用。確認占用的程序後,關閉重複的執行個體,或更換本機入口連接埠並同步更新系統代理。

Connection refused

原因與解法:如果拒絕連線的目標是 127.0.0.1:10808,通常代表本機入口未監聽或連接埠填錯;請先恢復本機監聽,再檢查遠端節點。

不要直接結束名稱不熟悉的系統程序。排除連接埠衝突後,重新啟動目前的核心並再次確認監聽狀態;只修改系統代理、核心卻未成功繫結連接埠,問題仍會存在。

第 4 步:同步時間並確認節點握手參數

本機入口正常,但所有請求都在建立連線時失敗,就該檢查節點參數與裝置時間。Windows 11 可前往「設定」→「時間與語言」→「日期與時間」,啟用自動設定時間後,按一下「立即同步」。確認日期和時鐘準確;只變更時區顯示不代表系統時間已校正。

設定類型需一併確認容易忽略的項目
VMess位址、連接埠、使用者 ID、傳輸方式與安全設定系統時鐘誤差可能影響認證,不能只看節點延遲
VLESS + TLS使用者 ID、傳輸方式、伺服器名稱、流量控制設定連線位址與 TLS 伺服器名稱可能不同
VLESS + REALITY伺服器名稱、公鑰、shortId、指紋,以及適用的 flow參數必須與伺服器端設定相符,不能直接套用一般 TLS 設定
WebSocket 傳輸路徑、Host、安全層與連接埠路徑中的斜線與大小寫也可能影響請求

訂閱更新成功只代表已取得設定,不代表節點仍在提供服務,也不代表目前的核心支援其中所有欄位。如果匯入後發現欄位缺漏,請先確認用戶端實際呼叫的核心與設定格式,再向設定提供者查詢。REALITY 等功能應依照相應版本的 Xray 支援範圍確認,不能把 V2Fly 與 Xray 視為完全相同的核心。

第 5 步:區分 DNS 問題與代理連線問題

「網域無法開啟」不一定是 DNS 故障。連線到節點網域需要進行解析;直接連線的目標可能由本機解析,而代理目標的解析位置則取決於核心與輸出設定。這些階段可能使用不同的上游 DNS;瀏覽器安全 DNS、Windows DNS 與核心 DNS 也不是同一個設定。

先使用 Windows 內建的 curl.exe 明確指定代理,排除瀏覽器設定的影響。以下測試的逾時上限為 15 秒,僅用來觀察回應與錯誤發生階段,不保證特定狀態碼,也不是速度測試。請將連接埠改成實際支援 HTTP 代理的本機入口。

curl.exe -I --connect-timeout 10 --max-time 15 --proxy http://127.0.0.1:10808 https://www.example.com/

Resolve-DnsName www.example.com

第一個命令用來測試經指定入口送出的請求;第二個命令只會檢查 Windows 目前使用的系統解析路徑,無法證明核心 DNS 正常運作。若要比較 SOCKS 的本機解析與代理端解析,請先確認入口支援 SOCKS,再使用以下兩個命令:

curl.exe -I --max-time 15 --socks5 127.0.0.1:10808 https://www.example.com/
curl.exe -I --max-time 15 --socks5-hostname 127.0.0.1:10808 https://www.example.com/

判斷方式:只有代理端解析成功時,優先檢查本機 DNS 路徑

使用相同目標與節點時,如果本機解析失敗、代理端解析成功,請先檢查系統解析與本機分流,不要立刻更換協定。這個結果只能指出本次測試使用的解析路徑,不能代表所有應用程式都已避免本機 DNS 查詢。

調整 DNS 後可執行 ipconfig /flushdns 清除 Windows DNS 快取,並重新啟動瀏覽器與核心以排除各自的快取影響。不要隨意將 HTTPS 目標改成 IP 位址測試:憑證名稱、SNI 與網站虛擬主機可能因此改變,反而造成新錯誤。

第 6 步:檢查路由分流與預設輸出

同一個節點透過明確指定代理的測試正常,但瀏覽器只有部分網域連線失敗,常見原因是路由將這些請求送往直連或阻斷輸出。開啟 v2rayN 的路由設定,檢查目前的規則集、比對順序與預設輸出。選單位置會因版本而異,請以介面中的「路由設定」或路由設定入口為準。

  1. 記下目前的路由設定名稱,先備份自訂規則。
  2. 暫時選擇會將目標請求交由代理輸出的路由模式,再用同一個網址測試。「自動設定系統代理」不代表所有請求都會經過代理。
  3. 如果恢復正常,請切回原有規則,檢查網域規則、IP 規則、封鎖項目與預設輸出。
  4. 每次只恢復一組自訂規則,直到問題再次出現;找出造成比對的項目後再修改。

網域策略也會影響解析時機。AsIs、IPIfNonMatch 與 IPOnDemand 的解析時機各不相同,不能理解為「越積極解析越穩定」。當 IP 規則需要解析結果時,DNS 回傳值會參與輸出選擇;解析錯誤與規則範圍過廣,也可能一起把請求送往錯誤的出口。

暫時設為全代理,只用來縮小問題範圍

路由規則要能接管請求,前提是請求先進入核心。應用程式若略過系統代理,再怎麼調整核心路由也無法接管。定位完成後,請恢復適當的分流設定,並確認不影響區域網路與工作網路的連線。

第 7 步:排除瀏覽器擴充功能與獨立代理設定

如果明確指定代理的 curl.exe 能收到目標網站回應,只有瀏覽器無法連線,排查重點應轉向瀏覽器。先用暫時建立的瀏覽器設定檔開啟相同網址,比直接清除所有瀏覽紀錄更能保留原有狀態。無痕視窗不一定完全乾淨,有些擴充功能仍可能獲准在其中執行。

如果只有某個網站無法連線,請再測試其他 HTTPS 網站。網站本身故障、帳戶存取限制、出口 IP 限制或憑證問題,都可能造成「無法開啟」的狀況,不能只用一個網站判斷節點整體狀態。若已收到網站回傳的 HTTP 錯誤狀態碼,通常表示至少這次請求已到達能夠回傳回應的伺服器或中介層。

第 8 步:依時間比對日誌,再測試其他網路

最後再進一步檢查日誌。先記下點擊網頁的時間,再查看附近的核心輸出。日常使用可保留 warning;排除問題時可暫時提高至 info,必要時短時間使用 debug。提高日誌層級後,內容可能包含目標網域與連線資訊;排查結束後請還原原設定。

failed to dial

原因與解法:表示某次撥號失敗,單靠這幾個字無法判斷原因。請查看巢狀錯誤中的目標位址,以及 timeout、refused 或解析相關提示,再區分是連線至節點還是目標網站時出錯。

context deadline exceeded

原因與解法:某個階段超過等待時間。請搭配前後日誌判斷是解析、連線還是握手逾時,再使用相同節點切換網路進行比對。

x509: certificate has expired or is not yet valid

原因與解法:憑證有效期限與目前時間不符。請先同步裝置時間;若問題仍然出現,再確認伺服器端憑證的有效期限。

context canceled

原因與解法:請求已取消,可能只是因為關閉頁面或切換節點。只有在持續無法連線時,才需要追查此前出現的第一個錯誤。

下一輪只變更一個條件:在同一台電腦上使用相同節點,改連手機熱點;或在同一個網路中改用已確認可用的其他節點。前者有助於判斷原網路是否有限制,後者則能協助確認節點服務狀態。不要同時切換網路、協定、DNS 與核心,否則即使恢復正常,也無法判斷是哪個變更生效。

最後確認:使用相同入口、規則與網址重新測試

恢復預期的系統代理與路由設定後,再分別使用明確指定代理的命令和瀏覽器測試一次。提供問題資訊時,請保留版本、連接埠、時間與已遮蔽敏感資訊的日誌;移除訂閱連結、使用者 ID 與其他認證參數,讓後續排查能從已確認的範圍繼續。

下載用戶端v2rayN / v2rayNG