初次使用 Clash 系列用戶端時,介面上最常看到的兩個開關是「系統代理」與「TUN 模式」。許多人以為兩者都是「開代理」,隨便打開一個就好;實際上它們在底層攔截流量的方式完全不同,適用的應用場景也差很多。選錯模式,就會出現「瀏覽器能上 Google,命令列卻 ping 不通」或「遊戲連線異常」這類令人困惑的狀況。

本文以 Mihomo(原 Clash.Meta)核心為基礎,搭配 Clash Verge Rev、ClashX 等常見圖形用戶端,系統說明 TUN 模式與系統代理的差異、各自適合什麼場景,並提供 Windows 與 macOS 的圖文設定步驟,最後整理常見問題,讓你在 2026 年能依需求一次選對、設對。

什麼是系統代理?

系統代理(System Proxy)是指 Clash 用戶端向作業系統寫入全域的 HTTP/HTTPS 代理位址(通常是本機的 127.0.0.1:7890 或混合埠 7897)。之後,有主動讀取系統代理設定的應用程式——例如 Chrome、Edge、部分即時通訊軟體——會把流量送到 Clash,再由 Clash 依規則分流到代理節點或直連。

它的優點是實作簡單、資源佔用低、不需要安裝虛擬網卡驅動,一般也不強制要求系統管理員權限。對於「主要用瀏覽器上網、偶爾切換節點」的使用者,系統代理往往就夠用。

限制同樣明顯:不讀系統代理的程式,流量完全不會經過 Clash。典型例子包括:

  • Windows 命令提示字元、PowerShell 中的 curlgit(未設定環境變數時)
  • 部分遊戲用戶端、啟動器(直接連線遊戲伺服器)
  • Windows 市集(UWP)應用,對本機代理支援有限
  • 依賴自訂 Socket 的專業軟體、遠端桌面工具等
小提示:關閉 Clash 時,請記得關閉「系統代理」開關,否則系統仍指向已關閉的本機埠,會導致全機無法上網。

什麼是 TUN 模式?

TUN 模式(在部分用戶端也稱為「增強模式」「虛擬網卡模式」)會在作業系統中建立一張虛擬網路介面(Windows 上常透過 Wintun 驅動,macOS 上透過 utun)。Clash 核心把幾乎所有出站 IP 封包先導入這張虛擬網卡,再依 YAML 規則決定走代理、直連或拒絕,因此又常被稱為「全域代理」或「真·全域」。

與系統代理相比,TUN 不依賴應用是否「願意」使用代理設定,而是在網路層統一攔截,因此能覆蓋命令列、遊戲、Docker 容器出站(視規則而定)等場景。同時,Clash 可在 TUN 下接管 DNS 解析(如 fake-ipredir-host),降低 DNS 外洩風險。

代價是:通常需要系統管理員/root 權限、安裝虛擬網卡驅動,且對防火牆、其他 VPN 軟體的相容性要求更高;筆電上資源佔用也略高於純系統代理。

核心差異對照

下表從多個維度快速比較兩種模式,方便你依場景決策:

比較項目 系統代理 TUN 模式
攔截層級 應用層(HTTP/HTTPS/SOCKS 代理協定) 網路層(虛擬網卡,IP 封包)
覆蓋範圍 支援系統代理的應用(多為瀏覽器、部分 App) 全系統出站流量(依規則分流)
權限需求 一般使用者即可 通常需系統管理員/輸入密碼授權
驅動/元件 無需額外驅動 需 Wintun(Win)或 utun(macOS)等
資源佔用 較低 略高(虛擬網卡 + 更多封包處理)
DNS 控制 依賴應用自身 DNS,外洩風險較高 可劫持 DNS,配合 fake-ip 更安全
典型問題 命令列、遊戲不走代理 與其他 VPN 衝突、需排防火牆
重要:同時開啟系統代理與 TUN 模式不建議。TUN 已攔截流量時,系統代理可關閉,避免重複處理造成連線錯誤或速度下降。

什麼時候用系統代理?

建議在以下情況優先使用系統代理:

  • 日常瀏覽網頁:Chrome、Firefox、Safari 等瀏覽器會自動讀取系統代理
  • 公司或學校筆電:無法取得管理員權限安裝 TUN 驅動
  • 與其他 VPN 並存測試:暫時只需代理瀏覽器,不想改動全系統路由
  • 追求最低開銷:長時間掛機但流量不大,希望減少背景 CPU 與記憶體

