進階設定 閱讀約 18 分鐘

Clash Meta 誰先匹配?規則順序與 MATCH 寫法(2026)

許多使用者已會寫 GEOIPGEOSITEDOMAIN-SUFFIX,卻仍遇到「規則看起來對,實際節點不對」——多半不是語法突然失效,而是規則優先序策略欄位沒對齊。在 MihomoClash Meta 系核心)的 mode: rule 下,rules 是一條由上而下、先命中先停的清單;最後一行常見的 MATCH 則負責兜底,把前面都沒接住的流量收斂到某個策略組或 DIRECT。本文與本站 GEOIP/GEOSITE 分流PROCESS-NAME 規則 互補,專門處理規則順序MATCH策略組名稱與訂閱合併時的插入位置,並用連線日誌示範如何驗收「第一條命中」;若您懷疑 HTTPS 階段拿不到域名,請併讀 Sniffer 與 SNIMeta 核心 DNS 防洩漏

Clash 編輯組 Clash Meta · Mihomo · 規則順序 · MATCH · 分流不生效

核心觀念:規則不是「全部一起算分」,而是「排隊逐一比對」

可以把 rules 想成一份由上而下的 if 鏈:每一條連線進來時,核心從第一行開始問「這條規則是否與當前連線相符?」;一旦相符,就採用該列第三欄(或您的設定格式中對應欄位)所指定的策略,並停止再往後看。因此規則順序就是優先級:寬鬆規則放太前面,會讓後面精心寫的細則永遠變成死碼;這正是許多分流不生效抱怨的真正原因——不是後面那條壞了,而是根本輪不到它執行

與優先序同樣重要的是規則類型能看到的資訊DOMAIN 類需要可用的主機名;GEOIPIP-CIDR 需要可靠的目的位址;若決策當下仍只有 IP、卻沒有還原出 SNI/Host,域名規則可能長期無法觸發,流量會一路滑到後面的 IP 規則或 MATCH。這類「輸入條件不足」與「順序錯誤」在症狀上很像,排查時請先用日誌確認第一條命中究竟是誰,再決定要調順序還是補 Sniffer/DNS。

小結:先問「誰先匹配?」再問「匹配後送去哪個策略組名稱?」兩題都對,節點才會跟著對。

MATCH 是什麼?為什麼通常放在最後一行?

MATCH 是一條必定命中的規則:它不檢查域名或 IP,而是直接說「前面都沒接住的話,這筆連線跟著我走」。因此實務上幾乎永遠把 MATCH 放在 rules 清單的最末端,當作兜底(預設出口)。常見寫法是把兜底指到名為 PROXY🚀 手動選擇 這類的 proxy-groups,或依個人習慣寫 MATCH,DIRECT 讓剩餘流量直連。

若您把 MATCH,某策略 放在清單中段,等於宣告「後面的規則全部作廢」;若放在最前,更是整份表只剩第一行有效。這兩種都會表現為怎麼改域名規則都沒用。遇到類似情況,請先在圖形介面或文字編輯器中捲到 rules 底部,確認 MATCH 是否只有一條且在正確的結尾位置,並確認訂閱合併沒有再次插入另一條更早的 MATCH(見下文「合併與插入」)。

# Snippet — MATCH as final catch-all; replace PROXY with your group name
rules:
  - DOMAIN-SUFFIX,corp.example,DIRECT
  - GEOIP,private,DIRECT,no-resolve
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,PROXY

1規則第三欄:接的是「策略組名」,不是您心裡的節點暱稱

每一條規則最後指向的,必須是設定檔裡真的存在的名稱:DIRECTREJECT 等內建動作,或 proxy-groups 底下某個 name。若訂閱把預設組叫做 🔰 選擇節點,而您規則寫 PROXY,載入時可能報錯或落到意外預設;若勉強載入成功,也可能與介面上您點選的組不是同一個物件,看起來就像規則沒生效

圖形客戶端常在全域選單讓您挑「目前出口」,那往往是在操作某個最上層策略組;但 rules 仍可能把多數流量指到另一個自動組(例如 url-test)。因此除錯時請以日誌中的策略名稱為準,而不是只看介面大圖示。若您使用自動測速或主備組,可再讀 url-test/fallback 健康檢查,把「規則命中」與「組內選線」兩層關係分開理解。

2訂閱合併、prepend-rules 與「您以為的位置」

實務上很少只維護一份靜態 YAML:多半是訂閱節點社群規則包個人補丁,由客戶端或範本引擎合併。此時決定成品的關鍵是:您的自訂規則被插在整張表的前面還是後面。若工具把訂閱附帶的大段 GEOIP,CN,DIRECT 放在最前,而您的 DOMAIN-SUFFIX 被 append 到尾巴,就會出現國內 IP 先被直連規則帶走,海外網站卻因 CDN 邊緣位於本地而「看起來像被當成國內流量」的體感落差。

解法是對照您使用工具的合併順序說明:哪些鍵會前置、哪些會追加;必要時改為手動維護一段固定骨架,只把訂閱當 proxy-providers。無論如何,請在腦中保留一張「合併後的完整 rules」示意圖,而不是只看分檔中的片段;真正的規則優先級永遠以載入後順序為準。

