適合已能使用 VMess、VLESS 或訂閱節點正常連線,但仍遇到部分程式未經代理的使用者。本文從流量接管層級開始,依序說明 v2rayN 7.x 與 v2rayNG 1.10.x 的啟用路徑、路由設定、DNS 處理、驗證方法,以及關閉後的復原步驟。
TUN 模式與系統代理的連線差異
系統代理與 TUN 模式處理的是不同層級的問題。系統代理通常只是在作業系統中寫入 HTTP 或 SOCKS 代理位址,例如 v2rayN 常見的本機 HTTP 連接埠 10809。瀏覽器、下載工具或聊天程式只有主動讀取這項設定,流量才會進入用戶端。忽略系統代理的程式、固定直連的啟動器,以及部分命令列工具,仍可能直接連線網路。
TUN 模式會建立一張虛擬網卡並調整系統路由,讓目標 IP 流量先進入虛擬介面。用戶端讀取封包後,再交由 Xray 或 v2fly 核心執行網域嗅探、DNS 解析與路由分流。應用程式不必理解 HTTP 代理,也不必另外填寫 127.0.0.1 與連接埠,因此更適合需要統一接管多個程序的情境。
「接管所有流量」不代表「所有連線都必須經過代理節點」。TUN 負責把封包交給用戶端,最後選擇代理、直連或阻擋,仍由路由規則決定。例如區域網路位址、印表機位址和中國大陸網站可以維持直連,只有符合代理規則的請求才會進入 VMess 或 VLESS 出站。接管範圍與出站策略是兩個獨立概念。
- 系統代理:設定簡單,適合明確支援 HTTP 或 SOCKS 代理的桌面程式。
- TUN 模式:可涵蓋不讀取系統代理的程序,並統一處理 TCP、UDP 與 DNS 請求。
- 全域代理:是一種路由決策,表示已接管的外部流量優先使用代理出站。
- 規則分流:依據網域、IP、連接埠或程序等條件選擇不同出站。
在 Windows 上啟用 v2rayN TUN 模式
以下步驟以 v2rayN 7.x 為基準。不同小版本的按鈕位置可能在主視窗頂端或系統匣選單中有所變化,但核心設定仍包括 TUN、路由與 DNS。首次建立虛擬網卡需要系統管理員權限;未提升權限時,介面可能顯示已切換,但記錄會出現建立介面或寫入路由失敗。
- 開啟 v2rayN,先更新訂閱並選擇已測試可用的節點。
- 進入「設定」→「參數設定」→「TUN 模式」,確認啟用 TUN 所使用的核心與堆疊選項。
- 儲存設定,完全結束用戶端,再透過系統的「以系統管理員身分執行」重新啟動。
- 在主視窗或系統匣選單開啟「TUN 模式」。等待狀態列顯示執行中,並查看記錄是否完成虛擬介面與路由初始化。
- 將路由模式設為規則分流,先保留區域網路直連,再測試瀏覽器和原本無法讀取系統代理的程式。
v2rayN 基本參數
- 版本基準
- 7.x
- SOCKS 連接埠
- 10808
- HTTP 連接埠
- 10809
- 權限
- 以系統管理員身分執行
- 路由方式
- 規則分流
本機代理連接埠用於一般系統代理;TUN 的封包由虛擬介面接管,不應將兩者視為同一個監聽入口。
TUN 建議起始設定
- 區域網路
- 直連
- DNS
- 隨 TUN 處理
- IPv4
- 優先驗證
- UDP
- 依節點能力
- 系統代理
- 避免重複切換
先用最少變數確認連線路徑,再逐項加入自訂 DNS、程序規則與更細緻的網域分組。
啟動後先查看記錄,不要只看按鈕顏色。正常流程應包含建立 TUN 介面、套用路由規則,以及核心成功啟動。若記錄停在連接埠監聽階段,請檢查 10808、10809 是否被其他 v2rayN 執行個體佔用;若停在介面建立階段,則優先檢查系統管理員權限與殘留的虛擬網卡。
測試 TUN 時可以暫時關閉系統代理,以確認請求確實由虛擬網卡接管。若關閉系統代理後,瀏覽器仍能依規則連線,區域網路裝置也能直連,表示 TUN 與路由規則基本運作正常。測試結束後不要頻繁同時切換兩種接管方式,否則排查時很難判斷流量究竟從哪個入口進入。
判斷標準:關閉系統代理後再驗證
只在系統代理開啟時測試,無法證明 TUN 已接管流量。關閉系統代理、保留 TUN,再分別測試瀏覽器、命令列程式和區域網路位址,結果更容易定位問題。
在 Android 上設定 v2rayNG 的 VPN 接管
v2rayNG 在 Android 上透過系統 VPN 服務建立虛擬網路介面,運作層級與桌面端 TUN 接近。使用者點選連線後,系統會顯示 VPN 授權確認;授權通過後,符合接管範圍的應用程式流量會進入 v2rayNG,再由 Xray 核心依據節點設定與路由規則處理。
以 v2rayNG 1.10.x 為設定基準,先匯入訂閱並完成節點延遲測試。進入「設定」→「VPN 設定」,檢查 VPN 模式、應用程式代理範圍、繞過區域網路與本機 DNS 相關選項。返回主介面選擇節點後點選連線,首次執行時接受系統 VPN 連線要求。
- 在「訂閱設定」中儲存完整訂閱位址,執行更新並選擇可用節點。
- 進入「設定」→「VPN 設定」,保持 VPN 接管功能開啟。
- 需要接管整部裝置時,不要啟用僅代理指定應用程式;需要縮小範圍時,再建立應用程式清單。
- 開啟繞過區域網路,避免存取路由器管理頁面或區域網路服務時繞遠路。
- 返回主介面連線,確認狀態列出現系統 VPN 標誌,再執行 DNS 與網頁存取測試。
v2rayNG 全裝置接管
- 版本基準
- 1.10.x
- 執行核心
- Xray
- 接管方式
- 系統 VPN
- 應用程式範圍
- 所有應用程式
- 區域網路
- 建議繞過
適合先驗證整體連線路徑,確認穩定後再縮小應用程式範圍。
依應用程式分配
- 入口
- VPN 設定
- 模式
- 應用程式代理
- 選擇方式
- 指定或排除
- DNS
- 跟隨核心
- UDP
- 節點需支援
務必確認清單方向:指定應用程式與排除應用程式的結果正好相反。
如果使用 v2flyNG,接管方式同樣依賴系統 VPN 服務,但執行核心是 v2fly。訂閱中的 VMess、VLESS 與傳輸參數必須同時受到用戶端與核心支援;TUN 或 VPN 接管只會改變流量入口,不會自動改寫伺服器位址、UUID、傳輸層或 TLS 參數。
DNS、路由與 UDP 的設定重點
TUN 已成功建立但網域無法開啟,常見原因不一定是節點中斷,而是 DNS 請求仍從另一條路徑送出。應用程式先取得錯誤位址,後續連線即使進入代理也會失敗。設定時應讓網域解析與實際流量遵循相同的分流邏輯,避免系統 DNS、用戶端 DNS 與瀏覽器獨立 DNS 同時競爭。
在 v2rayN 中,進入「設定」→「參數設定」檢查 DNS 與路由設定。若使用網域規則,應保留網域資訊供核心比對;若過早只取得 IP,部分以網域為基礎的分流規則可能無法命中。啟用嗅探可以從部分 TCP 或 HTTP 流量中還原目標網域,但不能取代對所有 DNS 問題的修正。
| 檢查項目 | 正常表現 | 異常表現 | 處理方向 |
|---|---|---|---|
| DNS 請求 | 由核心依規則解析 | 解析逾時或回傳無法連線的位址 | 統一用戶端 DNS 路徑 |
| 區域網路位址 | 直接存取閘道與裝置 | 路由器管理頁面無法開啟 | 加入私有位址直連規則 |
| UDP 流量 | 節點與出站皆支援 | 語音或即時連線失敗 | 檢查節點的 UDP 能力 |
| 網域規則 | 記錄顯示預期出站 | 所有請求都套用預設規則 | 檢查順序與嗅探結果 |
路由規則依序比對時,應將明確條件放在預設規則之前。常見的起始順序是:私有 IP 直連、區域網路網域直連、明確需要代理的網域走代理,最後由預設規則承接未命中的請求。規則越多,越需要透過記錄確認實際命中的項目,而不是憑網頁能否開啟來推斷。
UDP 能否使用取決於應用程式、用戶端、執行核心、協定設定與伺服器能力。TUN 可以擷取 UDP 封包,但不代表選用的 VMess 或 VLESS 節點一定能完整轉送。若網頁正常、即時語音或遊戲連線異常,應單獨檢查 UDP 記錄,並使用另一個已知支援 UDP 的節點交叉測試。
設定順序:先統一 DNS,再擴充分流
首次啟用 TUN 時只保留區域網路直連與一條預設代理規則。確認 DNS、TCP 與 UDP 的基本連線路徑後,再加入網域群組、程序條件與自訂出站,能大幅減少變數。
常見故障與復原步驟
排查 TUN 故障應從「虛擬網卡是否建立」開始,再檢查路由、DNS、核心與節點。直接更換訂閱往往會跳過真正的問題。尤其用戶端異常結束後,殘留路由可能讓系統看起來完全無法連線,此時應先關閉 TUN 並完全結束用戶端。
啟用 TUN 後立即斷網怎麼辦?
先關閉 TUN 並結束 v2rayN,再重新啟用網路介面卡。接著以系統管理員身分啟動用戶端,查看記錄是否在建立介面或寫入路由時失敗;不要在斷網狀態下連續重複啟動。
瀏覽器可以使用,但某個程式仍然直連怎麼辦?
關閉系統代理,只保留 TUN 後重試,並檢查該程式是否使用獨立網路服務、固定網卡或特殊 UDP 通道。Android 端還要進入「設定」→「VPN 設定」,確認應用程式沒有被排除。
連線成功但所有網域都逾時怎麼辦?
先直接測試一個確定可連線的 IP,再檢查用戶端 DNS 記錄。關閉瀏覽器單獨設定的 DNS,統一由核心處理解析,並確認 53 連接埠的請求沒有被其他網路工具攔截。
區域網路印表機和路由器頁面無法開啟怎麼辦?
在路由設定中讓私有位址範圍與區域網路網域直連,並啟用繞過區域網路。修改後重新連線 TUN,再分別測試閘道位址與裝置位址。
關閉用戶端後網路沒有恢復怎麼辦?
確認程序已完全結束,停用後重新啟用實體網路介面卡,然後檢查系統代理是否仍指向 127.0.0.1:10809。必要時重新啟動系統,讓殘留的虛擬介面與暫存路由完成清理。
連接埠被佔用主要會影響本機 HTTP、SOCKS 或控制介面。Windows 可先在終端機查看 10808 與 10809 的監聽程序,再決定關閉舊執行個體或修改連接埠。修改連接埠後,還要同步更新系統代理設定;否則系統仍會將請求送往舊連接埠,看起來就像 TUN 或節點失效。
netstat -ano | findstr :10808
netstat -ano | findstr :10809
tasklist | findstr <PID>
執行關閉操作時,應先在用戶端內關閉 TUN,再結束程式,不要直接終止核心程序。正常關閉會撤銷暫存路由並釋放虛擬介面。若需要在 TUN 與系統代理之間切換,也應先完成一次關閉與網路驗證,再啟用另一種模式。
- 關閉 TUN 或 Android 系統 VPN 連線。
- 完全結束 v2rayN、v2rayNG 或 v2flyNG。
- 確認系統代理沒有殘留 127.0.0.1:10809。
- 測試直連網路、區域網路閘道與 DNS 解析。
- 重新啟動用戶端,只啟用一種接管方式進行複測。
驗證 TUN 是否真正接管流量
驗證不能只看「已連線」狀態。完整測試應涵蓋一個支援系統代理的程式、一個不讀取系統代理的程式、一個區域網路位址,以及一項 UDP 功能。四類結果可分別反映虛擬網卡接管、規則分流、區域網路繞過和 UDP 轉送是否正常。
- 關閉系統代理,只保留 TUN,確認一般網頁仍可存取。
- 執行原本不使用系統代理的程式,觀察核心記錄是否出現對應目標。
- 存取路由器閘道或區域網路裝置,確認請求命中直連規則。
- 執行 DNS 檢測,確認解析請求與代理流量採用預期路徑。
- 測試即時語音或其他 UDP 情境,確認沒有持續逾時。
記錄是最終判斷依據。v2rayN 可從主介面的執行記錄查看入站、目標位址與出站標籤;v2rayNG 可在記錄頁面觀察連線建立與路由結果。若完全沒有出現目標請求,問題在接管範圍或系統路由;若請求出現但出站錯誤,問題在規則;若出站正確仍連線失敗,再檢查節點與目標網路。
TUN 適合解決「應用程式不遵循代理設定」這類入口問題。設定穩定後,應保留一份清楚的基準資料:用戶端版本、訂閱更新時間、目前節點、路由模式、DNS 設定與本機連接埠。後續故障一次只修改一個變數,並記錄修改前後的結果,比反覆重新安裝更容易定位問題。