Clash 規則模式、全域模式與直連模式怎麼選?三種代理模式差異解析
整理 Clash rule、global、direct 三種模式的流量處理方式與適用情境,並說明 config.yaml 的 mode 欄位設定與切換方法。
三種模式差異:流量進入核心後由誰處理
日常使用建議選擇規則模式;需要暫時排除分流規則的影響時,切換至全域模式;想確認本地網路能否直接連線時,則切換至直連模式。這三種模式改變的是 Clash 核心處理連線的方式,不會變更訂閱內容或節點伺服器設定。
此處所說的「連線」有個重要前提:流量必須已進入 Clash。瀏覽器遵循系統代理、應用程式手動連線至代理埠,或流量由 TUN 接管後,核心才能決定流量要走哪條路徑。未進入核心的連線,不會因為介面切換到全域模式就自動改走代理。
| 模式與欄位值 | 主要判斷方式 | 適用情境 |
|---|---|---|
規則模式 rule | 依規則順序比對,交由符合條件的策略處理 | 日常分流、區域網路存取,以及讓不同網站走不同出口 |
全域模式 global | 交由內建的 GLOBAL 策略組處理 | 暫時使用單一出口、確認問題是否出在規則選擇 |
直連模式 direct | 使用直連出站,不依一般規則清單選擇代理 | 檢查本地網路、暫時不使用遠端節點 |
規則模式:依序比對,符合第一條規則後即停止
mode: rule 會讓核心依照 rules 的排列順序檢查連線。符合某條規則後,連線便交由該規則指定的策略處理,通常不會再以後續規則決定這條連線的走向。策略可以是節點或策略組,也可以是內建的 DIRECT、REJECT。
看懂最精簡的規則範例
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,Proxy
example.com及其子網域會符合第一條規則,並採用直連。- 目的位址位於
192.168.0.0/16範圍內的連線會符合第二條規則;no-resolve表示比對這條 IP 規則時不會主動觸發網域解析。 - 未符合前面規則的連線會由
MATCH作為最後的兜底,交由名為Proxy的策略處理。
這是規則片段,不是完整的訂閱檔案。使用前,現有設定中必須已定義 Proxy 節點或策略組;如果實際的組名是「節點選擇」,就必須使用完全相符的名稱。名稱不相符會導致設定檢查失敗,不會自動替換成其他節點。
規則模式不會自動辨識所有網站
分流結果取決於設定中的規則、規則集更新狀態,以及策略組目前的選擇。假設某網站符合一個選擇器,而該選擇器目前選的是 DIRECT,最後仍會直連。反過來說,位於中國大陸的網站若符合 MATCH,Proxy,也可能經由遠端節點連線。不能只根據網站所在區域推斷實際路徑。
單一網站的連線路徑不如預期時,先到客戶端的「連線」頁面查看對應網域、符合的規則及出站鏈路,再調整規則。需要新增例外時,請將更具體的網域規則放在較寬泛的規則之前;MATCH 應放在最後,否則後續規則將無法生效。
全域模式:統一交由 GLOBAL 處理,但不代表所有裝置都會走代理
mode: global 會將通常受模式控制的連線交由內建的 GLOBAL 策略組處理,不再依一般 rules 清單進行日常分流。因此,切換模式後,還要開啟代理或策略組頁面,確認全域組選的是可用節點,或最終會選到節點的策略組。
如果 GLOBAL 選的是 DIRECT,結果仍會是直連;如果選的是自動測速組,最終出口仍取決於該組的候選節點及選擇邏輯。「全域」指的是統一的判斷入口,不代表固定節點、最低延遲,或所有應用程式都已接管。
適合短時間交叉測試,不適合取代流量接管檢查
- 先記下規則模式下無法開啟的完整網域,以及該連線符合的規則。
- 切換至全域模式,並在
GLOBAL中選擇已知可用的節點。 - 關閉原本的頁面連線後重新瀏覽,或開啟新的瀏覽器工作階段,避免舊連線繼續沿用原本的路徑。
- 如果全域模式可用、規則模式卻不行,請切回規則模式,檢查原先符合的策略與節點,不要直接刪除整份規則。
全域模式也可能讓路由器管理頁面、印表機或企業內網流量走到不合適的出口。若部分流量已列入系統代理的略過清單,或在 TUN 路由中排除,這些流量仍不會進入核心。使用 mihomo 時,如果設定包含額外路由、監聽器或進階規則,也應一併核對,不能只憑模式名稱判斷所有流量的走向。
直連模式:保留核心入口,改由本地網路連線
mode: direct 會讓進入核心的連線使用直連出站,適合用來判斷連線故障是否與遠端代理有關。例如,同一個網站在直連模式下能開啟、在全域模式下卻無法開啟,就應優先檢查全域組的選擇、節點是否可用,以及該出口的網路狀況。
直連模式不等於退出客戶端。系統代理可能仍指向本機監聽埠,TUN 也可能仍在運作,DNS 設定同樣可能仍由核心處理。此時若直接關閉客戶端,而系統代理未正確還原,應用程式可能仍會嘗試連線至已停止監聽的埠,導致所有網頁都無法開啟。
- 只比較出站路徑:保持客戶端執行,切換至直連模式,再建立新連線。
- 比較完全不經過客戶端的網路:關閉系統代理與 TUN,確認作業系統的代理設定已還原後再測試。
- 準備關閉客戶端:優先使用客戶端提供的正常結束方式,並檢查是否有殘留的代理設定。
直連也不保證一定能連上目標網站。目標網站故障、本地 DNS 異常、網路存取限制或企業驗證要求,都可能影響結果。直連是用來判斷路徑差異的工具,不是通用的修復方法。
config.yaml 的 mode 欄位怎麼設定
mode 是 YAML 頂層欄位,與 mixed-port、rules 同一層,不應縮排到 dns 或任何策略組之下。建議使用小寫值 rule、global、direct。以下範例以 7890 示範混合代理埠,並不代表所有客戶端的預設埠都是這個值。
# 合併至現有設定的頂層,不要重複定義相同欄位
mixed-port: 7890
mode: rule
若要改成全域或直連,只要替換同一行的值:
# 全域模式
mode: global
# 直連模式
mode: direct
圖形介面與檔案修改如何配合
- 在支援此功能的桌面客戶端中,開啟「設定」→「Clash 設定」或「核心設定」,找到「代理模式」;部分客戶端會將模式按鈕直接放在首頁。實際名稱與位置請以目前使用的客戶端為準。
- 若需要編輯檔案,先到「設定檔」或「訂閱」頁面確認目前啟用的設定檔,儲存一份副本,再透過相應的編輯入口修改。
- 儲存後,使用客戶端提供的重新載入功能,檢查是否出現 YAML 解析錯誤,並確認介面顯示的目前模式。
- 重新建立連線,並在「連線」頁面確認路徑;檔案顯示儲存成功,不代表執行中的核心已採用新值。
系統代理、TUN 與 DNS:三個容易混淆的環節
系統代理決定應用程式是否將連線送至本機埠
假設設定實際監聽 127.0.0.1:7890,遵循系統代理設定的瀏覽器就能透過此入口連線;忽略系統代理的遊戲、命令列程式或其他應用程式則可能仍會直接連線。Windows 11 可前往「設定」→「網路和網際網路」→「Proxy」確認入口;macOS 可前往「系統設定」→「網路」→目前的網路服務→「詳細資訊」→「Proxy」確認。這裡的位址和埠必須與客戶端實際的監聽設定一致。
TUN 決定接管範圍,模式決定接管後的出口
TUN 透過虛擬網路介面與路由設定,將更多應用程式的流量送進核心。它不是第四種代理模式,也不會與規則模式互斥。常見的設定方式是「開啟 TUN + 規則模式」,再透過規則區分直連與代理。啟用 TUN 後,仍應確認權限、路由排除項目,以及是否與其他 VPN 衝突;不要把「全域模式」當成「TUN 已啟用」的證明。
切換模式不會自動更換整套 DNS 設定
DNS 的 nameserver、fake-ip 等設定,與 mode 屬於不同層面的設定。使用 mihomo 時,解析流量的出站方式也可能受到 respect-rules、代理伺服器網域解析設定等因素影響。因此,直連模式下仍有解析問題,或全域模式下網域連不上但 IP 可連,都需要繼續檢查 DNS 記錄,不要只在三種模式之間反覆切換。
依照現象排查:切換模式後該檢查什麼
| 現象 | 優先檢查項目 |
|---|---|
| 全域模式可連線,規則模式無法連線 | 符合規則的位置、對應策略組的選擇,以及是否誤走 DIRECT 或 REJECT |
| 規則模式可連線,全域模式無法連線 | GLOBAL 目前的選擇、所選節點是否可用,以及內網流量的出口是否改變 |
| 三種模式都沒有連線紀錄 | 應用程式是否遵循系統代理、埠號是否正確,以及 TUN 是否確實接管流量 |
| 切換後舊頁面的狀況沒有改變 | 瀏覽器快取、連線重用、背景長連線;請建立新連線再次確認 |
| 直連可用,代理出站失敗 | 節點連線錯誤、訂閱中的節點狀態,以及代理組的最終出口 |
測試時請保持其他條件不變:使用相同網域、相同應用程式與相同接管方式,每次只調整模式或一個策略組。記錄「目前模式、符合的規則、最終出站、錯誤訊息」這四項,比只記下「能不能開啟」更容易找出問題。分享記錄前,請先刪除訂閱網址、存取權杖及其他敏感資訊。
日常使用:以規則模式為主,全域與直連模式用於比對
- 日常瀏覽網頁、辦公與使用區域網路:選擇規則模式,維護必要的網域例外,並確認常用策略組的實際選擇。
- 暫時需要統一使用節點出口:選擇全域模式,同時檢查 GLOBAL,不要只切換模式按鈕。
- 確認本地網路是否正常:先用直連模式進行比對;若要排除客戶端本身的影響,再關閉流量接管並檢查系統設定。
判斷順序可以記成三步:先確認流量是否進入核心,再確認目前模式,最後查看最終出站。掌握這三個層次,就能理解為什麼「全域」模式下仍有應用程式不走代理,也能更準確地區分規則、節點與 DNS 問題。若要逐項查閱欄位,請繼續閱讀Clash 設定欄位;第一次匯入設定,則可從快速入門教學開始。