旁路由直跑 Xray 部署概覽:讓全屋設備共用代理鏈路

整理在路由器或旁路由上直接執行 Xray 的方法,涵蓋設定檔位置、透明代理轉送方式、DNS 處理,以及與桌面用戶端方案的取捨。

先確認旁路由在網路中的職責

旁路由直跑核心,並不是把桌面用戶端複製到另一台裝置。它是將代理入口從單一電腦移到區域網路的轉送路徑上:終端仍會發出一般 TCP、UDP 與 DNS 請求,閘道或旁路由負責辨識流量、交給 Xray 入站、套用路由規則,再從直連或代理出站送出。電視、平板、電腦與其他區域網路裝置不必各自維護節點設定,只要流量確實經過這台旁路由,就能共用同一套鏈路與分流規則。

常見拓撲有兩種。第一種是由旁路由擔任指定裝置的預設閘道。主路由器繼續負責撥號、無線連線與 DHCP,部分終端透過靜態位址或 DHCP 選項將閘道指向旁路由。第二種是主路由器繼續作為終端的預設閘道,再利用策略路由把指定流量轉送至旁路由。前者路徑清楚,除錯時容易確認封包經過的位置;後者較少需要修改終端,但要求主路由器具備明確且足夠的策略路由能力。

部署前應先畫出實際路徑,而不是急著撰寫設定。至少記錄四項:主路由器位址、旁路由位址、區域網路網段,以及上游 DNS 位址。也要確認旁路由只有一個固定的區域網路位址,重啟後不會被 DHCP 分配到其他位置。若區域網路包含多個網段或訪客網路,還要標明哪些網段允許存取旁路由、哪些網段應維持隔離。

核心、設定與執行目錄如何配置

直跑核心的最小組成包括 Xray 可執行檔、主要設定、地理規則資料、執行記錄與啟動管理。目錄位置沒有唯一答案,但各項職責應分開。可執行檔通常放在系統程式目錄,設定放在持久化設定目錄,規則資料放在唯讀資料目錄,記錄寫入可輪替的位置。暫存目錄不適合保存唯一設定,因為韌體升級、重新啟動或空間清理都可能移除其中內容。

/etc/xray/
├── config.json
├── conf.d/
│   ├── 10-inbounds.json
│   ├── 20-outbounds.json
│   ├── 30-dns.json
│   └── 40-routing.json
/usr/share/xray/
├── geoip.dat
└── geosite.dat
/var/log/xray/
├── access.log
└── error.log

單一檔案設定適合首次驗證,因為載入順序直觀,排查語法問題時只需檢查一個入口。拆分設定適合長期維護,可分別管理入站、出站、DNS 與路由,但要確認目前的啟動方式是否支援讀取目錄,以及多個檔案合併時陣列與物件的處理規則。不要假設任意檔名都會自動載入;啟動參數指向哪裡,核心才會讀取哪裡。

出站至少保留兩類:一個代理出站與一個直連出站。代理出站中的協定、位址、連接埠、使用者識別碼、傳輸方式、安全層、伺服器名稱與 flow 等參數,必須與伺服器端一致。VMess 與 VLESS 是不同協定,不能只替換位址後混用欄位。若設定來自訂閱,應先在桌面端確認目標節點可以連線,再將對應參數轉換為核心設定。訂閱連結本身並不是 Xray 可直接執行的完整閘道策略,通常只提供節點資料,不會替旁路由決定區域網路例外、DNS 路徑與透明入站規則。

啟動管理應符合三個條件:系統網路初始化後才啟動、程序結束時能夠重新啟動、設定錯誤時保留可讀取的記錄。修改設定後,先執行核心提供的設定測試,再重新載入服務,避免一次語法錯誤中斷整個家庭網路路徑。部署階段的記錄層級可設為 warning 或 info;穩定後不宜長期保留過於詳細的存取記錄,以免持續寫入快閃記憶體。

組成部分 主要職責 部署檢查
Xray 核心 接收入站、執行路由、建立出站連線 架構相符,啟動參數明確
節點設定 描述 VMess、VLESS 等遠端連線參數 逐項與伺服器端一致
透明轉送規則 將區域網路流量送入透明入站 排除本機、內網與保留位址
DNS 設定 決定網域名稱解析路徑與規則比對資訊 避免迴圈轉送與錯誤洩漏
服務管理 控制啟動順序、重新啟動與記錄 網路就緒後啟動

