macOSでClash Verge RevのTUNモードを使う理由

Clash Verge RevをmacOSで使っているのに、ブラウザではプロキシが効いている一方、ターミナル、アップデータ、チャットアプリ、ゲームランチャーなど一部のアプリだけ通信できないことがあります。これはアプリがmacOSのシステムプロキシ設定を参照していない、あるいはHTTPプロキシに対応していないことが主な原因です。システムプロキシは対応アプリにとって便利ですが、すべてのTCP通信やUDP通信を自動的に捕捉する仕組みではありません。

TUNモードは、Clashの仮想ネットワークインターフェースを通じて、アプリが直接接続しようとする通信をClashのコアへ渡す方式です。そのため、プロキシ設定を持たないアプリでも、ルールに従った経路選択を適用しやすくなります。macOSではネットワーク拡張やVPN構成に関係する権限が必要になるため、単にスイッチをオンにするだけでなく、権限の許可、DNS、ルーティング、既存VPNとの競合まで順番に確認することが重要です。

ただし、TUNモードは「すべての通信を必ずプロキシへ送る機能」ではありません。ClashのルールでDIRECTになっているドメインは直接接続され、DNSの設定やアプリ独自の接続方式によっては想定と異なるログが残ることもあります。まずは対象アプリを一つに絞り、Clashの接続ログとmacOS側の状態を同時に確認すると、設定ミスとサービス側の障害を分けやすくなります。

最初の確認:設定変更前に、Clash Verge Revの現在のコア、動作モード、混合ポート、システムプロキシの状態をメモしてください。問題が起きたときに変更前へ戻せるよう、使用中のプロファイルも複製しておくと安全です。

事前準備:権限・プロファイル・競合ソフトを確認する

TUNを有効にする前に、Clash Verge Revが正常に起動し、購読またはローカル設定が読み込まれていることを確認します。画面上でノードやプロキシグループが空のままなら、TUNを先に触っても通信経路の検証ができません。まずプロファイルを選択し、設定エラーがないこと、コアが停止していないこと、通常のブラウザ通信がClashの接続一覧に表示されることを確認してください。

次に、macOSのバージョンとClash Verge Revのビルドを確認します。バージョンによってメニュー名が「TUN Mode」「Enhanced Mode」「Service Mode」など異なる場合がありますが、目的は仮想インターフェースとネットワーク拡張を有効にすることです。解説中のラベルと手元の画面が完全に一致しなくても、TUN、Network Extension、Service、Permissionといった語を手がかりに読み替えてください。

会社や学校のMacでは、MDMによってVPN構成、システム拡張、ネットワーク拡張の追加が制限されていることがあります。また、別のVPNクライアント、広告ブロッカー、セキュリティソフト、DNSフィルターが同時に動いていると、デフォルトルートやDNSの設定が競合します。検証時は不要なVPNを一時停止し、複数のネットワーク保護ツールを同時に有効にしない状態で差分を見てください。

確認項目 見るポイント 問題がある場合
プロファイル ノードとルールが読み込まれているか プロファイルを再読み込みする
コア 停止や設定解析エラーがないか ログでYAMLエラーを確認する
権限 ネットワーク拡張の許可が表示されているか macOSの設定画面で承認する
競合ソフト 別VPNやDNSフィルターが動いていないか 一つずつ停止して再テストする
注意:TUNの権限ダイアログは、初回起動時ではなくTUNをオンにしたタイミングや、アプリを再起動した後に表示されることがあります。見逃した場合はClash Verge Revを終了して再起動し、macOSの「システム設定」→「ネットワーク」または「プライバシーとセキュリティ」周辺に追加された許可項目を確認してください。

Clash Verge RevでTUNモードを有効にする手順

ここからは、一般的なClash Verge Revの画面構成を基準に進めます。ビルドによって位置は異なりますが、最初にClash Verge Revを開き、設定画面またはProfiles、Settingsに相当する項目へ移動します。TUN設定を見つけたら、いきなりすべての高度な項目を変更せず、基本スイッチを一つずつ確認してください。

  1. Clash Verge Revを起動する:メニューバーやDockからアプリを開き、バックグラウンドのコアが実行中であることを確認します。コアが停止している場合は、先にプロファイルを読み込み直してください。
  2. 設定画面を開く:「Settings」「General」「Clash Core」など、ネットワーク動作を管理する画面へ移動します。単なるブラウザ設定ではなく、コアやサービスに関係する項目を探します。
  3. TUNをオンにする:「Enable TUN」または同等のスイッチを有効にします。初回は管理者パスワードやTouch IDを求められることがあります。これは仮想ネットワーク機能の登録に必要な認証です。
  4. macOSの許可を承認する:ネットワーク拡張、VPN構成、補助サービスなどの確認画面が出たら、表示内容を確認して許可します。許可後にClash Verge Revの再起動が必要な場合は、指示どおりに再起動してください。
  5. DNS設定を確認する:TUNの設定にDNS関連の項目がある場合、Fake-IPやRedir-Hostなど、現在のプロファイルが想定する方式と矛盾しないようにします。意味が分からない項目を一度に変更すると、名前解決だけ失敗する原因になります。
  6. 設定を保存して再接続する:変更後にコアの再起動やプロファイルの再読み込みを行い、接続ログにエラーがないことを確認します。TUNのスイッチがオンでも、サービス登録に失敗していれば実際には通信を捕捉できません。

TUNを有効にした直後は、macOSのネットワーク一覧に見慣れないVPNまたは拡張インターフェースが表示されることがあります。これは必ずしも異常ではありませんが、同じ名前の構成が複数作られたり、古いClash関連のサービスが残ったりすると競合の原因になります。不要な古い構成を削除する前に、現在使っているClash Verge Revのプロファイルと設定をバックアップしてください。

