本文速覽

本文適合遇到 v2rayN 啟動失敗、10808 連接埠被佔用、瀏覽器代理無回應或核心反覆退出的使用者。排查從確認監聽位址開始,再分別使用 Windows、macOS 與 Linux 的系統工具找出佔用程序,最後依實際情況關閉舊程序或更換連接埠,並同步修改系統代理、瀏覽器與應用程式代理設定。

先確認是否真的發生連接埠衝突

V2Ray、Xray 等核心需要在本機建立入站監聽,瀏覽器和其他應用程式再將要求交給這個監聽連接埠。常見設定會使用 127.0.0.1:10808 提供 SOCKS 代理,並用 127.0.0.1:10809 提供 HTTP 代理。實際連接埠由用戶端設定決定,並非所有版本都固定相同。

連接埠衝突的本質,是兩個程序嘗試監聽相同位址、相同傳輸協定與相同連接埠。例如舊的 v2rayN 核心尚未退出,新啟動的核心再次繫結 127.0.0.1:10808,系統就會拒絕第二次監聽。此時訂閱、VMess、VLESS 與路由規則通常不是優先檢查項目。

應用程式發出要求連線至本機連接埠核心接收入站連線規則比對與分流代理出站
10808
常見 SOCKS 監聽連接埠
10809
常見 HTTP 監聽連接埠
127.0.0.1
僅供本機存取的監聽位址
0.0.0.0
涵蓋所有 IPv4 介面

錯誤:listen tcp 127.0.0.1:10808: bind: address already in use

原因與解法:已有程序佔用 TCP 10808。先查出對應的 PID,確認程式身分後正常退出舊程序,或將新用戶端改用未佔用的連接埠。

錯誤:Only one usage of each socket address is normally permitted

原因與解法:Windows 拒絕重複繫結同一個通訊端位址。檢查是否重複啟動 v2rayN、殘留核心,或同時執行另一套本機代理。

現象:核心顯示正在執行,但瀏覽器一直顯示代理伺服器無回應

原因與解法:不一定是佔用問題,瀏覽器可能仍指向舊連接埠。對照用戶端目前的監聽值,確認 HTTP 與 SOCKS 類型是否選取正確。

在 Windows 找出佔用 10808 的程序

Windows 11 與 Windows 10 都可以使用系統內建的 netstat 查看監聽程序。先完全退出準備啟動的 v2rayN,再開啟終端機執行檢查,這樣能降低將目前新程序誤判為衝突程序的可能性。

  1. 查詢監聽記錄

    開啟 PowerShell 或命令提示字元,執行 netstat -ano | findstr :10808。重點查看狀態為 LISTENING 的列,並記下最右側的 PID。

  2. 確認程序名稱

    執行 tasklist /FI "PID eq 程序編號",將命令中的程序編號替換為實際 PID。也可以在工作管理員的「詳細資料」頁面依 PID 尋找。

  3. 判斷是否可以退出

    如果結果是先前遺留的 v2rayN 或其核心程序,先從系統匣選單正常退出。若屬於其他仍在使用的程式,不要直接結束,優先替其中一個用戶端更換連接埠。

  4. 再次確認連接埠

    再次執行查詢命令。沒有 LISTENING 記錄後啟動 v2rayN,並檢查日誌中是否已出現成功監聽的訊息。

netstat -ano | findstr :10808
tasklist /FI "PID eq 6420"

PowerShell:
Get-NetTCPConnection -LocalPort 10808 -State Listen
Get-Process -Id 6420

如果查詢結果出現多個連線狀態,不要將 ESTABLISHEDTIME_WAIT 視為監聽程序。真正需要確認的是 LISTENING,或 PowerShell 輸出中的 Listen。連線狀態列代表已有連線活動,最右側的 PID 仍可協助確認實際使用者。

結論:先辨識 PID,再處理程序

結束程序不是固定步驟。PID 對應舊核心時可以正常退出;若對應開發伺服器、遠端連線工具或仍在運作的代理程式,改用其他 v2rayN 本機連接埠通常更穩妥。

在 macOS 與 Linux 檢查監聽程序

macOS 和 Linux 都可以使用 lsof 查看連接埠,但 Linux 發行版通常也提供 ss。在 Debian、Ubuntu、Fedora 等系統中,一般使用者可能看不到其他帳戶啟動的完整程序資訊,確認權限範圍後再使用 sudo

macOS:
lsof -nP -iTCP:10808 -sTCP:LISTEN

Linux:
ss -ltnp | grep ':10808'
sudo lsof -nP -iTCP:10808 -sTCP:LISTEN

錯誤:listen tcp 0.0.0.0:10808: bind: address already in use

原因與解法:已有程式在所有 IPv4 介面監聽 10808。透過 ss -ltnplsof 找出 PID,再決定停止對應的使用者服務或修改用戶端連接埠。

現象:lsof 沒有輸出,但用戶端仍顯示 10808 被佔用

原因與解法:確認用戶端實際錯誤是否涉及 UDP、IPv6 或其他連接埠,再分別查詢 [::]:10808、UDP 監聽項目,以及日誌中的完整位址。

關閉舊程序還是修改監聽連接埠

處理方式取決於佔用者是否仍有用途。舊核心殘留、重複開啟用戶端或異常退出產生的孤立程序,可以確認身分後關閉。若連接埠屬於另一項持續執行的服務,應保留該服務,並為 v2rayN 選擇新的本機連接埠。

