1 什麼是 TUN 模式
在深入配置之前,我們先搞清楚一個概念:系統代理和 TUN 模式到底有什麼區別?
日常使用 Clash 時,大多數人開的是「系統代理」。這種模式本質上是在作業系統層面設定一個 HTTP/SOCKS5 代理位址,瀏覽器、部分應用程式會主動讀取這個設定並把流量送過來,但很多程式——尤其是命令列工具——根本就不認這套規則。您有沒有遇到過這樣的情況:瀏覽器翻牆沒問題,但一打開終端機執行 npm install 或 git clone,依然龜速甚至直接逾時?這就是系統代理覆蓋範圍有限的典型表現。
TUN 模式 (Tun Mode) 的思路完全不同。它在系統中建立一塊虛擬網卡(通常命名為 Meta 或 utun),把作業系統所有出站流量——無論是 HTTP、TCP 還是 UDP——全部「騙」進這塊虛擬網卡,再由 Clash 核心按照您的規則決定每條連線走代理還是直連。從底層流量視角來看,這台機器的網路完全由 Clash 接管,任何程式都無法繞過。
gvisor 或 system 兩種棧,穩定性與相容性均優於舊版 Clash Premium 核心。
2 為什麼您需要 TUN 模式
如果您有以下任意一種需求,TUN 模式幾乎是必選項:
- 終端機開發者:
npm、pip、cargo、brew等套件管理員不走系統代理 - Git 用戶:
git clone、git push到 GitHub/GitLab 經常逾時 - Docker 用戶:拉取 Docker Hub 映像檔、構建過程中下載依賴套件總是失敗
- 遊戲玩家:Steam、Epic 等用戶端的 UDP 流量無法被系統代理覆蓋
- 遠端連線:SSH 或某些 VPN 用戶端不支援設定代理參數
簡單說,只要您遇到「開了代理但某些軟體還是不走」的困境,TUN 模式就是終極解法。
3 開啟前提條件
軟體版本要求
- Clash Verge Rev 1.7.0 及以上版本(推薦使用最新版)
- Windows 系統需安裝 Npcap 或已啟用 WinTUN 驅動程式
- macOS 系統需給予「網路內容過濾器」權限
管理員權限
建立虛擬網卡需要系統級權限。Windows 用戶請以管理員身份執行 Clash Verge Rev,或在設定中開啟「以管理員權限執行」選項(推薦後者,避免每次手動操作)。macOS 會在首次開啟 TUN 時彈出系統提示框要求授權,點擊「允許」即可。
4 Windows 開啟 TUN 模式
步驟一:以管理員權限啟動 Clash Verge Rev
右鍵點擊桌面圖示 → 選擇「以管理員身份執行」。或者進入 Clash Verge Rev 的「設定」→「系統設定」→ 開啟「以管理員權限執行」開關,之後每次啟動都會自動提權。
步驟二:安裝 Service Mode(服務模式)
依序點擊:設定 → 系統設定 → 服務模式,點擊「安裝」按鈕。服務模式可以讓 Clash 在系統背景以服務形式執行,TUN 驅動程式需要這個前提。安裝完成後狀態顯示「已安裝」即可。
步驟三:開啟 TUN 模式
回到主介面,找到「TUN 模式」開關(通常在首頁卡片區或「設定 → 核心設定」中),將其打開。首次開啟時 Clash 會自動安裝 WinTUN 虛擬驅動程式,過程需要幾秒鐘,工作列圖示可能短暫閃爍屬於正常現象。
WinTUN Userspace Tunnel 或 Meta 的虛擬介面卡,說明驅動程式已就緒。
步驟四:推薦配置 TUN 參數
在 Clash Verge Rev 的「覆寫配置」或直接編輯訂閱 YAML,加入以下 TUN 段落:
tun:
enable: true
stack: mixed # mixed 相容性最好(gvisor + system 混合)
dns-hijack:
- any:53 # 攔截所有 DNS 請求,防止 DNS 洩漏
auto-route: true # 自動添加路由規則
auto-detect-interface: true # 自動探測出口網卡
stack: mixed 是目前最推薦的模式:TCP 流量走 gvisor 用戶態協定棧(相容性佳),UDP 流量走 system(效能更高),兩者各司其職。如果您發現某些 UDP 應用程式不正常,可以改為 stack: gvisor 統一處理。
5 macOS 開啟 TUN 模式
步驟一:授予系統權限
macOS 下 TUN 的實作依賴系統「網路內容過濾器」(Network Extension)。首次點擊 TUN 開關後,系統會彈出權限申請視窗,打開「系統偏好設定(或系統設定)」→「隱私權與安全性」→ 底部點擊「允許」即可。
步驟二:開啟 TUN 開關
授權後回到 Clash Verge Rev 主介面,點擊「TUN 模式」切換按鈕,狀態變為藍色高亮即表示已啟動。您會注意到選單列圖示旁多了一個小盾牌標誌,這就是 TUN 處於啟動狀態的標識。
步驟三:YAML 配置與 Windows 一致
macOS 下的 YAML 配置與 Windows 完全相同,同樣建議設定 stack: mixed、auto-route: true 和 dns-hijack,具體參見上方 Windows 部分的配置範例。
6 驗證 TUN 模式是否真正生效
開啟之後別急著用,先做幾個簡單驗證,確認 TUN 已接管全部流量。
方法一:終端機 curl 測試
打開命令提示字元 (Windows) 或終端機 (macOS),執行:
curl -v https://www.google.com
如果能正常返回回應 (HTTP 200),說明終端機流量已走代理。此前沒有 TUN 時,這條指令大概率會逾時或回報連線被拒。
方法二:查看當前 IP 歸屬
curl https://ip.sb
返回的 IP 位址應該是您節點所在的境外 IP,而非本機電信業者 IP。若兩者一致,說明 TUN 未生效,檢查是否以管理員權限執行。
方法三:在 Clash 連線面板中觀察
打開 Clash Verge Rev → 「連線」面板,執行任意終端機指令後,看是否出現對應的連線記錄。TUN 模式下,curl、git、npm 等指令發起的連線都會出現在列表中,程序名稱一目了然。這是排除問題最直接的方式。
方法四:Docker 拉取映像檔測試
docker pull hello-world
如果能從 Docker Hub 正常拉取映像檔(無需在 Docker Desktop 中單獨配置代理),說明 TUN 已成功接管 Docker 的網路流量。這對於國內用戶來說幾乎就是 TUN 能否正常運作的黃金測試。
7 進階:精細化分流規則
TUN 接管全部流量之後,合理的分流規則就顯得更加重要——畢竟國內網站沒必要走代理,否則反而會增加延遲。以下是幾個常用的精細化配置建議:
為區域網路和國內 IP 保留直連
rules:
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
GEOIP,CN,DIRECT 這條規則會讓所有歸屬中國大陸的 IP 直接連線,不走代理,這對於存取國內網站、網遊、銀行 APP 等場景非常關鍵。
排除特定程序走直連
Mihomo 核心支援 PROCESS-NAME 規則,可以針對程序名稱設定例外:
rules:
- PROCESS-NAME,WeChat,DIRECT # WeChat 走直連
- PROCESS-NAME,QQ,DIRECT # QQ 走直連
- PROCESS-NAME,Thunder,DIRECT # 迅雷 走直连
使用 Rule Provider 訂閱社群規則集
手動維護規則既費時又容易遺漏,推薦透過 Rule Provider 引入 ACL4SSR 規則集,可以獲得覆蓋數萬個網域的精準分流,並附帶 Netflix、YouTube 解鎖與廣告過濾,開箱即用。
DNS 防洩漏配置
TUN 開啟後,DNS 洩漏問題會比系統代理模式更加突出。建議同步配置 FakeIP 模式與 DoH,詳細方案可參考我們的《徹底防止 DNS 洩漏》一文。
8 常見問題排查
Q:開啟 TUN 後網路完全斷了?
最常見的原因是沒有以管理員權限執行,或者 WinTUN 驅動程式安裝失敗。請先關閉 TUN 開關,檢查「裝置管理員」中是否存在虛擬網卡,若沒有,重新安裝 Service Mode 後再試。
Q:國內網站存取變慢了?
檢查分流規則是否正確設定了 GEOIP,CN,DIRECT。另外確認 GeoIP 資料庫 (Country.mmdb) 是最新版本,Clash Verge Rev 支援在設定中一鍵更新。
Q:遊戲、語音軟體出現 UDP 問題?
嘗試將 stack 從 mixed 改為 system,或針對該軟體程序添加 PROCESS-NAME,xxx,DIRECT 規則直連其 UDP 流量。
Q:macOS 下 TUN 開關點擊沒反應?
前往「系統設定 → 隱私權與安全性 → 網路」,確認 Clash Verge Rev 已出現在列表中並且已打開權限。部分 macOS 版本需要重啟應用程式後權限才會生效。
Q:Docker Desktop 依然無法拉取映像檔?
Docker Desktop 有自己獨立的虛擬網路層,部分版本可能需要在 Docker Desktop 設定中手動配置代理。建議在 Docker 設定裡將 HTTP Proxy 和 HTTPS Proxy 都指向 http://127.0.0.1:7890(或您的 Clash 混合端口),與 TUN 模式並行使用,可獲得最佳相容性。
9 總結
TUN 模式是從「夠用」到「真正好用」的分水嶺。系統代理解決了 80% 的場景,而 TUN 解決了剩下那 20% 裡最讓人頭疼的問題——終端機、Git、Docker、遊戲用戶端這些「不走尋常路」的流量,終於可以統一納入代理規則的管轄。
配置看起來步驟不少,但實際操作下來不超過 5 分鐘:安裝服務模式、打開 TUN 開關、把上面的 YAML 片段貼進覆寫配置,就這麼簡單。一次配置,之後再也不用為「某某軟體不走代理」抓耳撓腮。
相比其他用戶端需要手動編寫驅動配置或藉助第三方工具,Clash Verge Rev 把 TUN 配置整合進了 GUI 介面,幾個開關就能搞定,這也是它在國內開發者群體中口碑極佳的原因之一。如果您還沒試過,現在就是最好的開始時機。