TUNの高度な項目を変更する前に知っておくこと

TUN設定には、システムルートの自動設定、DNSの自動 hijack、スタック方式、IPv6、Auto Routeなどの項目が並ぶことがあります。初心者の検証では、まず基本設定のまま動かし、対象アプリの接続がClashに現れるかを確認するのが安全です。たとえばIPv6だけが先に利用される環境では、IPv4向けのルールを追加しても通信が変わらないことがあります。逆にIPv6を無効にしたことで、家庭内ネットワークや特定サービスに影響が出るケースもあります。

DNS hijackを使う場合は、DNSリクエストがClashへ届いているかを確認してください。ブラウザにIPアドレスを直接入力するテストだけではDNSの検証になりません。ドメイン名でアクセスし、Clashログ、DNSログ、対象アプリの挙動を順番に比較します。TUNの機能を増やすほど便利になるとは限らず、原因を一つずつ追える最小構成から始めることが、復旧を早くする実務的な方法です。

TUN経由になったかを確認する方法

TUNが本当に機能しているかは、スイッチの表示だけで判断しないでください。最初の確認対象には、普段システムプロキシを参照しないアプリを選びます。ターミナルからHTTPS通信を行うコマンドや、プロキシ設定を持たない更新ツールなどが適しています。ただし、対象サービスの利用規約に反するテストや大量のリクエストは避け、短時間の接続だけで確認してください。

まずClash Verge RevのConnectionsまたはLogsを開いた状態で、対象アプリを起動します。接続先のホスト名、使用されたルール、選択された策略グループ、DIRECTかPROXYかを確認します。TUN経由であれば、アプリ側にプロキシ環境変数を設定していなくても、通常は何らかの接続記録がClashに現れます。接続が表示されない場合は、TUNサービス、権限、アプリのキャッシュ接続、別VPNの優先順位を疑います。

次に、同じアプリでTUNをオフにして比較します。TUNオンでは接続ログに現れ、オフでは現れないなら、捕捉経路は機能している可能性が高いです。ただしログに表示されたからといって、必ずプロキシノードを通ったとは限りません。ルールがDIRECTを選択していれば、通信はClashを経由して評価されても、最終出口は直接接続です。検証では「Clashが捕捉したか」と「どの出口を選んだか」を別々に記録してください。

確認の順序:①対象アプリを終了、②Clashの接続ログを開く、③TUNを有効化、④アプリを起動、⑤ホスト名とルールを確認、⑥TUNを無効化して同じ操作を再実行、という順番にすると比較しやすくなります。アプリを終了せずに切り替えると既存の長時間接続が残り、結果が分かりにくくなります。

接続できないときの切り分けと安全な戻し方

TUNを有効にした後にインターネット全体が使えなくなった場合は、ルールを大量に編集する前にTUNを一度オフにし、システムプロキシだけで通信が戻るかを確認します。戻るなら、TUNの権限、仮想インターフェース、DNS、ルート設定のいずれかに問題がある可能性があります。戻らない場合は、別VPNやmacOS側のネットワーク設定が変更されていないかを確認し、必要であればネットワーク接続を切り替えてからClash Verge Revを再起動します。

特定のアプリだけ失敗する場合は、まずアプリが独自のDNS、QUIC、IPv6、証明書検証、固定プロキシを使っていないかを調べます。ブラウザで成功するからといって、同じドメインを使う別アプリまで同じ結果になるとは限りません。Clashのログにホスト名が出ているならルール評価を確認し、ログに出ていないならTUNがそのプロセスの通信を捕捉できているか、またはアプリが既存の接続を再利用していないかを見ます。

DNSエラーだけが発生する場合は、Fake-IPとアプリの互換性を疑います。設定を大きく変更するのではなく、プロファイルのDNS方式を確認し、問題のドメインを一時的に除外して差分を取ります。IPv6の問題が疑われる場合も、恒久的に無効化する前に、検証用の設定として一時的に切り替えて結果を比較してください。変更内容と時刻をメモしておけば、元の設定へ戻す判断が簡単になります。

TUNを使わなくなったときは、スイッチをオフにした後、Clash Verge Revを終了し、macOSのネットワーク設定に残った不要な構成がないかを確認します。別VPNへ戻す場合は、デフォルトルートとDNSが以前の状態へ戻っているかを確認してください。強制終了や設定ファイルの直接削除を先に行うと、サービスだけが残って次回起動時に権限エラーになることがあります。

システムプロキシだけでは拾えないターミナルやアプリの通信を扱う点で、Clash Verge RevのTUNモードはmacOSの運用を大きく整理できます。古いClashX系クライアントはメニューや権限処理が異なり、別のVPN製品はアプリごとの除外設定が複雑になりやすい一方、Clash Verge RevはMihomo系コア、接続ログ、ルール評価、TUN設定を一つの画面で追いやすいのが利点です。macOSで権限確認から通信経路の観測まで一貫して進めたいなら、今回の手順を試せる環境を用意し、必要な機能をまとめて確認できるClash V.COREをダウンロードして始めるのが実用的です。

// エディターズ・チョイス

Clash V.COREでmacOSのTUN通信を管理

TUN、ルール、DNS、接続ログを一つの流れで確認し、アプリごとのプロキシ問題を段階的に切り分けられます。

  • macOSのTUNモード設定を確認
  • アプリ別の接続ログを観測
  • DNSとルーティングを整理
  • プロファイルとルールを管理
  • システムプロキシとの違いを比較
Clash V.CORE を入手 →