透明代理方式:REDIRECT、TPROXY 與 TUN

透明代理的目標,是讓終端不必手動填寫 HTTP 或 SOCKS 代理位址。閘道透過防火牆與策略路由攔截連線,將其送入 Xray 的透明入站。不同方式對協定支援、核心能力與維護複雜度的要求不同,部署時應依實際流量選擇,不必同時疊加所有方案。

REDIRECT:以 TCP 為主的簡化路徑

REDIRECT 會在閘道防火牆中改寫 TCP 連線的目標,使其進入本機監聽連接埠。設定相對直觀,適合先驗證 TCP 閘道路徑。限制是它主要處理 TCP,面對 UDP、即時通訊與部分依賴原始目標資訊的情境時能力不足。若家庭網路只需要讓少數指定裝置存取網頁服務,可以從這種方式開始;若要求更完整地接管 TCP 與 UDP,則應評估 TPROXY 或 TUN。

TPROXY:保留原始目標的策略轉送

TPROXY 在接管 TCP 與 UDP 時可以保留原始目標位址,通常會搭配封包標記、獨立路由表與本機路由使用。防火牆會為符合條件的封包加上標記,策略路由依標記將封包送回本機透明入站,Xray 再讀取原始目標並決定出站。它適合具備相關核心模組,且需要精細控制來源裝置與目標網段的閘道環境。

TPROXY 的難點不在節點欄位,而在於轉送閉環。Xray 為連線至代理伺服器而發出的流量,不能再次被透明規則送回 Xray 透明入站,否則代理出站可能形成迴圈。還要排除區域網路位址、群播、廣播、回送、鏈路本地位址與不應代理的管理連接埠。代理伺服器本身的位址也應直連,否則連往遠端伺服器的封包會重新進入同一個入站。

TUN:虛擬網路介面上的統一接管

TUN 方式透過虛擬網路介面接收第三層流量,再由 Xray 將連線送往對應出站。它可以降低部分防火牆重新導向規則的複雜度,對 TCP 與 UDP 的處理也更一致。但 TUN 不代表閘道部署會自動完成:系統仍須將目標流量路由至虛擬介面,並處理 DNS、MTU、區域網路繞行與核心自身流量。裝置效能有限時,TUN 的協定堆疊處理與並行連線會增加 CPU 與記憶體壓力。

三種方式可以依序判斷:只驗證少量 TCP 流量時使用 REDIRECT;需要保留原始目標並精確處理 TCP、UDP 時考慮 TPROXY;系統對虛擬介面支援成熟、希望統一接管時考慮 TUN。選定一條主要路徑後應維持規則單一,避免同一個封包先被 TUN 路由捕獲,又被防火牆轉入 TPROXY。

DNS 是旁路由部署的關鍵鏈路

許多「節點可用但網頁打不開」的問題,本質上不是出站連線失敗,而是 DNS 路徑沒有與路由策略對齊。終端會先將網域名稱交給某個解析器,取得位址後才建立連線。如果 DNS 查詢繞過旁路由,Xray 可能只能看到目標 IP,無法利用網域規則;如果所有查詢都被錯誤轉送到同一條鏈路,也可能出現解析逾時、結果不適合目前出口或查詢迴圈。

首先決定由誰為區域網路終端提供 DNS。可以讓主路由器繼續回應,再將上游查詢轉交給旁路由;也可以讓指定終端直接使用旁路由位址。無論採用哪種方式,區域網路中最好只有一條明確的預設路徑。終端同時取得主路由器與旁路由兩個 DNS 位址時,並不保證依填寫順序固定使用,實際查詢可能在兩個解析器之間切換,導致同一網域出現不同結果。

其次要區分本地域名與公網域名。路由器管理名稱、家庭裝置名稱與區域網路私有區域,應交給能辨識本地記錄的解析器,不應送往公網。公網域名可依規則選擇直連解析或代理解析。若 Xray 路由需要網域資訊,應確保透明入站能取得網域,或讓 DNS 回傳結果與核心快取建立可靠關聯。

