なぜ「国内は直通、海外だけプロキシ」が最適になりやすいか
プロキシを常時オンにすると、体感では次の二つの損失が出やすいです。第一に、地理的に近いサーバへ行くべき通信まで遠回りし、遅延とジッタが増えること。第二に、国内サービス側のリスクコントロール(金融・決済・キャリア課金など)で接続元が不自然に見え、弾かれることです。Clash の強みは、ドメインや IP の属性に応じて出口を切り替えられる点にあり、ここを丁寧に組むほど「速い・壊れにくい」構成に近づきます。
いわゆる「分流(スプリットルーティング)」は、単にリストを足す作業ではなく、評価順・DNS・ポリシーグループを一つのストーリーとして揃える作業です。本稿では、国内向けトラフィックを DIRECT に残し、海外向けだけを高速かつ安定したノードへ集約するための考え方と、現場で繰り返し見る落とし穴を整理します。GUI クライアントを使う場合も、内部では同じ YAML が動いている前提で読み進めてください。
ポリシーモードとルールの関係(rule / global / direct)
多くの初心者向け解説は rules の書き方から入りますが、実運用ではポリシーモードが土台です。rule モードではルールにマッチした結果が最終出口になります。global は実質すべてがプロキシ側へ流れ、分流の意味が薄れます。direct は逆にルール以前に「全部直結」へ寄るため、海外サイトだけ抜き出したいニーズには向きません。したがって分流をしたいなら、まずクライアントの UI で rule モードになっているかを確認してください。
さらに言えば、ルールの最下行にある MATCH の行き先が、いわゆる「デフォルト出口」です。ここを安易に DIRECT にすると海外漏れが起き、逆に常に最強のプロキシグループへ向けると国内も巻き込まれます。MATCH は意図を文章化した行だと考え、コメントや命名で将来の自分に説明できるようにしておくのがコツです。
ルールは上から評価される:順序がそのままセキュリティになる
Clash 系のルールエンジンは、基本的に上から順に最初の一致で打ち切りです。だからこそ、例外は必ず一般化より上に置きます。典型例は GEOIP,private や社内ドメイン、ストリーミングの国内 CDN、銀行アプリの検証ドメインなどです。順序を誤ると「国内サイトなのに海外ノードへ出てしまい証明書エラー」「逆に広告ドメインだけ直結して追跡が残る」といった症状に見えますが、原因はしばしば一行の位置の入れ替えだけです。
DOMAIN-SUFFIX は精度が高く、DOMAIN-KEYWORD は当たりやすい反面、誤爆も起きやすいです。社内ツールのホスト名に共通語が含まれる、といった地雷は現場で珍しくありません。キーワードルールを増やすほど、将来のリファクタが難しくなるので、まずサフィックスと IP 帯で押さえ、キーワードは最小限に留める方針が長く効きます。
GEOIP とローカル帯域:最初の数行で地盤を固める
多くの公開ルールセットは、冒頭でプライベート IP 帯や lan 相当の通信を DIRECT に逃がします。これを省略すると、ローカル NAS やプリンタ、開発用の localhost までプロキシへ送られ、挙動が不気味に壊れます。分流の「土台」はこの部分だと考えてよいでしょう。
GEOIP,CN のような国コードマッチは便利ですが、データベースの鮮度と、CDN の出口 IP の所属に依存します。動画やアプリのダウンロードで「国内 CDN なのに海外 ASN に見える」ケースは減りましたが、ゼロではありません。ここで過度に信じすぎず、クリティカルなドメインは DOMAIN-SUFFIX で補強するのが現実的です。
Rule Provider でリストを外に出す:更新と責務の分離
巨大なドメインリストを rules: に直書きすると、可読性が落ち、差分管理もしづらくなります。Rule Provider を使うと、カテゴリごとにファイルを分割し、HTTP(S) から定期的に取り込めます。コミュニティで保守されている集合(広告、追跡、テレメトリなど)を取り込む場合、更新間隔とフォールバック動作(取得失敗時に古いファイルを使うか)を決めておくと安心です。
分流の主戦場は「国内/海外」の二値ではなく、用途別のポリシーグループに落とし込む段階に移ります。例えば「仕事用」「動画用」「一般ブラウジング用」などに分け、それぞれ別の proxy-groups を指すルールを Provider 側で提供しているセットもあります。自前で足すときは、どのリストがどのグループ名を前提にしているかを README で確認し、名前の不一致だけで全滅、というオチを避けてください。
ポリシーグループで「速さ」を設計する:url-test / fallback / select
海外側を単一ノードに固定すると、そのノードの輻輳やメンテナンスで全体が止まります。url-test は定期的な遅延計測で勝者を選び直すため、体感の安定度を上げやすいです。fallback は可用性寄りの挙動になり、select は手動の切り替えに向きます。分流の最終行を「常に手動」にすると運用負荷が跳ねるので、自動系グループをデフォルトにし、例外的に手動グループへ逃がす二段構えが扱いやすいです。
計測 URL は小さなレスポンスで TLS が安定しているものを選ぶのが定石です。社内プロキシやフィルタと組み合わせると、計測だけがタイムアウトして常に最悪のノードが選ばれる、ということもあるため、計測失敗時の挙動もログで確認してください。
DNS とルールの整合:fake-ip と redir-host の読み分け
分流が不自然に見える原因のかなりは DNS 周りです。名前解決の時点で意図した経路と、実際のコネクション確立の経路がズレると、「ルールは合っているはずなのに別出口に出る」現象になります。fake-ip はルール評価を素早く進める一方で、挙動の理解コストが上がります。アプリが独自の DNS を握っている場合は、TUN と DNS ハイジャックの話まで含めて設計する必要があります。
詳しくは当ブログのTUN モード解説で DNS の三角関係を扱っています。分流だけ先に仕上げてから TUN を足すのか、最初から一体で設計するのかは環境依存ですが、DNS を後回しにすると二度手間になりがちです。
システムプロキシだけの分流と、TUN との差
ブラウザ中心の利用であれば、ルールとシステムプロキシの組み合わせでも十分なことが多いです。一方で CLI ツールやゲーム、コンテナなどはプロキシ設定を見ません。ここまで踏み込むなら、ルール設計と同時に TUN やクライアント拡張モードを検討する段階です。入口を揃えたうえで同じルールを再利用できるので、YAML の思想は共通です。
よくあるつまずき:遅い・漏れる・証明書が怖い
国内サイトだけ遅い
多くは海外ノードへ誤って流れているか、DNS が遠回りです。ログで実際のポリシー名と接続先を確認し、該当ドメインを国内側ルールに昇格させるか、GEOIP より上位に明示ルールを置いてください。
海外が DIRECT に漏れる
MATCH の行き先、あるいは上位ルールの誤爆が原因です。特に DOMAIN-KEYWORD の過剰適用に注意してください。短時間で再現するドメインを一つ決め、ルールトレースの考え方で上から順に潰していくと早いです。
証明書やログイン画面がおかしい
企業フィルタやスニッフィング、あるいは二重プロキシの組み合わせで起きます。分流そのものというより経路の重ね掛けが疑わしいので、一旦最小構成に戻して差分を取ってください。
YAML の骨格イメージ(概念レベル)
厳密なキー名や非推奨キーはコアの世代で変わるため、ここでは骨格のみ示します。実機のテンプレートは利用中のクライアントが生成するものをベースにしてください。
# Conceptual skeleton — adapt keys to your core version
rules:
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- GEOIP,private,DIRECT,no-resolve
- GEOIP,CN,DIRECT
- MATCH,Proxy
no-resolve を付ける行と付けない行の意味の違いは、DNS ループ回避の文脈で重要です。自前のリストを足すときは、公式ドキュメントのルール優先度表と併せて読むと安全です。
世代交代したコアとの付き合い方
古い Clash Premium 系から Clash Meta(Mihomo)系へ移行する場合、ルールタイプやスニペットの互換性は高いものの、細部の挙動差は残ります。大きなルールセットをそのまま持ち込む前に、Clash Meta 移行ガイドで全体像を押さえ、段階的に差分を狭めていくのがおすすめです。
オープンソース情報とインストール入手先
コアや各 GUI のソースコード、Issue、ライセンスは各プロジェクトの GitHub で確認できます。一方で、初回導入で迷子にならないよう、検証済みのクライアント入手導線は当サイトのダウンロードページにまとめています。ルールをいじるほど、GUI のログビューアと仲良くなると調査が速くなります。
ドキュメント類の索引として、製品横断の説明はドキュメントページも参照してください。設定の用語が揃うと、コミュニティの記事を読み解く速度も上がります。
まとめ
分流の最適解は、華やかなテクニックより順序・DNS・プロバイダ更新・ポリシーグループの四つを同じテーブルで管理できるかどうかに尽きます。国内を DIRECT に残すことで遅延と相性問題を減らし、海外だけを自動選別された高速ノードへ集約することで、日常ブラウジングと開発作業の両方を快適に保てます。一度骨格ができれば、あとはログを見ながら例外を足すだけの運用に移れます。
同じ帯域でも、ルールの切り方次第で体感は大きく変わります。手元のプロファイルを見直すタイミングなら、→ Clash を無料ダウンロードし、最新クライアントで分流を組み直してみるところから始めてみてください。