在路由器部署代理,關鍵不在於照搬桌面版設定,而是讓閘道、流量接管、DNS 與核心出站形成完整路徑。本文適合準備以 Linux 或 OpenWrt 裝置轉送代理流量的使用者,先說明主路由器與旁路由的差異,再介紹單機測試步驟、透明代理的適用範圍、硬體評估指標及故障復原方式。
一、部署位置:主路由器與旁路由各自負責什麼
主路由器通常負責連線至網際網路、透過 DHCP 配發 IP 位址、NAT 與防火牆。在主路由器上執行核心,較容易掌握完整的流量轉送入口;但更新代理服務、規則設定錯誤或資源不足,也可能影響整個區域網路。旁路由則是額外的轉送裝置,可先讓少數終端設備以它作為閘道,縮小測試範圍。
以獨立旁路由進行測試
建議保留主路由器原有的連線設定與位址配發方式,只修改測試裝置的閘道。若發生問題,只要將裝置的閘道還原,比修改全網轉送規則更容易找出原因並復原。
適合:首次部署、需要逐台測試的家用網路
直接在主路由器上執行
在同一台裝置上統一處理網路連線、防火牆與代理。規則入口較集中,但須確認 CPU、記憶體與儲存空間足夠,並保留本機管理入口。
適合:熟悉防火牆、希望集中維護網路的使用者
使用終端設備用戶端
桌面環境可使用 v2rayN;Android 則依節點需求選擇 v2rayNG 或 v2flyNG。無須調整區域網路閘道,適合在部署路由器前確認節點是否可用。
適合:只有少數裝置需要代理,暫時不打算調整網路
本文以單網路埠旁路由為例:主路由器為 192.168.10.1/24,旁路由為 192.168.10.2/24,測試裝置為 192.168.10.100/24。請依實際網段調整位址,並將旁路由位址排除在 DHCP 動態配發範圍之外。這些位址僅供設定示範,並非裝置的出廠預設值。
測試裝置 192.168.10.100
預設閘道 → 旁路由 192.168.10.2
├─ 直接連線出站 → 主路由器 192.168.10.1 → 網際網路
└─ 代理出站 → 主路由器 192.168.10.1 → 遠端節點
旁路由的預設閘道:192.168.10.1
主路由器的預設閘道:電信業者上游設備
二、選擇核心:一併確認協定、架構與設定格式
Xray 與 V2Fly 都是可獨立執行的代理核心,不是路由器作業系統。v2rayN、v2rayNG、v2flyNG 則是用戶端介面;其中 v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。路由器部署時,應確認對應的 Linux 程式、設定檔與服務啟動方式,而不是安裝桌面用戶端。
- 確認處理器架構:執行
uname -m,再核對韌體的套件架構、位元數與執行環境。不能只看裝置標示「ARM」就選擇程式。 - 確認節點協定:逐一核對 VMess 或 VLESS、傳輸方式、TLS 參數與伺服器需求。若節點使用 REALITY,請選擇明確支援對應設定的 Xray 版本,不要假設兩種核心的欄位可以互換。
- 確認設定檔版本:V2Fly 的設定格式會因版本而異;Xray 的欄位也會持續演進。請依裝置實際安裝的版本檢查設定,不要直接從其他核心複製整份 JSON。
- 確認訂閱處理方式:訂閱網址不是所有核心都能自動更新的通用設定。面板或管理指令碼通常負責解析訂閱、產生設定、安排更新與重新載入;純核心部署則須自行實作這些流程。
三、透明代理:除了監聽連接埠,還需要策略路由
明確代理需要應用程式將連線送至 HTTP 或 SOCKS 監聽連接埠;透明代理則由閘道在流量轉送路徑中攔截連線,再交由核心處理。程式只監聽某個連接埠,不會自動接管區域網路流量,也不會自動建立回程路徑。Linux 防火牆規則、策略路由與核心入站設定必須互相配合。
上述連接埠與路由表編號僅為設計範例,不代表任何管理介面的預設值;使用路由表編號 100 前,也要確認沒有被其他服務占用。透明入站必須啟用所選核心要求的透明通訊端選項,並配合防火牆轉送流量的方式。
| 接管方式 | 運作機制 | 部署注意事項 |
|---|---|---|
| REDIRECT | 將連線重新導向至本機監聽連接埠 | 常用於 TCP;不可直接將 TCP 方案套用至 UDP |
| TPROXY | 透過透明通訊端接收流量,搭配標記與策略路由將流量送至本機 | 可用於 TCP/UDP;需要韌體核心模組及相應的防火牆支援 |
| 明確 SOCKS 代理 | 由應用程式主動連線至代理監聽位址 | 適合先確認核心可用;應用程式必須支援代理並正確設定 |
使用 firewall4 的 OpenWrt 環境通常以 nftables 管理規則,舊資料中的 iptables 指令不一定能直接使用。TPROXY 常見的做法是為流量加上標記,透過 ip rule 選擇專用路由表,再由本機路由將流量送入透明通訊端;標記值與遮罩必須避開既有的多線路或策略路由服務。
- 先放行回環、群播、廣播、區域網路管理網段,以及旁路由自身必須直接連線的流量。
- 排除節點伺服器位址與核心自身的出站流量,避免代理連線再次進入代理形成迴圈。
- 分別處理區域網路的轉送入口與路由器本機發出的流量;PREROUTING 規則不會自動接管所有本機連線。
- 確認軟體或硬體流量卸載是否繞過預期的規則路徑;除錯時先關閉相關卸載,再進行比對測試。
四、閘道與 DNS:先修改一台裝置,再逐步擴大範圍
旁路由沒有統一適用的設定頁面。以下以常見的 OpenWrt LuCI 選單為例,選單名稱可能因版本而異。操作前請先匯出設定,並記下主路由器的管理位址;若沒有備用管理入口,請勿同時修改管理 IP、DHCP 與防火牆。
-
設定固定管理位址
進入旁路由「網路」→「介面」→「LAN」→「編輯」→「基本設定」,設定靜態位址
192.168.10.2、子網路遮罩255.255.255.0,並將上游 IPv4 閘道設為192.168.10.1。 -
保留單一 DHCP 伺服器
由主路由器繼續配發位址。在旁路由依序進入「網路」→「介面」→「LAN」→「編輯」→「DHCP 伺服器」→「一般設定」,勾選「忽略此介面」,避免兩台裝置同時配發互相衝突的設定。
-
只修改一台裝置的閘道
在測試裝置的 IPv4 設定中保留原有位址與子網路遮罩,只將閘道改為
192.168.10.2。確認旁路由已啟用 IPv4 轉送,且相應防火牆規則允許所需的轉送方向。 -
確認 DNS 流量路徑
只有在旁路由已提供可連線的 DNS 服務後,才將測試裝置的 DNS 設為
192.168.10.2。分別檢查 UDP/TCP 53 連接埠、上游解析路徑,以及代理啟動前能否解析節點伺服器的網域名稱。 -
擴大範圍並驗證
單一裝置測試穩定後,若主路由器同樣使用 LuCI,可前往「網路」→「介面」→「LAN」→「編輯」→「DHCP 伺服器」→「進階設定」,在 DHCP 選項中設定
3,192.168.10.2;若也要配發 DNS,再設定6,192.168.10.2,接著讓終端裝置重新取得租約。
同網段的單網路埠旁路由可能造成非對稱路徑:終端裝置經由旁路由送出直接連線流量,主路由器卻直接將回應傳回終端裝置。這可能影響連線追蹤、流量統計與防火牆判斷。是否對旁路由轉送的流量執行來源位址轉換,應依網路拓撲實測;來源位址轉換可讓回程路徑更容易掌握,但會隱藏原始終端裝置位址,並非所有網路都適用。
五、硬體資源:依目標負載實測,不要只看網路埠速率
Gigabit 網路埠只代表鏈路協商能力,不表示加密代理一定能達到相同速度。CPU 單核心效能、協定與傳輸方式的組合、記憶體負載、散熱及節點線路都會限制吞吐量。小型路由器也要為無線網路、連線追蹤與防火牆保留資源;旁路由則須額外確認網卡驅動程式與虛擬化造成的負擔。
| 評估項目 | 檢查方式 | 判斷依據 |
|---|---|---|
| CPU 與散熱 | 使用 top 觀察單核心使用率;持續負載 10 分鐘 | 若吞吐量停滯且單核心滿載,優先檢查運算效能與降頻情況 |
| 記憶體餘裕 | 查看 free 與核心日誌;更新規則時再次記錄 | 留意可用記憶體、程序退出及記憶體不足而遭終止的紀錄 |
| 儲存空間 | 使用 df 檢查可寫入分割區與暫存目錄 | 為程式更新、規則檔案與日誌輪替預留空間 |
| 同時連線數 | 依序使用 1 台、3 台終端裝置重複相同測試 | 比較延遲與錯誤率,不要只記錄最高下載速度 |
測試時請使用同一台有線終端裝置、同一個節點與同一個下載目標,依序記錄直接連線基準、終端用戶端代理、旁路由代理三組結果。每組重複 3 次,記錄吞吐量、延遲、CPU 與記憶體;如果節點本身的狀況波動明顯,就不能將所有差異都歸因於旁路由。本文提供的是測量方式,並非任何特定裝置的實測效能保證。
結論:找出瓶頸後,再決定是否升級設備
只有在旁路由單核心持續滿載,而且終端用戶端能穩定達到更高速度時,才有依據優先升級運算效能;若兩者都變慢,應先更換測試時段或節點比對,不要只因網路埠標示的速率較低就更換整台設備。
六、故障排除:依序檢查位址、轉送、入站與出站
「能開啟旁路由管理頁面」只能證明區域網路位址可連線,不能證明網際網路轉送或代理出站正常。先在旁路由檢查預設路由,再確認透明代理入口是否實際收到流量,最後查看連線日誌,判斷路由規則命中了哪個出站。除錯日誌可能包含目標網域名稱與位址,排查完成後應恢復一般日誌層級並設定日誌輪替。
# 以下為唯讀檢查指令;部分精簡版韌體需先安裝相應工具。
ip -4 addr show
ip -4 route show
ip -4 rule show
ip -4 route show table 100
sysctl net.ipv4.ip_forward
ss -lntup
nft list ruleset
free
df -h
ip -4 route show table 100 僅適用於確實採用本文範例編號的方案;若管理服務使用其他路由表,請查詢實際編號。ss 可確認連接埠與程序,但不能只憑監聽狀態判斷透明代理規則是否正確。檢查 nft 輸出時,應留意現有規則集與比對計數,避免為了「排除干擾」而清空整個防火牆。
將閘道改成旁路由後,所有網頁都無法開啟怎麼辦?
先將測試裝置的閘道還原為 192.168.10.1。接著在旁路由檢查預設路由是否指向主路由器、net.ipv4.ip_forward 是否設為 1,以及轉送防火牆是否允許流量通過;先修復一般轉送,再重新啟用流量接管規則。
網頁能開啟,遊戲或語音卻無法連線?
確認應用程式是否依賴 UDP,再檢查透明入站、TPROXY 規則、策略路由與節點出站是否都支援這類流量。若只有 TCP 重新導向,不能靠更換 DNS 補足 UDP 接管能力。
設定了分流,為什麼部分網域還是走錯路?
先確認 DNS 是否由預期的解析器處理,再檢查規則順序與日誌中的目標資訊。應用程式內建的加密 DNS 可能不會經過本機 53 連接埠;嗅探也無法保證還原所有網域名稱,應針對測試中的應用程式個別確認。
重新開機後設定失效,是節點出了問題嗎?
依序確認核心服務是否啟動、透明代理規則是否載入、策略路由是否存在,以及系統時間是否同步。請將這些操作納入所用韌體的服務管理流程,不要只在互動式終端中執行一次指令。
七、上線與復原:將閘道設定納入維護範圍
旁路由能穩定運作,不只取決於設定檔,也仰賴啟動順序與故障處理。時間尚未同步、DNS 尚未就緒或規則下載失敗,都可能導致服務開機時異常。自動更新前應先檢查新設定,再取代目前檔案;不要只憑「程序仍在執行」就認定網路路徑正常。
- 保存可還原的設定:分別備份網路、防火牆、DNS 與核心設定,並記錄已使用的監聽連接埠、標記與路由表編號。
- 驗證冷開機:重新開機後檢查位址配發、節點網域名稱解析、直接連線與代理兩條路徑,並確認管理入口仍可連線。
- 限制管理範圍:管理頁面與代理監聽服務只對必要的區域網路開放,不要將未經驗證的代理連接埠暴露在網際網路上。
- 規劃停用步驟:先還原終端裝置或 DHCP 配發的閘道與 DNS,再移除流量接管規則、策略路由及服務。若只停止核心卻保留攔截規則,流量可能被送往無服務監聽的連接埠。
如果只有一兩台裝置需要使用代理,通常使用終端用戶端會比較容易維護。若確實需要統一接管區域網路,請依序進行單機測試、DNS 驗證、UDP 與 IPv6 檢查,再逐步推廣至全網。參數說明可參閱術語手冊;接入範圍與路由分流的差異,則可參閱使用手冊。