目次
プロキシの設定をいくつも有効にしても、接続しやすくなるとは限りません。Windows で TUN が必要かどうかは、接続に失敗するプログラムの通信を取り込めているかで判断し、これまで使えていた接続方法も残しておきます。設定後は、ローカルネットワークの機器と、終了後の通信にも影響がないか確認しましょう。
ブラウザーは正常でもターミナルやゲームの接続記録がない
ブラウザーと接続に失敗するプログラムでそれぞれリクエストをやり直し、接続記録を確認します。ブラウザーはシステムプロキシで動くのに、ターミナル、ゲームランチャー、ストアアプリの記録がない場合は、TUN による通信の取り込みを試します。ブラウザーと普段使うソフトが正常なら、システムプロキシを使い続けます。
システムプロキシは、その設定を読むプログラムに Windows のプロキシアドレスを伝えます。TUN は仮想ネットワークアダプターでより多くの TCP、UDP 接続を受け取ります。Mihomo に入った通信は引き続きルールで振り分けられ、TUN が無効なノードや誤ったルールを直すわけではありません。
すべてのプログラムが接続できない場合は、サブスクリプション、ノード、コアを確認します。特定のドメインだけ出口が違う場合は、一致したルールを調べます。どちらも TUN を有効にして解決する状況ではありません。
TUN を有効にする前にシステムプロキシと固定ノードを検証する
TUN を有効にする前に、「設定」で現在のサブスクリプションを選び、「プロキシ」画面で利用可能と確認済みのノード一つに固定します。モードはまず Rule のままにしてください。システムプロキシを有効にして、ブラウザーから見慣れた Web サイトへアクセスし、「接続」画面にそのリクエストが表示されるかを同時に確認します。
システムプロキシで接続できれば、後の設定で問題が起きても戻せます。接続記録がなければ、システムプロキシが有効か、そのプログラムが設定を使っているか確認します。記録が DIRECT を示す場合は、ポリシーグループとルールを調べます。TUN を有効にしても設定やノードは直らず、仮想アダプターの確認項目が増えます。
TUN の設定を開く前に確認する項目
- 現在の設定に明確な更新時刻がある
- プロキシ画面にポリシーグループとノードが表示される
- 固定ノードで Web ページへのリクエストを一度完了できる
- 接続記録にドメイン、ルール、実際の出口が表示される
サービスモードをインストールして仮想アダプターの権限を取得する
Windows で仮想アダプターを作成するには高い権限が必要ですが、サービスモードなら画面を毎回管理者として起動せずに済みます。インストール前に実際のサービスファイルが公式の修正に対応しているか確認し、メインアプリのバージョンだけで判断しないでください。設定画面で「サービスモード(Service Mode)」を探し、未インストールならクライアント内の項目からインストールします。
Windows に権限確認が表示された場合、要求元のプログラムが現在インストールしている Clash Verge Rev であることを確認します。サービスのインストール後にカーネルを再読み込みしてください。状態が「停止済み」と「起動中」の間を行き来する場合は、TUN スイッチを連続してクリックせず、先にログを確認します。
TUN を有効にして元のリクエストを繰り返す
利用可能な状態を基準に切り替える
ほかのプロキシと VPN を終了する
複数のプログラムが同時にルートを書き換えたり、同じポートを使ったりしないようにする。
Rule モードと固定ノードを維持する
テスト中は自動速度テストグループに出口を切り替えさせない。
TUN モードを有効にする
サービスと仮想ネットワークアダプターの準備を待ち、同時に DNS とルールを変更しない。
当初失敗した操作をもう一度行う
たとえばターミナルで同じコマンドを実行するか、ランチャーから同じページを開く。
現在の Mihomo は system、gvisor、mixed などのネットワーク stack に対応しています。クライアントの既定値で動作するなら、そのまま使用してください。stack の変更は互換性を調べる方法であり、性能を切り替えるスイッチではありません。system または mixed で接続を遮断される場合は、Windows ファイアウォールが Mihomo のカーネルプロセスを許可しているかも確認します。
auto-route は対象範囲のシステム通信を TUN へ送り、auto-detect-interface は実際の出口となるネットワークアダプターを識別します。これらのフィールドを理解しておくとログを読みやすくなりますが、グラフィカルクライアントの利用者が「最適化」のため、インターネット上の長い設定をコピーする必要はありません。

