v2rayN 的 TUN 模式適合處理不支援手動代理的 Windows 軟體,例如部分遊戲啟動器、命令列工具、更新程式,以及只會直接建立網路連線的桌面應用程式。與「自動設定系統代理」不同,TUN 會在 Windows 建立虛擬網路介面,將符合條件的 IP 流量交給 Xray 或 V2Ray 核心,再由路由規則決定直連、代理或阻擋。啟用前必須確認管理員權限、虛擬網卡、DNS、路由模式和原本的系統代理狀態,否則容易出現瀏覽器正常、其他軟體無法連線,或關閉 v2rayN 後整台電腦仍無法上網的情況。
本文以 v2rayN 7.x 搭配 Xray 核心為例,說明 Windows TUN 模式的用途、啟用前準備、虛擬網卡與 DNS 的作用,並提供從設定、重新啟動到流量驗證的完整步驟。文章也整理權限不足、Wintun 建立失敗、DNS 逾時、核心啟動後無法上網,以及停用 TUN 後如何安全恢復原設定等常見問題。
TUN 模式到底接管哪些流量
TUN 是一種虛擬三層網路介面。啟用後,Windows 會看到一張由用戶端或核心建立的虛擬網路卡,應用程式送出的 IP 封包可以先進入這張網卡,再交由 Xray 或 V2Ray 核心處理。這與 HTTP 或 SOCKS 代理不同:HTTP、SOCKS 通常要求應用程式主動讀取代理設定,而 TUN 是在作業系統網路路徑上接收流量,因此對不支援手動代理的程式更有幫助。
不過,TUN 並不代表所有封包都一定經過代理節點。流量進入核心後,仍會依照路由設定判斷出站。若目前模式是「繞過中國大陸」,中國大陸網域、geoip:cn、區域網路和回環位址可能走直連,其餘流量才走代理;若選擇全域代理,則大部分可識別的 TCP 與 UDP 流量會交給代理出站。路由規則錯誤時,TUN 只會把問題帶入核心,並不會自動修正分流。
Windows 中常見的 TUN 實作會使用 Wintun 或相容的虛擬網卡元件。它不是實體網路卡,也不是 VPN 伺服器本身,而是讓核心有一個可以讀取和寫入 IP 封包的系統介面。若安全性軟體阻止驅動程式安裝,或目前帳戶沒有足夠權限,v2rayN 可能能正常開啟,但 TUN 核心會在啟動階段失敗。
- 系統代理:修改 Windows 的 HTTP 代理入口,主要影響會遵循系統代理設定的應用程式。
- SOCKS 代理:在例如
127.0.0.1:10808的本機連接埠等待應用程式主動連入。 - TUN 模式:透過虛擬網卡接收較廣泛的 IP 流量,適合不支援手動代理的程式。
- 核心路由:決定封包最後使用代理、直連或阻擋出站,與 TUN 本身是不同層級。
結論:先把 TUN 當成流量入口,不要把它當成路由策略
TUN 成功只表示封包有機會進入核心;是否使用節點、是否繞過中國大陸,以及 DNS 由誰解析,仍要由路由與 DNS 設定共同決定。排錯時應分開驗證「封包有沒有進來」和「核心把封包送到哪裡」。
啟用前檢查權限、核心與網路狀態
開始設定前,先關閉其他可能建立虛擬網卡的代理程式或 VPN 類工具,避免多個程式同時修改預設路由。若電腦上已經有另一個 TUN 介面,v2rayN 可能選到錯誤的介面名稱,或兩套路由互相覆蓋。也建議先記錄目前的 Windows 網路設定、v2rayN 系統代理狀態和目前使用的路由模式,方便失敗後復原。
v2rayN 只負責圖形介面和設定管理,實際建立 TUN、處理 DNS 與轉送流量的是 Xray 或其他核心。請在「設定」→「參數設定」→「Core 類型」確認目前核心,再檢查核心版本是否與目前 v2rayN 相容。使用 VLESS、Reality 等較新的節點時,通常會選擇 Xray;如果是舊有 VMess 設定,則應依匯入設定和核心支援情況決定,不要因為開啟 TUN 就任意更換核心。
| 檢查項目 | 建議做法 | 未完成時的常見結果 |
|---|---|---|
| 管理員權限 | 以右鍵選擇「以系統管理員身分執行」 | 虛擬網卡無法建立,或核心回報權限錯誤 |
| 核心類型 | 在「設定」→「參數設定」→「Core 類型」確認 Xray 或 V2Ray | 設定欄位不相容,核心啟動後立即結束 |
| 虛擬網卡 | 確認 Windows「網路連線」中沒有被停用的 TUN/Wintun 介面 | TUN 選項可見,但封包沒有進入核心 |
| DNS 狀態 | 確認沒有多個 DNS 程式同時監聽相同連接埠 | 網頁逾時、網域無法解析或出現間歇性失敗 |
| 原本代理設定 | 記錄 Windows 系統代理是否已開啟 | 停用 TUN 後仍殘留代理,造成復原不完整 |
如果 v2rayN 放在 C:\Program Files\ 等受保護目錄,核心或設定檔可能沒有寫入權限。較容易排查的方式是將可攜版完整解壓縮到例如 D:\Apps\v2rayN\,再用管理員身分啟動。不要直接從壓縮檔預覽視窗執行主程式,也不要只複製介面程式而漏掉核心和相關元件。
在 v2rayN 中開啟 TUN 的實際步驟
不同 v2rayN 7.x 小版本的選單名稱可能略有差異,TUN 選項可能位於「設定」中的核心、透明代理或 TUN 相關區域。下面的流程重點不是死記某一個按鈕位置,而是依序確認權限、虛擬介面、路由、DNS 和核心狀態。第一次設定時,建議只使用一個已確認可用的節點,不要同時改動訂閱、路由規則和 DNS。
-
備份原設定
先記錄「系統代理」是否開啟、目前路由模式、本機 SOCKS 和 HTTP 連接埠,例如
127.0.0.1:10808與127.0.0.1:10809。若 v2rayN 提供匯出或備份設定,先保留一份可回復檔案。 -
管理員啟動
完全關閉 v2rayN,再以右鍵選擇「以系統管理員身分執行」。若 Windows 跳出防火牆或驅動程式權限提示,先確認程式來源和檔案位置,再依實際用途允許必要的本機網路操作。
-
確認核心
進入「設定」→「參數設定」→「Core 類型」,確認目前節點使用的核心。接著在核心管理或版本資訊處確認 Xray 核心已存在,並先用一般系統代理測試節點可以正常連線。
-
啟用 TUN
在 v2rayN 的 TUN 或透明代理設定中勾選啟用,選擇可用的虛擬網卡名稱;若有「嚴格路由」或「自動設定 DNS」選項,第一次可先保留預設值,避免一次改動過多變數。
-
套用並重啟
儲存設定後停止目前核心,再重新啟動核心或重新啟動 v2rayN。觀察核心日誌是否出現 TUN 建立成功、DNS 啟動成功和路由載入完成等訊息,不要只看主視窗的開啟狀態。
-
逐項驗證
先測試一般網頁,再測試不支援手動代理的程式,最後才測試 UDP 或遊戲流量。每次只增加一種測試,並在 v2rayN 日誌中對照目標位址、入站和出站標籤。
有些版本會把 DNS、FakeDNS、嗅探和嚴格路由放在不同頁面。DNS 設定的重點是避免「應用程式在本地解析、核心卻依網域分流」的結果不一致。若使用網域規則,例如 geosite:cn,核心最好能取得可用的網域資訊;若只看到 IP 位址,則要確認 domainStrategy 和 DNS 解析方式是否允許後續的 IP 規則比對。
如何確認流量真的經過 TUN
驗證不能只看某一個網站是否打得開,因為網站可能使用快取、既有連線或自身代理設定。先關閉瀏覽器和測試程式,再啟用 TUN,等待核心完全啟動後重新開啟。測試時可以比較開啟與關閉 TUN 的行為,例如某個不支援手動代理的程式在 TUN 開啟後是否恢復連線,以及代理出口網站顯示的公網 IP 是否符合目前節點位置。
本機入口檢查
- 介面位置
- Windows「網路連線」
- 狀態
- 已啟用、沒有驚嘆號
- 核心日誌
- TUN 建立與路由初始化成功
- 基本測試
- 瀏覽器與命令列分別測試
本機介面存在不等於代理成功,仍要搭配核心出站記錄判斷。
出站結果檢查
- 代理目標
- 使用節點出站
- 直連目標
- 使用 direct 出站
- DNS 請求
- 由設定的 DNS 路徑處理
- 測試範圍
- TCP、UDP 分開確認
日誌中的出站標籤比單純顯示網頁成功更能證明路由結果。
在 Windows 命令提示字元中,可以使用 ipconfig 查看是否出現新的虛擬介面,使用 route print 觀察路由表是否有 TUN 相關項目。不同核心的介面名稱與路由優先順序可能不同,因此不應直接照抄其他電腦的數值。若你熟悉 PowerShell,也可用 Get-NetAdapter 查看介面是否處於 Up 狀態,但命令列結果仍要與 v2rayN 核心日誌互相對照。
- 瀏覽器可用、一般程式可用:表示 TUN 和基本 TCP 路由大致正常,但仍要確認實際出站。
- 只有代理網站顯示節點出口:可能是系統代理在工作,尚不能單獨證明 TUN 已接管。
- 不支援代理的程式也恢復連線:這是 TUN 發揮作用的正面訊號,但 UDP 程式仍需另外測試。
- 所有網站都無法開啟:優先查看 DNS、預設路由、核心啟動狀態和虛擬網卡,而不是立刻更換節點。
TUN 常見錯誤與安全恢復方法
排錯時請先停止核心,再一次只修改一項設定。若同時更換核心、DNS、路由模式和網卡名稱,很難判斷哪一個改動造成結果變化。先把模式切回直連或原本的系統代理,確認 Windows 可以正常上網,再逐項重新啟用 TUN。任何涉及預設路由的設定,都應保留本機管理入口,避免遠端操作時把自己鎖在網路之外。
報錯:access is denied
原因與解法:核心沒有建立虛擬網卡或修改路由表的權限。完全退出 v2rayN 後,以系統管理員身分重新啟動,並檢查安全性軟體是否攔截驅動程式安裝。
報錯:failed to create TUN device
原因與解法:Wintun 元件缺失、網卡名稱衝突或既有虛擬介面被停用。到 Windows 網路介面清單檢查重複項目,重新啟動 v2rayN 後再選擇目前存在的介面。
報錯:DNS request timeout
原因與解法:DNS 監聽連接埠被其他服務占用,或核心設定的 DNS 位址無法連線。暫時停用複雜 DNS 規則,確認監聽位址和連接埠,再逐項恢復遠端 DNS。
報錯:default route unavailable
原因與解法:核心無法建立預期的預設路由,常見於多張網卡、其他 VPN 或嚴格路由設定衝突。先停用其他虛擬網卡,記錄原本路由,再以單一 TUN 介面重新測試。
如果啟用 TUN 後完全斷網,先不要刪除 v2rayN 資料夾或重設所有 Windows 網路設定。依序執行以下回復:在 v2rayN 停止核心、取消 TUN、關閉系統代理、重新啟動 v2rayN,然後在 Windows「設定」→「網路和網際網路」→「Proxy」確認手動代理已恢復為原本狀態。若仍無法連線,再停用並重新啟用實體網路介面,最後才考慮重新啟動電腦。
開啟 TUN 後,還需要開啟系統代理嗎?
不一定。TUN 本身可以接收較廣泛的 IP 流量。第一次測試建議只開啟 TUN,確認不支援手動代理的程式可以連線後,再決定是否保留 Windows 系統代理;同時開啟時要留意流量可能重複進入本機代理。
為什麼瀏覽器正常,但某個遊戲仍然無法連線?
遊戲可能使用 UDP、額外的啟動器程序或特定防火牆規則。先確認核心是否支援該流量,再檢查路由是否允許 UDP、遊戲程序是否被安全性軟體攔截,以及 TUN 是否接管了正確的預設路由。
停用 TUN 後仍然無法上網怎麼辦?
先停止核心並確認 Windows Proxy 中的手動代理已關閉或回到原值,再使用 ipconfig 檢查 DNS 和介面狀態。若仍有殘留路由,重新啟動 v2rayN 和電腦,並避免同時啟動其他虛擬網路工具。
TUN 能不能取代路由分流設定?
不能。TUN 負責把流量送入核心,分流仍由路由規則決定。若要中國大陸直連、境外代理和區域網路放行,仍需檢查 geosite、geoip、規則順序與最終出站標籤。