適用於 Windows 上 v2rayN 核心啟動失敗、提示地址已被使用,或變更連接埠後瀏覽器無法連線的情況。先確認監聽地址與連接埠,再查詢程序資訊;若能安全關閉重複執行的程式,就釋出連接埠;若需要同時執行,則變更本機入站連接埠,最後同步更新系統代理與瀏覽器並進行測試。遠端節點連接埠不在本次調整範圍內。
先分清 10808、10809 與節點連接埠
本機監聽連接埠是瀏覽器等應用程式連線至 v2rayN 的入口,並非伺服器上的服務連接埠。用戶端必須先成功繫結本機地址,才能接收要求。記錄中出現 address already in use 或「通常每個通訊端位址只允許使用一次」時,應優先排查本機衝突,而非重新匯入訂閱、切換節點或修改 TLS 參數。
不同世代與介面版本的入站設定可能有所差異:部分舊設定分別使用 10808 提供 SOCKS、10809 提供 HTTP;支援混合入站的設定則可讓 HTTP 與 SOCKS 共用同一個連接埠。請勿只憑連接埠號碼判斷協定,應查看「設定」→「參數設定」中的本機入站設定,並參照啟動記錄確認。
找出監聽程序:先查本機連接埠,再查 PID
開啟 Windows PowerShell,執行下方查詢。一般權限通常就能查看連線;若讀取程序路徑時遭拒,再以系統管理員身分開啟終端機。指令只會查看 TCP 監聽狀態,不會停止程序或變更網路設定。
Get-NetTCPConnection -State Listen -ErrorAction SilentlyContinue |
Where-Object { $_.LocalPort -in 10808,10809,20808 } |
Select-Object LocalAddress,LocalPort,State,OwningProcess
留意 LocalPort 與 OwningProcess。若 10808 對應到某個程序 ID,請用下一個指令確認其名稱與路徑。下方的 1234 僅為示範 PID,執行前請換成查詢到的實際數字;請勿將 PowerShell 的 $PID 當作暫存變數,它代表目前 PowerShell 本身的程序 ID。
Get-Process -Id 1234 | Select-Object Id,ProcessName,Path
127.0.0.1代表 IPv4 迴圈位址監聽,通常僅供本機應用程式使用。0.0.0.0代表監聽所有 IPv4 介面,可能與相同連接埠的迴圈位址繫結發生衝突。::1是 IPv6 迴圈位址;::是 IPv6 通用位址,是否也接收 IPv4 連線取決於通訊端設定。- 同一個 PID 出現多行不一定有問題,可能是同時監聽 IPv4、IPv6,或提供多個本機入口。
若習慣使用命令提示字元,也可以執行下方指令。請確認結果中的「本機地址」欄位結尾正好是目標連接埠,且狀態為 LISTENING;不要將遠端連線中出現的 10808 誤認為本機監聽。單憑 TIME_WAIT 也無法證明有程序正在提供代理服務。
netstat -ano -p tcp | findstr /C:":10808" /C:":10809"
tasklist /FI "PID eq 1234"
確認占用程序:關閉重複執行的程式,或變更本機連接埠
占用連接埠的可能是另一個 v2rayN、上次關閉後殘留的核心程序,或其他必須保留的服務。程序名稱相同不代表它屬於目前的視窗,尤其是從不同資料夾啟動用戶端時。請一併比對程序路徑、啟動時間與實際執行的用戶端資料夾。
正常關閉重複執行的用戶端
建議做法確認舊視窗不再使用後,從對應的系統匣圖示選擇「結束」,再查詢監聽狀態。若仍有殘留的核心程序,請先在工作管理員確認路徑,再結束該程序,之後重新啟動需要保留的用戶端。
適用情況:不小心開啟兩個用戶端,或舊執行個體未完全關閉
變更本機監聽連接埠
保留現有服務,為目前的用戶端選擇尚未占用且不在系統排除範圍內的連接埠,例如 20808。接著更新所有指向舊連接埠的本機應用程式,避免核心已在新連接埠正常啟動,瀏覽器卻仍連線至舊執行個體。
適用情況:需要同時執行多項服務,或原連接埠已有明確用途
變更 v2rayN 本機連接埠並重新載入核心
以下以常見的「設定」→「參數設定」路徑為例。跨平台桌面版與經典介面的欄位名稱可能不同,請以畫面上的「本機監聽連接埠」、「SOCKS 連接埠」、「HTTP 連接埠」或混合入站欄位為準,切勿修改訂閱節點中的伺服器連接埠。
-
記下原有設定
記下目前的監聽地址、連接埠與系統代理狀態。例如目前設定為
127.0.0.1:10808,舊設定另有 HTTP 連接埠 10809。只需記錄本機欄位,不必複製訂閱連結或節點憑證。 -
確認新連接埠
使用前述 PowerShell 指令確認 20808 沒有監聽程序。若要保留獨立的 HTTP 入站,也請檢查預計使用的 20809;查不到監聽結果僅代表當下沒有 TCP 監聽,仍須留意系統保留範圍。
-
變更入站設定
前往「設定」→「參數設定」,將實際使用的本機監聽連接埠從 10808 改為 20808。若設定中有獨立的 HTTP 欄位且需要變更,再將 10809 改為 20809;混合入站無須另外建立第二個入口。
-
儲存並重新啟動
儲存設定並等待用戶端套用變更。若記錄中沒有出現新連接埠的監聽資訊,請從系統匣正常結束,再重新啟動 v2rayN,接著查詢 20808 的監聽 PID,確認該程序是目前用戶端啟動的核心。
-
重新設定系統代理
在系統匣選單的「系統代理」中,先選擇「清除系統代理」,再選擇「自動設定系統代理」。不同介面的選單文字可能略有差異,目的是讓系統代理重新寫入目前的 HTTP 或混合入站地址,而非繼續使用舊連接埠。
若僅供本機使用,保留迴圈位址即可。請勿為了解決占用問題而啟用「允許來自區域網路的連線」;這只會改變監聽範圍,無法保證釋出原本被占用的連接埠。連接埠屬於用戶端入站設定,與切換 VMess、VLESS 節點或選擇其他路由規則是不同層面的設定。
同步更新系統代理、瀏覽器與命令列
變更連接埠時最容易漏改的是使用端。Windows 系統代理、瀏覽器手動代理與終端機環境變數可能各自保留舊值;只修改 v2rayN 不會自動更新所有應用程式。請依照下列順序逐項確認,避免同時修改節點、DNS 與路由而難以判斷結果。
- Windows:開啟「設定」→「網路和網際網路」→「Proxy」,檢查「手動設定 Proxy」中的地址與連接埠。系統 HTTP 代理應指向支援 HTTP 的入站,不能將僅支援 SOCKS 的連接埠直接填入。
- 瀏覽器:使用系統代理時會沿用系統設定;若曾設定獨立的手動代理或代理擴充功能,請到相應設定中更新連接埠。SOCKS5 與 HTTP 欄位應符合實際入口協定。
- 終端機:檢查
HTTP_PROXY、HTTPS_PROXY、ALL_PROXY是否仍指向 10808 或 10809。修改永久環境變數後,通常需要重新啟動已開啟的終端機。 - 其他應用程式:下載工具、開發工具等可能儲存了各自的代理地址,請逐一改為新的連接埠。由 TUN 接管的流量不完全依賴系統 HTTP 代理,建議先在一般系統代理模式下完成本次測試。
可在 PowerShell 中查看目前程序的環境變數。若輸出包含帳號資訊,請留在本機確認,勿直接貼到公開討論區。
Get-ChildItem Env: |
Where-Object { $_.Name -match '^(HTTP_PROXY|HTTPS_PROXY|ALL_PROXY|NO_PROXY)$' }
確認修復結果:區分本機入口與遠端連線
先測試 TCP 連線,再測試代理協定。第一個指令成功,只能代表本機連接埠可建立連線,無法證明節點有效。接著依實際入站類型選擇 HTTP 或 SOCKS5 測試指令,不必兩個都執行。
Test-NetConnection 127.0.0.1 -Port 20808
# 適用於 HTTP 或混合入站
curl.exe --noproxy "" --proxy http://127.0.0.1:20808 --connect-timeout 5 --max-time 20 -I https://1v2ray.com/
# 適用於 SOCKS5 或混合入站
curl.exe --noproxy "" --proxy socks5h://127.0.0.1:20808 --connect-timeout 5 --max-time 20 -I https://1v2ray.com/
明確使用 curl.exe 可避免部分 PowerShell 環境將 curl 解讀為其他指令。socks5h 會將目標網域交由代理端處理。此處的 5 秒連線逾時與 20 秒總逾時只是測試設定,不代表速度保證;若使用獨立 HTTP 連接埠 20809,請相應修改 HTTP 測試指令。
- 連線遭拒:重新查詢監聽狀態,確認核心是否已啟動、地址是否為 127.0.0.1,以及連接埠設定是否已儲存。
- 代理協定錯誤:確認是否將 SOCKS 專用連接埠當成 HTTP 使用,或仍連線到另一個程式。
- 收到 HTTP 回應:表示本次要求已透過本機代理入口送出,並收到目標端的回應。即使狀態碼為 403 或 405,也不應直接判定為連接埠占用。
- 入口可連線但交握逾時:查看核心記錄,再排查節點、傳輸方式與遠端服務;本機連接埠衝突通常已不是目前的主要問題。
查不到連接埠占用時的常見問題
沒有監聽程序,為什麼仍提示繫結失敗?
先區分「地址已被使用」與「存取通訊端的權限遭拒」。後者可能與 Windows 排除連接埠範圍、安全性原則或繫結地址有關。執行下方 netsh 指令查看範圍;若新連接埠落在其中,請優先改用範圍以外且未占用的連接埠,切勿直接刪除系統保留項目。
結束程式後,10808 仍在監聽怎麼辦?
重新查詢 OwningProcess,並在工作管理員的「詳細資料」中確認 PID 與檔案位置。確認是已關閉用戶端留下的核心程序後,再結束該程序;若結束後立即再次出現,請檢查另一個用戶端、開機啟動項目,或會自動啟動它的服務。
改用 20808 後,為什麼只有瀏覽器無法使用?
先使用 curl.exe 明確指定新連接埠進行測試。若測試成功,請確認瀏覽器是否仍使用 10808、是否有手動代理擴充功能覆蓋系統設定,並檢查 Windows 的「Proxy」頁面。不要只因單一應用程式未同步就再次修改節點參數。
每次重新啟動都發生衝突,必須一直換連接埠嗎?
重新啟動後先不要手動開啟第二個用戶端,直接查詢原連接埠的 PID。檢查工作管理員的「啟動應用程式」與常用用戶端資料夾,保留一個明確的啟動入口。若確實需要同時執行多個執行個體,請為每個執行個體設定固定且互不重疊的本機連接埠。
netsh interface ipv4 show excludedportrange protocol=tcp
netsh interface ipv6 show excludedportrange protocol=tcp
修復完成的判準是:預期的核心正在監聽新連接埠、明確指定代理的測試能收到回應,而且系統與應用程式代理都指向正確入口。若問題仍未解決,可記錄本機連接埠、程序名稱、錯誤原文與發生步驟,再依問題診斷繼續排查;記錄中不需要包含訂閱地址或節點憑證。