進階技巧 預計閱讀 12 分鐘

TUN 模式開啟方法詳解:虛擬網卡接管全部流量的原理與設定步驟

系統代理只能涵蓋使用標準代理設定的應用程式,TUN 模式則透過虛擬網卡在網路層接管全部流量。本文說明兩者差異、v2rayN 與 v2rayNG 的開啟位置,以及常見的權限與 DNS 注意事項。

系統代理與 TUN 模式的接管位置不同

啟用代理用戶端後,瀏覽器可以存取目標網站,但遊戲啟動器、命令列工具或某些桌面程式仍會直接連線,這是最常見的 TUN 使用情境。問題通常不在節點,而在流量是否進入用戶端。系統代理與 TUN 模式都能將請求交由 V2Ray 或 Xray 處理,但進入流量鏈路的位置不同。

系統代理會在作業系統中寫入 HTTP 或 SOCKS 代理位址。會讀取這項設定的應用程式會將請求傳送至 v2rayN 的本機監聽連接埠,再由核心依照路由規則決定代理、直連或阻斷。瀏覽器與多數遵循系統網路設定的桌面軟體通常能被涵蓋,但自行實作網路堆疊、只傳送 UDP、忽略系統代理或固定直連的程式,可能會繞過這個入口。

TUN 模式會建立虛擬網卡,並向系統加入對應路由。符合路由範圍的封包會先進入虛擬網卡,再由用戶端轉換為代理核心能處理的連線。應用程式不需要知道本機代理連接埠,也不必另外填寫 SOCKS 位址。因此,TUN 更適合需要接管命令列程式、遊戲流量、UDP 請求,以及多個應用程式混合流量的情況。

比較項目 系統代理 TUN 模式
接管層級 應用程式主動讀取代理設定 系統路由將封包送入虛擬網卡
應用程式相容性 應用程式需要支援 HTTP 或 SOCKS 代理 多數應用程式不必另外設定代理
UDP 涵蓋範圍 取決於應用程式與代理入口 可由虛擬網卡統一接管,再交由核心處理
權限需求 通常使用一般使用者權限 建立網卡與修改路由時可能需要提升權限
排錯複雜度 鏈路較短,適合日常瀏覽網頁 需要同時檢查網卡、路由、DNS 與核心記錄

全域接管不代表所有連線都經過代理

「TUN 接管全部流量」和「強制所有流量經過代理」是兩回事。前者描述流量入口:封包會先進入虛擬網卡;後者描述路由結果:進入核心後是否傳送至代理出站。只要路由規則仍然有效,同一張 TUN 網卡接收的流量就能分別走代理、直連或阻斷。

例如,區域網路位址、路由器管理頁面與部分本機服務可以維持直連;需要代理的網域與 IP 則交由目前節點處理;廣告網域或明確不需要連線的目標可以阻斷。v2rayN 中選擇的路由模式、自訂規則與核心設定會共同決定最終出站。啟用 TUN 後,不應刪除原有的分流邏輯,而應先確認規則在新入口下是否仍符合預期。

一次連線大致會經過以下路徑:

應用程式發起網域或 IP 連線
→ 作業系統路由表
→ TUN 虛擬網卡
→ DNS 解析與流量識別
→ V2Ray、Xray 或相容核心的路由規則
→ 代理出站/直連出站/阻斷

這裡最容易被忽略的是路由閉環。代理用戶端自身連線伺服器的流量不能再次送回 TUN,否則會形成「用戶端連線節點,連線又回到用戶端」的循環。成熟的用戶端會透過排除路由、繫結介面或依程序處理來避免迴圈,但防火牆、其他虛擬網卡與手動路由可能改變結果。啟用後如果所有連線立即逾時,應優先檢查記錄中是否存在重複連線、路由迴圈,或目標伺服器位址被錯誤接管。

在 v2rayN 中啟用 TUN 模式