3實務骨架:從「區網/廣告/例外」到「國別/兜底」

下列順序僅作為可讀性良好的起點,實際仍須依您的 DNS、FakeIP、TUN 與應用場景微調:(1)區網與必須直連的管理後台;(2)明確域名例外(要走代理或直連的少數站);(3)廣告或拒絕類(若您有);(4)大型 GEOSITERULE-SET(5)GEOIP 或寬鬆 IP 規則;(6)最後一行 MATCH。與 GEOIP/GEOSITE 教學 對照閱讀時,可把本文當成「這些類型塞進清單時的相對位置該怎麼排」的導讀。

# Snippet — illustrative ordering; adapt names and sections to your profile
rules:
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - DOMAIN-SUFFIX,internal.corp,DIRECT
  - GEOSITE,google,PROXY
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,PROXY

上例中,若您把 GEOIP,CN,DIRECT 移到 GEOSITE,google 之前,且 Google 的連線在決策時先被判定為「落在 CN 的 IP」,則可能永遠走不到 GEOSITE,google 這一行。這不是 Google 規則壞掉,而是國別規則更早命中。類似取捨在跨國 CDN 站點上非常常見,解法通常是把域名級規則上移,或縮窄過於寬鬆的 GEOIPIP-CIDR

4用日誌驗收:只看「第一條命中規則」

當您懷疑分流不生效,請先把 log-level 調到 info(必要時短暫提高),重現連線後在紀錄中搜尋該連線對應的規則名稱或規則索引(依客戶端呈現為準)。您要確認的不是「我心裡希望它走哪條」,而是引擎實際採納了哪條。若顯示的規則與預期不同,下一步只有兩類:要嘛調整順序,要嘛修正該規則類型所需的輸入(例如補域名、開 Sniffer、對齊 DNS)。

建議固定一套口訣:DNS/FakeIP 是否讓域名規則可見?第一條命中是域名還是 IP 規則?命中後送進哪個策略組?該組目前選到哪個節點?四步下來,大多數「節點不對」會落在前兩步,而不是最後一步單純換機場能解決。

常見坑(與優先序高度相關)

太早出現的第二條 MATCH 或寬鬆 GEOIP

合併設定時若重複引入訂閱範本,可能不小心得到兩條 MATCH;或某包習慣把 GEOIP,CN 放在極前段。症狀是日誌顯示命中了您沒印象的規則列——此時請展開完整合併結果搜尋關鍵字,而不是只改自己維護的小檔。

介面選擇覆寫與規則誤解

某些客戶端在 GLOBAL 層級的手動選擇,會讓新手以為「我已選了節點 A,為何規則仍走 B?」其實是不同策略組各自有狀態。請對照日誌確認命中規則指向的組名,再回介面找對應組別。

HTTPS 階段沒有域名,域名規則形同不存在

此時連線會提早落入 IP/GEOIPMATCH。若您只加域名規則而不處理 TLS 資訊取得方式,會感覺規則順序怎麼調都無效。請銜接 Sniffer 教學 與 TUN/系統代理是否覆蓋目標程式。

提醒:代理與路由設定須符合所在地法規與服務條款;本文僅供合法合規的網路除錯與自用學習。

開源資訊與安裝包取得方式

Mihomo 上游以開源方式維護,需要核對某版規則行為時可至公開程式庫查證。若您要安裝或更新圖形客戶端,建議優先使用 本站 Clash 下載頁,並搭配 設定說明文件;將「取得安裝包」與「追蹤原始碼」分開,可避免誤以為必須自行從 Release 頁拼裝環境。

結語

Clash MetaMihomo 的分流體驗,很大一部分建立在「您是否真的理解 rules有序語意」:不是寫得多就覆蓋得全,而是誰先匹配決定了結果。MATCH 則像安全網,把剩餘流量收斂到您指定的預設策略;它應該穩穩待在清單末尾,而不是意外攔在中段讓後續規則全部報廢。

相較於只靠直覺調整訂閱或反覆切換節點,先從日誌確認第一條命中規則策略組名稱,通常能更快終結分流不生效的循環。當您把順序、兜底與合併後的實際清單對齊後,再回頭疊加 GEOIPGEOSITEPROCESS-NAME,維護成本會明顯下降,也比較不會陷入「改 A 壞 B」的拉扯。

相較於其他同類工具,Clash 系在「規則、策略組、日誌」之間的對照關係較一致;把本文的順序觀念內化後,您會更容易與本站其他長文串成一套可複用的排查路徑。

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

Clash Meta / Mihomo 客戶端 規則順序 · MATCH

規則由上而下首次命中即生效;將細粒度規則前置、MATCH 兜底可避免分流不生效的隱患,也是排查「規則寫了卻不生效」的首要檢查點。

首次命中即生效

更具體的規則必須在萬用字元之前

MATCH 兜底

確保所有流量都有策略

日誌追蹤命中

快速定位哪條規則生效

文件參考

搭配本站規則與覆寫專題

上下篇導覽

相關閱讀

先看第一條命中規則

MATCH 放最後、策略組名對齊;從本站下載 Clash(Mihomo 核心),用日誌驗收規則順序與兜底是否如預期。

免費下載客戶端