Clashを初めて使うとき、またはClash Meta(mihomo)カーネルを搭載したクライアントを初めて使うとき、画面に表示される「ルール」「グローバル」「直結」の違いに戸惑うことがあります。これらは別々のサブスクリプションや独立したプロキシサーバーではなく、接続の振り分け方を決める動作モードです。モードを切り替えると、クライアントはドメイン、IPアドレス、アプリからの接続を異なる経路で処理するため、同じWebサイトでもモードによってアクセス結果が変わることがあります。
この3つの選択肢を理解するうえで重要なのは、ボタンの位置を覚えることではありません。クライアントがトラフィックを受け取っているか、受け取った後にどのようにルールへ照合するか、照合結果をプロキシへ渡すのかローカルネットワークへ渡すのかという3段階を整理することです。本記事では、デスクトップクライアントで一般的な利用手順を中心に、各モードの仕組み、適したテスト場面、接続障害を順序立てて切り分ける方法を説明します。
1. 3つのモードで変わるもの
Clashの設定には通常、プロキシノード、プロキシグループ、ルール、ルールプロバイダーなどが含まれます。クライアントがカーネルを起動すると、設定で指定されたHTTP、SOCKS、混合型などのプロキシポートを待ち受けます。システムプロキシに対応したアプリは、リクエストをこれらのポートへ渡せます。システムプロキシを使わないプログラムでも、クライアントでTUNが有効になっており、システム権限、ルーティング、DNS設定が条件を満たしていれば、本来プロキシポートを自発的に使わない一部のトラフィックも取り込めます。
トラフィックがカーネルに入ると、モードによってルール処理の流れが変わります。ルールモードでは設定ファイルのルールを上から順に照合し、該当したポリシーとしてプロキシグループ、DIRECT、REJECTなどが選ばれます。グローバルモードでは通常のドメイン・IPルールを迂回し、取り込める接続を現在選択しているグローバルプロキシグループへ一括して渡します。直結モードでは接続をローカルネットワークへ渡し、通常はDIRECTとして処理します。ただし、モードが有効なのはClashの処理範囲に入ったトラフィックだけです。アプリがシステムプロキシを使っていない、TUNの取り込みに失敗している、またはクライアントが起動していない場合、モードを切り替えてもその接続は変わりません。
ルールモード:設定に接続先を決めさせる
ルールモードは、多くのユーザーにとって日常利用に最適な選択肢です。設定ファイルは、ドメインの末尾、完全一致するドメイン、地理データベース、IPアドレス、プロセス、ルールセットなどの条件から接続先を判断します。たとえば、LANアドレスや中国本土向けサービスをDIRECTにし、特定のドメインをプロキシグループへ渡し、最後にMATCHをフォールバックルールとして使う構成が可能です。最終的な動作は現在の設定内容に左右されるため、クライアントのボタン名だけで判断することはできません。
ルールには順序があります。上にあるルールから先に処理され、後ろのルールはまだ一致していない接続だけを対象にします。そのため、範囲の広いドメインルールを前方に置くと、後ろにあるより具体的なルールが適用されないことがあります。ルールモードで「特定のサイトが想定どおりプロキシを経由しない」場合は、すぐにモードを何度も切り替えるのではなく、まず接続の詳細と一致したルールを確認しましょう。
グローバルモード:現在のプロキシグループへ一括転送
グローバルモードは、ルールによる変数を減らすためのモードです。グローバルに切り替えると、通常は画面で選択したグローバルプロキシまたはプロキシグループを使って接続を処理します。クライアントによって名称は多少異なり、「グローバルプロキシ」と表示される場合もあれば、現在のプロキシグループが表示される場合もあります。本質的には、トラフィックの経路を明確に選んだ1つのプロキシへ集約する機能です。
グローバルモードは、「システム上のすべてのトラフィックが自動的に100%プロキシへ入る」ことを意味しません。システムプロキシ、クライアントの取り込み範囲、アプリのプロトコル、TUNの状態に左右されます。ブラウザーがすでにシステムプロキシを使っている場合、テスト結果は比較的分かりやすくなります。一方、ゲーム、コマンドラインツール、仮想マシン、システムサービスなど、システムプロキシを参照しないものでは、TUN、アプリ側のプロキシ設定、追加のルーティング構成が必要になることがあります。
直結モード:接続をローカルネットワークへ渡す
直結モードでは、Clashの処理範囲に入った接続をDIRECT経由で宛先へアクセスさせ、プロキシノードは経由しません。ローカルDNS、ブロードバンド回線、社内ネットワーク、ルーター、アプリ自体が正常かを確認するのに適しており、プロキシノードが一時的に使えない場合に、通常のローカルサービスへのアクセスを復旧する用途にも使えます。
直結モードは「Clashを終了する」ことと同じではありません。クライアントは動作を続け、システムプロキシやTUNも有効なままの場合があります。違うのは、カーネルが受け取った接続の出口としてローカルネットワークを選ぶ点です。クライアントによる取り込みの影響を完全に除外したい場合は、設定と現在の動作状態を確認したうえでシステムプロキシを無効にするか、該当する取り込み機能を停止して比較テストを行います。
2. 日常利用ではどのモードを選ぶべきか
ルールが整ったサブスクリプション設定なら、ルールモードが長期利用に最も適しています。トラフィックの種類に応じて、プロキシ、ローカル接続、その他のポリシーグループへ振り分けられるため、手動で切り替える回数を減らせます。たとえば、普段使う中国国内のWebサイトは低遅延のままアクセスし、指定した海外ドメインはプロキシグループへ渡し、LAN機器には引き続きローカルアドレスで接続できます。ルールモードの利便性は設定の品質に支えられており、ルールセットの更新日時、ポリシーグループ名、DNSの動作、フォールバックルールが最終結果に影響します。
グローバルモードは診断ツールに近く、ブラウザーや指定したアプリを一時的に特定のノードへ統一したい場合にも適しています。テストでは、まず利用可能と確認できたノードまたはプロキシグループを選び、グローバルモードへ切り替えて対象サイトを開き、接続の詳細を確認します。グローバルモードではアクセスできるのにルールモードではできない場合、原因はノードではなく、ルール照合、ポリシーグループの選択、ルールセットの更新にある可能性が高いでしょう。
直結モードは反対側からの比較テストに適しています。ルールモードでサイトが開かないとき、直結へ切り替えて同じアドレスへアクセスすれば、ローカルネットワークの障害とプロキシ経路の障害を切り分けやすくなります。直結ではアクセスできるのにグローバルではできない場合は、ノード、プロキシグループ、リモートDNS、プロキシプロトコルを確認します。直結とグローバルの両方で失敗する場合は、名前解決、ネットワーク接続、アプリの状態、対象サービス自体を引き続き確認してください。
| モード | 主な処理方法 | 適した利用場面 |
|---|---|---|
| ルール | ルールの順序に従って照合し、対応するポリシーへ渡す | 日常利用、サイトごとの振り分け、LANとプロキシの併用 |
| グローバル | 取り込み可能な接続を現在のプロキシグループへ集約 | ノードの確認、一時的なプロキシ統一、ルール要因の切り分け |
| 直結 | 取り込み可能な接続をローカルネットワーク経由でアクセス | ローカルネットワークの確認、プロキシ障害との比較、ローカルサービスへのアクセス |
3. 3段階の比較テストでアクセス障害を切り分ける
Webページが開かない、アプリがタイムアウトする、ログインAPIに異常があるといった場合は、テスト対象と条件を固定することをおすすめします。テストごとにノード、DNS、モード、ブラウザーを同時に変えると、結果が変わっても、どの設定が影響したのか判断しにくくなります。
- まず直結をテストします。対象アドレス、ブラウザー、ネットワーク環境を変えずに直結モードへ切り替えます。ドメインが解決できるか、ページの接続を確立できるかを確認し、ブラウザーに表示されたエラーも記録します。直結でも失敗する場合は、まずローカルネットワーク、DNS、システム時刻、対象サービスの問題に対処してください。
- 次にグローバルをテストします。正常に動作しているプロキシノードまたはプロキシグループを選び、グローバルモードへ切り替えます。クライアントの接続一覧に対象ドメインが表示されるか、使用されたポリシー、アウトバウンドの種類、エラー情報を確認します。接続一覧に表示されない場合は、システムプロキシまたはTUNの取り込み範囲を重点的に確認します。
- 最後にルールへ戻ります。ルールモードで同じ対象へ再度アクセスし、接続の詳細を開いて一致したルールを確認します。DIRECTに一致していれば、その接続はルールによって直結へ振り分けられています。特定のプロキシグループに一致した場合は、そのグループの現在の選択とノードの遅延を確認します。MATCHに一致した場合は、フォールバックポリシーが実際にどこを指しているかを確認してください。
この順序なら、変数を段階的に増やせます。まず直結で基礎ネットワークを確認し、グローバルでプロキシ経路を確認し、最後にルールで振り分けロジックを確認します。コマンドラインツールでは、アプリが対応するプロキシ引数や環境変数を使って個別にテストできます。ブラウザーでは、システムプロキシが有効かを確認してください。テスト時はブラウザーキャッシュ、接続の再利用、DNSキャッシュにも注意し、必要ならページを閉じてから再度開きます。
4. ルールモードでよくある誤解
DIRECTに一致してもルールが無効とは限らない
DIRECTは明確なアウトバウンドの選択肢です。多くの設定では、LANドメイン、LAN IP、中国国内のサイト、特定のサービスを意図的に直結させます。接続詳細にDIRECTと表示されたら、まず設定の意図と照らし合わせてください。そのドメインが本来直結すべきものなら正常です。プロキシを経由すべき場合は、より前のルールに一致していないか、ルールセットが古いままではないかを確認します。
プロキシグループに一致してもノードが利用できるとは限らない
ルールが行うのは、接続を特定のポリシーへ渡すことだけです。ポリシーグループ内には、複数のノード、自動選択グループ、フォールバックグループ、チェーンプロキシグループなどが含まれる場合があります。グローバルモードでも、具体的なノードを選ぶか、プロキシグループの現在の選択を確認する必要があります。ノードの遅延テストに成功しても、すべての宛先プロトコルへアクセスできるとは限りません。遅延チェックと実際のHTTPS、WebSocket、UDP通信では経路が異なる場合があるためです。
ドメインルールとIPルールで結果が異なる場合がある
リクエストによってはドメイン名でアクセスし、別の接続では名前解決後にIPアドレスが宛先として扱われます。設定内のドメインルール、GeoIPルール、論理ルール、DNSモードが組み合わさって照合結果に影響することもあります。同じサービスでもWebページ、デスクトップアプリ、APIで挙動が異なる場合は、各接続の対象ドメイン、対象IP、ポート、一致したルールを比較し、ブラウザーのアドレスバーだけで判断しないでください。
5. TUNモードと3つのプロキシモードの関係
TUNはシステムレベルでトラフィックを取り込む方式です。クライアントが仮想ネットワークインターフェースを作成し、条件に合うネットワークトラフィックをカーネルへ渡します。TUNが解決するのは「どのトラフィックをClashへ入れられるか」であり、ルール、グローバル、直結が解決するのは「入った後にどの出口を選ぶか」です。両者は別の階層にあります。TUNを有効にしてもすべての接続が自動的にプロキシを経由するわけではなく、グローバルへ切り替えてもTUNに必要な権限、ルート、DNS設定の代わりにはなりません。
ブラウザーはルールモードで動作しているのに、システムプロキシを参照しないアプリの接続記録がまったく表示されない場合は、そのアプリの取り込みにTUNが必要かもしれません。TUNを有効にする前に、クライアントが必要なシステム権限を持っていることを確認し、他のVPN、仮想ネットワークアダプター、企業向けセキュリティソフト、ネットワーク高速化ツールとの競合を避けてください。TUNのDNS処理、自動ルート、LANやIPv6のバイパス設定も結果に影響することがあります。設定は一度に1つだけ変更し、元の状態を残しておくと安全です。
TUNが有効でも、直結モードは引き続きローカルネットワーク経由でアクセスする場合があり、グローバルモードには有効なプロキシノードが必要で、ルールモードは設定順に従って処理します。TUNを有効にしてからネットワーク全体に異常が出た場合は、まず直結モードに戻して接続を確認し、その後TUNを一時的に無効にして比較します。無効化で復旧するなら、仮想インターフェース、ルート、DNS、他のネットワークソフトとの競合に調査範囲を絞れます。
6. モード切り替え前後のチェックリスト
- クライアントで現在有効になっているのが対象の設定ファイルであり、インポートしただけで未切り替えのファイルではないことを確認します。
- サブスクリプションが正常に更新され、ポリシーグループが残っており、ノード一覧が空になっていないことを確認します。
- 現在のシステムプロキシポートを記録します。プログラムによってはHTTPプロキシのみ、別のプログラムではSOCKSのみをサポートするため、対応するポートを使う必要があります。
- システムプロキシのスイッチとクライアントの動作状態が一致していることを確認し、ブラウザーが古いポートへ接続し続けないようにします。
- 他のVPN、プロキシソフト、ネットワークフィルター、仮想ネットワークアダプターのツールが同時に動作していないか確認します。
- テストでは同じドメインとアプリを固定し、直結、グローバル、ルールそれぞれの接続詳細を記録します。
- ルールモードへ戻ったら、プロキシグループで実際に選択されているものを確認します。自動選択グループの速度テスト結果だけでは、対象サイトのテストの代わりになりません。
切り分けが終わったら、日常利用の設定は通常ルールモードへ戻します。明確にプロキシが必要なサイトは適切なルールまたはルールセットに登録し、LANやローカルサービスは直結のままにします。グローバルモードを常用するのは、診断や一時的な用途に限るのが無難です。これにより振り分けを制御しやすくなり、プロキシが不要なサービスをリモートノードへ渡すことも避けられるため、アクセス経路や障害範囲の不確実性を減らせます。
7. まとめ:問題を見極めてからモードを選ぶ
ルール、グローバル、直結のいずれかに、常に「最適」といえる選択肢はありません。ルールモードは「設定に従って振り分ける」、グローバルモードは「取り込み範囲内で現在のプロキシを一括利用する」、直結モードは「取り込み範囲内でローカルネットワークへ戻す」ためのものです。問題が起きたら、直結、グローバル、ルールの順に比較し、接続記録と一致ルールを確認するほうが、モードボタンを何度も押すより早く原因を見つけられます。
安定した日常利用を目指すなら、まず構成が分かりやすい設定を用意し、サブスクリプションとポリシーグループが正常に更新できることを確認します。そのうえで、システムプロキシまたはTUNが対象アプリをカバーしているかを確認してください。この判断方法を身につければ、モード切り替えは勘に頼った試行ではなく、再現性のあるネットワーク診断手順になります。