Windows 11でTUNモードを使う理由
Windows 11でClash Metaを使い始めたものの、「ブラウザーは通るのに別のアプリだけ接続できない」「システムプロキシをオンにしてもゲームや開発ツールが直通する」「TUNという項目を見つけたが、オンにしてよいのかわからない」という状況は珍しくありません。通常のHTTPプロキシは、アプリがWindowsのプロキシ設定を参照している場合にだけ機能します。一方、TUNモードは仮想ネットワークインターフェースを作り、OSのルーティングに関わる形で通信をClash Metaへ渡します。そのため、プロキシ設定に対応していないアプリや、TCP以外の通信を含むアプリも管理しやすくなります。
ただし、TUNモードは単なるスイッチではありません。仮想アダプターを作成する権限、DNSをどこで解決するか、既存のVPNや仮想マシンとの競合、そしてClash Meta側のルール設定が同時に関係します。設定画面でオンにしただけで通信が安定するとは限らず、Windows 11のネットワークアダプターとClashの接続ログを順番に確認することが重要です。本記事では、Windows 11版Clash Metaを前提に、準備、権限付与、TUN設定、DNS確認、ブラウザーの疎通確認、問題が起きたときの戻し方までを一つの流れで説明します。
TUNモードの役割:仮想ネットワークインターフェースを経由して、アプリが個別のプロキシ設定を持っていなくても通信をClash Metaのルールへ渡す仕組みです。環境によって表示名や権限の要求は異なるため、実際の画面では「Service Mode」「System Proxy」「TUN」など近い項目を確認してください。
設定前に確認すること
最初に、現在のネットワーク構成を複雑にしている要素を減らします。Clash Meta以外のVPN、別のプロキシソフト、ゲーム向けの通信最適化ツール、仮想マシン用のネットワーク制御アプリが同時に動いていると、同じルートやDNSを取り合うことがあります。特に企業VPNやセキュリティソフトは、未知の仮想アダプターを遮断する場合があります。原因を追いやすくするため、初回設定ではClash Metaだけを残し、他の全局VPNは一時停止してください。
- Clash Metaのコア:設定画面でmihomoまたはClash Meta系のコアが正常に読み込まれているか確認します。
- Windowsの更新:保留中の再起動がある場合は、先にWindows Updateを完了させます。
- 権限:管理者アカウントでログインしているか、UACの確認画面に対応できる状態にします。
- 購読設定:少なくとも一つのプロキシグループと利用可能なノードを用意します。
- 復旧手段:問題が起きた場合にTUNをオフへ戻し、Windowsのシステムプロキシを確認できるようにします。
また、設定変更前に現在のプロファイルを複製しておくと安心です。設定ファイルを直接編集する場合は、元のYAMLを別名で保存してください。TUN、DNS、ルールの複数箇所を一度に変更すると、失敗した際にどの項目が原因だったのか判断しにくくなります。まずは既存のプロファイルを使い、TUNだけを変更して動作を確認する方法が安全です。
必要な権限とサービスモード
Windows 11でTUNモードを利用するには、Clash Metaが仮想ネットワークアダプターを作成し、ルーティングを変更できなければなりません。一般ユーザー権限だけではこの操作が拒否されることがあるため、クライアントによってはService Mode、管理者サービス、または特権モードを先にインストールします。ここでいうサービスは、常にアプリ本体を管理者として起動するという意味ではなく、必要なネットワーク操作を補助するバックグラウンド機能として動作する構成が一般的です。
- 設定画面を開く。Clash MetaのSettings、General、System、またはKernelに相当する画面を開き、TUNと権限に関する項目を探します。
- サービスモードを有効にする。Install Service、Install Service Mode、管理者サービスなどのボタンを押し、WindowsのUACダイアログが表示されたら内容を確認して許可します。
- 状態を確認する。ボタンがInstallからUninstallへ変わる、またはRunning、Activeなどの表示になることを確認します。失敗した場合は一度アプリを終了して再起動します。
- 他の仮想アダプターを確認する。既存のVPNや仮想マシンが作ったアダプターを無闇に削除せず、競合が疑われるものだけ一時停止して再テストします。
サービスのインストールに失敗する場合、管理者権限の不足だけでなく、セキュリティソフトによるサービス登録の制限、古いサービスの残存、またはアプリを展開したフォルダーのアクセス権が原因になっていることがあります。まずアプリを完全終了し、タスクマネージャーにClashやmihomoのプロセスが残っていないか確認してください。それでも改善しない場合は、アプリ内のサービス削除機能で古い登録を解除してから、再度インストールします。
権限に関する注意:UACを無効化したり、セキュリティソフトを長時間停止したりする必要はありません。発行元と入手先を確認したうえで、Clash Metaのサービス登録だけを許可してください。
TUNモードを有効にする手順
権限の準備ができたら、Clash Metaの設定画面でTUNをオンにします。クライアントによってはメイン画面のTUNスイッチから有効化できますが、細かい設定はプロファイルのYAMLに保存されます。GUIで変更したあとに再起動すると設定が消える場合は、実際に読み込まれているプロファイルを確認してください。購読プロファイルを直接編集できないクライアントでは、ローカルオーバーライドやマージ設定を使う必要があります。
GUIで確認する項目
一般的な画面では、TUNの有効化、スタック、ルートの自動設定、インターフェースの自動検出、厳格ルート、DNSの横取りに近い項目が並びます。最初からすべてを変更するのではなく、まず自動ルートと自動インターフェース検出を有効にし、問題が出た場合だけ詳細項目を一つずつ調整します。Windows 11のノートPCではWi-Fiと有線LANを切り替えることがあるため、インターフェースを固定するより自動検出の方が扱いやすいケースがあります。
YAMLで確認する基本形
YAMLを確認できる場合は、次のような基本構成を出発点にします。利用中のmihomoのバージョンによって対応キーが異なるため、未知のキーをそのまま追加しないでください。特に古いClash用設定を新しいコアへ移行する場合は、警告ログを確認しながら項目を整理します。
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
strict-route: false
dns-hijack:
- any:53
stackは環境によって利用できる値が異なります。まずはWindowsとの互換性を確認しやすい標準的な設定から始め、特定のアプリだけが接続できない場合に別のスタックを検討します。strict-routeを厳しくするとDNS漏れや意図しない直通を抑えられる一方、ローカルネットワーク、プリンター、社内システムまで遮断することがあります。自宅のLAN機器へアクセスする必要がある場合は、プライベートアドレス帯を適切にバイパスできるか確認してください。
仮想アダプターを確認する
TUNをオンにしたあと、Windows 11側に仮想ネットワークアダプターが作成されているかを確認します。スタートメニューで「ネットワーク接続の表示」を検索するか、設定の「ネットワークとインターネット」から「ネットワークの詳細設定」を開きます。名称はクライアントやコアによって異なりますが、Clash、mihomo、Meta、またはTUNに近い名前のアダプターが増えていることがあります。
- アダプターの存在を見る。新しい仮想アダプターが表示され、状態が無効やケーブル未接続になっていないことを確認します。
- 物理接続を確認する。Wi-FiまたはEthernetの実際の接続が有効であることを確認します。TUNだけが有効でも、外側の回線が切れていれば通信できません。
- 競合を確認する。VPNアダプターが複数ある場合は、Clash Meta以外を一時停止し、同じテストを実行します。
- ルートを確認する。管理者権限のターミナルで
route printを実行し、デフォルトルートが異常に重複していないか確認します。
アダプターが表示されない場合は、TUNのスイッチが見かけ上オンでも、サービスモードが動いていない可能性があります。Clash Metaのログにpermission denied、service unavailable、failed to create interfaceといった記録がないか確認してください。反対に、アダプターは存在するのにインターネットが止まる場合は、作成自体は成功しており、次にDNS、ルール、ルーティングを調べる段階です。
DNS設定と名前解決を確認する
TUNモードで特に問題になりやすいのがDNSです。ブラウザーがドメイン名を解決できなければ、プロキシノードが正常でもページは開きません。WindowsのDNS設定、Clash MetaのDNS、ブラウザーのSecure DNS、そしてVPNやセキュリティソフトのDNS保護が同時に動くと、どこで名前解決しているのか分かりにくくなります。
まずは構成を単純にします。Clash MetaのDNS機能を使う場合、設定したDNSサーバーへ到達できること、Fake-IPまたはRedir-Hostのモードが現在のルールと合っていることを確認します。ブラウザー側のSecure DNSを強制すると、ブラウザー自身がHTTPS経由で外部DNSへ接続し、Clashの想定と異なる経路になることがあります。検証時だけSecure DNSを自動またはオフにして挙動を比較すると、原因を切り分けやすくなります。
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- 1.1.1.1
- 8.8.8.8
fake-ip-filter:
- '*.lan'
- '*.local'
上の例は概念を示すもので、実際のDNSサーバーは利用地域、契約回線、社内ポリシーに合わせて選びます。ローカルプリンターやNASを使う場合、*.lanや*.localの扱いを確認しないと、ローカル名がFake-IPへ置き換わってアクセスできなくなることがあります。設定を変更したら、既存のDNSキャッシュをクリアし、Clash Metaを再起動してからテストしてください。
ブラウザーとアプリの通信を確認する
TUNが動作しているかを判断するには、単にWebページが開くかを見るだけでは不十分です。Clash Metaの接続一覧やログを開いた状態で、ブラウザーから複数のドメインへアクセスします。接続一覧にドメイン、使用ルール、プロキシグループ、選択されたノードが記録されるなら、少なくともブラウザーの通信はClashへ到達しています。すべてがDIRECTになる場合は、ルールの順番、TUNのルート、またはブラウザーのキャッシュを確認します。
- ブラウザーの新規接続:プライベートウィンドウを使い、以前のキャッシュや拡張機能の影響を減らします。
- 複数のサイト:普段使うサイトだけでなく、異なるドメインを二つ以上試します。
- 接続一覧:DNS問い合わせ、HTTPS接続、選択されたルールが記録されるか確認します。
- ノード固定:初回テストでは自動切り替えより、安定したノードを手動選択します。
- システムプロキシ:TUNとシステムプロキシを同時に使う場合、ループや二重処理が起きていないか確認します。
ブラウザーだけでなく、PowerShellや開発ツールも確認すると実用上の差が分かります。たとえばPowerShellのcurl、Git、パッケージマネージャーなどは、システムプロキシを使うかどうかがそれぞれ異なります。TUNが正しく動作していれば、明示的なプロキシ環境変数を設定していないプロセスでも接続一覧に現れる可能性があります。ただし、アプリが独自のVPN、独自DNS、証明書ピンニングを使う場合は、TUNだけで必ず捕捉できるとは限りません。
よくある問題と復旧方法
TUNをオンにすると全通信が止まる
最初にTUNをオフに戻し、インターネット接続が復旧するか確認します。復旧するなら、物理回線ではなくTUNのルーティング、DNS、ノード、またはルールが原因です。Clash Metaのログにエラーがないか確認し、ノードを手動選択してから再度オンにします。ネットワークが戻らない状態で何度も設定を変更するより、いったん元の状態へ戻して一項目ずつ試す方が安全です。
IPアドレスでは接続できるがドメイン名で失敗する
この症状はDNS経路の問題を示すことが多く、ブラウザーのSecure DNS、WindowsのDNSキャッシュ、ClashのFake-IPフィルターを順番に調べます。ローカルドメインだけ失敗するなら、LAN向けの除外設定が不足している可能性があります。外部ドメインだけ失敗するなら、DNSサーバーへの通信がルールでブロックされていないか、DNS hijackが有効なのにClashのDNSが停止していないかを確認します。
ブラウザーは通るが特定アプリだけ直通する
アプリが独自のネットワークスタックを使用している場合、TUNの設定だけでは十分でないことがあります。接続一覧でアプリのプロセス名や接続先が表示されるか確認してください。表示されないなら、アプリが別の仮想ネットワーク、IPv6、QUIC、または独自のDNSを使っている可能性があります。まずアプリ側でHTTP/3やSecure DNSを一時的に無効化し、TCP通信として再テストすると切り分けやすくなります。
VPNやWSL2と競合する
VPN、WSL2、Hyper-V、Docker Desktopは、それぞれ仮想インターフェースやルートを追加します。複数の全局ネットワーク機能を同時に有効にすると、通信がループしたり、戻り経路がなくなったりします。まずClash MetaのTUNだけを有効にして基本通信を確認し、その後にWSL2やDockerを一つずつ戻してください。仕事用VPNが必要な環境では、会社の管理者が指定する除外ルートやDNS設定を優先します。
切り分けのコツ:「TUNをオンにした直後」「ブラウザーを起動したとき」「DNSを変更したあと」など、症状が変わった時点をメモしてください。変更履歴が分かるだけで、ルーティング、DNS、ノードのどこを先に調べるべきか判断しやすくなります。
安定運用のためのチェックポイント
日常的にTUNモードを使うなら、設定を一度完成させて終わりにするのではなく、Windowsの更新やネットワーク環境の変化に合わせて状態を確認します。ノートPCでWi-Fiから有線LANへ切り替えたとき、スリープから復帰したとき、別のVPNを使ったあとには、仮想アダプターとデフォルトルートが意図した状態かを確認してください。通信が不安定なときにノードだけを何度も変更すると、ネットワーク側の問題を見逃すことがあります。
設定ファイルは定期的にバックアップし、購読更新後にTUN、DNS、ルールの挙動が変わっていないか確認します。新しいプロファイルが古いTUNキーを上書きする場合もあるため、GUIで表示される状態と実際のYAMLが一致しているかを見ることが大切です。ログはエラーが出た瞬間だけでなく、正常時の接続先とルールも一度保存しておくと、障害発生時の比較材料になります。
| 確認項目 | 正常な状態 | 異常時の確認先 |
|---|---|---|
| TUNスイッチ | 有効またはRunningと表示される | サービスモード、UAC、Clashログ |
| 仮想アダプター | 作成済みで無効化されていない | Windowsのネットワーク詳細設定 |
| DNS | ドメイン名を解決し接続一覧に記録される | DNS設定、Secure DNS、Fake-IPフィルター |
| ブラウザー | 複数サイトが意図したルールで開く | ルール順、ノード、システムプロキシ |
| 他のVPN | 不要な全局VPNが停止している | 仮想アダプターとルートの重複 |
まとめ:まず一つの経路を安定させる
Windows 11版Clash MetaのTUNモード設定では、スイッチをオンにすることよりも、管理者権限、仮想アダプター、DNS、ルーティング、プロキシノードを順番に確認することが重要です。最初は他のVPNを停止し、サービスモードを有効にし、安定したノードを手動で選択してからTUNをオンにします。その後、Clashの接続一覧とWindowsのネットワーク設定を見ながら、ブラウザー、DNS、必要なアプリを一つずつ確認してください。すべてを同時に変更しなければ、問題が起きても元の状態へ戻しやすくなります。
市販の簡易プロキシツールや古いClash系クライアントでは、TUNの設定場所が分かりにくかったり、Windows 11の更新後に仮想アダプターが正常に再作成されなかったりすることがあります。設定項目が多すぎる製品では、DNSとルーティングの関係を確認するだけで時間がかかる場合もあります。Clash 公式サイトはClash Meta系の設定、TUNモード、ログ確認、Windows環境での切り分けを一つの流れで確認しやすく、今回の手順のように権限から通信テストまで段階的に進められます。Windows 11でシステム全体のプロキシ環境を整えたいなら、まずはClash 公式サイトを無料でダウンロードして、無理のない範囲で設定を始めてみてください。
→ Clash 公式サイトを無料でダウンロードして、Windows 11でTUNモードの設定を始めましょう。
さらに詳しい設定項目はドキュメントハブで確認できます。準備ができたらダウンロードページへ →