若你使用 Clash 的「規則模式」,系統代理同樣會依訂閱中的規則分流:境內網站直連、Google/YouTube 等走代理,體驗與 TUN 在瀏覽器層面一致,差別在於非瀏覽器流量是否被納入

什麼時候用 TUN 模式?

以下場景建議改用 TUN:

  • 開發與運維:終端機執行 npmpipdocker pullgit clone 需存取 GitHub 等
  • 遊戲與啟動器:Steam、Epic 等不讀系統代理的連線
  • 遠端桌面、串流、直播軟體:需穩定走指定節點或規則
  • 防止 DNS 外洩:希望由 Clash 統一解析並配合 DoH 上游
  • 「全域」規則測試:驗證訂閱規則是否對全系統生效

一句話總結:只要「非瀏覽器」的程式也需要走 Clash,就該考慮 TUN;若只有瀏覽器,系統代理通常更省事。

系統代理設定方法

Windows(Clash Verge Rev)

  1. 確認已匯入訂閱並在「代理」頁面選好節點或「自動選擇」策略群組。
  2. 在主介面頂部將「系統代理」開關打開(呈藍色/啟用狀態)。
  3. 開啟瀏覽器造訪 google.com 驗證。可在 Windows「設定 → 網路和網際網路 → Proxy」中看到本機代理位址已由用戶端寫入。

macOS(ClashX / ClashX Pro)

  1. 從選單列圖示點擊,確認已載入設定檔並選擇出口節點。
  2. 勾選「設為系統代理」(Set as system proxy)。選單列圖示會顯示為已連線狀態。
  3. 在「系統設定 → 網路 → 詳細資訊 → 代理」中可看到 HTTP/HTTPS 代理指向本機埠。

若命令列工具仍需走代理但不開 TUN,可在終端機暫時設定環境變數(以混合埠 7897 為例):

export https_proxy=http://127.0.0.1:7897
export http_proxy=http://127.0.0.1:7897
export all_proxy=socks5://127.0.0.1:7897

這是折衷方案:無需 TUN,但需對每個終端機工作階段手動設定,且無法覆蓋不讀環境變數的 GUI 程式。

TUN 模式設定方法

Windows(Clash Verge Rev)

  1. 以系統管理員身分執行:右鍵捷徑 →「以系統管理員身分執行」,或在「相容性」中勾選永久以管理員執行。
  2. 進入「設定」→ 找到「TUN 模式」或「虛擬網卡」相關選項並開啟。首次會提示安裝 Wintun 驅動,請允許安裝。
  3. TUN 生效後,可關閉「系統代理」開關,避免雙重代理。
  4. 開啟 CMD,執行 ping google.comcurl -I https://www.google.com 驗證非瀏覽器流量是否已走 Clash。

進階使用者也可在設定檔 YAML 中手動啟用 TUN(Mihomo 語法示例):

tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

圖形用戶端通常會自動合併上述欄位,不建議新手直接改 YAML,除非熟悉 Mihomo 文件。

macOS(Clash Verge Rev / ClashX Pro)

  1. 啟動用戶端時輸入 macOS 管理員密碼,授權建立 utun 虛擬介面。
  2. 在 Clash Verge Rev 的「設定」中開啟 TUN;ClashX Pro 則在選單中開啟「增強模式」或 TUN 相關選項(依版本文案略有不同)。
  3. 確認「設為系統代理」可關閉,僅保留 TUN 運作。用終端機 curl https://api.ipify.org 檢查出口 IP 是否為代理節點。