v2rayN 的不同版本可能會調整按鈕位置,但操作順序大致一致:先讓一般代理連線穩定,再以具備網卡設定權限的方式啟動 TUN。不要在節點尚未驗證時同時修改訂閱、路由、DNS 與 TUN 設定,否則發生故障後很難判斷是哪個步驟造成的。

  1. 匯入訂閱並更新節點。

    在 v2rayN 中加入完整訂閱網址,執行更新訂閱,並選擇可用節點。先使用系統代理開啟常用網站,再查看連線記錄,確認節點位址、連接埠、UUID、傳輸方式與 TLS 等參數都能正常運作。

  2. 確認路由模式。

    檢查目前使用的是全域、繞過區域網路與常見直連位址,還是自訂規則。第一次啟用 TUN 時,建議保留一套容易判斷結果的規則,並確保區域網路網段不會被誤送至遠端。

  3. 授予建立虛擬網卡所需的權限。

    完全結束 v2rayN 後,以系統管理員權限重新啟動,再使用介面中的 TUN 開關。某些版本提供服務模式,可依照用戶端介面提示完成安裝與啟動;服務狀態正常後,日常切換時不必反覆處理相同授權。

  4. 啟用 TUN 並觀察狀態。

    開啟主介面、系統匣選單或狀態列中的 TUN 模式。用戶端會啟動相應核心、建立虛擬網卡並寫入路由。等待狀態顯示已啟動後,再檢查系統網路介面卡中是否出現對應的虛擬介面。

  5. 逐類測試流量。

    先測試瀏覽器,再測試原本不讀取系統代理的應用程式,最後測試需要 UDP 的情境。同時查看即時記錄,確認請求命中預期的代理或直連規則,而不要只依據網頁能否開啟來判斷。

v2rayN 可以管理不同核心。TUN 實際由哪個相容核心執行,取決於用戶端版本、目前設定與所選功能。若記錄提示核心不支援某項 TUN 參數,不要直接反覆切換開關,應先確認用戶端與配套核心版本是否相符,再檢查設定中是否保留舊版本欄位。

成功啟用後,系統代理開關不一定要同時開啟。TUN 已能從路由層接管目標流量,繼續開啟系統代理可能讓部分應用程式先經過本機代理連接埠,而其他應用程式則經由虛擬網卡。兩種入口可以共存,但排錯時最好一次只保留一個主要入口,這樣更容易依據記錄確認連線路徑。

在 v2rayNG 中接管 Android 裝置流量

v2rayNG 在 Android 系統上透過系統提供的 VPN 介面接管流量,作用與桌面端虛擬網卡相近。部分版本不會單獨顯示名為「TUN」的總開關,而是在點擊連線後申請 VPN 連線權限。只要系統狀態區顯示連線已建立,且流量進入 v2rayNG,應用程式就已經使用這個虛擬網路入口。

  1. 匯入可用設定。

    透過訂閱網址更新節點,或匯入完整的 VMess、VLESS 設定。選擇節點後先檢查位址、連接埠與傳輸參數,避免將設定錯誤誤判為虛擬網路故障。

  2. 點擊連線並確認系統授權。

    首次建立 VPN 介面時,系統會顯示連線確認。完成授權後,v2rayNG 才能建立虛擬介面並接收其他應用程式的封包。如果曾拒絕授權,可停止連線後重新發起,並檢查系統中的 VPN 管理狀態。

  3. 設定應用程式範圍與路由。

    如果版本提供依應用程式代理或繞過的選項,應先決定要涵蓋所有應用程式,還是只讓指定應用程式進入虛擬介面。路由規則仍負責決定進入核心後的代理與直連方向,而應用程式範圍則決定哪些程式可以進入這條鏈路。

  4. 處理背景執行限制。

    允許 v2rayNG 維持必要的背景網路活動,避免系統在鎖定螢幕後結束連線。若表現為螢幕亮起時正常、鎖定螢幕一段時間後斷線,應先檢查電池策略與背景限制,而不是頻繁更換節點。

v2rayNG 使用 Xray 核心,適合需要 Xray 協定與傳輸能力的設定。v2flyNG 使用 v2fly 核心,操作流程同樣是匯入設定、建立系統虛擬網路,再依路由處理流量。兩者不能只因介面相似就混用設定功能;如果訂閱包含某個核心特有的欄位,應選擇能識別該欄位的用戶端。

DNS 設定決定網域分流是否準確

啟用 TUN 後,連線能否建立不只取決於節點,也取決於 DNS 請求由誰處理。應用程式存取網域時,路由規則可能需要網域資訊才能比對 geosite、完整網域或網域後綴。如果網域在進入核心前已被系統解析為 IP,核心看到的可能只有目標 IP,此時網域規則是否生效,取決於嗅探、DNS 對映與具體設定。

常見問題之一是 DNS 請求沒有進入用戶端。網頁請求經由 TUN,但網域查詢仍送往原本的網路介面,便可能出現解析結果與代理出口不一致、部分網域逾時或規則命中不穩定。另一類問題是同時啟用多個 DNS 接管功能,例如用戶端 DNS、系統加密 DNS 與其他網路工具同時改寫查詢路徑,最後形成重複轉送或查詢迴圈。

