Clash 國內站誤走代理變慢?GEOIP CN 與規則優先序一步步修正

症狀:明明有「繞過大陸/在地直連」,網頁仍像出國繞一圈

許多使用者匯入訂閱後,介面上已選 Rule(規則) 模式,規則清單裡也能看到類似「大陸站直連」「GEOIP,CN」「cn_direct」之類項目,但開啟常見國內新聞、購物、社群或視訊載入鏈結時,體感仍明顯變慢、偶發異常。

這種情況多半不是「沒有加規則」,而是真正命中的不是你想的那一條MATCH 或某條過寬的規則在清單更上方先攔下流量;或是解析與匹配的資訊(網域名稱、對外 IP)在 fake-ip/DNS 路徑下與預設不同,使得 GEOIP 判定落點失真。本篇與規則語意總覽可並讀:規則分流設定詳解側重條款與架構;本文聚焦排錯順序與常見順序錯誤

合規提醒:Clash 為本機轉發與設定管理工具;請依所在地法規與服務條款使用,勿將訂閱或節點憑證外流。

第一步:確認「由上而下、命中即停」與 MATCH

mode: rule 時,核心是從 rules: 第一條往下比對,一命中就採用該條的動作並停止。這代表「規則優先序」完全等同於YAML 中的行序,而非介面上顯示的群組順序想像。

清單底部常見的最後一行是 MATCH, 加上某個策略群組(例如自動選線或全域代理)。它的角色是漏網之魚兜底:前面全部都沒命中時才會走到這裡。若你希望「國內 IP 多半直連」,卻在前面某條規則就寬鬆地把大量網域丟進代理群組,則底部的 MATCH 是否寫得再漂亮都不重要——因為流量根本到不了後面的精細規則。

務必打開連線紀錄或日誌,看見實際顯示的命中規則名稱或類型。若國內站顯示的是某個國外串流規則集、過寬的 DOMAIN-KEYWORD,或直接被 MATCH 前的「全站代理」接住,就代表要上移較細的直連規則,或收緊過寬的條目。

第二步:GEOIP,CNDIRECT 與訂閱規則集的相對位置

典型「繞過大陸/分流」設定會希望在解析出對目標 IP 後,對註冊國別為中國大陸(代碼 CN)的出口走 DIRECT,以降低延遲、避免國內站誤進代理隧道。對應寫法常見為 GEOIP,CN,DIRECT(實際欄位名與相容性請以所用核心/文件為準)。

關鍵在於:GEOIP 一定要出現在能把該類流量接住之前,而且不能被更早的規則先送去代理。許多商用訂閱會附上極長的國外規則集,若其中之一含過寬的網後綴或過早的兜底,國內子網域可能被誤類進「國外」,導致延遲與異常線路選擇。

務實作法包括:對已知常用在地網域使用 DOMAIN-SUFFIX 或小範圍 RULE-SET 置於國外規則集之上並指向 DIRECT;並保留 GEOIP,CN,DIRECT 於「大型國外規則集」之後、「最終 MATCH」之前,作為第二層保險。GeoIP 資料庫若過舊或條目不完整,少數 CDN 也可能被標成境外,這時仍以日誌針對域名+對外 IP補一條優先級更高的規則。

第三步:DNS、fake-ip 為何會讓 GEOIP「看錯對象」

許多環境會啟用 enhanced-mode: fake-ip,讓本機對部分請求暫時回一段虛構位址以便先依域名做規則匹配。若在該模式下,對某國內站實際走完整解析前就被某條域名規則送去代理;或解析路徑與系統/應用的 DNS 不一致,日誌上看到的結果可能與你直覺不同。

排錯時請拆成兩問:(1) 這條連線在規則層匹配的是域名還是 IP?(2) 若在 IP 階段,該 IP 是否真被 GeoIP 歸類為 CN?對照核心文件調整 fake-ip-filternameserver 與繞過清單,常能解開「規則寫對了但仍走錯」的結。若問題集中在影音串流標頭與 HTTPS SNI類型情境,可多參照 Sniffer 與分流規則專文的故障面區隔——本文偏重「國別路徑與規則/DNS 順序」。

第四步:別和「全系統代理/僅瀏覽器通」混在一起查

若只有瀏覽器走系統 Proxy、其餘應用程式不經核心,或使用「規則全選代理」類 UI 選項,表象也可能是「國內站很慢」,但根本原因在程式是否進入同一套規則管線,而非 GEOIP 本身。可查 全域與瀏覽器分流辨析與是否需要 TUN 讓進程級流量統一進核心。

對照:DIRECTGEOIP,CNMATCH 的相對順序(教學骨架)

下列為結構示意,遠端 URL、檔案路徑與群組名請依環境調整:

YAML(骨架)rules:
  - DOMAIN-SUFFIX,lan,DIRECT
  - DOMAIN-SUFFIX,local,DIRECT
  # 明確國內或本機區段直連規則可置前——依日誌補強
  - IP-CIDR,192.168.0.0/16,DIRECT
  # RULE-SET 範例:若訂閱提供 cn 規則集,依實際名稱展開後仍遵守由上而下順序
  # - RULE-SET,cn_domains,DIRECT
  # … 國外細分規則集(請避免過寬 DOMAIN-KEYWORD 插在 GEOIP CN 之前的「兜底代理」)
  - GEOIP,CN,DIRECT
  # 最終漏網
  - MATCH,🔰 自動選線

若你的設定在 GEOIP,CN,DIRECT 之前有某條 RULE-SET 把大量未定義的子網域全部導向代理,則國內子站仍可能被誤掃進該規則;解法仍是看日誌命中哪一行,再把應該在地化的網名或區段上移。

排錯檢查清單(可依序勾選)

  • 模式:確認為 Rule,並非全域代理或強制直連被 UI 鎖在非預期狀態。
  • 命中規則:日誌中該國內站連線對應的規則名稱/類型是否為預期?若不是,上移更精準的 DIRECT 或縮窄誤匹配的規則集。
  • GEOIP 順序GEOIP,CN,DIRECT 是否在過寬的「送代理」規則之才失效?調整順序並重載設定。
  • MATCH:若國內站總撞到最後的代理兜底,多半是前面規則從未定義國內路徑,或國外規則集過於前傾。
  • 資料新鮮度:更新規則集與 GeoIP/MMDB(依核心與使用者端項次為準)。
  • DNS/fake-ip:比對規則所見之名稱與對外解析;必要時對疑難域名加入過濾或指定解析策略。

安全提醒:勿使用來歷不明的「一鍵規則」來源;惡意規則集可能將敏感流量轉向不可信出口。

結語

國內站變慢且懷疑誤走代理時,請先戒掉「只靠感覺改訂閱」的循環:以日誌上的命中規則為準,回推 YAML 行序是否讓過寬條款或太早的兜底搶在前面,並用 GEOIP,CN,DIRECT 搭配明確國內網域規則築起兩道防線。MATCH 只管最後未被前面任何一條接住的東西,因此「修好順序」比「多加幾個群組標籤」更能穩定在地的體驗。

持續使用更新中的核心與可信規則來源,搭配圖形介面備份設定,長期維護成本會低許多。站內教學總覽可補齊其他模組細節。相較拼湊多種工具,Clash 全家在統一規則語意下更易除錯;若尚未安裝合適版本,可先從本站下載對應平台用戶端起步。→ 立即免費下載 Clash,開啟流暢上網新體驗