教學 2026-04-27 · 約 20 分鐘閱讀

Clash Meta GeoIP 全走錯線?MMDB 路徑、國碼分流與規則順序逐項修復

許多人照教學寫了 GEOIP,CN、希望「國內直連、境外走代理」,實務上卻變成內地網站被送去節點、海外內容反而直連。這不見得是節點品質或訂閱有問題,而常與離線 IP 歸屬庫(常見格式為 MMDB)沒有正確放置、從未更新,或 規則在鏈條中已被更前面的條目命中 有關。本文與專講 DNS/fake-ip、遠端 rule-providers 的篇章互補,單刀直入「國家分流依賴的離線庫+Geo 相關規則」這一層,協助您用可重複的步驟釐清真相。

症狀:為什麼常懷疑「GeoIP 沒載入」

Clash MetaMihomo 核心一系)中,GEOIP 規則會把當下連線的目標 IP 拿去離線庫比對,得到兩字元國碼再決定走哪一個策略組。若庫檔遺失、路徑指錯、或內容過舊,比對結果可能與實際機房/CDN 落點脫節。另一方面,很多「像 GeoIP 壞了」的現象,其實是更前面的 DOMAINDOMAIN-SUFFIX/遠端規則 已先命中,根本輪不到 GEOIP 這一條。兩者外觀很像,排查順序卻不同:前者要回頭核對庫與日誌,後者要重畫規則順序與合併後的實際清單。

  • 典型誤解一:以為「有寫 GEOIP,CN,DIRECT」就保證內地流量直連。若同一連線在更早的步驟已被標成 PROXY 策略,當然不會再走到這條。
  • 典型誤解二:把 GEOSITEGEOIP 混為一談。前者依網域清單,後者依目標 IP 的地理資訊,依賴的資料與觸發條件都不同。
  • 典型誤解三:在 redir-hostfake-ip 情境下,沒有配合 no-resolve 等選項,導致在解析前後 看到的「查 GeoIP 的 IP」與自己想像的不一致,表面像「國家庫亂了」。

MMDB 是什麼、Clash 拿它做什麼

MaxMind DB(MMDB) 是一種攜帶大量 IP 區段與中繼屬性(常含地理/ASN)的二進位索引檔。Mihomo 內的 GEOIP 查詢模組在啟動或重新載入設定時,會讀入您指派的檔案;若用預設名稱與目錄,也會在家目錄或執行目錄 下尋找常見檔名(各客戶端與作業系統的預設路徑略有出入,圖形介面通常有「一鍵下載」或顯示實際路徑,仍以您畫面上為準)。

務必記住:GeoIP 是依 IP 當下在庫內的註冊歸屬 做判斷,不代表「這個服務的商業實體位於何處」或「內容一定送達哪一國用戶」。跨國 CDN 與 anycast 讓實務上的「內地/境外體感」有時和國碼不一致——這是設計層的取捨,不是單純把庫換新就能 100% 解決的。

關鍵心態

把 MMDB 想成「離線的 IP→國碼表」;把規則鏈想成「由上而下只命中第一條」。兩邊要同時滿意,GEOIP 才會以您預期的方式參與決策。

路徑與載入:如何確認庫真的被讀到

第一步永遠是檔案存在且大小合理。若圖形介面顯示的資料目錄內沒有 geoip 相關檔案,或大小只有數 KB、明顯不完整,GEOIP 規則要嘛無法就緒、要嘛退回到內部預設行為(實際表現依版本而異,不宜賭猜)。手動佈署時,請把檔案放在與執行檔相同的使用者可讀路徑,並在覆寫/Mixin 的 YAML 中,若自訂了檔名或目錄,與圖形介面「實際下載到磁碟的結果」兩邊交叉比對,避免一邊寫了絕對路徑、另一邊卻在更新時改寫了預設目錄。

在設定檔中,Clash Meta 一系常見會出現 geodata-modegeodata-loader 等與記憶體策略相關的選項。它們影響的是載入與佔用方式,不會把壞的檔案變成好的;庫本體正確,才是 GEOIP 能穩定運作的前題。

建議的書面核對

  1. 在圖形介面或日誌中,確認啟動時有無關於 Geo 資料、MMDB 的錯誤字樣(例如讀取失敗、檔案不存在)。
  2. 記下實際磁碟路徑,和 YAML 內自訂路徑(若有)是否一致;更新訂閱或還原備份後再複查一次。
  3. 在規則已簡化到可測試的前提下,針對「已知歸屬的測試 IP」觀察一次命中,而不是直接拿複雜網站當樣本。

自動更新、geox-url 與庫的時效性

專欄、模板常會帶有 geox-url 或內建「週期更新地理資料」的開關。這能減少舊庫導致的大量誤差,尤其是跨國邊界頻繁調整的雲廠商網段。但自動更新也會帶來另一個變因:您若同時在檔案總管手動置換 mmdb、又被應用程式在背景覆寫,兩邊可能互相覆蓋。實務上建議單一來源真相:要嘛完全交給客戶端內建更新,要嘛關掉自動、改由您固定版本化管理的檔案,並在說明文件裡寫明版本與更換週期。

