什麼是 TUN 模式?
在日常使用代理工具時,您可能遇到過這樣的困惑:明明 Clash 已經開啟並執行,瀏覽器訪問境外網站一切正常,但開啟終端執行 git clone、npm install or curl 時,卻仍然超時 or 報連線錯誤. 這是因為傳統的"系統代理"模式只對支援 HTTP/HTTPS 代理協議的應用生效,而命令列工具、遊戲客戶端、部分 Electron 應用等往往直接發出 TCP/UDP 連線,繞過了系統代理設定。
TUN 模式(Tunnel 模式)的出現正是為了解決這一痛點. 它在作業系統層面建立一塊虛擬網絡卡(通常命名為 utun or Meta),將系統中全系統出站流量引入 Clash 的規則引擎進行處理,從而實現真正意義上的"全域性代理". 無論是命令列工具、遊戲程式,還是系統服務發出的網路請求,都會被 TUN 虛擬網絡卡接管,按照您配置的分流規則決定是否走代理節點。
Clash Verge Rev 內建了 Meta(Mihomo)核心,原生支援高效能 TUN 模式,配置步驟相比早期工具大幅簡化. 本文將分別介紹在 Windows and macOS 下的完整開啟流程。
TUN 模式 vs 系統代理:核心區別
在正式操作之前,先理清兩種代理模式的本質差異,幫助您做出合適的選擇:
| 對比項 | 系統代理(HTTP Proxy) | TUN 模式 |
|---|---|---|
| 生效範圍 | 僅支援 HTTP/HTTPS 代理的應用 | 全系統所有出站流量 |
| 命令列工具 | 需手動配置環境變數 | 自動接管,無需額外設定 |
| UDP 流量 | 不支援 | 支援(遊戲加速必備) |
| 許可權要求 | 普通使用者許可權 | 需管理員/root 許可權 |
| 系統相容性 | 所有平臺 | 需 Windows Service or macOS 授權 |
推薦策略:平時瀏覽網頁使用系統代理即可,有命令列開發需求 or 需要遊戲加速時,開啟 TUN 模式效果最佳. 兩種模式可以隨時切換,互不影響。
開始之前:確認前置條件
在開啟 TUN 模式之前,請確保滿足以下條件:
- 已下載並安裝最新版 Clash Verge Rev(建議 v2.0.0 and 以上版本). 尚未安裝?可前往 客戶端下載頁 獲取最新版本。
- 擁有可用的節點訂閱連結,並已在 Clash Verge Rev 中成功匯入("代理"頁面可以看到節點列表)。
- 作業系統為 Windows 10/11 or macOS 12 Monterey and 以上版本。
- 擁有本機管理員賬戶許可權(TUN 虛擬網絡卡的建立需要系統級許可權)。
Windows 開啟 TUN 模式教程
Windows 下開啟 TUN 模式需要兩步:先安裝 Service Mode(服務模式),再開啟 TUN 模式. Service Mode 的作用是讓 Clash Verge Rev 以 Windows 系統服務身份執行,從而獲得建立虛擬網絡卡所必需的系統許可權。
1安裝 Service Mode(服務模式)
開啟 Clash Verge Rev,點選左側選單中的「設定」. 向下滾動找到「系統設定」區域,可以看到「服務模式」選項。
點選「服務模式」右側的「安裝」按鈕. 此時系統會彈出 UAC 許可權確認視窗,點選「是」授權安裝. 安裝成功後,狀態指示燈會變為綠色,按鈕文字也會切換為「已安裝」。
若點選「安裝」後彈出 UAC 視窗但最終報錯,請確認當前登入賬戶有管理員許可權, or 右鍵 Clash Verge Rev 圖示選擇「以管理員身份執行」後再操作。
2開啟 TUN 模式
Service Mode 安裝完成後,在設定頁面繼續向下找到「TUN 模式」選項,將其開關切換為開啟狀態。
開啟後,Clash Verge Rev 會自動在系統中建立一塊名為 Meta 的虛擬網絡卡,並將全域性出站流量路由至該網絡卡. 您可以開啟 Windows「網路連線」(Win + R → ncpa.cpl)確認是否出現了名為 Meta 的新介面卡,出現則表示 TUN 模式已成功啟用。
3調整 TUN 配置引數(可選)
預設引數適合絕大多數使用者,如有需要可在設定頁面展開「TUN 模式」的詳細配置項, or 直接編輯配置檔案中的 tun 欄位:
tun:
enable: true
stack: mixed # 推荐 mixed:TCP 走 gVisor,UDP 走 system
dns-hijack:
- "any:53" # 劫持所有 DNS 请求,防止泄漏
auto-route: true # 自动添加路由规则
auto-detect-interface: true # 自动检测出口网卡
關鍵引數說明:
- stack:網路棧實現方式.
mixed模式綜合效能最佳,推薦使用;gvisor相容性更好但效能略低;system延遲最低但部分場景下有相容性問題。 - dns-hijack:DNS 請求劫持範圍,填寫
any:53可確保 all DNS 請求都經過 Clash 處理,防止 DNS 洩漏。 - auto-route:開啟後 Clash 自動管理路由表,無需手動新增路由規則。
修改配置檔案後,在 Clash Verge Rev 的「配置」頁面點選對應配置檔案右側的「過載」按鈕使其生效,無需重啟軟體。
macOS 開啟 TUN 模式教程
macOS 下的 TUN 模式配置相對簡單,無需像 Windows 那樣單獨安裝服務元件,但需要在首次開啟時授予系統擴充套件許可權。
1授予 Clash Verge Rev 管理員許可權
首次執行 Clash Verge Rev 時,系統會請求管理員密碼以安裝必要的幫助程式(Helper Tool). 在彈出的密碼輸入框中輸入 macOS 登入密碼並確認即可。
若錯過了這一步 or 曾經拒絕授權,可以在 Clash Verge Rev 的「設定 → 系統設定」中找到「服務模式」,點選「安裝」後再次輸入密碼完成授權。
macOS Sequoia(15.x)and 以上版本可能需要在「系統設定 → 通用 → 登入項與擴充套件」中手動允許 Clash Verge Rev 的網路擴充套件. 若 TUN 模式開啟失敗,請先檢查此處設定。
2開啟 TUN 模式
許可權授予完成後,回到 Clash Verge Rev 的「設定」頁面,找到「TUN 模式」開關,將其切換為開啟狀態。
開啟後,系統選單欄會提示網路配置已更改,此時 Clash Verge Rev 已在 macOS 系統中建立 utun 虛擬網絡卡並接管全域性流量. 您可以開啟「系統設定 → 網路」確認是否出現名為 utun 開頭的新介面,出現即表示 TUN 模式執行正常。
3macOS 專屬建議:開啟增強模式
在 macOS 下,建議同時開啟「增強模式」(位於「設定 → 代理設定」),該模式透過 pf 防火牆規則將網路流量強制路由至 TUN 虛擬網絡卡,適合處理少數系統程序繞過代理的場景,覆蓋更徹底。
驗證 TUN 模式是否生效
開啟 TUN 模式後,可以透過以下幾種方式驗證它是否真正生效:
方法一:命令列驗證(推薦)
開啟終端(PowerShell / Terminal),執行以下命令:
# 测试 curl 是否走代理(返回境外 IP 则说明 TUN 生效)
curl -s https://ipinfo.io/ip
# 测试 git 是否能正常访问 GitHub
git ls-remote https://github.com/MetaCubeX/mihomo.git HEAD
若 curl 返回的 IP 地址與您的代理節點出口一致,說明 TUN 模式已成功接管命令列流量。
方法二:檢視 Clash 連線日誌
在 Clash Verge Rev 的「連線」頁面,實時重新整理連線列表. 執行 git clone or npm install 時,若能在連線列表中看到對應域名(如 github.com、registry.npmjs.org)的條目,說明請求已被 TUN 模式捕獲並路由至 Clash。
常見問題與排查
Q1:開啟 TUN 後網速明顯變慢
TUN 模式下 all 流量都經過虛擬網絡卡處理,會引入額外的 CPU 開銷. 建議將 stack 由 gvisor 改為 mixed or system,並確保代理節點本身延遲正常. 若 CPU 佔用過高,可以檢查是否有大量本地流量被誤路由至代理(如 NAS、內網服務),在規則裡新增對應的 DIRECT 規則排除即可。
Q2:Windows 下 TUN 模式開啟後某些應用反而無法聯網
部分安全軟體(如 Windows Defender、防毒軟體)可能攔截 TUN 虛擬網絡卡的建立 or 流量. 建議暫時將 Clash Verge Rev and 其安裝目錄加入安全軟體的白名單, or 在 Windows Defender 防火牆中允許 clash-verge-rev.exe 的入站 and 出站規則。
Q3:macOS 提示"網路擴充套件被阻止"
這是 macOS 安全機制(System Extension)的正常提示. 開啟「系統設定 → 通用 → 登入項與擴充套件 → 網路擴充套件」,找到 Clash Verge Rev 的條目並勾選允許,然後重啟 Clash Verge Rev 即可。
Q4:TUN 模式開啟後 DNS 解析異常
若開啟 TUN 後出現域名無法解析的問題,請檢查配置檔案中 dns 部分是否啟用:
dns:
enable: true
enhanced-mode: fake-ip # 或 redir-host
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- tls://8.8.8.8:853
- tls://1.1.1.1:853
同時確認 tun.dns-hijack 已設定為 any:53,避免系統原有 DNS 伺服器的請求繞過 Clash 處理. 如需深入瞭解 DNS 防洩漏配置,可參考 Meta 核心 DNS 防洩漏終極指南 。
Q5:重啟電腦後 TUN 模式沒有自動開啟
在 Clash Verge Rev 的「設定 → 通用」中,開啟「開機自啟動」選項,同時確認「服務模式」為已安裝狀態. 這樣每次開機後 Clash Verge Rev 會自動以服務身份啟動,TUN 模式也會隨之恢復。
進階使用技巧
排除本地流量
開啟 TUN 後, all 流量都會經過 Clash,包括訪問區域網裝置(NAS、路由器管理頁面等)的請求. 建議在規則配置中加入以下條目,將私有地址段直接放行:
rules:
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
# ... 其他规则
UDP 轉發與遊戲加速
TUN 模式原生支援 UDP 流量接管,這是遊戲加速場景的核心優勢. 確保您的代理節點支援 UDP 轉發(Shadowsocks、Hysteria2、TUIC 等協議均支援),然後在對應的 Proxy Group 中開啟 udp: true 即可享受低延遲的遊戲代理體驗,告別遊戲登入 or 匹配時的超時問題。
小結
TUN 模式是 Clash Verge Rev 區別於普通代理工具最核心的特性之一. 一旦配置妥當,您會發現此前各種"代理開了但不生效"的問題幾乎銷聲匿跡——無論是 git、npm、pip 這樣的命令列工具,還是遊戲客戶端、系統服務,都能按照規則精準分流,既保證了訪問速度,也不會影響國內業務的直連體驗。
相比其他同類工具繁瑣的 TAP 驅動安裝流程,Clash Verge Rev 內建的 Meta 核心將 TUN 模式的配置複雜度降到了最低,幾乎做到了"開關一撥即用"的體驗. 如果您還沒有體驗過這種級別的全流量代理,不妨現在就試試——