1. 系統代理的局限性
「系統代理(System Proxy)」本質上是在作業系統的網路設置中寫入 HTTP/HTTPS 代理地址(如 127.0.0.1:7890)。只有主動讀取系統代理設置的應用才能走代理,包括:
✅ 支援系統代理
- • Chrome / Firefox / Safari 等瀏覽器
- • Slack / Discord(桌面版)
- • 大多數 GUI 項目
❌ 不支援系統代理
- • Terminal / PowerShell / CMD
- • git、curl、wget、npm、pip
- • Docker daemon
- • 部分遊戲、UWP 項目
指令列工具通常在環境變數 https_proxy 中讀取代理,您可以手動設置,但每次打開新終端機都要重設,非常麻煩。TUN 模式從根本上解決了這個問題。
2. TUN 模式的工作原理
TUN(Tunnel)模式通過在作業系統中創建一張虛擬網卡,並將系統的預設路由表指向該虛擬網卡,從而在網路層(L3)接管所有出站流量,再由 Clash 核心統一處理分流邏輯。
__T_zh_cn_tun_mode_135_001__
__T_zh_cn_tun_mode_139_001__
3. 誰需要開啟 TUN?
軟體開發者
需要在終端機使用 git、npm、pip、cargo 等工具存取 GitHub、npmjs 等海外資源。
Docker / 容器用戶
Docker daemon 抓取映像檔(docker pull)不走系統代理,需要 TUN 模式或單獨配置 Docker 代理。
遊戲玩家
部分遊戲用戶端(含 UWP 應用如 Xbox Game Pass)不走系統代理,TUN 模式可讓遊戲流量也經過規則分流。
僅用瀏覽器上網的普通用戶
瀏覽器已支援系統代理,不需要 TUN 模式,開啟反而增加系統資源消耗。
4. 如何在 Clash Verge Rev 中開啟 TUN
TUN 模式需要管理員/root 權限。首次使用需安裝「服務模式(Service Mode)」,之後即可無感使用。
-
1
安裝服務模式
打開 Clash Verge Rev → 進入「設置(Settings)」→「系統設置」→ 點擊「安裝服務模式」→ 在系統彈窗中授予管理員權限。
-
2
開啟 TUN 模式
在「設置」中找到「TUN 模式」開關,點擊開啟。狀態列圖示變綠即表示 TUN 已啟動。
-
3
驗證效果
打開新終端機,執行
curl -I https://www.google.com,能返回 200 響應即表示 TUN 模式生效。
5. TUN 配置參數說明
tun: enable: true stack: mixed # 推荐 mixed;gvisor 更安全但性能略低 auto-route: true # 自动设置路由表,接管所有流量 auto-detect-interface: true dns-hijack: # 劫持 DNS 请求,防止 DNS 泄漏 - any:53 inet4-route-address: # 仅路由这些网段(留空=全部) - 0.0.0.0/1 - 128.0.0.0/1
Clash Verge Rev 中無需手動編輯此配置,GUI 開關會自動寫入。
6. 疑難排解
開啟 TUN 後瀏覽器無法存取任何網站
TUN 模式下國內網站變慢了
GEOIP,CN,DIRECT 和國內域名直接連線規則。TUN 接管流量後依然會走規則分流邏輯,國內流量應自動直接連線。