DNS 建議:在 TUN 模式下於用戶端或設定檔中啟用 DNS 劫持,並使用支援 DoH 的上游(如 https://dns.google/dns-query),可顯著降低 DNS 外洩與污染問題。

Android(FlClash 等)

Android 沒有「系統代理」開關的同一套邏輯,而是透過 VpnService 建立 VPN 通道。FlClash 等用戶端在「設定」中提供 TUN/增強模式,效果類似桌面端 TUN:在一般 VPN 模式仍有个別 App 繞過時,可再開啟 TUN 以擴大覆蓋。詳細步驟可參考本站 FlClash Android 設定教學

與「規則/全域/直連」模式的關係

新手常把「TUN vs 系統代理」與「規則 vs 全域」混為一談。前者決定流量怎麼進 Clash,後者決定進來之後怎麼出去

  • 規則模式:依域名、IP、GEOIP 等規則分流,境內直連、境外走代理(最常用)
  • 全域模式:所有匹配流量都走代理(除 DIRECT 規則外),境內站也可能變慢
  • 直連模式:暫時關閉代理效果,用於測試或緊急上網

無論使用 TUN 還是系統代理,都應以規則模式為日常預設;TUN 只解決「流量有沒有進 Clash」,並不改變規則分流的邏輯。

常見問題與排解

瀏覽器正常,命令列不通

這是典型的「只開了系統代理」現象。解法:改開 TUN,或在終端機設定 http_proxyhttps_proxy 環境變數指向 Clash 混合埠。

TUN 無法啟動或提示驅動失敗

  • 確認以系統管理員身分執行(Windows)或已授權網路擴充(macOS)
  • 關閉其他 VPN(如 Cisco AnyConnect、部分殺毒內建 VPN)後重試
  • 重新安裝 Wintun:關閉 Clash → 刪除用戶端資料夾中的 wintun 相關檔案 → 以管理員重新開啟 TUN

開啟後反而更慢或無法連線

檢查是否同時開啟系統代理與 TUN、或瀏覽器又安裝了獨立代理擴充套件指向另一個埠。關閉多餘代理層,只保留 TUN + 規則模式通常可恢復正常。

擔心 DNS 外洩

在 TUN 模式下開啟 DNS 劫持,設定檔中使用 fake-ipredir-host,並在 dns 區塊指定可信 DoH 上游。系統代理模式下,建議瀏覽器勿再單獨指定公共 DNS,以免繞過 Clash。

快速決策流程

若不確定該用哪一種,可依下列順序自問:

  1. 是否只有瀏覽器需要代理?→ :系統代理即可。
  2. 是否需要命令列、遊戲、UWP 或全系統一致分流?→ :使用 TUN。
  3. 是否有管理員權限安裝虛擬網卡?→ :暫用系統代理 + 終端機環境變數折衷。
  4. 是否與公司 VPN 同時使用?→ 先關閉其一,或諮詢 IT 政策,避免路由衝突。

常見問答

TUN 和系統代理可以一起開嗎?

不建議。TUN 生效時關閉系統代理即可,否則部分流量可能被處理兩次。

TUN 會很耗電嗎?

在桌上型電腦影響很小;筆電長時間離線工作、僅瀏覽網頁時可優先用系統代理,需要開發編譯或遊戲時再切 TUN。

只有 Clash Meta/Mihomo 才支援 TUN 嗎?

現行主流圖形用戶端(Clash Verge Rev、ClashX Pro、FlClash 等)均基於 Mihomo 或相容核心,均支援 TUN。已停止維護的舊版 Clash for Windows 對 TUN 支援有限,建議遷移至 Verge Rev 等活躍專案。

為什麼選 Clash 而不是單純「開代理」?

市面上不乏一鍵 VPN 或瀏覽器內建代理,但它們往往只有「全走」或「全不走」,無法依域名精細分流,也難以在命令列與 GUI 之間取得一致行為。部分工具只改瀏覽器代理,開發者執行 git push 仍連不上 GitHub;另一些號稱全域的 VPN 則讓所有流量(含銀行、政府網站)都繞海外,速度與隱私反而變差。

Clash 生態的優勢在於:規則引擎 + 可選的 TUN/系統代理雙通道。你可以用系統代理輕量瀏覽,需要時一鍵切 TUN 覆蓋終端機與遊戲;訂閱 YAML 裡的 GEOIP、域名規則讓境內直連、境外走節點,不必手動開關。Mihomo 核心持續支援 Hysteria2、TUIC 等新協定,Clash Verge Rev、FlClash 等用戶端也把 TUN 開關、DNS 劫持做成圖形化選項,比自行編輯 iptables 或寫腳本省心得多。若你正在找一套能依場景在「輕量代理」與「真全域」之間自由切換、又保留分流智慧的方案,從本站下載對應平台用戶端並依本文設定,會比單一模式的泛用 VPN 更貼近實際需求。

立即免費下載 Clash,開啟流暢上網新體驗 →