TUNモードとは何ですか?
プロキシツールを使っていてこんな経験はありませんか?Clashは起動していてブラウザで海外サイトには問題なくアクセスできるのに、ターミナルでgit clone、npm install、またはcurlを実行するとタイムアウトや接続エラーが発生する。これは従来の「システムプロキシ」モードがHTTP/HTTPSプロキシプロトコルをサポートするアプリにしか機能しないためです。ターミナルツール、ゲームクライアント、一部のElectronアプリはTCP/UDP接続を直接行い、システムプロキシをバイパスします。
TUNモード(トンネルモード)はまさにこの問題を解決するために設計されました。OS レベルで仮想NIC(通常utunまたはMetaと命名)を作成し、システム全体のアウトバウンドトラフィックをClashのルールエンジンにルーティングして真の「グローバルプロキシ」を実現します。ターミナルツール、ゲームクライアント、システムサービスのネットワークリクエストはすべてTUN仮想NICにキャプチャされ、設定したルールに従ってルーティングされます。
Clash Verge RevはMeta(Mihomo)コアを内蔵し、高性能TUNモードをネイティブサポートしており、以前のツールに比べて設定が大幅に簡単になっています。本ガイドではWindowsとmacOSの両方での完全な設定手順を解説します。
TUNモード vs システムプロキシ:主な違い
始める前に、2つのプロキシモードの根本的な違いを理解して、適切な選択をしましょう:
| 比較項目 | システムプロキシ(HTTP Proxy) | TUNモード |
|---|---|---|
| 適用範囲 | HTTP/HTTPSプロキシをサポートするアプリのみ | システム全体のアウトバウンドトラフィック |
| ターミナルツール | 環境変数の手動設定が必要 | 自動 – 追加設定不要 |
| UDPトラフィック | 非対応 | 対応(ゲームに必須) |
| 必要な権限 | 一般ユーザー権限 | 管理者/root権限が必要 |
| OS互換性 | すべてのプラットフォーム | WindowsサービスまたはmacOSの認可が必要 |
推奨方法:日常のウェブブラウジングはシステムプロキシで十分です。ターミナル開発やゲーム加速が必要なときにTUNモードを有効にしてください – 2つのモードはいつでも切り替えられ、互いに干渉しません。
始める前に:前提条件
TUNモードを有効にする前に、以下の条件を確認してください:
- 最新バージョンのClash Verge Revがインストールされていること(v2.0.0以上推奨)。まだインストールしていない場合は クライアントダウンロードページ で最新バージョンを入手してください。
- 有効なサブスクリプションURLがあり、Clash Verge Revにインポート済みであること(プロキシページでノードリストが見えること)。
- OSがWindows 10/11またはmacOS 12 Monterey以降であること。
- マシンの管理者アカウント権限があること(TUN仮想NICの作成にシステムレベルの権限が必要)。
WindowsでTUNモードを有効にする
WindowsでTUNモードを有効にするには2ステップが必要です:まずサービスモード(Service Mode)をインストールし、次にTUNモードを有効にします。サービスモードにより、Clash Verge RevがWindowsシステムサービスとして実行され、仮想NIC作成に必要なシステム権限が付与されます。
1ステップ1:サービスモードをインストール
Clash Verge Revを開き、左メニューの設定をクリック。スクロールしてシステム設定セクションを見つけると、サービスモードオプションが表示されます。
サービスモード横のインストールボタンをクリック。UACの権限プロンプトが表示されたら「はい」をクリックしてインストールを承認します。インストール完了後、ステータスインジケーターが緑に変わりボタンが「インストール済み」に変わります。
インストールをクリックしてもUACプロンプト後にエラーが発生する場合は、現在のアカウントに管理者権限があるか確認するか、Clash Verge Revのアイコンを右クリックして「管理者として実行」を選択してから再試行してください。
2ステップ2:TUNモードを有効化
サービスモードのインストール後、設定ページでスクロールしてTUNモードのトグルを見つけ、オンに切り替えてください。
有効化後、Clash Verge Revは自動的にMetaという仮想NICを作成し、すべてのアウトバウンドトラフィックをそのNIC経由でルーティングします。Windowsのネットワーク接続(Win + R → ncpa.cpl)を開いてMetaという新しいアダプターが表示されれば、TUNモードの有効化成功です。
3オプション:TUN設定の調整
デフォルト設定はほとんどのユーザーに適しています。必要に応じて設定でTUNモードの詳細項目を展開するか、設定ファイルのtunフィールドを直接編集してください:
tun:
enable: true
stack: mixed # 推荐 mixed:TCP 走 gVisor,UDP 走 system
dns-hijack:
- "any:53" # 劫持所有 DNS 请求,防止泄漏
auto-route: true # 自动添加路由规则
auto-detect-interface: true # 自动检测出口网卡
主要パラメータの説明:
- stack:ネットワークスタックの実装方式。
mixedモードが総合性能最良で推奨;gvisorは互換性が高いが性能がやや低い;systemは遅延最低だが一部シナリオで互換性問題がある。 - dns-hijack:DNSリクエストの横取り範囲。
any:53に設定するとすべてのDNSリクエストがClashを通じて処理され、DNSリークを防止します。 - auto-route:有効にするとClashが自動的にルーティングテーブルを管理し、ルーティングルールを手動で追加する必要がなくなります。
設定ファイルを変更したら、Clash Verge Revのプロファイルページで該当プロファイル横のリロードボタンをクリックして反映させてください – 再起動は不要です。
macOSでTUNモードを有効にする
macOSでのTUNモードの設定は比較的簡単です – Windowsのように別途サービスコンポーネントをインストールする必要はありませんが、初回有効化時にシステム拡張の権限を付与する必要があります。
1ステップ1:管理者権限を付与
Clash Verge Revを初めて起動すると、Helper Toolのインストールのために管理者パスワードが求められます。プロンプトにmacOSのログインパスワードを入力して確認してください。
このステップを見逃した場合や以前に拒否した場合は、Clash Verge Revの設定 → システム設定でサービスモードを見つけ、インストールをクリックしてパスワードを再入力して認可を完了してください。
macOS Sequoia(15.x)以降では、システム設定 → 一般 → ログイン項目と拡張でClash Verge Revのネットワーク拡張を手動で許可する必要がある場合があります。TUNモードの有効化に失敗したら、まずこの設定を確認してください。
2ステップ2:TUNモードを有効化
ステップ2:TUNモードを有効化
有効化後、システムのメニューバーにネットワーク設定が変更されたという通知が表示されます – Clash Verge Revがutun仮想NICを作成してグローバルトラフィックを制御しています。システム設定 → ネットワークでutunから始まる新しいインターフェースが表示されれば、TUNモードが正常に動作しています。
3macOSのヒント:拡張モードを有効化
macOSでは、設定 → プロキシ設定の拡張モードも同時に有効にすることをお勧めします。このモードはpfファイアウォールルールですべてのネットワークトラフィックをTUN仮想NICに強制ルーティングし、一部のシステムプロセスがプロキシをバイパスする場合にも完全なカバレッジを提供します。
TUNモードの動作確認
TUNモードを有効にした後、以下の方法で実際に動作しているか確認できます:
方法1:ターミナルで確認(推奨)
ターミナル(PowerShell / Terminal)を開き、以下のコマンドを実行してください:
# 测试 curl 是否走代理(返回境外 IP 则说明 TUN 生效)
curl -s https://ipinfo.io/ip
# 测试 git 是否能正常访问 GitHub
git ls-remote https://github.com/MetaCubeX/mihomo.git HEAD
curlが返すIPアドレスがプロキシノードの出口IPと一致すれば、TUNモードがターミナルトラフィックを正常に制御しています。
方法2:Clash接続ログを確認
Clash Verge Revの接続ページでリアルタイムの接続リストを確認。git cloneまたはnpm install実行時に関連ドメイン(github.com、registry.npmjs.orgなど)のエントリが見えれば、TUNモードがリクエストをキャプチャしてルーティングしています。
よくある問題のトラブルシューティング
Q1:TUN有効化後にネットワーク速度が著しく低下する
TUNモードではすべてのトラフィックが仮想NICを通過するため、追加のCPU負荷が発生します。stackをgvisorからmixedまたはsystemに変更し、プロキシノードの遅延が正常かを確認してください。CPU使用率が高い場合は、大量のローカルトラフィック(NAS、イントラネットサービスなど)が誤ってプロキシにルーティングされていないか確認し、対応するDIRECTルールを追加して除外してください。
Q2:WindowsでTUN有効化後に一部のアプリがインターネットに接続できなくなる
一部のセキュリティソフト(Windows Defender、ウイルス対策ソフトなど)がTUN仮想NICの作成やトラフィックをブロックする可能性があります。Clash Verge Revとそのインストールディレクトリをセキュリティソフトのホワイトリストに追加するか、Windows Defenderファイアウォールでclash-verge-rev.exeのインバウンドとアウトバウンドルールを許可してください。
Q3:macOSで「ネットワーク拡張がブロックされました」と表示される
これはmacOSのセキュリティ機構(システム拡張)の通常の通知です。システム設定 → 一般 → ログイン項目と拡張 → ネットワーク拡張に移動してClash Verge Revのエントリを見つけ許可にチェックを入れ、Clash Verge Revを再起動してください。
Q4:TUN有効化後にDNS解決が失敗する
TUN有効化後にドメイン解決が失敗する場合は、設定ファイルのdnsセクションが有効になっているか確認してください:
dns:
enable: true
enhanced-mode: fake-ip # 或 redir-host
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- tls://8.8.8.8:853
- tls://1.1.1.1:853
またtun.dns-hijackがany:53に設定されているか確認して、システムの既存DNSサーバーへのリクエストがClashをバイパスしないようにしてください。DNSリーク防止設定の詳細については MetaコアDNSリーク防止完全ガイド をご覧ください。
Q5:再起動後にTUNモードが自動的に有効にならない
Clash Verge Revの設定 → 一般でスタートアップ時に起動オプションを有効にし、サービスモードがインストール済みであることを確認してください。これにより再起動時にClash Verge Revがサービスとして自動起動し、TUNモードも復元されます。
応用テクニック
ローカルトラフィックの除外
TUN有効化後はすべてのトラフィックがClashを通過しますが、これにはLANデバイス(NAS、ルーター管理ページなど)へのリクエストも含まれます。ルール設定に以下のエントリを追加してプライベートアドレス範囲を直接接続で処理することをお勧めします:
rules:
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
# ... 其他规则
UDP転送 & ゲーム加速
TUNモードはUDPトラフィック制御をネイティブサポートしており、これがゲーム加速の核心的な優位性です。プロキシノードがUDP転送をサポートしているか確認し(Shadowsocks、Hysteria2、TUICなどすべてサポート)、対応するProxy Groupでudp: trueを有効にすると低遅延のゲームプロキシを楽しめます。
まとめ
TUNモードはClash Verge Revを一般的なプロキシツールと差別化する最も核心的な機能の一つです。適切に設定すると、以前の「プロキシを有効にしても効かない」という問題がほぼ解消されます – git、npm、pipなどのターミナルツール、ゲームクライアント、システムサービスがすべてルールに従って正確にルーティングされます。
他の類似ツールの複雑なTAPドライバインストール手順と比べ、Clash Verge Rev内蔵のMetaコアはTUNモードの設定複雑度を最小限に抑え、ほぼ「スイッチを入れるだけで使える」体験を実現しています。まだこのレベルの全トラフィックプロキシを体験していない方は、ぜひ今試してみてください –