若公司或內部治理要求可稽核的資料來源,也請留意授權條款:不同來源(社群維護、與專有格式相容的第三方等)的更新頻率與欄位內容可能不同,切換時宜在測試配置 上先觀察一兩週,再匯入正式主配置。

不要只看訂閱節點新舊

節點與 mmdb 是兩條生命週期。訂閱剛更新,不表示離線庫也新;兩邊要分開檢查。

GEOIP(國碼)規則的寫法、位置與優先權

在 Clash 的規則陣列中,由上而下第一個符合條件者勝出。因此,您若希望「內地 IP 直連、其餘走代理」這類大框架,實務上常會把 GEOIP,private,...GEOIP,CN,... 放在一個相對前段、但在更精細的遠端規則之後還是之前,其實取決於您要「例外優先」還是「大網先兜」。一個常見、也較可說明的起手式是:先讓明確的域名/應用規則處理少數釘子戶,再用 GEOIP,CN 作為內地 IP 的寬面預設,最後 MATCH 到境外出口。

讀寫 GEOIP 時,請留意選項關鍵字:例如針對私有網段、或搭配解析行為的 no-resolve 等。若與 snifferfake-ip 機制併用,要確認參加 Geo 查表的那一側 IP 與自己預期一致。這部分在站內 DNS 與 fake-ip 專文 已有系統性說明,本文不再重述細節,但請在排查 Geo 時一併打開參考。

# Order is illustrative only — your merged rule set may differ
# Put broader GEOIP after explicit DOMAIN rules if those must win
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - GEOIP,private,DIRECT,no-resolve
  - GEOIP,CN,DIRECT
  - GEOSITE,geolocation-!cn,PROXY
  - MATCH,PROXY

上例僅說明語法形態,實際策略組名稱、是否使用 GEOSITE 清單、以及與 rule-providers 的合併位置,都需以您匯出後的完整 YAML 為準。關於遠端規則的合併與 Mixin 覆寫,可延伸閱讀 Mixin、訂閱與自訂規則subconverter 匯入 Meta 設定 等篇,避開「以為改了檔、實際合併後順序不變」的坑。

檢查點 想確認的事
規則在鏈上的位置 有沒有更早的條目已把流量送進 PROXY 或另一個 DIRECT
GEOIP 的國碼 兩字元大寫國碼是否與您預期一致?是否誤用未支援的寫法?
合併後的總表 圖形介面「匯出/預覽合併結果」中,GEOIP 列是否如預期出現、且沒有重載時被靜音?

「國內外分流」的體感與 Geo 判斷的邊界

使用者的體感「這是內地站、那應該是海外」有時是商業敘事與內容語言,在網路層卻落在鄰近國家或任播節點。若您以 GeoIP 作為主要分流依據,要接受一個工程現實:它處理的是 IP 層歸屬,不處理「網站應不應顯示中文」或「服務邏輯上算不算國內業務」。在極端情況下,透過 自訂規則+DOMAINIP-CIDR 釘住少數釘子戶,比盲目堆疊 GEOIP 更穩定。

實務檢查清單與日誌判讀

最後,把步驟收成可勾選的表,利於在論壇或客服場景中一次性貼上資訊;若同時懷疑訂閱內文與本機寫法不一致,可先用圖形介面「僅內地/僅遠程」的對照匯出,減少口頭轉述造成的錯位。

  1. 核心版本與圖形客戶端版本是否與 Clash Meta/Mihomo 聲稱能力相符。
  2. MMDB 或 Geo 資料在磁碟上是否存在、大小是否合理,路徑與設定是否一致。
  3. 若啟用自動更新,最後成功時間與失敗日誌是否異常;手動替換者是否關掉衝突的自動寫入。
  4. 匯出合併後的規則,確認 GEOIP 條文確實存在且順序在預期之處,並無被前面大規則全數吃掉。
  5. 在 DNS/fake-ip 相關設定穩定後,針對疑問流量檢視「實際參與查表的 IP、命中規則名稱、策略組」三欄,避免只看延遲或測速。

常見問答

Clash 裡有沒有叫 Country 的規則關鍵字?

一般常見的仍是 GEOIP 搭配兩字元 country code。介面顯示可能用「地區」或 "Country" 當人類可讀標籤,實際 YAML 仍以核心文件與匯出結果為準。

為什麼內地與海外「兩邊都錯」?

多數情況是多個變因同時作用:庫有問題+更前面的規則全代理+或 DNS 行為導致查錯目標。請固定一次只改一層、並保留前後配置備份,避免交叉影響難以還原。

先釐清離線庫,再談體感

國家分流是許多 Clash Meta 教學的骨幹,卻也最容易在「庫沒就緒」或「規則從沒被選中」兩點上被誤解。當您把 mmdb 路徑、更新與 GEOIP 在合併鏈中的位置逐一對上,多數與體感不符的現象都能收斂到可陳述、可重現的層次;其餘再交給更細的網域規則與 DNS 策略補上。

立即免費下載 Clash,在可視化規則下完成分流與除錯

讓 GeoIP 真正生效

從 mmdb 路徑、更新到規則順序,與站內 DNS、Mixin 專文搭配閱讀效果最佳。

下載 Clash