Windows UWPアプリがプロキシに接続できない:ループバック制限の解除とトラブルシューティング

Windows版Clash Verge RevでTUNモードを使う方法を、初心者向けにわかりやすく解説します。Service Modeの準備、管理者権限の確認、設定画面での有効化、通信テストまでを順番に紹介。起動できない、ネット接続が切れる、VPNと競合するといったトラブルの対処法もまとめています。

TUNモードとは何か:システムプロキシとの違いを理解する

Clash Verge RevのTUNモードは、mihomoカーネルがWindows上に仮想ネットワークインターフェースを作成し、OSのネットワーク層に近い位置で通信を受け取る機能です。通常のシステムプロキシは、Windowsのプロキシ設定を読み取るアプリケーションだけが利用します。一方、TUNモードでは、アプリがHTTPプロキシやSOCKSプロキシに対応していない場合でも、IP通信をClashへ渡せる可能性があります。

ただし、TUNモードを有効にすればすべての通信が自動的に同じ経路を通るわけではありません。mihomoは受け取った通信をDNS設定、プロキシモード、ルール、プロキシグループの選択結果に従って処理します。ルールがDIRECTを返せば直接接続になり、REJECTを返せば拒否されます。TUNは通信を取り込む入口であり、出口の選択やドメインごとの振り分けを決める機能ではありません。

また、システムプロキシとTUNモードを同時に有効にすると、アプリや通信の種類によっては処理経路が分かりにくくなります。最初の動作確認では、まず設定、プロキシグループ、システムプロキシの状態を整理し、必要な範囲だけTUNを追加するのが安全です。特定のブラウザーだけを対象にするならシステムプロキシで足りる場合があり、ゲーム、ターミナル、アップデーターなどを含めて広く取り込みたい場合にTUNを検討します。

有効化する前にWindowsとClash Verge Revを準備する

TUNモードを設定する前に、Clash Verge Rev本体とmihomoカーネルが正常に動作していることを確認します。バージョンによって設定画面の名称やトグルの配置は異なるため、「TUN」、「仮想ネットワーク」、「サービスモード」、「システム設定」などの関連項目を探してください。画面に表示される機能名が少し違っていても、仮想インターフェースを作成し、カーネルへ通信を転送する設定が対象です。

  1. Clash Verge Revを更新する:古いクライアントやカーネルでは、現在のWindows環境、仮想アダプター、サービス機能との互換性に問題が出る場合があります。更新前に、現在使用しているプロファイルや重要な設定を保存しておきます。
  2. 有効なプロファイルを選択する:サブスクリプションまたはローカルYAMLを読み込み、プロキシグループとルールが表示されることを確認します。プロファイルが登録されているだけで、実行中の設定になっているとは限りません。
  3. ノードを確認する:プロキシ画面で主要なグループを開き、利用可能なノードを選択します。自動選択グループを使う場合は、テストが成功しているかを確認してください。
  4. 管理者権限を用意する:仮想ネットワークインターフェースの作成やルーティング設定には、通常のアプリ操作より高い権限が必要です。Windowsのユーザーアカウント制御が表示された場合は、内容を確認して許可します。

企業用PCや学校の管理端末では、管理者権限があってもドライバーのインストール、サービスの登録、ネットワークアダプターの変更がポリシーで禁止されていることがあります。権限のエラーが繰り返される場合、Clashの設定を何度も編集するのではなく、Windowsのイベントログ、セキュリティソフトの通知、管理ポリシーを確認してください。

権限と競合を確認するポイント

  • Clash Verge Revを管理者として起動したときだけTUNが開始できるか。
  • 別のVPN、仮想マシン、ゲーム用ネットワークフィルターが仮想アダプターを占有していないか。
  • Windowsのネットワークアダプター一覧に、Clashまたはmihomoに関連するインターフェースが作成されているか。
  • セキュリティソフトが、カーネル、ヘルパー、サービス、仮想ネットワークドライバーを隔離していないか。
  • IPv4だけでなくIPv6も利用している環境では、IPv6の扱いがプロファイルと一致しているか。

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

