Clash Meta 下載站mihomo 用戶端下載

TUN 模式詳解:運作原理與開啟方法

代理模式 2026 年 7 月 17 日 4 分鐘閱讀
本文目錄

系統代理靠的是應用程式願意配合,TUN 模式則完全不問這件事:它在系統裡建立一張虛擬網路卡,把整台裝置的 IP 流量都導進核心處理。程式想不想走代理已經不重要,因為路本來就只有這一條。

這也是為什麼遊戲、命令列工具、背景服務這些「怎麼調都不走代理」的東西,一開 TUN 就通了。代價是需要更高的系統權限,而且出問題時的排查層級比較深,所以建議先把系統代理用熟,真的需要全機接管時再開。以下說明原理、開啟前提與實際步驟。

TUN 模式的運作原理

TUN 是作業系統提供的一種虛擬網路裝置。客戶端開啟 TUN 後,系統多出一張虛擬網路卡,同時調整路由讓流量優先送往它;核心從這張網路卡收到原始 IP 封包,重組成連線後,再依設定檔裡的分流規則決定直連、走哪個代理群組,或是拒絕。

關鍵差別在工作層級:系統代理是應用層的一份宣告,程式讀了才有用;TUN 在網路層攔截,只要流量離開這台機器就會經過它。這也代表分流規則與 DNS 設定在 TUN 下的影響範圍更大,所有程式都受同一套規則管轄,兩者的完整比較見TUN 模式與系統代理怎麼選

什麼情況值得開 TUN

  • 不讀系統代理的程式:部分遊戲、自帶網路模組的桌面軟體,開了系統代理也毫無反應。
  • 命令列與開發工具:不想每個終端機視窗都設定一次環境變數時,TUN 一開就全部涵蓋。
  • 非 HTTP 的流量:一般代理設定涵蓋不到的協議,在網路層一併處理,整台機器也只剩一套分流邏輯。

反過來說,如果你只是用瀏覽器查資料,系統代理更輕、更好排查,沒必要開 TUN。原理與限制見系統代理是什麼

開啟前提:權限與服務模式

建立虛擬網路卡、修改路由都屬於系統層級的操作,因此各平台都要求較高權限:

  • Windows:需要以系統服務的形式執行核心,客戶端裡通常有「服務模式」之類的安裝選項,安裝過程會跳出使用者帳戶控制(UAC)提示;未安裝服務時直接打開 TUN 開關多半會失敗。
  • macOS:首次啟用時會要求輸入密碼授權安裝輔助工具,之後才能建立虛擬介面。
  • Linux:需要對應權限,客戶端一般會在介面上引導完成授權設定。
  • Android:透過系統的 VPN 授權達成,不需要 root。

注意:TUN 一旦生效就是全機接管,包含你平常不會留意的背景更新與同步流量。開啟後花一分鐘確認分流規則正確,比事後找異常省事。

Clash Verge Rev 的開啟步驟

  1. 先在系統代理模式下確認訂閱已匯入、節點可用、網頁開得起來,當作基準線。
  2. 進入設定頁面,找到服務模式(或類似名稱的選項)並安裝,依系統提示完成授權。
  3. 回到主介面打開 TUN 開關;部分版本會在啟用前提示需要重新啟動核心。
  4. 建議同時關閉系統代理,避免兩層接管疊在一起,排查時難以判斷。
  5. 開個網頁確認連線正常,再測試原本不走代理的那個程式是否已經涵蓋。

以目前版本為例,選項名稱與位置可能隨版本略有差異,但「先裝服務、再開開關」的順序不變。還沒安裝客戶端的話,先到下載中心取得對應系統的版本。

Android 的 VPN 模式就是同一回事

在 Clash Meta for Android 或 FlClash 上按下啟動時,系統跳出的那個連線要求對話框,本質上就是在申請建立虛擬網路介面——效果與桌面端的 TUN 相同,全機流量都會進到核心。所以行動裝置上沒有「要不要開 TUN」的選擇題,允許 VPN 連線即等於開啟,也不需要額外安裝服務。

常見問題

開了 TUN 之後完全沒網路怎麼辦?

先關掉 TUN 確認網路恢復,藉此確定問題確實出在這一層。最常見的原因是 DNS:TUN 模式下所有解析都由核心處理,如果 dns.enable 沒開、監聽的連接埠被其他程式占用,或上游全部不可用,就會表現成完全連不上,處理方式見 mihomo DNS 設定詳解。其次是服務沒裝好或權限不足,重新安裝一次服務模式再試。

會和其他 VPN 軟體衝突嗎?

有機會。兩套軟體都想接管路由與虛擬網路卡時,可能互相搶奪,症狀是其中一邊完全沒流量,或連線時斷時續。原則是同一時間只留一個在網路層接管;Android 更直接,系統本來就只允許一個應用程式持有 VPN 授權。

怎麼正確關閉 TUN?

在客戶端把 TUN 開關關掉即可,虛擬網路卡與路由設定會一併還原。若客戶端是被強制結束的,設定有可能來不及復原,這時重新開啟客戶端讓它自行清理,或直接重新開機最快。日常使用其實不必兩種模式都開,依情境選一個就好。