本文適合遇到遊戲、命令列工具或獨立應用程式不讀取系統代理的使用者。內容從虛擬網卡的資料路徑開始,提供 Windows 上 v2rayN 與 Android 上 v2rayNG 的開啟步驟,並說明 DNS、路由、權限及虛擬網卡衝突的定位方法。
TUN 模式與系統代理的根本差異
系統代理是一組由作業系統提供、供應用程式讀取的代理參數。瀏覽器及部分桌面軟體會主動讀取這些參數,再將 HTTP 或 SOCKS 請求傳送至 v2rayN 的本機監聽連接埠。問題在於,是否遵循系統代理取決於應用程式本身。命令列程式、遊戲啟動器、使用自訂網路堆疊的軟體,以及部分 UDP 程式,可能完全忽略這項設定。
TUN 模式則會建立一張虛擬三層網卡,並修改系統路由,讓目標 IP 封包先進入該網卡。客戶端將擷取到的 TCP、UDP 流量交給 Xray 核心處理,接著依照網域、IP、連接埠與協定規則,選擇直連、代理或阻斷出站。應用程式不必理解代理協定,因此接管範圍通常比系統代理更完整。
「全域流量接管」不等於「所有連線都經過代理節點」。TUN 負責將流量送入統一入口,最終出站仍由路由規則決定。例如區域網路位址可以直連,中國大陸網站可以依 GeoSite 與 GeoIP 規則直連,其他流量再進入代理節點。接管方式與分流結果是兩個獨立層面。
| 比較項目 | 系統代理 | TUN 模式 |
|---|---|---|
| 接管對象 | 主動讀取代理設定的應用程式 | 由系統路由導入虛擬網卡的 IP 流量 |
| UDP 處理 | 取決於應用程式與代理介面 | 可由核心統一處理,但仍受節點能力限制 |
| 權限要求 | 通常只需一般使用者權限 | Windows 通常需要系統管理員權限 |
| 常見用途 | 瀏覽器、辦公軟體與日常網頁瀏覽 | 遊戲、終端機工具、獨立網路堆疊應用程式與統一分流 |
結論:先確認接管缺口,再啟用 TUN
如果只有某個不讀取系統代理的程式無法連網,TUN 能直接補足接管範圍;如果連瀏覽器也無法透過節點存取,應先排查節點、訂閱與核心記錄,而不是用 TUN 掩蓋基礎連線故障。
開啟前檢查權限、連接埠與路由條件
切換模式前,應先使用一般系統代理驗證節點。選擇一個可用節點,確認瀏覽器能夠存取目標網站,並在客戶端記錄中看到連線成功紀錄。如此可將「節點不可用」與「TUN 設定錯誤」拆成兩個問題,避免在虛擬網卡、DNS 與節點狀態之間反覆試錯。
本文操作基準採用 v2rayN 7.15.4、v2rayNG 1.10.13 與 Xray 核心。不同小版本的選單文字可能略有調整,但檢查順序不變:先確認核心啟動,再檢查虛擬網卡權限,最後驗證路由與 DNS。舊版本若缺少相應開關,應先從客戶端本身的更新入口完成升級。
本機連接埠無須強行固定為某個數值,但必須避免重複監聽。本文範例將 SOCKS 入口設為 10808、HTTP 入口設為 10809;如果記錄出現「address already in use」或「連接埠已被使用」,應關閉佔用中的程式,或前往「設定」→「參數設定」改用未使用的連接埠,再重新啟動核心。
Windows 測試基準
- 客戶端
- v2rayN 7.15.4
- 本機 SOCKS
- 127.0.0.1:10808
- 本機 HTTP
- 127.0.0.1:10809
- 路由策略
- 繞過區域網路與本機位址
連接埠可以調整,但每個監聽入口都必須保持唯一。
Android 測試基準
- 客戶端
- v2rayNG 1.10.13
- 執行模式
- VPN
- 按應用程式代理
- 初次測試時關閉
- 分流策略
- 先使用預設規則
先驗證整台裝置的流量接管,再縮小到指定應用程式,定位會更直接。
在 Windows 的 v2rayN 中開啟 TUN
Windows 上的 TUN 需要建立虛擬網卡並寫入路由,因此應先完全退出正在執行的 v2rayN,再透過系統選單選擇「以系統管理員身分執行」。僅在一般權限下反覆點擊開關,可能出現核心已啟動但路由寫入失敗、虛擬網卡未建立,或重新啟動後立即停止的情況。
- 驗證一般代理。啟動 v2rayN,更新訂閱並選取一個已確認可用的節點。先使用系統代理模式完成一次網頁存取測試,同時查看記錄中是否存在連線逾時、憑證時間錯誤或節點位址解析失敗。
- 檢查本機監聽。開啟「設定」→「參數設定」,確認 SOCKS 與 HTTP 連接埠沒有與其他程式衝突。本文範例使用 10808 與 10809,修改後需要重新啟動核心,新監聽設定才會生效。
- 開啟 TUN 設定。進入「設定」→「TUN 模式設定」,啟用 TUN,並保留「自動路由」與「嚴格路由」等預設選項,作為首次測試基準。若版本將入口放在主視窗工具列,應以目前介面上的 TUN 開關為準。
- 啟動 TUN。確認 v2rayN 具備系統管理員權限後,開啟 TUN 模式。首次啟動可能會觸發系統網路權限確認,允許後等待虛擬網卡初始化完成,期間不要連續切換開關。
- 核對記錄。開啟即時記錄,確認沒有裝置建立失敗、連接埠佔用或路由新增失敗。接著分別測試網頁、命令列下載工具,以及原先不讀取系統代理的應用程式。
測試順序
1. 一般系統代理可存取目標網站
2. 以系統管理員權限啟動 v2rayN
3. 開啟 TUN 與自動路由
4. 檢查核心記錄沒有錯誤
5. 測試 TCP、DNS 與目標應用程式
6. 最後再啟用自訂分流規則
開啟後不建議同時讓其他網路工具修改預設路由或建立另一張全域虛擬網卡。兩套程式可能反覆爭奪低躍點路由,表現為連線時好時壞、部分網站繞過代理,或休眠喚醒後無法解析網域。需要並用企業內網接入工具時,應先確認哪些網段必須由企業虛擬網卡處理,再在 V2Ray 路由中為這些私有網段保留直連。
驗證接管是否成功時,不要只看工作列圖示。更可靠的方法是關閉系統代理但保持 TUN 開啟,然後測試原先不讀取代理的程式;若該程式能夠建立連線,且 v2rayN 記錄出現對應目標位址,表示資料已進入 TUN。測試完成後,再依日常需求決定是否同時保留系統代理。
在 Android 的 v2rayNG 中接管應用程式流量
v2rayNG 透過系統提供的 VPN 介面建立虛擬網路通道,效果接近桌面端 TUN:應用程式流量先進入客戶端,再由 Xray 核心執行路由與出站。首次啟動時系統會顯示連線授權,只有確認授權後,狀態列出現網路通道標誌,流量接管才會真正生效。
- 匯入並測試節點。在 v2rayNG 中更新訂閱,選擇一組設定後先執行延遲測試。延遲數字只能表示探測請求收到回應,仍需實際啟動並存取網頁,確認節點能夠傳輸資料。
- 選擇執行模式。進入「設定」→「模式」,選擇 VPN 模式。若目前版本直接透過主介面的啟動按鈕建立系統通道,則維持該預設方式,不要切換至僅開放本機代理連接埠的模式。
- 首次關閉按應用程式代理。進入「設定」→「按應用程式代理」,先保持關閉,讓所有一般應用程式進入統一測試路徑。確認整體連線正常後,再啟用此功能,並選擇需要代理或需要繞過的應用程式。
- 啟動連線。返回主介面點擊啟動,接受系統網路連線授權。等待連線狀態穩定後,分別測試瀏覽器、需要 UDP 的應用程式,以及背景更新工作。
- 檢查省電限制。若鎖定螢幕後頻繁中斷,請在系統應用程式管理中允許 v2rayNG 在背景執行,並檢查電池最佳化是否會停止其網路服務。具體入口會隨裝置系統介面而變化,通常位於「設定」→「應用程式」→「v2rayNG」→「電池」。
| 按應用程式代理設定 | 流量結果 | 適用情境 |
|---|---|---|
| 關閉 | 一般應用程式統一進入虛擬網路 | 首次驗證、定位遺漏流量 |
| 僅代理選取的應用程式 | 只有勾選的應用程式進入代理路徑 | 目標明確、希望縮小接管範圍 |
| 繞過選取的應用程式 | 勾選的應用程式直連,其餘應用程式依規則處理 | 本機服務或特定應用程式必須直連 |
v2rayNG 的 VPN 模式與節點協定不是同一個概念。VMess、VLESS 描述客戶端與遠端節點之間如何建立代理連線;VPN 模式描述本機應用程式流量如何進入客戶端。更換 VMess 或 VLESS 節點不會自動改變按應用程式代理的範圍,調整按應用程式清單也不會改寫訂閱中的伺服器位址、連接埠與傳輸參數。
DNS、路由分流與區域網路存取
TUN 已成功擷取連線,但網頁仍提示網域無法解析時,問題通常出在 DNS 路徑。網域解析可能由系統發起,也可能由應用程式自行傳送;如果 DNS 請求繞過虛擬網卡、被其他加密 DNS 設定接管,或被錯誤路由至無法連線的伺服器,就會出現 IP 可連線、網域卻無法開啟的情況。
排查時可以先存取一個已知的 IP 服務,以區分「解析失敗」與「連線失敗」,再檢查核心記錄是否出現 53 連接埠請求。不要同時修改系統 DNS、客戶端 DNS、瀏覽器安全 DNS 與路由規則。一次只修改一處,重新啟動核心後再測試,才能判斷哪個環節生效。
- 區域網路位址:為 10.0.0.0/8、172.16.0.0/12 與 192.168.0.0/16 保留直連,避免印表機、路由器管理頁面與區域網路儲存裝置被送往遠端節點。
- 迴圈位址:127.0.0.0/8 應維持本機存取,防止客戶端本機監聽再次被送回 TUN,形成遞迴連線。
- 網域規則:GeoSite 負責依網域集合進行比對,適合在解析前決定出站;自訂完整網域規則應放在寬泛分類規則之前。
- IP 規則:GeoIP 在取得目標 IP 後參與分流,可用於區域位址與私有網段比對,但無法取代網域階段的規則。
- 規則順序:多數路由設定採用由上至下首次命中的方式。精確規則應放在前面,涵蓋範圍較大的兜底規則則應放在最後。
以區域網路存取為例,如果開啟 TUN 後無法開啟 192.168.1.1,應先確認該網段存在直連規則,再檢查嚴格路由是否阻止未納入規則的流量。若裝置同時連線至公司網路與家庭網路,還要檢查兩個網路是否使用相同的私有網段;網段重疊時,僅靠網域規則無法判斷應交給哪張網卡。
結論:TUN 先統一入口,路由再決定出口
遇到「部分應用程式正常、部分網站異常」時,應從命中規則與 DNS 去向著手,不要將所有流量強制改走代理。保留區域網路與迴圈直連,再用精確網域規則覆蓋例外,通常比單一全域出站更穩定。
常見衝突與逐項修復
TUN 故障應依「權限與裝置、路由、DNS、節點」四個層面處理。首先檢查記錄中的明確錯誤,不要連續重新安裝客戶端。裝置建立失敗通常與權限或虛擬網卡衝突有關;請求已進入記錄但發生逾時,則更可能是節點、協定參數或遠端網路問題。
開啟 TUN 後整台電腦都無法上網?
先關閉 TUN 並確認一般網路恢復,再以系統管理員身分重新啟動 v2rayN。進入「設定」→「TUN 模式設定」保留自動路由,暫時停用其他會建立虛擬網卡的程式,然後重新測試。
記錄提示連接埠已被佔用?
退出重複執行的 v2rayN 程序,並檢查 10808、10809 等本機連接埠是否由其他程式監聽。接著前往「設定」→「參數設定」修改連接埠,儲存並重新啟動核心。
網頁可以開啟,但遊戲或語音仍然失敗?
確認節點支援所需的 UDP 流量,並檢查路由規則是否將對應連接埠錯誤地送往阻斷出站。先使用預設路由重新測試,再逐條恢復自訂規則,以確認是哪一條規則造成影響。
v2rayNG 鎖定螢幕幾分鐘後自動中斷?
進入系統「設定」→「應用程式」→「v2rayNG」→「電池」,允許背景執行並取消會停止網路服務的限制;同時檢查客戶端是否啟用隨網路變化自動重新連線。
TUN 開啟中,但無法存取區域網路裝置?
將目標裝置所在的私有網段加入直連,並確認該規則位於代理兜底規則之前。若同時連線至多個網路,請檢查系統路由表中相同網段的躍點與出口網卡。
如果問題發生在系統休眠或網路切換之後,可以先停止 TUN,等待虛擬網卡狀態釋放,再重新啟動。無線網路切換至有線網路、家庭網路切換至行動熱點時,預設閘道與介面編號都會改變;自動路由未及時重建時,舊路由可能仍指向已失效的介面。
仍無法恢復時,應進行最小化測試:保留一個節點、預設路由與預設 DNS,關閉按應用程式代理和額外規則,只啟用 TUN。最小設定可用後,每次只恢復一項設定。如此即可明確故障來自節點設定、DNS、自訂路由,還是另一個網路程式。
何時使用 TUN,何時保留系統代理
TUN 適合需要統一接管、UDP 處理,或不遵循系統代理的應用程式,但會增加虛擬網卡、路由與 DNS 三個需要維護的環節。只在瀏覽器和一般桌面軟體中使用代理時,系統代理架構更簡單,發生問題時也更容易透過本機連接埠與應用程式設定定位。
- 瀏覽器和辦公軟體都遵循系統代理:優先使用系統代理。
- 命令列工具、遊戲或獨立應用程式繞過系統代理:使用 TUN。
- 需要依網域、IP 與連接埠統一分流:使用 TUN,並保留區域網路直連。
- 企業虛擬網卡必須長時間執行:先規劃網段與路由優先順序,再決定是否同時使用 TUN。
- 臨時排障:先退回系統代理驗證節點,再逐步恢復 TUN、DNS 與自訂規則。
正確的啟用順序是先驗證節點,再建立虛擬網卡,接著確認記錄與 DNS,最後加入分流規則。只要將接管入口、規則比對與代理出站分開檢查,TUN 模式的大多數故障都能歸結到具體環節,而不是停留在「已連線但無法存取」的模糊狀態。