domainStrategy 決定路由比對網域與 IP 的方式。僅依賴網域規則時,不必為每條連線再次解析;需要讓 geoip 規則參與網域連線判斷時,才考慮按需解析。過度啟用解析會增加 DNS 往返,也可能讓原本應按網域處理的流量提早變成 IP 判斷。設計規則時應先決定「網域優先還是 IP 優先」,再選擇策略,不要把多個策略名稱當成效能開關反覆切換。

FakeDNS 適合某些 TUN 接管情境。它會向終端回傳保留位址,並在內部保存網域與虛擬位址的對應,使後續連線仍能還原原始網域。但它要求 DNS 查詢與連線都經過同一套對應狀態。區域網路中若有繞過旁路由的裝置、需要直接存取真實 IP 的應用程式,或旁路由會頻繁重新啟動,應謹慎啟用。一般閘道部署可以先使用真實解析,待基礎鏈路穩定後再評估虛擬對應。

路由分流從區域網路例外開始

旁路由的第一項原則應是確保區域網路可達。私有位址、回送位址、鏈路本地位址、群播與廣播不能送往遠端代理。印表機、儲存裝置、電視投放與路由器管理頁面都依賴本地直連。若忽略這些例外,最明顯的情況是網際網路存取正常,但家庭裝置探索、檔案分享或管理頁面失效。

第二層是依目標決定直連或代理。規則順序非常重要:Xray 路由通常會依由上而下的第一個符合結果執行。更具體的規則應放在前面,廣泛規則放在後面,最後設定明確的兜底規則。一個容易理解的三段式結構是:區域網路與保留位址直連;確定需要直連的網域與位址直連;其餘流量進入代理出站。若使用 geosite 與 geoip 資料,規則資料檔案必須位於核心可讀取的位置,更新後也要重新驗證核心規則。

第三層是依來源裝置分流。旁路由可以依來源位址決定是否接管,例如只讓測試電腦與電視經過透明代理,其餘裝置維持原本的閘道路徑。來源位址策略依賴穩定位址,建議在 DHCP 中固定租約,而不是依靠終端當下偶然取得的位址。分組上線比一次接管整個網路更安全:先加入一台測試裝置,驗證 TCP、UDP、DNS 與區域網路存取,再逐步擴大範圍。

連接埠規則只能作為補充。常見網頁連接埠無法涵蓋所有應用程式,現代應用程式也可能在 TCP 與 UDP 之間切換。把「只代理幾個連接埠」當成完整分流方案,容易出現頁面能開啟、媒體或通話卻失敗的情況。更穩定的組合是共同判斷來源裝置、目標網域、目標位址與協定,並為無法辨識的流量設定清楚的兜底規則。

避免迴圈、斷網與效能瓶頸

透明代理最需要防範的是流量迴圈。Xray 為連線至代理伺服器而發出的流量,不能再次送回 Xray 透明入站。常見處理方式包括依程序所屬使用者繞過、依封包標記繞過,或將代理伺服器位址加入直連集合。採用哪一種取決於系統防火牆能力,但結果必須能驗證:記錄中不應出現同一目標連線持續重複建立,連線追蹤表也不應快速增長。

旁路由自身的系統服務同樣需要明確策略。時間同步、軟體更新與上游 DNS 查詢都由本機發起,是否經過代理應分別決定。最穩妥的起點是讓旁路由本機流量維持直連,只接管轉送流量;待規則穩定後,再為特定本機服務增加代理路徑。直接透明接管所有本機輸出會增加啟動依賴:時間尚未同步、DNS 尚未運作或 Xray 尚未啟動時,系統服務可能互相等待。

MTU 問題常表現為小型頁面可以存取,大型檔案或特定網站卻停頓。透明鏈路、通道與上游網路都會增加封裝開銷。若連線交握正常,但傳輸在較大封包處卡住,應檢查路徑 MTU 與 TCP MSS,而不是立即更換節點協定。調整時應從網路介面與實際路徑著手,避免在多個位置重複縮小數值。

