路由器能執行 Xray,不代表區域網路流量已交由它處理。本文先釐清核心執行、應用程式代理與透明轉發的差異,再比較主路由、旁路由和獨立代理服務的部署取捨。適合準備使用 OpenWrt 或 Linux 迷你主機的使用者;閱讀後即可評估設備規格、測試拓撲與復原方式,不必一開始就更改全網預設閘道。
直接執行 Xray:核心、管理介面與流量入口
Xray 是處理代理連線的核心,不是路由器韌體,也不是具備完整訂閱管理介面的桌面程式。v2rayN 會在桌面管理設定並呼叫核心;將 Xray 部署到路由器後,設定檔產生、程序監控與網路轉發,則須由韌體服務或管理者分別處理。單純複製可執行檔,不會自動產生管理網頁。
也要區分「裝置本身能使用代理」和「其他裝置的流量經過這台裝置代理」。前者只需讓應用程式連線至代理入站;後者還涉及 IP 轉發、防火牆、策略路由與 DNS。訂閱網址也不是 Xray 原生 JSON 設定,不能直接當成設定檔交由核心讀取。
- 明確設定代理:應用程式主動使用 SOCKS 或 HTTP 入口。適合測試節點、憑證與遠端連線,不必變更整個區域網路。
- 透明轉發:閘道透過防火牆和策略路由,將指定流量送至核心。TCP、UDP 與 IPv6 都須分別確認,不能只看瀏覽器能否開啟網頁。
- 設定管理:將節點參數轉換為核心設定,並執行檢查、啟動與重新載入。管理元件支援的欄位須與實際核心版本相符。
主路由與旁路由:先評估故障影響範圍
主路由通常負責撥接或連接上游、DHCP、NAT 和預設閘道。將 Xray 部署在主路由上,流量路徑較直接,但防火牆重新載入出錯,就可能影響所有裝置。旁路由則把代理服務移至另一台機器,方便獨立重新啟動和復原;不過,接上同一台交換器不代表流量會自動經過旁路由。
先用單一裝置測試旁路由
建議保留主路由的 DHCP,先將一台測試電腦的預設閘道設為旁路由。建議的是這個驗證步驟,不代表旁路由在所有網路環境下都比較快。
適合:已有穩定的主路由,需要分階段導入並能快速復原。
由主路由直接執行
集中管理路由、DNS 和代理規則。升級前應匯出網路與防火牆設定,並保留本機管理入口,避免只能透過遠端連線修復裝置。
適合:熟悉韌體復原,且主路由的運算與儲存資源充足。
獨立代理服務
迷你主機只提供區域網路代理連接埠,不負責預設閘道。各應用程式分別填入連線位址即可;未使用代理設定的流量仍會直接連上網路。
適合:少數電腦或應用程式使用,不需要統一接管全網流量。
以下為示意位址,並非必須照抄的固定值。旁路由位址應避開 DHCP 動態指派範圍,且不得與其他裝置重複。單網路埠裝置也能作為旁路由,但須一併驗證回程路徑、轉發規則與主路由行為。
主路由 LAN:192.168.10.1/24
旁路由 LAN:192.168.10.2/24
旁路由預設閘道:192.168.10.1
測試電腦:192.168.10.50/24
測試電腦預設閘道:192.168.10.2
去程:測試電腦 → 旁路由 → 主路由 → 上游網路
其他裝置:仍以 192.168.10.1 為預設閘道
同一網段的旁路由,其回應封包可能由主路由直接送回測試電腦。是否需要來源位址轉換,須依連線追蹤和實際拓撲判斷;不要直接複製全域 NAT 規則。測試期間也要檢查 ICMP 重新導向是否改變電腦後續的路徑,避免發生「一開始有效,過一會兒就繞過旁路由」的情況。
設備需求:架構、可用記憶體與持久儲存空間
下載前先確認 CPU 架構、位元數與系統 ABI。看到「ARM」不能直接選套件,還要確認具體架構和指令集;MIPS 裝置尤其要核對位元組順序與建置需求。韌體能啟動,也不代表目前的 Xray 建置版本支援該裝置的核心和執行環境。
上述記憶體與儲存空間是便於維護的起始建議,不是官方最低需求,也不保證特定吞吐量。規則資料、並行連線、記錄檔與韌體服務都會占用資源。既有低記憶體裝置應依可用記憶體和執行期間的尖峰用量評估;新購設備也不宜只看「放得下執行檔」。
| 檢查項目 | 檢查方式 | 判斷重點 |
|---|---|---|
| 系統架構 | uname -m,再查閱韌體裝置資訊 | 確認位元數、指令集與建置目標,不要只看產品型號。 |
| 記憶體餘裕 | free -m | 在使用尖峰時段觀察可用記憶體,並確認程序是否因記憶體不足而遭終止。 |
| 儲存位置 | df -h | 確認檔案寫入持久化分割區,而不是重新啟動後會清空的暫存目錄。 |
| 核心環境 | uname -r,檢查韌體模組 | 透明轉發所需的 TPROXY、策略路由等功能必須實際可用。 |
效能也不能只看網路埠的標示速率。代理加密與協定處理主要消耗 CPU,普通 NAT 轉發的測試成績不等於 Xray 的吞吐量。持續測試時應記錄處理器使用率、溫度和延遲;原本正常的硬體流量卸載也可能繞過透明轉發規則,排查時可暫時關閉相關加速再比較。
部署步驟:先測通單一連線,再切換測試閘道
以下以 OpenWrt 管理網路、Xray 作為獨立服務為例。LuCI 選單名稱可能因版本和佈景主題略有不同;原生 Xray 不提供 LuCI 選單,因此核心啟動與設定檢查須在終端機完成。不要為了尋找不存在的開關,就先安裝多個可能互相修改防火牆的元件。
-
備份網路設定
在 LuCI「系統」→「備份/升級」建立設定備份。記下主路由管理位址、LAN 位址與 DHCP 範圍,並保留一台可直接連線至主路由的管理電腦。
-
設定固定位址
在旁路由的「網路」→「介面」→「LAN」→「編輯」→「基本設定」中設定靜態位址,例如 192.168.10.2。若採用單一 DHCP 方案,請在同一頁的「DHCP 伺服器」→「基本設定」勾選「忽略此介面」,避免兩台裝置同時配發位址。
-
檢查設定
確認核心可執行後,先檢查設定檔。遠端位址、連接埠、驗證資訊與 TLS 參數,請依服務提供者的資料填寫;檢查通過只表示設定可載入,不代表遠端已連線。
-
測試代理
先使用監聽於 127.0.0.1:10808 的 SOCKS 入站,在路由器本機測試。若要讓電腦直接測試,再繫結至指定的 LAN 位址,並只允許測試電腦存取;切勿將代理連接埠開放至 WAN。
-
切換單機閘道
確認代理運作正常後,再設定韌體對應的透明入口、轉發與策略路由。在測試電腦的網卡 IPv4 設定中,將預設閘道改為 192.168.10.2;DNS 另行指定,暫時不要修改全網 DHCP 配發參數。
以下假設可執行檔安裝於 /usr/bin/xray,設定儲存於 /etc/xray/config.json。若使用韌體套件,請以實際檔案路徑為準。部分精簡韌體未預先安裝 curl,請先確認工具是否可用。
/usr/bin/xray version
/usr/bin/xray run -test -config /etc/xray/config.json
curl --proxy socks5h://127.0.0.1:10808 \
--connect-timeout 10 --max-time 20 \
-I https://example.com/
socks5h 會將目標網域交由代理解析,適合區分本機 DNS 干擾與代理連線問題。上述測試只涵蓋這條明確設定的代理連線,無法證明透明轉發已接管其他應用程式,也無法證明 UDP 或 IPv6 運作正常。
透明轉發與 DNS:最容易漏查的四個項目
設定預設閘道,只是將 IP 封包送往另一台裝置。流量是否進入 Xray,取決於防火牆比對與策略路由;DNS 查詢會經過哪裡,則由終端 DNS、路由器轉發器與核心 DNS 規則共同決定。這幾個環節都需要分別驗證。
- 避免流量迴圈:核心連往遠端伺服器的輸出流量,不得再次被送回代理入口。實作方式可能是程序標記、路由標記或排除目標位址,必須配合實際轉發方案。
- 保留區域網路連線:主路由管理頁面、印表機與本機網段通常應直接連線。不要不加區分地重新導向所有私有網路位址,再靠零散例外規則補救。
- 分別處理 UDP:TCP 重新導向成功,不代表 UDP 也能使用。UDP 透明轉發通常需要相應的 TPROXY 和策略路由支援;DNS 的 53 連接埠也要與其他 UDP 應用程式分開檢查。
- 檢查 IPv6:即使只更改 IPv4 閘道,終端仍可能透過路由公告取得主路由的 IPv6 預設路由。應部署相應的 IPv6 策略,或在可控的測試範圍內暫時停用 IPv6 進行比對。
如果測試電腦的 DNS 仍指向 192.168.10.1,網域解析就可能繼續由主路由處理。即使將 DNS 改為 192.168.10.2,也要確認旁路由確實有監聽查詢,並會轉送至預期的上游 DNS。瀏覽器的加密 DNS 也可能繞過系統 DNS,因此不能只靠單一檢測頁面,就認定全網的解析路徑都正確。
常見問題與復原:先恢復網路,再找出規則問題
一啟動就顯示無法執行,換設定有用嗎?
先執行 uname -m 並核對建置目標。若出現格式錯誤或非法指令,優先檢查架構、指令集與系統相容性;若是權限錯誤,再確認執行權限,以及所在分割區是否禁止執行。此時不必反覆修改節點欄位。
旁路由本身可以連線,電腦卻不行?
先確認電腦的預設閘道確實是 192.168.10.2,再檢查旁路由的 IP 轉發、防火牆轉發權限和透明入口。若 SOCKS 明確代理測試成功,但透明代理無法連線,應優先檢查轉發路徑,不要先更換遠端節點。
停止 Xray 後,為什麼整個網路都斷線?
若重新導向規則仍將連線送往已停止的入口,就會發生這種情況。先在測試電腦將預設閘道改回 192.168.10.1,並還原原本的 DNS;再透過管理入口移除相關規則。正式部署前應先驗證服務停止時能否復原網路。
同一個節點在電腦上很快,路由器上卻很慢?
先在相近時段使用同一台電腦連線至同一個測試目標進行比較,排除無線連線差異。接著觀察路由器的 CPU、溫度與記錄,並檢查 MTU 和重複轉發。網路埠是千兆規格,也不能排除處理器成為瓶頸。
驗收時至少記錄四項:明確設定代理是否成功、透明 TCP 是否成功、DNS 的實際路徑,以及停止服務後能否恢復直接連線。擴大使用範圍前,先讓一台裝置完成休眠喚醒、重新取得租用位址和路由器重新啟動測試,確認設定確實持久保存。
只有一兩台終端需要代理時,桌面端使用 v2rayN,Android 則依核心需求選擇 v2rayNG 或 v2flyNG,通常較容易排查問題。需要統一管理多台裝置時,再考慮閘道部署。其他欄位的說明請參閱協定與核心參考;先確認流量入口,比一次設定完整個家庭網路更重要。