ここからは、WindowsでClash Verge RevのTUNを有効にする一般的な順序を説明します。バージョンによって「TUNモード」や「TUNスタック」などの表記が変わることがありますが、先にプロファイルとノードを確認してから、最後に通信の取り込みを有効にするという順序は共通です。

  1. Clash Verge Revを起動する。

    タスクトレイに常駐しているだけでなく、メイン画面でmihomoカーネルが稼働していることを確認します。カーネルが停止中の場合は、先にプロファイルを選び、読み込みエラーがない状態にします。

  2. 設定またはシステム設定を開く。

    サイドバーからTUNに関係する項目を探します。設定画面に独立したTUNスイッチがある場合と、システムプロキシなどと同じ通信設定の中にまとめられている場合があります。

  3. TUNモードをオンにする。

    スイッチを有効にすると、管理者権限の確認、仮想アダプターの準備、サービスやヘルパーの起動が行われることがあります。許可ダイアログが表示された場合は、処理が完了するまでClash Verge Revを終了しないでください。

  4. 必要に応じて自動起動を設定する。

    Windowsの起動時からTUNを使いたい場合は、クライアントの自動起動やサービス関連の設定を確認します。ただし、起動直後にネットワークが必要なアプリを多用しない場合は、手動起動のままにして問題を切り分けやすくする方法もあります。

  5. システムプロキシの状態を整理する。

    TUNだけで確認するのか、システムプロキシも併用するのかを決めます。TUNの動作確認では、不要な経路を減らすため、一度に複数の通信取り込み機能を変更しないことが重要です。

TUNスイッチがオンになっていても、仮想インターフェースの作成に失敗している場合があります。表示だけで判断せず、Windowsのネットワーク接続画面でアダプターの状態を確認し、Clash Verge RevのログにTUN開始、インターフェース作成、ルート設定などの成功メッセージが出ているかを確認してください。

mixed-port: 7890
mode: rule
tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true

上記はTUN関連の構造を理解するための簡略例です。実際にYAMLへ貼り付ける場合は、使用中のmihomoカーネルが対応する項目と値を確認してください。TUNの設定をプロファイル側で管理する構成では、画面のスイッチだけでなく、現在の設定ファイルにあるtunブロックが影響します。サブスクリプション更新で設定が置き換わる場合は、手動編集した内容が失われることにも注意が必要です。

有効化後にTUNの動作を確認する方法

動作確認は、単にウェブページが開くかどうかだけで終わらせないでください。TUNインターフェースが存在するか、mihomoが通信を受け取っているか、ルールが意図したグループに接続を渡しているかを順番に確認します。

  • アダプターを確認する:Windowsのネットワーク接続またはネットワークアダプター一覧を開き、Clashやmihomoに関連する仮想インターフェースが有効になっているか確認します。
  • 接続一覧を見る:Clash Verge Revの接続画面を開いたまま、ブラウザーや対象アプリで新しい通信を発生させます。ドメイン、宛先、使用された策略グループ、DIRECTまたはREJECTの結果を確認します。
  • ログを確認する:カーネルの起動成功、DNS処理、ルールマッチング、ノード接続の順に見ます。ログに何も出ない場合は、対象アプリの通信がTUNへ届いていない可能性があります。
  • 複数のアプリで試す:ブラウザーだけでなく、TUNを使う目的だったターミナル、ゲームランチャー、アップデーターなどでも確認します。アプリによって独自のネットワーク処理や証明書検証を行うため、結果が異なることがあります。
  • 直接接続との違いを比較する:テスト前後で出口アドレスや接続ログを比較します。ルールが対象ドメインをDIRECTへ送る設定なら、TUNが動作していてもプロキシの出口には変わりません。

