v2rayN TUN 模式設定教學:虛擬網卡接管全域流量的原理與設定

了解系統代理與虛擬網卡的差異、TUN 模式如何接管未使用代理設定的程式流量,以及 v2rayN 的啟用步驟、管理員權限需求與常見衝突排除方式。

本文重點

本文以 Windows 桌面版 v2rayN 為例。先透過系統代理確認節點可用,再以管理員身分啟用 TUN,最後分別確認路由、DNS 與應用程式連線。適合瀏覽器可上網,但命令列工具或其他程式未使用代理的情況;TUN 接管流量後,連線最後直連或走代理仍由路由規則決定。

系統代理與 TUN:接管流量的位置不同

系統代理會將本機代理位址提供給遵循系統設定的程式。應用程式主動將請求送至代理監聽連接埠,再由用戶端轉送。若程式使用自己的網路堆疊、獨立代理設定,或直接建立 UDP 連線,就可能略過這項設定。因此,瀏覽器能開啟網頁,不代表其他程式也經由代理連線。

TUN 會在網路層提供虛擬介面。系統路由會將符合條件的 IP 封包送至該介面,由 TUN 後端處理,再轉送至直連或代理出口。應用程式通常不必支援 HTTP 或 SOCKS 代理,但這不代表所有網路協定與位址都能完整轉送。

應用程式請求 系統路由 TUN 接管 規則比對 直連或代理

這裡要區分兩種「全域」:TUN 的接管範圍與路由的代理範圍並非同一個開關。啟用 TUN 後,區域網路、私人位址或規則指定的目標仍可直連。若要讓所有可接管的公網連線都走代理,還得確認目前的路由模式與預設出口,不能只看 TUN 開關是否已啟用。

啟用前:記下連接埠、節點與路由基準

先在 v2rayN 選取已匯入的節點並設為目前伺服器,使用系統代理實際瀏覽一次網頁。只有延遲測試結果並不足夠:測試成功只能表示該測試路徑可用,不代表 DNS、TLS 與實際流量都正常。若此階段就失敗,請先檢查節點位址、認證資訊、傳輸參數與伺服器狀態。

10808
本文本機代理連接埠範例
53
一般 DNS 查詢連接埠
443
HTTPS 目標連接埠範例

10808 僅為下文的測試值。先開啟「設定」→「參數設定」,找到本機監聽連接埠相關項目,再以實際值取代命令中的連接埠。不同版本可能提供混合監聽,或分別列出 SOCKS 與 HTTP 連接埠;確認該連接埠支援 HTTP 代理後,才能使用下方的 HTTP 代理測試命令。

Windows 啟用步驟:管理員權限與 TUN 參數

以下說明適用於具有「啟用 TUN」開關的 v2rayN 介面。桌面版、WPF 版或不同版本的按鈕位置可能不一樣;主畫面通常有 TUN 開關,相關參數則集中在「設定」→「參數設定」的 TUN 頁面。若目前介面沒有這些選項,請先確認用戶端版本與發行套件類型,不要在 Windows 網路設定中手動建立同名網卡。

  1. 完全結束程式後再提升權限。從系統匣選單結束 v2rayN,確認原有執行個體已關閉,再按右鍵選擇「以系統管理員身分執行」。如果只重新開啟視窗、系統匣中的程序仍在執行,可能還是使用舊執行個體的權限。
  2. 確認目前使用的節點。查看主畫面顯示的伺服器與路由模式。先沿用已確認可用的節點,第一次啟用 TUN 時不要同時更換訂閱、傳輸方式與 DNS。
  3. 檢查 TUN 參數。第一次使用時,先保留用戶端提供的預設堆疊、MTU 與路由設定。使用自訂設定時,請確認自動路由未關閉,否則即使建立了虛擬介面,也未必能接管目標連線。
  4. 清除系統代理。透過用戶端的系統代理選單清除設定,建立只驗證 TUN 的環境。兩者並非絕對不能同時使用,但一起啟用會讓瀏覽器測試無法確認 TUN 是否生效。
  5. 啟用 TUN 並查看記錄。在主畫面開啟「啟用 TUN」,確認是否出現權限不足、介面建立失敗、核心結束或設定解析錯誤。若發生錯誤,先關閉開關,再處理第一筆明確的錯誤訊息。

路由與 DNS:保留區域網路連線,避免出口迴圈

TUN 必須處理一個基本問題:應用程式流量要進入隧道,但代理核心連往伺服器的流量不能再被自己無限送回隧道。一般情況下,用戶端與後端會透過路由排除、介面繫結等機制處理。多個接管程式同時執行、手動新增預設路由或自訂設定不完整,都可能破壞這項配置。

首次測試基準

接管方式
只啟用 TUN,清除系統代理
目前使用的節點
沿用已透過實際連線確認可用的節點
TUN 堆疊與 MTU
保留目前版本的預設值
DNS 設定
沿用用戶端目前可用的設定,不要同時更換解析器

先減少變數,再依據記錄找出接管、解析或出口問題。

基準測試通過後再調整

區域網路目標
視需求讓 192.168.0.0/16 等私人網段直連
代理伺服器
確認連線未被重複送回 TUN
公網目標
依目前路由規則選擇出口
DNS 路徑
確認解析器可連線,且使用預期的出口