就效能而言,裝置標示的連接埠速率不等於透明代理吞吐量。加密運算、規則比對、連線追蹤、TUN 協定堆疊與記錄寫入都會消耗資源。測試時應同時觀察 CPU 單核心使用率、可用記憶體、連線數量與溫度。若單核心長時間滿載,增加更多規則或並行連線不會提升速度。低功耗裝置更適合簡潔規則、有限記錄與穩定的協定參數。

按固定順序完成上線驗證

旁路由部署適合分層驗證,每一層只回答一個問題。跳過中間步驟後,任何「無法存取」都可能同時涉及閘道、DNS、防火牆、Xray 與遠端節點,排查成本會迅速上升。

  1. 驗證基礎路由。關閉透明規則,讓測試終端以旁路由作為閘道,確認可以存取主路由器、區域網路裝置與網際網路。
  2. 驗證核心出站。使用 Xray 的明確 SOCKS 或 HTTP 入站進行單機測試,確認代理節點參數與伺服器端一致。
  3. 啟用一種透明入口。先只接管測試終端,確認封包計數與 Xray 存取記錄能夠相互對應。
  4. 加入區域網路例外。檢查路由器管理頁面、檔案分享、裝置探索與其他本地服務仍可使用。
  5. 接入 DNS。確認終端實際查詢位址、旁路由上游查詢與連線出站三者一致。
  6. 測試 TCP 與 UDP。分別驗證網頁、下載、媒體與即時連線,避免只憑一個網頁判斷成功。
  7. 模擬重新啟動。重新啟動旁路由,檢查位址、策略路由、防火牆規則與 Xray 服務是否依正確順序恢復。
  8. 逐步擴大裝置範圍。每次加入一組固定位址,並保留一台不經旁路由的管理裝置作為故障排查入口。

記錄判讀也應分層。Xray 沒有收到連線時,先檢查終端閘道、防火牆命中情況與策略路由;收到連線但沒有出站時,檢查路由標籤與規則順序;建立出站後逾時,檢查節點參數、遠端可達性與系統時間;網域解析失敗而直接存取位址正常,則回到 DNS 鏈路。固定順序比隨機修改協定、安全層與路由欄位更有效。

如何取捨旁路由直跑與桌面用戶端方案

旁路由直跑的主要價值是集中管理。多台裝置共用節點、DNS 與路由規則時,只需維護一套閘道設定;不便設定明確代理的區域網路裝置,也能透過預設閘道取得一致路徑。代價是故障影響範圍擴大:旁路由服務、DNS 或轉送規則出錯,可能同時影響多台裝置。因此它更接近網路基礎設施,而不是一般的用戶端安裝。

v2rayN 更適合單台 Windows、macOS 或 Linux 桌上型電腦的日常使用與節點驗證。圖形介面方便匯入訂閱、切換伺服器、查看記錄與調整系統代理。需要依電腦分別選擇節點,或經常在不同網路之間移動時,桌面用戶端的界線更清楚。Android 裝置可依核心需求選擇 v2rayNG 或 v2flyNG,並在裝置本機管理連線。

兩種方案也可以並存。旁路由負責固定裝置與基礎分流,桌面端保留 v2rayN 用於節點測試或臨時策略。並存時要避免重複接管:如果電腦上的 v2rayN 已啟用系統代理或 TUN,而預設閘道又經過透明代理,同一條連線可能經歷兩層轉送。測試節點時,可以讓該電腦暫時繞過旁路由透明規則,或關閉本機接管,只保留一條有效路徑。

比較面向 旁路由核心直跑 桌面用戶端
設定範圍 集中涵蓋多台區域網路裝置 每台裝置獨立管理
透明接管 依賴防火牆、策略路由或 TUN 通常使用系統代理或本機 TUN
故障影響 可能影響一組裝置 通常限於目前裝置
節點除錯 依賴設定檔與記錄 圖形介面操作更直接
適用情境 固定網路、統一 DNS 與分流 行動電腦、獨立策略與快速切換

如果只有一兩台電腦需要代理,先使用桌面用戶端通常更容易維護。如果家庭網路中有多台固定裝置,且已能管理 DHCP、靜態路由、防火牆與 DNS,再考慮將穩定節點移轉至旁路由。部署完成的標準不是「所有流量都進入代理」,而是路徑可解釋、區域網路維持可達、DNS 與分流一致,並能在重新啟動後自動恢復。

下載 v2rayN