路由器與旁路由直跑 V2Ray 核心部署概覽:方案選擇與注意事項

從閘道角色、透明代理入口、DNS 分流與硬體負載四個面向整理 Xray/V2Fly 核心的部署路徑,並提供主路由與旁路由的選擇依據。

本文速覽

本文適合準備將代理功能從單一裝置移轉至家庭閘道的使用者。重點不是某個管理介面的安裝步驟,而是釐清流量經過哪台裝置、TCP 與 UDP 如何進入核心、DNS 查詢由誰處理,以及故障時如何保留直連備援路徑。

先確認閘道角色,再選擇部署位置

路由器直跑 V2Ray 核心,通常是指在 Linux 閘道上執行 Xray 或 V2Fly,並透過路由規則將指定終端的流量送入核心。Xray 與 V2Fly 是實際處理連線、協定與路由的核心程式;v2rayN、v2rayNG、v2flyNG 則是面向終端裝置的用戶端,不能直接等同於路由器閘道方案。

主路由部署中,執行核心的裝置同時負責撥號、DHCP、NAT、防火牆與預設閘道。所有終端都會自然經過這台裝置,策略涵蓋完整,但設定錯誤也可能同時影響整個區域網路。修改防火牆、DNS 或核心服務前,應先匯出設定,並準備一台能透過網路線登入管理位址的裝置。

旁路由部署會保留現有主路由,將另一台裝置放在同一個區域網路內。終端可透過手動設定閘道、由 DHCP 下發策略,或依主路由的策略路由進入旁路由。優點是移轉範圍可控,電視、辦公電腦或測試裝置可以分批切換;代價是鏈路較長,錯誤的閘道與回程設定容易形成迴路。

主路由直接部署

預設閘道、DHCP、DNS 與透明代理集中在同一台裝置,策略入口統一,區域網路終端不需要逐台修改。

適合:網路結構簡單,且能維護防火牆與啟動服務

旁路由分批接入

推薦

保留原有主路由,只將測試終端或指定裝置導向旁路由,發生故障時可快速恢復原本的閘道。

適合:首次部署、需要低風險移轉與依裝置控制

終端用戶端並行

路由器維持一般網路,電腦使用 v2rayN,Android 裝置使用 v2rayNG 或 v2flyNG,分別管理代理狀態。

適合:裝置數量少,需要每台裝置獨立切換節點

結論:首次部署先用旁路由驗證鏈路

先只調整一台測試終端的預設閘道與 DNS,確認 TCP、UDP、網域解析與回程都正常,再擴大接入範圍,比直接改動全網預設閘道更容易找出問題。

部署前檢查架構、記憶體與系統能力

安裝套件必須符合處理器架構。常見軟路由是 x86_64,小型 ARM 裝置則可能是 aarch64;名稱相近不代表二進位檔可以混用。執行 uname -m 確認架構,再檢查系統是否提供 nftables、策略路由與 TPROXY 支援。只設定一個 SOCKS 入站連接埠,並不能自動接管區域網路流量。

以下基準適合用來理解資源需求:OpenWrt 23.05.5、Linux 5.15.167、4 核心 x86_64 處理器與 512 MB 可用記憶體,可以應付一般家庭網路的規則比對與數百 Mbps 轉發。大型 geosite、geoip 資料與詳細存取記錄會增加記憶體和儲存裝置寫入量,低容量快閃儲存裝置應降低記錄層級,並將輪替策略設為僅保留少量檔案。

512 MB
建議可用記憶體下限
12345
透明代理範例連接埠
1053
核心 DNS 範例連接埠
53
區域網路 DNS 服務連接埠

推薦方案:分開驗證管理面與轉發面

閘道端
  • 以系統服務啟動 Xray 或 V2Fly
  • 透明入站監聽 12345 連接埠
  • 本機 DNS 入站監聽 127.0.0.1:1053
  • 保留管理位址與區域網路網段直連
終端端
  • 先固定一台裝置的閘道位址
  • DNS 指向負責分流的閘道
  • 分別測試網頁、下載與 UDP 應用程式
  • 記錄切換前後的出口與延遲

核心能夠啟動,只代表設定語法正確;終端流量實際進入透明入站並完成回程,才算閘道鏈路可用。

透明代理需要同時處理流量入口與回程

透明代理的核心任務,是讓原本不知道代理存在的終端將連線交給 Xray 或 V2Fly。Linux 上常見的入口是 TPROXY 或重新導向。重新導向較容易處理 TCP;TPROXY 可以保留原始目標資訊並支援 UDP,但需要額外設定 fwmark、策略路由與本機路由表。實際能力取決於核心模組與防火牆框架。

一組完整規則至少應先排除路由器自身的管理位址、區域網路網段、組播位址、節點伺服器位址與核心程序產生的連線,再擷取需要代理的 TCP 與 UDP。如果忘記排除節點伺服器,核心發往節點的連線可能再次進入透明入口,呈現連線逾時、CPU 使用率升高或記錄不斷重複同一目標等情況。

  1. 建立透明入站並固定監聽連接埠,例如 12345,依實際需求啟用 TCP 與 UDP。
  2. 建立策略路由表,將帶有 0x1 標記的封包送至本機迴環介面。
  3. 在防火牆鏈中先寫入直連排除項目,再對目標流量設定 TPROXY 與標記。
  4. 設定核心路由規則,確保區域網路、管理位址與節點位址透過 direct 出站。
  5. 重新啟動服務後,檢查監聽連接埠、規則計數器與核心記錄,不要只查看程序狀態。
ip rule add fwmark 0x1 table 100
ip route add local 0.0.0.0/0 dev lo table 100

nft add rule inet proxy prerouting \
  meta l4proto { tcp, udp } \
  tproxy to :12345 meta mark set 0x1