修改時不要只改一項設定。SOCKS、HTTP、區域網路監聽和 API 連接埠可能分開設定;其中任兩項意外使用相同位址與連接埠,都可能導致核心啟動失敗。選擇新連接埠後,還要檢查系統代理與應用程式代理是否一併更新。

  1. 記錄目前設定

    在 v2rayN 主介面開啟「設定」→「參數設定」,記錄本機 SOCKS、HTTP 與允許區域網路連線的相關值。不同版本的分組名稱可能略有差異,請以連接埠欄位為準。

  2. 選擇未使用的連接埠

    先使用系統命令查詢候選連接埠,例如 10810 或 10811。確認沒有監聽記錄後,再寫入用戶端,避免只因連接埠看起來陌生就直接使用。

  3. 儲存並重新啟動核心

    儲存參數後重新啟動核心,或退出並重新開啟 v2rayN。接著查詢新連接埠,確認對應的 PID 已進入監聽狀態。

  4. 重新設定代理入口

    如果系統代理未由 v2rayN 自動接管,應將原本的 127.0.0.1:10808 改為新連接埠;瀏覽器擴充功能和獨立應用程式也要逐一同步。

  5. 保留位址範圍

    僅供本機使用時,維持監聽位址為 127.0.0.1。只有明確需要讓區域網路裝置連線時,才啟用對應的區域網路監聽選項。

情境 建議處理方式 後續檢查
舊 v2rayN 核心殘留 正常退出舊程序,再啟動目前的用戶端 確認 10808 是否由新的 PID 監聽
另一項本機服務長期佔用 保留原服務,將代理改至 10810 等未使用的連接埠 系統代理與瀏覽器連接埠
兩個 v2rayN 執行個體同時運作 只保留需要的執行個體,或為兩者設定不同連接埠 系統匣圖示與啟動項目
區域網路監聽涵蓋本機位址 確認是否確實需要監聽所有介面 0.0.0.0 與 127.0.0.1 的繫結範圍

結論:長期服務應保留,殘留程序應退出

衝突程序仍在執行工作時,修改本機代理連接埠;若衝突源自重複啟動或舊核心,清理啟動來源比不斷更換連接埠更有效。

同步更新系統代理與瀏覽器設定

解決連接埠衝突後仍無法存取,最常見的原因是流量仍送往舊連接埠。用戶端顯示新連接埠 10810,不代表瀏覽器、命令列工具和系統代理已自動改用 10810。每個曾手動設定代理的入口都需要個別確認。

確認新連接埠更新系統代理更新瀏覽器檢查獨立應用程式發起連線測試
使用位置 應確認的內容 常見錯誤
Windows 系統代理 位址為 127.0.0.1,連接埠與目前 HTTP 入站設定一致 將 SOCKS 連接埠填入僅接受 HTTP 的欄位
瀏覽器獨立代理 代理類型、主機與連接埠三項一致 擴充功能仍儲存舊的 10808
命令列環境變數 HTTP_PROXYHTTPS_PROXYALL_PROXY 終端機工作階段未重新載入變數
區域網路上的其他裝置 填寫執行用戶端電腦的區域網路位址與新連接埠 誤填 127.0.0.1,實際上會指向裝置本身

現象:切換至 10810 後核心運作正常,但網頁立即拒絕連線

原因與解法:應用程式仍連線至舊的 10808,或將 SOCKS 類型當成 HTTP 使用。重新選擇代理類型,並將所有手動設定的入口統一指向目前的監聽值。

現象:瀏覽器可用,但終端機命令仍無法連線

原因與解法:瀏覽器與終端機使用不同的代理來源。檢查目前終端機工作階段中的代理環境變數,修改後重新開啟終端機再測試。

v2rayNG 和 v2flyNG 在 Android 上通常由應用程式自行管理本機代理與 VPN 接管流程。若匯入相同訂閱後發生連線問題,不應直接套用桌面系統的 PID 命令;先檢查是否同時啟用了另一個 VPN 連線,再確認用戶端設定中的本機連接埠與執行狀態。

修復完成後的驗證順序

驗證應從本機監聽開始,而不是直接判斷節點失效。只要本機連接埠尚未建立,後續的協定交握、傳輸層連線與路由分流都不會發生。先確認應用程式能連線至本機代理,再檢查節點參數與遠端網路。

  1. 確認唯一的監聽程序

    再次執行 netstatlsofss。目標連接埠應由預期的核心 PID 監聽,不應同時出現無法解釋的第二個服務。

  2. 檢查用戶端日誌

    啟動後觀察 30 秒,確認沒有新的 address already in use、重複重新啟動或建立入站失敗的訊息。

  3. 測試本機代理

    讓瀏覽器或命令列明確連線至目前的連接埠。若立即收到拒絕連線,問題仍在本機監聽;若建立連線後逾時,再檢查節點與網路。

  4. 確認分流結果

    確認路由規則沒有將測試目標錯誤送往直連或阻斷出站。修復連接埠不會自動變更 geosite、geoip、domain 等規則。

  5. 重新檢查自動啟動

    重新啟動或再次登入系統後再檢查一次。如果舊連接埠重新被佔用,表示仍有登入啟動項目或使用者服務在背景啟動舊執行個體。

1 個 PID
目標連接埠的預期監聽程序
30 秒
啟動後的日誌觀察時間
2 次檢查
修改後與重新登入後再次確認

如果連接埠已正常監聽,但所有節點仍然逾時,應轉向網路與設定層排查:確認系統時間、節點位址、協定參數、傳輸設定以及訂閱是否有效。連接埠衝突只發生在本機入站階段,無法解釋核心成功接收連線後的所有連線故障。