DNSの確認も重要です。TUNが通信を取り込んでいても、アプリが独自DNSを使う、IPv6経路を別に使う、あるいはDNS設定で特定ドメインを直接解決する場合があります。接続ログがあるのに名前解決だけ失敗するなら、TUNを再設定する前にdnsnameserver、Fake IPのフィルター、IPv6の扱いを確認します。

失敗した場合の切り分けと安全な戻し方

TUN有効化後にWindowsの通信全体が遅くなった、ネットワークが切れた、特定アプリだけ起動しなくなった場合は、設定をさらに複雑にする前にTUNを一時的にオフにします。スイッチをオフにした後、必要に応じてClash Verge Revを再起動し、Windowsのシステムプロキシが以前の状態へ戻っているか確認します。

  1. TUNをオフにする:Clash Verge Revの設定画面からTUNを無効化し、仮想インターフェースとルートが解除されるまで待ちます。
  2. システムプロキシを確認する:TUNをオフにしてもプロキシが残る場合があるため、Windowsのプロキシ設定とClash Verge Revのシステムプロキシスイッチを確認します。
  3. 競合アプリを停止する:別のVPN、ネットワーク最適化ツール、仮想マシン、ファイアウォール製品を一時停止し、Clashだけで再現するか確認します。
  4. カーネルログを保存する:エラーが表示されている場合は、時刻、使用プロファイル、TUNの開始・停止結果、エラー行を記録します。サブスクリプションURLや認証情報は共有しないでください。
  5. 最小構成で再試行する:まず基本的なプロファイル、単純なルール、安定したノードだけでTUNを試します。DNS、ルールプロバイダー、複数の仮想ネットワークを同時に変更しないことで原因を特定しやすくなります。

管理者権限のエラーが続く場合は、Clash Verge Revを完全に終了してから管理者として起動し、必要なヘルパーや仮想アダプターの登録を再試行します。それでも改善しない場合、Windowsのネットワーク設定を無計画にリセットするのは避けてください。ネットワークのリセットは他のVPN、仮想アダプター、固定設定にも影響するため、最後の手段として実施し、事前に現在の構成を控えておきます。

無効化後に確認する項目

  • 通常のウェブ閲覧が直接接続またはシステムプロキシ経由で復旧している。
  • Windowsのプロキシ設定に、意図しない古いローカルポートが残っていない。
  • 仮想アダプターの無効化や削除によって、他のVPNや業務用ネットワークが壊れていない。
  • Clash Verge Revの次回起動時に、失敗したTUN設定が自動的に再適用されていない。

安定して使うための設定方針

TUNモードは、対応アプリの範囲を広げられる一方、システムプロキシよりもネットワーク経路への影響が大きい機能です。常時オンにする場合は、ルールを広い範囲でPROXYに固定するより、用途に応じてDIRECT、プロキシグループ、REJECTを使い分けます。LAN機器、プリンター、社内ドメイン、ルーター管理画面などは、環境によって直接接続が必要です。

DNSはTUNと一緒に見直すべき項目です。Fake IPを使う場合は、ローカルネットワーク名や互換性の低いアプリをフィルターへ追加する必要があることがあります。IPv6を無効化する設定は、OS全体のIPv6を停止するものではなく、mihomoが返す名前解決結果や経路を制限する場合があります。IPv4とIPv6のどちらが実際に使われたかをログで確認し、片方だけを前提にした切り分けは避けてください。

最後に、サブスクリプションの更新、カーネルの更新、Windows Update、他のVPNの導入後は、TUNの動作を再確認します。TUNが突然壊れたように見えても、仮想アダプターの優先順位、ドライバー、権限、DNS、プロファイルのいずれかが変わっている可能性があります。変更した項目を一つずつ戻し、接続一覧とログを見ながら確認すると、再設定の時間を短縮できます。

Clash Verge RevをWindowsで使い始める

WindowsのエディションとCPUアーキテクチャに合うパッケージを選び、インストール後にプロファイル、ノード、システムプロキシ、TUNの順で確認してください。

Clash をダウンロード