Connections にどのリクエストが表示されるか
システムプロキシでは失敗していたプログラムへ戻り、まったく同じリクエストを繰り返します。「接続」画面に対応するドメインまたは対象 IP が表示され、ルールと出口も示される場合は、通信が TUN から Mihomo へ入っています。アプリでも結果を得られた時点で、設定が本当に反映されたと判断できます。
アプリが失敗し、接続画面に新しい記録がまったくない
サービスの状態、仮想ネットワークアダプター、ほかの VPN、Windows ファイアウォールを確認する。
記録は表示されるが DIRECT になっている
一致したルール行を確認し、TUN を何度も切り替えることでルール変更の代わりにしない。
記録ではプロキシを通り、timeout と表示される
利用できる別のノードへ固定し、入口の問題とノードの問題を区別する。
TUN 有効化後に切断した場合はシステムプロキシを戻してサービスを確認する
TUN を無効にしてシステムプロキシが戻るなら、サブスクリプションとノードは動作している可能性が高く、サービス、ルート、仮想アダプター、DNS を重点的に調べます。システムプロキシも使えない場合は、構成とコアを再確認します。
- サービスの起動に失敗する
- カーネルを再読み込みし、ログに permission、service、driver に関する情報がないか確認する。
- 仮想ネットワークアダプターはあるが、リクエストがない
- ほかの VPN や古い Clash の TUN をオフにし、別の仮想アダプターも同時にルートを変更していないか確認します。セキュリティソフトが通信を遮断している場合は、ログと現在のコアに対する許可ルールを確認してください。
- 接続は表示されるが、ドメインの名前解決に失敗する
- DNS ログと dns-hijack 設定を確認します。Android のプライベート DNS などに関する説明は Windows には適用されないため、別のチュートリアルを混在させないでください。
- Wi-Fi を切り替えた後だけ機能しなくなる
- カーネルに出口のネットワークアダプターを再検出させ、auto-detect-interface の結果を確認する。
NAS、プリンター、仮想マシンへの LAN アクセス
インターネット接続は復旧しているのに、ルーターの管理画面、NAS、プリンターを開けない場合は、通常ローカル接続が TUN へ入った後でローカルネットワークのルールに従って直接接続されていません。TUN を無効にするとすぐこれらのデバイスが戻る場合も、この判断を裏付けます。
プライベートアドレスのルールが、より広いプロキシルールより先に DIRECT に一致することを確認します。社内ネットワークで独自のネットワーク範囲と内部ドメインを使用している場合は、実際のアドレスに合わせて追加し、家庭用ネットワークの除外リストをそのまま使わないでください。Windows の strict-route が VirtualBox などの仮想ネットワークへ影響する場合もあるため、仮想マシンを使う場合は個別に検証します。
ローカルネットワークの復旧に必要な情報
- 接続できなくなったデバイスの実際の IP とネットワーク範囲
- その接続が Clash で一致したルール
- 社内 DNS が現在のネットワークでしか利用できないか
- VirtualBox、Hyper-V、その他の仮想ネットワークアダプターが同時に存在するか
TUN の無効化とサービスのアンインストールの違い
TUN を無効にし、先ほど動作した設定とノードは維持して、システムプロキシを有効にします。ネットワークがすぐ復旧する場合、Windows の「ネットワークのリセット」を使う必要はありません。この操作は Wi-Fi、仮想ネットワークアダプター、その他のネットワーク設定をまとめて消去するため、現在の問題より影響範囲がはるかに広くなります。
TUN を無効にするだけならサービスモードのアンインストールは不要です。今後使わないと決めた場合は、クライアント設定のアンインストール項目からサービスを削除できます。システムプロキシに戻すとブラウザーは正常になり、TUN に依存していたプログラムの接続記録は再び出なくなります。この違いから TUN が必要か判断できます。
対象プログラムが TUN の場合にだけ Connections へ表示され、ネットワーク、DNS、ローカルネットワークがすべて正常なら、TUN を維持します。システムプロキシで日常利用するプログラムを処理できる場合は、TUN を無効にしておくほうが簡単です。
