初次使用 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 中的
curl、git(未設定環境變數時) - 部分遊戲用戶端、啟動器(直接連線遊戲伺服器)
- Windows 市集(UWP)應用,對本機代理支援有限
- 依賴自訂 Socket 的專業軟體、遠端桌面工具等
什麼是 TUN 模式?
TUN 模式(在部分用戶端也稱為「增強模式」「虛擬網卡模式」)會在作業系統中建立一張虛擬網路介面(Windows 上常透過 Wintun 驅動,macOS 上透過 utun)。Clash 核心把幾乎所有出站 IP 封包先導入這張虛擬網卡,再依 YAML 規則決定走代理、直連或拒絕,因此又常被稱為「全域代理」或「真·全域」。
與系統代理相比,TUN 不依賴應用是否「願意」使用代理設定,而是在網路層統一攔截,因此能覆蓋命令列、遊戲、Docker 容器出站(視規則而定)等場景。同時,Clash 可在 TUN 下接管 DNS 解析(如 fake-ip、redir-host),降低 DNS 外洩風險。
代價是:通常需要系統管理員/root 權限、安裝虛擬網卡驅動,且對防火牆、其他 VPN 軟體的相容性要求更高;筆電上資源佔用也略高於純系統代理。
核心差異對照
下表從多個維度快速比較兩種模式,方便你依場景決策:
| 比較項目 | 系統代理 | TUN 模式 |
|---|---|---|
| 攔截層級 | 應用層(HTTP/HTTPS/SOCKS 代理協定) | 網路層(虛擬網卡,IP 封包) |
| 覆蓋範圍 | 支援系統代理的應用(多為瀏覽器、部分 App) | 全系統出站流量(依規則分流) |
| 權限需求 | 一般使用者即可 | 通常需系統管理員/輸入密碼授權 |
| 驅動/元件 | 無需額外驅動 | 需 Wintun(Win)或 utun(macOS)等 |
| 資源佔用 | 較低 | 略高(虛擬網卡 + 更多封包處理) |
| DNS 控制 | 依賴應用自身 DNS,外洩風險較高 | 可劫持 DNS,配合 fake-ip 更安全 |
| 典型問題 | 命令列、遊戲不走代理 | 與其他 VPN 衝突、需排防火牆 |
什麼時候用系統代理?
建議在以下情況優先使用系統代理:
- 日常瀏覽網頁:Chrome、Firefox、Safari 等瀏覽器會自動讀取系統代理
- 公司或學校筆電:無法取得管理員權限安裝 TUN 驅動
- 與其他 VPN 並存測試:暫時只需代理瀏覽器,不想改動全系統路由
- 追求最低開銷:長時間掛機但流量不大,希望減少背景 CPU 與記憶體
若你使用 Clash 的「規則模式」,系統代理同樣會依訂閱中的規則分流:境內網站直連、Google/YouTube 等走代理,體驗與 TUN 在瀏覽器層面一致,差別在於非瀏覽器流量是否被納入。
什麼時候用 TUN 模式?
以下場景建議改用 TUN:
- 開發與運維:終端機執行
npm、pip、docker pull、git clone需存取 GitHub 等 - 遊戲與啟動器:Steam、Epic 等不讀系統代理的連線
- 遠端桌面、串流、直播軟體:需穩定走指定節點或規則
- 防止 DNS 外洩:希望由 Clash 統一解析並配合 DoH 上游
- 「全域」規則測試:驗證訂閱規則是否對全系統生效
一句話總結:只要「非瀏覽器」的程式也需要走 Clash,就該考慮 TUN;若只有瀏覽器,系統代理通常更省事。
系統代理設定方法
Windows(Clash Verge Rev)
-
確認已匯入訂閱並在「代理」頁面選好節點或「自動選擇」策略群組。
-
在主介面頂部將「系統代理」開關打開(呈藍色/啟用狀態)。
-
開啟瀏覽器造訪 google.com 驗證。可在 Windows「設定 → 網路和網際網路 → Proxy」中看到本機代理位址已由用戶端寫入。
macOS(ClashX / ClashX Pro)
-
從選單列圖示點擊,確認已載入設定檔並選擇出口節點。
-
勾選「設為系統代理」(Set as system proxy)。選單列圖示會顯示為已連線狀態。
-
在「系統設定 → 網路 → 詳細資訊 → 代理」中可看到 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)
-
以系統管理員身分執行:右鍵捷徑 →「以系統管理員身分執行」,或在「相容性」中勾選永久以管理員執行。
-
進入「設定」→ 找到「TUN 模式」或「虛擬網卡」相關選項並開啟。首次會提示安裝 Wintun 驅動,請允許安裝。
-
TUN 生效後,可關閉「系統代理」開關,避免雙重代理。
-
開啟 CMD,執行
ping google.com或curl -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)
-
啟動用戶端時輸入 macOS 管理員密碼,授權建立 utun 虛擬介面。
-
在 Clash Verge Rev 的「設定」中開啟 TUN;ClashX Pro 則在選單中開啟「增強模式」或 TUN 相關選項(依版本文案略有不同)。
-
確認「設為系統代理」可關閉,僅保留 TUN 運作。用終端機
curl https://api.ipify.org檢查出口 IP 是否為代理節點。
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_proxy/https_proxy 環境變數指向 Clash 混合埠。
TUN 無法啟動或提示驅動失敗
- 確認以系統管理員身分執行(Windows)或已授權網路擴充(macOS)
- 關閉其他 VPN(如 Cisco AnyConnect、部分殺毒內建 VPN)後重試
- 重新安裝 Wintun:關閉 Clash → 刪除用戶端資料夾中的 wintun 相關檔案 → 以管理員重新開啟 TUN
開啟後反而更慢或無法連線
檢查是否同時開啟系統代理與 TUN、或瀏覽器又安裝了獨立代理擴充套件指向另一個埠。關閉多餘代理層,只保留 TUN + 規則模式通常可恢復正常。
擔心 DNS 外洩
在 TUN 模式下開啟 DNS 劫持,設定檔中使用 fake-ip 或 redir-host,並在 dns 區塊指定可信 DoH 上游。系統代理模式下,建議瀏覽器勿再單獨指定公共 DNS,以免繞過 Clash。
快速決策流程
若不確定該用哪一種,可依下列順序自問:
- 是否只有瀏覽器需要代理?→ 是:系統代理即可。
- 是否需要命令列、遊戲、UWP 或全系統一致分流?→ 是:使用 TUN。
- 是否有管理員權限安裝虛擬網卡?→ 否:暫用系統代理 + 終端機環境變數折衷。
- 是否與公司 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 更貼近實際需求。