這些是檢查項目,不是可直接匯入的設定鍵;實際欄位取決於後端版本。

區域網路規則只列出 192.168.0.0/16 並不完整,還要依實際網路檢查 10.0.0.0/8、172.16.0.0/12 等位址,以及 IPv6 區域網路範圍。印表機、檔案分享與閘道管理頁面應依需求設定為直連,不能只看「略過區域網路」之類的名稱,就認定所有範圍都已涵蓋。

DNS 也需要驗證。一般 UDP/TCP 53 查詢與應用程式內建的加密 DNS 並非相同路徑;瀏覽器使用獨立解析器時,結果可能與系統不同。若啟用了 FakeIP,合成位址也不代表解析一定有誤,應確認後端是否仍能將該位址對應回網域名稱。清除快取無法修復無法連線的解析器。

確認流量是否被接管:別只重新整理瀏覽器

測試時,請關閉瀏覽器中手動設定的代理,並確認系統代理已清除。為避免既有連線沿用原路徑,請關閉目標應用程式後再重新開啟。下列命令可用來區分明確指定代理的連線與一般系統網路連線;測試網域僅用於重複執行 HTTPS 請求,不能用來判斷特定網站是否符合代理規則。

# 在 Windows PowerShell 中執行
# 僅在確認 10808 支援 HTTP 代理時使用第一條
curl.exe -I --connect-timeout 10 --proxy http://127.0.0.1:10808 https://example.com

# 禁止 curl 使用明確指定的代理,改由系統路由處理
curl.exe -I --connect-timeout 10 --noproxy "*" https://example.com

# 查詢目前介面與 IPv4、IPv6 路由
Get-NetAdapter
Get-NetRoute -AddressFamily IPv4
Get-NetRoute -AddressFamily IPv6

# 單獨查看系統 DNS 查詢結果
Resolve-DnsName example.com

不要只檢查是否有一條指向虛擬介面的 0.0.0.0/0 路由。自動路由可能採用更具體的分段路由;請一併查看目的位址、前綴長度與介面,確認實際路由選擇。只有在需要時才暫時提高記錄詳細程度;分享前請移除節點位址、認證資訊及包含私人瀏覽記錄的內容。

常見故障排除:依序檢查權限、接管、解析與出口

啟用 TUN 就報錯,開關又自動關閉?

先從系統匣完全結束程式,再以系統管理員身分執行。查看記錄中最先出現的介面、權限或核心啟動錯誤。若是元件缺漏或設定欄位不相容,應修復對應的發行套件或還原自訂 TUN 設定;系統管理員權限無法解決設定解析錯誤。

系統代理可用,啟用 TUN 後卻完全無法上網?

關閉其他 VPN 與網路加速器,只保留一個接管程式。先關閉 TUN,確認基準狀態恢復正常,再查看啟用後的路由變化與伺服器連線記錄。若代理伺服器連線也被重複接管,應檢查自訂路由排除項目,而不是不斷更換節點。

連線已建立,但網域名稱一直解析失敗?

使用 Resolve-DnsName example.com 單獨檢查系統解析,再查看用戶端 DNS 記錄與解析器出口。確認設定已修正後,才執行 ipconfig /flushdns 清除舊快取。瀏覽器使用的獨立 DNS 也需要另外檢查。

啟用後無法使用印表機或公司內網?

記下內網目標的實際位址,檢查私人網段直連規則與網卡路由。公司專用網域也可能仰賴內部 DNS;交由公用解析器通常無法取得正確結果。調整前請先儲存原設定,不要將整個公司位址範圍盲目加入代理。

網頁正常,但遊戲或語音仍無法連線?

先確認該程式沒有自行繫結至其他介面,再檢查 UDP 連線記錄與節點是否支援 UDP。若小封包持續正常、大封包連線容易停滯,再進一步檢查 MTU 或路徑 MTU;沒有明確跡象時,不應一開始就修改 MTU。

關閉與復原:先停止接管,再結束用戶端

不再使用 TUN 時,請先在 v2rayN 關閉「啟用 TUN」,確認一般網路連線恢復後再結束用戶端。若要改用系統代理,請先確認本機代理監聽正常,再透過用戶端重新設定系統代理。如此可清楚區分虛擬網卡路徑與應用程式代理路徑,避免系統代理留下指向已結束程序的位址。

  1. 正常關閉 TUN,並查看記錄確認後端已停止且路由已清除。
  2. 清除不再使用的系統代理設定,重新開啟目標應用程式測試。
  3. 異常結束後仍無法上網時,先重新啟動用戶端並正常切換一次 TUN,或重新啟動系統,再檢查是否有殘留路由。
  4. 不要直接刪除不熟悉的虛擬網卡、批次清空路由表或重設所有網路介面;這些操作可能連其他工作用的網路設定也一併破壞。

TUN 解決的是應用程式流量如何進入用戶端。節點是否可用、網域名稱如何解析,以及規則會套用哪個出口,仍是彼此獨立的問題。依照「系統代理基準測試、單獨驗證 TUN、重新測試目標應用程式」的順序記錄結果,通常比同時修改多項設定更容易找出故障原因。規則與 DNS 的詳細說明請參閱進階設定,術語說明則可參考術語表。

用戶端下載v2rayN / v2rayNG