普段はルールモード、トラブル時だけ一時的に切り替え
利用できるサブスクリプションがあり、ローカルサービスは直接接続し、指定したサイトだけプロキシ経由にしたい場合は、まずルールモードを選びましょう。グローバルモードはプロキシの出口を一時的に確認するとき、DIRECTモードはローカルネットワークを確認するときに適しています。3つのモードで変わるのはClashのコアに入った通信の処理方法です。ノードや速度の段階が異なるわけではありません。
Clash系クライアントやClash Meta(現mihomo)コアを採用したクライアントでは、通常「ルール / Rule」「グローバル / Global」「DIRECT」の3つが表示されます。設定画面の場所はクライアントのバージョンによって異なりますが、基盤となる設定値は通常、それぞれrule、global、directです。
| モード | 通信の出口 | 主な用途 | 注意点 |
|---|---|---|---|
| ルール Rule | rulesの順に判定し、対象のポリシーを決定 | 普段の閲覧、ドメインやアプリごとの振り分け | 現在の設定に含まれるルールによって結果が変わる |
| グローバル Global | GLOBALポリシーグループで現在選択中の項目を使用 | 振り分けが原因か一時的に切り分ける | GLOBALで実際に何が選択されているか確認が必要 |
| DIRECT | ローカルネットワークから接続先へ直接接続 | ローカル回線の確認、一時的に直接接続へ戻す | クライアントやTUNを停止する設定ではない |
3つのモードで通信がどう流れるか
ルールモード:通信の出口はルールで決まる。サイトの所在地を自動判定するわけではない
アプリからのリクエスト
→ システムプロキシまたはTUNで取り込む
→ Clash / mihomo
→ rulesを順番に確認
→ DIRECTに一致:ローカルネットワーク → 接続先
→ プロキシポリシーグループに一致:選択したノード → 接続先
→ REJECTに一致:接続を拒否
→ MATCHに到達:フォールバックポリシーで処理
ルールは上から順に評価され、通常は最初に一致したルールで処理が決まります。処理先には、組み込みポリシーのDIRECTやREJECT、設定済みのポリシーグループを指定できます。ルールモードに「中国本土は直接接続、日本国外はプロキシ」といった固定リストが付属するわけではありません。最終的な結果は、サブスクリプションに記述されたルールと、ルールセットが正常に読み込まれているかどうかで決まります。
たとえば、社内ドメインは直接接続する想定なのに、フォールバックルールによってプロキシグループへ送られると、アクセスに失敗することがあります。この場合、ノードを変更しても解決しない可能性があります。まず接続の詳細で一致したルールを確認し、必要に応じて、より具体的なDIRECTルールを追加しましょう。社内VPNを利用している環境では、別の経路制御に上書きされていないかも確認してください。
グローバルモード:通常の振り分けを経由せず、GLOBALで選択した項目を使用
コアに取り込まれたアプリのリクエスト
→ GLOBALポリシーグループ
→ 現在選択中のノードまたはポリシー
→ 接続先
グローバルモードでは通常、通常のrulesリストによる振り分けを行わず、組み込みのGLOBALポリシーグループを使用します。「同じ接続先に対してプロキシの出口を明示的に指定した場合、正常にアクセスできるか」という点を確認するのに適しています。切り替えたらプロキシ画面を開いてGLOBALを展開し、想定したノードまたはポリシーグループが選ばれていることを確認してください。
グローバルモードにしても、必ずリモートノードを経由するとは限りません。GLOBALでDIRECTが選ばれている場合や、選択した下位ポリシーが最終的に直接接続へ振り分けられる場合、通信はそのまま送信されます。また、コアに届いていないアプリの通信を自動的に取り込む機能でもありません。
DIRECTモード:通信の取り込みは維持し、リモートのプロキシノードは使わない
コアに取り込まれたアプリのリクエスト
→ DIRECT
→ ローカルネットワーク
→ 接続先
DIRECTモードでは、コアに取り込まれた接続にローカルネットワークの出口を使います。クライアントのローカルプロキシポートやDNSサービス、TUN仮想インターフェースは動作し続ける場合があるため、「クライアント起動前のネットワーク状態に戻る」という意味ではありません。クライアントを完全に介さない状態と比較するには、システムプロキシとTUNを別途無効にし、アプリ独自のプロキシ設定も確認してください。
プロキシモード・システムプロキシ・TUNの違い
システムプロキシとTUNは「通信をどう取り込むか」を決め、ルール・グローバル・DIRECTは「取り込んだ後、通信をどこへ送るか」を決めます。混同されやすいのは、この2つの設定レイヤーです。TUNを有効にしたままルールモードを使うこともできます。TUNを使うためにグローバルへ変更する必要はありません。
- システムプロキシ:システムのプロキシ設定に従うアプリが、リクエストをローカルのプロキシポートへ送るようにします。一部のゲームやコマンドラインツール、独自のネットワークスタックを使うアプリは利用しません。
- TUNモード:仮想ネットワークインターフェースと関連するルートを使って通信を取り込みます。通常はシステムプロキシより広範囲をカバーしますが、ルートの除外、権限、プラットフォームごとの実装などの影響を受けます。
- プロキシモード:コアに取り込まれた接続に対し、ルールによる振り分け、GLOBALポリシー、DIRECTのいずれを使うか選びます。
たとえば、設定のmixed-port: 7890は、ローカルの混合プロキシが7890番ポートで待ち受けることを示します。グローバルモードが有効という意味ではありません。ブラウザーの手動プロキシ設定には127.0.0.1:7890を指定できます。ポート番号はクライアントに現在表示されている値を確認してください。例のポート番号がすべての環境で既定値とは限りません。
クライアントでモードを切り替え、反映されたか確認する
デスクトップクライアントでは、通常、モードはホーム画面のカード、プロキシ画面、またはタスクトレイのメニューから切り替えます。Clash Verge Revなどでは、メイン画面の「プロキシモード」から「ルール」「グローバル」「DIRECT」を選択します。バージョンによってはタスクトレイのアイコンメニューからも切り替えられます。表示名や場所は変わることがあるため、見た目の似たスイッチではなく、3つのモード選択肢があるかを目印にしてください。
- 現在の状態を記録:モード、選択中のノード、システムプロキシとTUNの有効・無効を控えておきます。ノード名だけを記録しないでください。
- グローバルに切り替え:「グローバル / Global」を選び、「プロキシ / Proxies」画面で「GLOBAL」を展開して、利用できることが分かっているノードを選びます。
- 新しいリクエストを発生させる:対象ページを開き直し、「接続 / Connections」で該当ドメインを探します。必要な場合に限り、その接続先の既存接続を閉じてからページを再読み込みします。
- 出口までの経路を確認:接続の詳細に選択したノードまたはポリシーの経路が表示されていることを確認します。画面によってGLOBAL、ノード名、経路全体など表示内容が異なるため、ボタンの強調表示だけで判断しないでください。
- ルールモードに戻す:テスト後に「ルール / Rule」へ戻し、同じ接続先に再度アクセスして、一致したルールと最終ポリシーを比較します。
確立済みのTCP接続、ブラウザーのコネクションプール、実行中のダウンロードは、モードを切り替えても既存の接続を使い続けることがあります。切り替えと同時にすべてのセッションが再確立されるわけではありません。誤判定を避けるため、まず対象ページを開き直してください。会議やファイル転送を中断しないよう、最初からすべての接続を切断する必要はありません。
設定ファイルのmodeフィールド
# 設定例:普段はルールモードを使用
mode: rule
# ローカル混合プロキシのポート例。実際の設定値を確認
mixed-port: 7890
グローバルまたはDIRECTを使う場合は、modeの値をそれぞれglobalまたはdirectに変更します。同じYAML内にトップレベルのmodeを複数記述しないでください。GUIクライアントでは、実行時の選択が保存される場合や、オーバーライド設定でサブスクリプションの値が上書きされる場合があります。設定を再読み込みした後にモードが変わる場合は、サブスクリプションの内容を繰り返し編集するのではなく、クライアントの保存設定を確認してください。
ルールモードではつながらず、グローバルモードならつながる場合の確認手順
よくある状況ですが、すぐに「ルールモードが壊れている」とは判断できません。グローバルモードでは別のノードを使っていたり、誤ったDIRECTルールを回避できたりする場合があります。同じ条件で比較して初めて、結果を判断できます。
まず両方のモードで同じノードを使う
ルールモードでは、対象に適用されたプロキシグループを特定し、ノードを手動で選択します。グローバルモードでも、GLOBALに同じノードを設定してください。テスト中に出口が変わるとモードだけでなく回線も比較することになるため、自動選択グループは一時的に避けましょう。
次に、一致したルールとフォールバックポリシーを確認
- 対象がDIRECTに一致するのにローカルネットワークからアクセスできない:範囲の広すぎるDIRECTのドメインルールやIPルールがないか確認します。
- 対象がREJECTに一致する:ブロックルールが誤って影響していないか、特にログイン、認証、静的リソースのドメインを確認します。
- 対象がMATCHに振り分けられる:フォールバック先が想定どおりか、関連するルールセットが正常に読み込まれているか確認します。
- 正しいプロキシグループに一致しても接続できない:グループ名に「プロキシ」と付いているかではなく、実際に選択されている項目を確認します。
カスタムルールで参照するポリシーグループ名は、すでに存在する名前と完全に一致させる必要があります。より具体的なルールは、先に一致する広範なルールより前に置き、フォールバックのMATCHよりも前に配置します。サブスクリプションの更新で手動変更が上書きされることがあります。長期的に設定を調整する場合は、クライアントのルールオーバーライドやマージ機能を使い、機能の説明を確認してから保存してください。
最後にDNSを確認
グローバルモードに切り替えても、DNS設定一式が自動的に変わるわけではありません。ドメイン名の解決失敗、DNS上流への接続不能、fake-ipとアプリの非互換といった問題は、複数のモードで発生することがあります。まずログに名前解決のタイムアウトが記録されていないか確認し、次にDNS上流へ到達できるか調べましょう。「グローバル」をDNSの修復スイッチと考えたり、複数のDNS項目を一度に変更したりしないでください。
3つの接続先で再現可能な比較テストを行う
通常どおり直接接続できるサイト、指定したプロキシ出口が必要な接続先、ルーターの管理画面などのLAN内サービスを1つずつ用意します。LAN内のアドレスは実際のゲートウェイを確認してください。すべての機器で同じアドレスが使われているとは限りません。各モードで約30秒を目安に新しい接続を観察し、記録します。待ち時間を性能テストの結果として扱わないでください。
| テスト対象 | 確認する場所 | 記録する内容 |
|---|---|---|
| 直接接続するサイト | 接続の詳細 | ルールモードで想定したDIRECTポリシーに一致するか |
| プロキシが必要な接続先 | 接続の詳細とプロキシ画面 | ルールモードとグローバルモードで同じノードを使っているか |
| LAN内サービス | ブラウザーと接続一覧 | 誤ってプロキシへ送られていないか、またはコアに取り込まれていないか |
ルートから除外されてLAN内のリクエストがコアに取り込まれていない場合、グローバルモードでも直接接続されることがあります。これは取り込みレイヤーの動作であり、グローバルモードが機能していないわけではありません。反対に、LAN内サービスへのアクセスがコアに取り込まれ、グローバルモードによってリモートノードへ送られると、サービスに接続できない場合があります。トラブルシューティング後はルールモードに戻し、LAN内のDIRECT設定やルート除外を確認してください。
ノードの遅延テストで分かるのは、特定の測定方法における応答状況だけです。対象サイトでのログイン、動画再生、ファイルのダウンロードが正常にできることを保証するものではありません。実際のサービスへのリクエスト、接続経路、エラーログを合わせて判断してください。
よくある質問と普段の設定
グローバルモードのほうが速い?
必ずしもそうではありません。直接接続が適しているサービスをリモートノード経由にすると、経路が遠回りになって遅延が増えたり、サブスクリプションの通信量が増えたりすることがあります。グローバルモードは出口の選択を簡単にして動作を確認しやすくするもので、すべてのアプリを高速化する機能ではありません。ルールモードの使い勝手は、ルールの適切さ、DNSの状態、回線の実際の品質によって変わります。
DIRECTモードにすると、サブスクリプションの通信量消費を止められる?
コアに取り込まれた通常の通信をDIRECTで処理する場合、選択中のリモートプロキシノードは経由しません。ただし、クライアントがノードの稼働確認、サブスクリプションの更新、その他のバックグラウンド処理を実行することはあります。バックグラウンド通信がすべて停止すると保証できるわけではありません。関連する動作を止めたい場合は、自動遅延テスト、更新タスク、クライアントの実行状態をそれぞれ確認してください。
スマートフォンのグローバルモードでは、すべてのアプリがノード経由になる?
そうとは限りません。モバイル版クライアントは、OSが提供するVPNやネットワーク拡張機能を使って通信を取り込みますが、アプリやルートの除外、プラットフォームの制限が存在する場合があります。まず対象アプリの通信が取り込まれているか確認し、次にグローバルポリシーで実際に何が選択されているか調べてください。ステータスバーのVPN表示だけを見て、すべての接続の出口を判断しないでください。
設定を続ける前にクイックスタートガイドでサブスクリプションが有効か確認し、設定リファレンスでルールとポリシーグループの参照関係を確認できます。どのモードでも接続できない場合は、モードを何度も切り替えるのではなく、通信の取り込み、ノードの稼働状況、DNSを優先して確認してください。