建議依照以下順序整理 DNS:

  • 先停用會同時修改虛擬網卡、路由或 DNS 的其他網路工具,只保留 v2rayN 或 v2rayNG。
  • 使用用戶端目前版本支援的 DNS 設定,不要直接將舊設定中的欄位複製到新核心。
  • 需要網域分流時,確認核心能取得網域資訊,並在記錄中檢查規則實際命中的網域或 IP。
  • 為直連網域與代理網域選擇合適的解析路徑,避免代理網域解析後被錯誤送往直連出口。
  • 修改 DNS 後重新建立 TUN 連線,讓虛擬網卡位址、路由與解析設定一併重新整理。

「啟用嗅探」也不是越多越好。嗅探可以從部分連線中還原網域,協助網域規則比對,但不能取代完整的 DNS 設計,也不適用於所有協定流量。遇到某個應用程式連線異常時,可以對照記錄判斷是 DNS 沒有結果、目標 IP 無法到達,還是規則將連線送往錯誤的出站。

啟用 TUN 後無法連線的排查順序

TUN 故障應從本機入口向遠端逐層檢查。直接更換十幾個節點只會混入更多變數。先確認虛擬網卡是否建立,再確認路由與 DNS,最後才判斷節點與伺服器端狀態。

一、虛擬網卡未出現

如果點擊開關後立即恢復關閉狀態,或記錄提示建立介面失敗,先完全結束用戶端,再以足夠權限啟動。接著檢查系統中是否殘留失效的同名虛擬介面卡,以及安全性原則是否阻止用戶端建立網路裝置。用戶端仍在執行時,不要手動刪除正在使用的介面。

二、啟用後所有連線都逾時

先關閉 TUN,使用系統代理驗證目前節點。如果一般代理也逾時,問題出在節點、訂閱參數或基礎網路,不應繼續調整 TUN。如果一般代理正常,則重新啟用 TUN,檢查記錄中的節點伺服器位址是否被送回虛擬網卡,並確認預設路由沒有被其他網路工具覆蓋。

三、網頁能開啟,遊戲或語音連線失敗

這類情況通常需要檢查 UDP。確認使用的協定、傳輸鏈路與出站支援對應的 UDP 流量,再查看應用程式封包是否進入 TUN。網頁可用只能證明 TCP 與 DNS 的部分鏈路正常,不能證明 UDP 已經沿用相同路徑轉送。

四、網域無法開啟,直接存取 IP 有回應

重點檢查 DNS。查看記錄中是否存在解析逾時、查詢迴圈或 DNS 出站無法連線。停止其他會接管 DNS 的程式,重新連線 TUN,再分別測試直連網域與代理網域。若只有特定規則群組失敗,應檢查該群組使用的是 domain、geosite,還是解析後的 IP 條件。

五、無法存取區域網路裝置

檢查私有位址是否設定為直連,並確認本機防火牆沒有將虛擬網卡識別為需要嚴格限制的新網路。常見的區域網路範圍應由路由規則明確處理。若需要存取印表機、路由器或共用裝置,先使用其區域網路 IP 測試,再處理裝置名稱解析問題。

六、關閉 TUN 後網路仍未恢復

先正常結束用戶端,讓它執行路由清理,再重新啟用目前的實體網路介面。檢查系統代理是否仍指向已關閉的本機連接埠,同時確認預設閘道與 DNS 已恢復為一般網路設定。直接強制結束程序可能讓暫時設定來不及清理,因此應優先使用用戶端的停止與結束操作。

如何選擇系統代理、TUN 與路由模式

日常瀏覽網頁、更新訂閱與使用明確支援系統代理的軟體,可以先選擇系統代理。它的鏈路較短、權限需求較低,記錄也更容易閱讀。遇到不遵循系統代理的桌面應用程式、命令列下載、遊戲或 UDP 流量,再切換至 TUN。

需要涵蓋整台裝置時,先用 TUN 統一接管,再透過路由規則分流,而不是將「全域接管」簡單理解為「全部代理」。合理的設定通常會保留區域網路直連,讓需要代理的目標應用程式、網域或規則集經過代理,並為無法存取的目標保留可從記錄定位的清楚路徑。

調整設定時遵循單一變數原則:先驗證節點,再啟用 TUN;先確認網卡,再調整 DNS;先觀察規則命中,再增加複雜分流。v2rayN、v2rayNG 與 v2flyNG 都會在記錄中提供連線入口、目標位址、出站選擇或錯誤原因。將記錄與實際測試相互對照,比反覆切換節點更容易找出問題。

下載v2rayN