適用於 v2rayNG 已顯示 VPN 圖示,或 v2rayN 已啟動核心,卻仍無法開啟網頁的情況。先確認本機網路與系統時間,再檢查應用程式流量是否進入用戶端,接著分別驗證 DNS、路由與節點。每次只調整一項設定,並保留一次失敗請求的記錄,比反覆更換整份設定更容易找出原因。
一、先分清「已啟動」與「請求成功」
Android 狀態列出現 VPN 圖示,只代表系統已建立本機 VPN 介面,不代表遠端節點驗證成功。v2rayN 顯示核心正在執行,也僅表示本機程序已啟動。網頁能否開啟,還取決於應用程式是否由代理接管、網域解析、路由選擇、遠端連線,以及目標網站是否回應。
先固定一種測試方式:使用同一個瀏覽器,開啟同一個完整的 HTTPS 網址。再選一個平常能正常瀏覽的網站作為對照。不要同時更換節點、修改 DNS 和瀏覽器設定,否則即使恢復正常,也無法判斷是哪項設定生效。
| 觀察到的狀況 | 優先檢查項目 | 下一步 |
|---|---|---|
| 所有應用程式都無法連線 | 本機網路、VPN 接管、節點出口 | 停止代理,先確認基本網路正常 |
| 只有一個瀏覽器無法連線 | 瀏覽器代理擴充功能、安全 DNS、分應用清單 | 改用另一個瀏覽器開啟相同網址比對 |
| 只有部分網域無法連線 | DNS、網域規則、目標網站限制 | 查看失敗請求的網域與出站 |
| 節點測試有結果,網頁仍無法開啟 | 實際應用程式的流量路徑 | 不要把測試結果當成整條連線都正常的證明 |
二、確認基本網路與系統時間
先停止 v2rayNG 連線,或在 v2rayN 的「系統代理」中選擇「清除系統代理」。如果也啟用了 TUN,請暫時關閉。清除系統代理不會自動停止 TUN 接管。接著開啟平常能瀏覽的網站,確認 Wi-Fi 或行動數據本身可正常使用。
-
確認網路連線
關閉代理後開啟瀏覽器。若公共 Wi-Fi 跳出登入頁面,先完成網路驗證;如果仍無法上網,改用行動數據測試,不要急著修改節點參數。
-
校正時間
Android 通常可在「設定」→「系統」→「日期與時間」開啟自動設定時間。Windows 可在「設定」→「時間與語言」→「日期與時間」開啟自動設定並執行同步;不同手機品牌的選單名稱可能不同。
-
重新連線
返回用戶端,選取原本的節點並重新啟動連線。裝置時間不準可能影響憑證有效期限的判斷,也可能造成 VMess 時間驗證失敗;只調整時區顯示,無法修正實際時間錯誤。
-
記錄測試結果
記下網路類型、節點名稱、失敗網址與請求時間。後續測試都使用相同網址;切換網路後重新連線,避免把舊連線狀態誤認為新網路的測試結果。
三、確認瀏覽器流量有進入用戶端
v2rayNG 必須先取得 Android VPN 權限。如果裝置上有其他工具正在占用系統 VPN 介面,請先停止該工具,再啟動 v2rayNG。v2rayN 則要分清系統代理與 TUN:系統代理只對遵循系統代理設定的應用程式有效,終端機程式通常還需要另外指定代理。
在 v2rayNG 側邊選單中依序進入「設定」→「分應用代理」,檢查開關、清單與模式。若啟用「僅代理選取的應用程式」,就必須選取瀏覽器;若使用繞過模式,被選取的瀏覽器反而不會經過代理。不同版本的模式名稱可能不同,請以介面說明為準。
- Android 比對:先記下原本的清單,暫時關閉分應用代理限制,重新建立連線,再用同一個瀏覽器重試。
- Windows 比對:在 v2rayN 的「系統代理」中選擇「自動設定系統代理」,並檢查瀏覽器是否被代理擴充功能強制設為直連或使用舊連接埠。
- 查看記錄:送出一次請求,尋找對應的網域或目標位址。如果未啟用存取記錄,沒有看到記錄並不能直接證明流量未進入;可暫時提高記錄詳細程度後再試一次。
桌面版也可明確指定本機代理,避開瀏覽器的代理設定進行比對。以下是範例連接埠,不是所有版本的固定預設值。先查看用戶端目前的監聽設定,再將命令中的連接埠改為實際值。
# Windows 終端機;將目標位址換成需要重現問題的網站
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com/
socks5h 代表將目標網域交由代理端解析。如果明確指定代理後能取得 HTTP 狀態碼,但瀏覽器仍無法連線,請優先檢查瀏覽器與系統代理接管情況。收到 403 或 405 也代表已有 HTTP 回應,但不表示頁面存取權限正常;部分網站不接受 HEAD 請求,可移除 -I 再試。
四、分別排查節點網域與網站 DNS
DNS 有兩個容易混淆的對象:節點伺服器位址,以及準備瀏覽的網站位址。如果節點位址使用網域名稱,用戶端必須先解析出 IP 位址,才能建立連線。此時若將所有 DNS 請求都送進尚未建立的代理,可能形成依賴迴圈。
另一種情況是節點可以連線,但網站網域解析失敗。瀏覽器的安全 DNS、Android 的私人 DNS,以及用戶端的 DNS 規則,可能採用不同的解析路徑。Android 通常可在「設定」→「網路和網際網路」→「私人 DNS」查看目前狀態;部分品牌的選項可能位於「連線與分享」中。
- 先記錄原設定:保留自訂 DNS 位址與相關規則,不要直接覆寫整份設定。
- 暫時比對:如果私人 DNS 使用自訂主機名稱,先暫時切回自動設定,再重新連線測試;瀏覽器自訂的安全 DNS 也要另外測試一次。
- 判斷解析對象:如果記錄中失敗的是節點網域,先修復節點位址的解析;如果失敗的是網站網域,再檢查網站流量使用的 DNS 路徑。
- 避免誤判:不要直接用網站 IP 位址取代 HTTPS 網域進行測試,憑證名稱與虛擬主機比對結果會因此改變。
錯誤片段:no such host
原因與處理方式:相關網域沒有解析到可用位址。先查看記錄中的實際主機名稱,確認拼字與 DNS 是否可連線;如果是節點網域,請確認解析不依賴尚未建立的代理。
錯誤片段:connection refused
原因與處理方式:目標位址拒絕了連線。如果目標是 127.0.0.1,請檢查本機監聽連接埠與核心狀態;如果目標是遠端節點,請核對訂閱中的連接埠並確認服務正在運作。
錯誤片段:i/o timeout
原因與處理方式:操作未能在期限內完成,單憑這則訊息無法判定是 DNS 故障。請根據前後的目標位址與操作階段,分別驗證網路、解析與遠端連線。
五、檢查路由順序與分流規則命中情況
如果只有部分網站無法連線,先確認它們實際使用哪個出站。V2Ray/Xray 的路由規則會依序比對,前面的規則命中後,後面的規則通常不會再決定該連線的路徑。如果範圍過廣的直連規則排在前面,原本預計透過代理連線的網站就可能改走直連。
v2rayNG 可從側邊選單進入「路由設定」,檢查目前的規則與模式;v2rayN 則可在「設定」→「路由設定」中確認使用的規則集。介面中的模式名稱可能因版本而異,重點是確認測試請求實際使用的出站,而不只是查看模式名稱。
- 先儲存目前的路由設定,或截圖記錄目前模式,以便還原。
- 暫時切換至會將一般網站流量送往代理的測試模式,同時保留區域網路所需的直連規則。
- 重新建立連線,再開啟原本無法瀏覽的網站,避免沿用舊連線影響判斷。
- 如果恢復瀏覽,請切回自訂規則,依序檢查網域、IP、出站標籤與規則資料庫。
geosite:cn 是網域集合條件,geoip:private 是私有位址集合條件,兩者並不相同。引用規則資料庫時,檔案不存在或集合名稱錯誤都可能造成載入失敗,請以啟動記錄為準。也不要想當然地認為,同一條規則中的網域條件與 IP 條件只要符合其中一項就會命中。
結論:測試模式可正常連線後,優先修正規則
同一個節點、同一個網路,只有切換路由模式才能開啟原本的網站,就先比較兩組規則的命中差異。此時反覆更換 TLS 或傳輸參數,通常只會擴大排查範圍。
六、最後檢查節點與伺服器參數
確認流量已進入用戶端且 DNS 有解析結果,卻仍無法建立遠端連線時,再檢查節點本身。先更新訂閱,確認目前選取的項目沒有被舊設定取代。訂閱更新只代表已取得設定,不表示伺服器一定在線,也不代表帳戶額度仍可使用。
- 伺服器與連接埠:依照服務提供者目前的設定核對,不要把網站常用的 443 當成所有節點的固定連接埠。
- 協定與驗證:VMess、VLESS 的協定類型與使用者識別資訊必須與伺服器端一致,不能只更改協定名稱,卻沿用其他參數。
- 傳輸與安全性:核對 WebSocket 路徑、Host、TLS 伺服器名稱;使用 REALITY 時,也要確認公鑰與 shortId 等對應參數。只檢查節點實際啟用的項目。
- 核心支援:v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心;不同核心支援的功能不盡相同,複製節點前請確認協定與安全性設定是否受支援。
進行兩組比對即可:同一個網路改用另一個已知可用的節點;同一個節點改用另一種本機網路。如果其他節點可正常使用,只有這個節點一直失敗,請優先檢查節點設定、伺服器狀態與帳戶;如果所有節點只在某個 Wi-Fi 下失敗,則優先檢查該網路的限制與解析路徑。比對結果只能提供排查線索,不能單靠一次測試就下定論。
七、還原設定與常見問題
找出原因後,逐項還原比對時使用的臨時設定。尤其是全域代理模式、私人 DNS 和瀏覽器安全 DNS,不應在測試後繼續維持變更。先確認原本失敗的網址已恢復,再測試一個直連網站與需要使用的區域網路服務,避免修好一處卻改變另一處的連線路徑。
有延遲數字,為什麼還是無法開啟網頁?
先確認執行的是連接埠測試,還是真正的請求測試。連接埠可連線,不代表驗證、DNS 和目標網站都正常;即使請求測試成功,也只能證明該測試路徑可用。接著用瀏覽器開啟同一個網址,並確認流量是否進入代理。
瀏覽器可以上網,其他應用程式卻不行?
在 v2rayNG 檢查分應用代理的清單與模式;在 v2rayN 確認該應用程式是否遵循系統代理。不要因為瀏覽器連線成功,就認定所有應用程式都已由代理接管;有需要時再依照教學設定 TUN 並個別驗證。
鎖定螢幕後無法連線,重新開啟用戶端就正常?
檢查 Android「設定」→「應用程式」→「v2rayNG」→「電池」中的背景活動限制,實際選項位置可能因裝置而異。允許必要的背景執行後,鎖定螢幕再測試;如果只在切換網路後發生,也要檢查是否有重新連線。
設定已經改亂了,需要直接重新安裝嗎?
先備份訂閱群組與自訂規則,還原一份已知可用的基本設定,再選一個節點進行測試。重新安裝無法修復遠端服務中斷,還可能遺失排查所需的設定與記錄,不應作為第一步。