配置指南 · 約 8 分鐘閱讀

Clash TUN 虛擬網卡模式詳解

為什麼終端機裡執行 curlgit clonedocker pull 明明開了代理卻還是慢?因為系統代理根本接管不了它們——這正是 TUN 模式存在的意義。

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 核心統一處理分流邏輯。

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. 1

    安裝服務模式

    打開 Clash Verge Rev → 進入「設置(Settings)」→「系統設置」→ 點擊「安裝服務模式」→ 在系統彈窗中授予管理員權限。

  2. 2

    開啟 TUN 模式

    在「設置」中找到「TUN 模式」開關,點擊開啟。狀態列圖示變綠即表示 TUN 已啟動。

  3. 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 後瀏覽器無法存取任何網站
請確認「服務模式」已成功安裝(右鍵托盤圖示 → 服務狀態應顯示「執行中」)。若仍有問題,嘗試以管理員身分重新啟動 Clash Verge Rev。
TUN 模式下國內網站變慢了
檢查您的規則配置中是否正確設置了 GEOIP,CN,DIRECT 和國內域名直接連線規則。TUN 接管流量後依然會走規則分流邏輯,國內流量應自動直接連線。
macOS 提示「網路擴充功能」權限被拒絕
前往「系統設置 → 隱私與安全性 → 網路擴充功能」,找到 Clash Verge Rev 並允許。macOS 15(Sequoia)及以上版本可能需要在「安全性」中額外授權。

相關閱讀