DNS 分流決定網域規則能否穩定生效

只有流量分流而沒有 DNS 規劃,常見結果是網域規則未命中、解析結果與出口不一致,或終端繞過閘道直接查詢外部 DNS。建議讓受管理終端統一將 DNS 指向閘道的 53 連接埠,再由本機 DNS 服務依網域類別選擇直連解析,或轉送至核心的本機 DNS 入站。

一種清晰的架構是:區域網路終端查詢閘道的 53 連接埠,dnsmasq 負責本地域名與 DHCP 主機名稱;需要經核心處理的查詢則轉送至 127.0.0.1:1053;Xray 或 V2Fly 再依 DNS 規則選擇出站。務必避免將 1053 的上游重新指回 53,否則會形成遞迴迴圈。

檢查項目 建議設定 異常現象
終端 DNS 指向閘道 LAN 位址的 53 連接埠 網域規則偶爾失效或出口不一致
核心 DNS 入站 僅監聽 127.0.0.1:1053 連接埠暴露於區域網路,或被其他裝置直接呼叫
快取位置 明確指定由 dnsmasq 或核心負責主要快取 修改規則後仍回傳舊位址
IPv6 查詢 與 IPv6 路由及代理策略同步啟用或停用 終端優先使用未納入策略的 IPv6 出口

在常見的 OpenWrt 管理介面中,可從「網路」→「介面」→「LAN」→「DHCP 伺服器」→「進階設定」檢查下發給終端的 DHCP 與 DNS 參數。不同系統版本的項目名稱可能略有差異,修改後應讓測試終端重新取得租約,並使用系統解析命令確認實際 DNS 伺服器,不要只根據介面設定推斷。

結論:DNS 與透明代理必須成對驗收

測試時同時記錄網域解析結果、命中的路由規則與實際出口。只驗證網頁能否開啟,無法發現 DNS 繞行、快取未更新或 IPv6 未被接管等問題。

效能測試要區分核心負載與網路品質

閘道效能不能只看處理器核心數。加密演算法、連線數量、規則集大小、記錄層級、網卡驅動程式與硬體中斷分配都會影響吞吐量。啟用透明代理後,部分硬體加速或流量卸載可能繞過防火牆規則;若出現部分連線不受策略控制,應先停用相關卸載功能再重新測試。

一組參考測試使用 4 核心 N5105、8 GB 記憶體、千兆有線區域網路與 500 Mbps 下載線路,測試終端與閘道均採有線連線。在相同節點、相同時段下,主路由直接轉發測得 438 Mbps,經過同網段旁路由測得 421 Mbps;持續傳輸時核心程序使用率約為單核心計量的 118%,閘道總 CPU 使用率約 34%。這些數據僅用於說明測量方法,不能取代本地線路實測。

如果速度下降但 CPU 使用率不高,應優先檢查節點品質、MTU、DNS 與回程路徑;如果單一核心持續接近滿載而其他核心較空,瓶頸可能來自單一連線處理或中斷分配。旁路由比主路由多出一個轉發環節,通常不會自動造成明顯降速;錯誤的雙重 NAT、百兆連接埠或無線回程更值得優先排查。

常見部署問題與回復方法

閘道服務應設定明確的啟動順序:網路介面與系統時間可用後再啟動核心,核心成功監聽後再啟用透明代理規則。節點使用網域名稱時,時間尚未同步或 DNS 尚未運作,都可能導致首次連線失敗。服務管理器也應設定失敗重啟間隔,避免錯誤設定觸發高頻重啟。

回復方案必須在部署前準備。主路由方案至少保留區域網路管理位址、網路線登入方式,以及一份未啟用透明代理的防火牆設定;旁路由方案則可將測試終端的預設閘道與 DNS 改回主路由。不要讓回復操作依賴可能已經失效的代理鏈路。

核心已執行,終端為什麼仍然直連?

先執行連接埠檢查,確認 12345 正在監聽,再查看 nftables 規則計數器是否增加。計數始終為零,通常表示終端閘道未指向該裝置,或封包沒有經過預期的 prerouting 鏈。

旁路由一啟用就無法存取區域網路裝置?

檢查區域網路網段是否已被透明規則排除,並確認旁路由沒有在兩個介面上同時設定相同網段。測試階段應維持單一 LAN 位址,避免重複 DHCP 服務與非對稱回程。

網頁可用,但部分 UDP 應用程式逾時?

確認透明入站已啟用 UDP,策略路由也同時涵蓋 UDP,且防火牆不是只比對 TCP。接著檢查 MTU 與節點協定是否支援目前的傳輸方式,並在核心記錄中找出遭拒絕的目標連接埠。

修改網域規則後仍命中舊結果?

依序清除終端、本機 DNS 服務與核心 DNS 快取,再重新查詢。若 dnsmasq 使用 53 連接埠、核心使用 1053 連接埠,還要確認兩者沒有互相轉送而形成迴圈。

Xray 與 V2Fly 應該如何選擇?

先依節點實際使用的協定選擇核心。使用 VLESS、XTLS 或 REALITY 設定時,通常選擇 Xray;現有 VMess 等設定若以 V2Fly 維護,則可繼續使用 V2Fly。移轉前應先在終端用戶端驗證同一份設定能正常連線。

部署完成後的驗收清單應包括:閘道重新啟動後服務能自動恢復、訂閱或設定更新不會覆蓋本機排除規則、DNS 查詢沒有迴圈、節點伺服器位址始終直連、區域網路管理位址不經過代理,以及關閉核心後能透過預定操作恢復一般網路。符合這些條件後,再考慮將更多終端納入閘道策略。

下載 v2rayN 查看四個平台的安裝套件