症状の背景:GEOIP と GeoSite/geosite が担う役割
たとえば「中国本土向けのドメインを DIRECT にしたいのに、まだプロキシに乗る」「逆に海外 CDN なのに直に出てしまう」といったとき、まず疑うのはルールの書き方ですが、併せて参照している地理・ドメイン分類データの鮮度も見る価値があります。GEOIP は接続先 IP を Country.mmdb 等の mmdb で国コードに解き、GEOIP,CN のような行に使われます。GEOSITE や rule-providers で引くドメイン集合は、多くのプリセットが geosite(および派生のルールセット)に依存します。どちらも「古い版のまま」だと、最近の割当変更やドメイン追加が反映されず、ルール分流の期待と実挙動がズレます。
なお、ルーター直下で国内トラフィックを橋渡ししたい場合は、ゲートウェイ側の DNS や国内バイパスとPC 単体の GEO データは別レイヤーです。OpenWrt/OpenClash のゲートウェイ構成と本稿の「クライアント内の mmdb/geosite 更新」は補完的なので、環境がルータ経由か単体かで読み替えてください。
mmdb/geosite の典型的な配置とクライアント差
実際のパスは、Mihomo(Clash Meta)/各 GUIのバンドル規約によって異なります。共通して押さえるのは次です。
- GEOIP/国別判定:多くは
geoip.db、Country.mmdb、GeoLite2-Country.mmdbなどの名前で、アプリデータディレクトリまたは設定でgeox-url/同等のリモート取得先が指定されています。 - GEOSITE 相当:
geosite.dat/ルールセットの.mrs等。GUI によっては「データ更新」ボタン一発で、この二つをまとめて引きにいきます。 - ユーザーが手で入れるとき:実行ファイルと同じ階層、
~/.config/mihomo、Windows の%USERPROFILE%\.config\...\、macOS のアプリコンテナ配下など、いま読んでいる設定 YAML の場所から相対検索すると早いです。
どのクライアントを使うかによる差は、クライアント選定の段階で「データファイルの配置が見えやすいか」も一つの観点にできます。初回セットアップの流れは Windows 向け Verge 系の記事と併せると、データディレクトリの探し方のイメージが掴みやすいです。
更新ファイルの入手と置き換え手順(実測の流れ)
1. いま動いているファイルを特定する
GUI の「バージョン情報」「データパス」、または設定内の geodata-mode/geo-auto-update 相当の記述を確認し、実際にロードされているファイル名をメモします。複数の mmdb が同名で別場所に残っていると、置き換えミスで「更新したつもりが古い方を読んでいる」ことが起きます。
2. 入手元と整合
コミュニティで配布されている GeoLite2 互換 mmdb や、geosite/ルールセット付きのリリースを、利用しているコアのドキュメントに合わせて選びます。ライセンス表記(MaxMind 等)に従い、再配布条件を確認してください。差し替え前に、既存ファイルを別名で退避しておくとロールバックが容易です。
3. 停止 → 上書き → 起動
稼働中のプロセスがファイルをロックしている場合があるため、Clash コアをいったん停止し、対象 mmdb/geosite.dat(または UI が示すパス)を同じファイル名で上書き、その後に起動し直します。自動更新に任せる設定なら、手動と二重に走らないよう一度設定を整理します。
反映確認:コア再起動・接続ログ・ルールヒット
更新後は、起動ログに geodata の読み込みエラーが出ていないか、接続詳細で該当フローが期待のポリシー(DIRECT/プロキシ)に入ったかを見ます。期待と違う場合は、MATCH より上により広いルールが先に当たっていないかを疑い、ルール順を見直します。DNS まわりで「見えている IP が想定と違う」場合は、Clash Meta の DNS 設定と合わせて、解決結果と GEOIP 判定の食い違いを切り分けます。
TUN モードで全トラフィックを握っているときは、ブラウザや拡張が別口を刺さないよう、一度システム全体の流れでログを追うと原因が絞りやすいです。
データ更新だけで直らないとき:DNS・ルール順・TUN
mmdb/geosite を最新にしても、同じ症状が残る典型的因は次です。
- IPv6 二重スタック:IPv4 では国内、IPv6 では別経路、といった偏り。IPv6 と DNS・DIRECT の整理を参照。
- ルールの前列に DOMAIN-SUFFIX 等の広い行があり、GEOIP まで到達しない。
- Fake-IP と実 IP の取り違え:表示上の接続先と判定に使う IP が一致していない。
これらは「地理データの版」以前の設計問題なので、更新とルール変更の両輪で見るのが確実です。
まとめ
Clash GEOIP や GeoSite を使った国内直行・迂回設計では、参照する mmdb/geosite のバージョンが実サービスの境界とずれると、「国内サイトなのにプロキへ」のような誤配分の一因になります。まず読み込みパスを特定し、停止・上書き・再起動のあとログでルールヒットを確認する、という流れが実測の骨格です。それでも直らないときは DNS、ルールの前後関係、TUN/システム代理の層まで広げて切り分けてください。ルールとデータを揃えたうえで、安定したクライアントで運用を固めたい場合は、Clash を無料でダウンロードし、地理データの更新導線が分かりやすい GUI を選ぶのも一案です。