ブラウザーではアクセスできるのに、コマンドラインやデスクトップアプリが接続できない場合は、まずアプリがシステムプロキシを使っているか確認し、必要に応じてTUNを有効にします。Windows 11での操作手順に沿って、仮想ネットワークアダプター、管理者権限、ルーティング、DNSの関係を説明し、読み取り専用のコマンドで通信の取り込み状況を確認します。TUNで対象になる通信の範囲は広がりますが、すべての接続がプロキシ経由になるわけではなく、あらゆるネットワーク通信を処理できる保証もありません。
システムプロキシとTUNの違い
システムプロキシは、対応するアプリにプロキシの接続先を提供します。たとえばローカルの混合待ち受けポートが127.0.0.1:10808の場合、アプリがリクエストをそのポートに送り、v2rayNが管理するコアが接続を処理します。ポート番号は例です。「設定」→「パラメータ設定」に表示される実際の値を確認してください。独自のネットワークスタックを使い、Windowsのプロキシ設定を参照せず、アプリ内にもプロキシ設定がないプログラムは、この接続先を自動では利用しません。
TUNはネットワーク層に仮想ネットワークアダプターを作成し、システムルートと連携して、条件に合うIP通信をコアに渡します。通常、アプリごとにプロキシアドレスを設定する必要はありません。v2rayNでは、一般にsing-boxがTUN接続を処理します。コアの呼び出し方や転送経路は、バージョンと設定によって異なります。ノードにXrayを使っていても、仮想ネットワークアダプターまでXrayが作成するとは限りません。ノードのプロトコルだけを見てTUNの動作を判断しないでください。
タイトルの「全アプリ」とは、アプリがシステムプロキシに対応しているかどうかだけに左右されないという意味です。実際に通信を取り込めるかは、ルーティング、除外アドレス、IPv4/IPv6の設定、アプリ自体の動作に左右されます。LANやループバックアドレス、明示的に除外したネットワークは直接接続される場合があります。特定のネットワークアダプターにバインドされたアプリも、個別に動作確認が必要です。また、TUNは任意のIPプロトコルをノードが対応する転送方式に変換するものではありません。UDPが使えるかどうかは、ノードとサーバーの対応状況にもよります。
有効にする前に権限・ノード・設定を確認
まず通常のプロキシモードでノードが動作することを確認してから、TUNを追加します。サブスクリプションの期限切れ、サーバーへの接続不能、認証情報の誤りは、仮想ネットワークアダプターを有効にしても解決しません。VMessやVLESSなどはノードの接続プロトコル、TUNはPC上の通信をコアに渡す仕組みです。役割の異なるものとして考えてください。
通常のプロキシ接続を確認
- システムプロキシ
- システムプロキシを自動設定
- 待ち受けアドレス
- 127.0.0.1
- ポート番号の例
- 10808(実際の設定を確認)
- 確認項目
- 決まったWebサイトにアクセスできるか
現在のノードが使えることを確認し、ポート番号とルーティング設定を控えておきます。
TUNの確認前に行うこと
- 実行権限
- 管理者として実行
- システムプロキシ
- システムプロキシを解除
- 通信の取り込み
- TUNを有効にする
- 確認項目
- 仮想ネットワークアダプター・ルート・アプリの接続
システムプロキシの成功をTUNの成功と取り違えないよう、TUN単独で確認します。
- v2rayNを開き、インポート済みのノードを選択して右クリックし、「アクティブサーバーに設定」を選びます。通常のシステムプロキシで、決まったWebサイトにアクセスできることを先に確認してください。
- 「設定」→「パラメータ設定」を開き、ローカルの待ち受けポートを控えます。メイン画面で選択されているルーティング設定も記録しておきます。元に戻すときは、記録した内容を使ってください。
- 作業内容を保存し、仮想ネットワークアダプターを作成したり、デフォルトルートを変更したりする他のネットワークツールを一時終了します。リモートで保守中のセッションでは、通信の取り込み設定を変更しないでください。
- クライアントのプログラム一式がそろったフォルダーを使い、コアのファイルが移動・隔離されていないことを確認します。セキュリティソフトにブロック履歴がある場合は、ファイルの入手元とブロック対象を確認してください。保護機能をすべて無効にするのは避けてください。
Windows 11でv2rayNのTUNを有効にする
ここでは、設定画面に「TUNを有効にする」スイッチがある中国語版のデスクトップ画面を例に説明します。デスクトップ版と従来のWPF版ではレイアウトが異なり、「TUNモード設定」がパラメータ設定の中にある場合もあります。実際の画面に表示される項目を確認してください。見つからない場合は、古いスクリーンショットと同じ場所を探し続けるのではなく、対応するデスクトップ版をダウンロードしているか確認しましょう。
- アプリを完全に終了してから、管理者権限で起動します。ウィンドウを閉じるだけでなく、タスクトレイのメニューからv2rayNを終了します。プログラムファイルまたはショートカットを右クリックし、「管理者として実行」を選択して、Windowsの権限確認を承認します。
- 動作確認済みのアクティブノードを維持します。再起動後もノードが切り替わっていないことを確認してください。プロトコル、伝送方式、サブスクリプションURLを同時に変更するのは避けます。
- システムプロキシを解除します。メイン画面のシステムプロキシメニューから「システムプロキシを解除」を選びます。これはTUN単独で動作確認するための操作であり、システムプロキシとTUNを常に併用できないという意味ではありません。
- TUNの設定を確認します。「設定」から「TUNモード設定」を開きます。バージョンによっては「パラメータ設定」の中にあります。初回テストではMTU、スタック、ルーティングの設定を初期値のままにし、別バージョン向けの設定例をそのまま適用しないでください。
- 「TUNを有効にする」をオンにします。コアの起動が完了するまで待ちます。メイン画面のログを確認し、権限不足、アダプターの作成失敗、設定の解析エラー、待ち受けポートの競合がないかを確認してください。
- 動作を確認して記録します。システムプロキシを解除したまま、ブラウザーと、もともとプロキシ設定を参照しないアプリをそれぞれテストします。問題のあるアプリ、接続先、時刻、ログのエラーを記録して、次の確認に役立ててください。
ルーティングモードの設定は引き続き有効です。LANを迂回する設定やドメイン別の振り分けを選んだ場合、直接接続ルールに一致するリクエストは、TUNを有効にしてもプロキシ経由にはなりません。設定の詳細はルーティング設定を、システムプロキシの動作はプロキシモードの説明を参照してください。
アダプター・ルート・アプリの3段階で確認
スイッチがオンになっただけでは、画面が操作を受け付けたことしか分からず、ネットワークの動作確認にはなりません。PowerShellで次の読み取り専用コマンドを実行します。1つ目はネットワークアダプターとインターフェイス番号、2つ目はIPv4ルート、3つ目はIPv6ルートを表示します。有効にする前後で実行して、追加された項目を比較してください。仮想ネットワークアダプターの名前は一定ではありません。
Get-NetAdapter -IncludeHidden |
Select-Object Name, InterfaceDescription, ifIndex, Status
route print -4
route print -6
| 確認する層 | 確認する内容 | ここからは判断できないこと |
|---|---|---|
| 仮想ネットワークアダプター | 有効化の前後で該当するインターフェイスが表示されるか、状態が正常か | アダプターが表示されても、ノードが使えるとは限らない |
| ルートテーブル | 仮想インターフェイスを経由する通信取り込み用ルートが追加されたか | デフォルトルートが1つに置き換わるとは限らない |
| 実際のアプリ | システムプロキシを解除した状態で、対象への接続に成功するか | Webページにアクセスできても、UDPが通っているとは限らない |
| コアのログ | 該当するリクエストが想定したアウトバウンドに一致するか、接続エラーがないか | 詳細なログがないからといって、通信がないとは限らない |
次に、Windows標準のcurl.exeを使って、アクセスできることが分かっている接続先を確認します。以下はこのサイトを例に、レスポンスヘッダーだけを表示し、全体の待ち時間を15秒に制限しています。--noproxy "*"はcurlに明示されたプロキシ設定を無視するための指定ですが、システムのルーティング層にあるTUNは迂回しません。
curl.exe --noproxy "*" --connect-timeout 10 --max-time 15 -I https://v2raywindows11.com/
コマンドの成功で確認できるのは、この接続先へのHTTPSリクエストが到達したことだけです。ドメインが直接接続ルールに一致していれば、プロキシのアウトバウンドをまったく経由しない場合もあります。通信経路を確認するには、プロキシルールに一致することが分かっている接続先を選び、コアの接続情報やログと照らし合わせてください。リアルタイム音声などのUDP通信をテストするときは、該当アプリを直接実行します。HTTPSリクエスト1回で代用することはできません。
判断のポイント:想定したアウトバウンドを実際に通るか確認
ノード、接続先、ルーティングルールは変えず、TUNだけを切り替えて、ネットワークアダプター、ルート、接続ログを比較します。性能設定を変える前に、通信経路を確認してください。「Webページが開いた」だけで、すべてのアプリの通信が取り込まれたと判断しないでください。
DNS・振り分け・LANアクセスを整える
DNSはドメイン名の解決先を決め、ルーティングはリクエストの送信経路を決めます。両者を連携させる必要があります。TUNを有効にすると、システムやアプリが送信するDNSリクエストが取り込まれる場合があります。一方、ブラウザー内蔵のセキュアDNS、アプリ独自のリゾルバー、既存のキャッシュでは、別の経路が使われることがあります。TUNをオンにするだけでは、DNSの経路が統一されるとは限りません。
- DNSの設定を確認します。「設定」→「DNS設定」で、現在のコア設定を確認してください。パラメータ設定内に項目がある場合は、該当するDNSページを開きます。実際の設定に沿って直接接続用とプロキシ用の名前解決を区別し、プロキシノードのドメイン解決が、まだ確立していないプロキシ接続に依存しないようにします。
- アプリ独自のDNS設定を確認します。ブラウザーの問題を調べる場合は、セキュアDNSを一時的にオフにして比較テストを行い、必要に応じて元に戻してください。特定のブラウザーでの結果を、すべてのアプリに当てはめないでください。
- LANの例外設定を確認します。
192.168.0.0/16、172.16.0.0/12、10.0.0.0/8は、よく使われるプライベートネットワークの範囲です。プリンター、共有フォルダー、社内サービスへの接続には直接接続が必要な場合があります。ただし、離れたネットワークでこれらのアドレスが使われることもあるため、実際のネットワーク構成に合わせて設定してください。 - IPv6の設定を確認します。ネットワークとアプリがIPv6を使用している場合は、IPv6のルートとコア設定も確認してください。IPv4の出口だけを見ても、IPv6も同じ経路を通るとは判断できません。IPv6を恒久的に無効にする方法を、一般的な解決策として使うのは避けてください。
名前解決の設定を変更した後は、ipconfig /flushdnsを実行してWindowsのDNSキャッシュを消去し、影響を受けるアプリを再起動します。このコマンドですべてのアプリ内キャッシュが消えるわけではなく、ルーティングの誤りも解決しません。原因を特定できるよう、変更は一度に1項目ずつ行い、同じ接続先を再テストしてください。
症状に応じてトラブル対処・復旧
まず、問題が起動・通信の取り込み・外部接続のどの段階で起きているかを見分けます。起動時は権限とコア設定、取り込み時はアダプターとルート、外部接続時はノードの状態、DNS、ルールを確認します。一度にMTU、DNS、ポート、スタックを変更するのは避けてください。復旧しても、どの変更が有効だったのか分からなくなります。
TUNをオンにするとすぐ自動でオフになる場合は?
まずアプリを完全に終了し、管理者として起動し直します。再度有効にしたら、最初に表示された明確なエラーを確認してください。権限拒否なら管理者権限と端末ポリシーを確認し、設定の解析エラーなら直近の変更を取り消します。コアファイルが見つからない場合は、プログラムフォルダーとセキュリティソフトの履歴を確認してください。最初からすべてのネットワークアダプターを削除しないでください。
ブラウザーは使えるのにデスクトップアプリが接続できない場合は?
まず「システムプロキシを解除」を選び、ブラウザーがシステムプロキシ経由で接続していないことを確認します。次にTUNアダプター、IPv4/IPv6ルートを調べ、対象アプリに独自のプロキシ設定やネットワークアダプターの指定がないか確認してください。音声接続だけに失敗する場合は、ノードとサーバーが必要なUDP転送に対応しているかも確認します。
有効にした後、すべてのWebページが開けない場合は何から確認する?
まず「TUNを有効にする」をオフにし、通常のシステムプロキシに戻して同じノードをテストします。通常モードでも失敗する場合は、先にノードの問題を解決してください。通常モードなら接続できる場合は、TUNのログに戻り、DNSのタイムアウト、ルートの競合、コアの起動エラーを確認します。ポート競合が表示された場合は、パラメータ設定に記載されている実際のポートを使ってプロセスを調べます。
TUNをオフにしてもネットに接続できない場合、システムをリセットする必要がある?
まずシステムプロキシを解除してv2rayNを正常に終了し、「設定」→「ネットワークとインターネット」→「プロキシ」で手動プロキシの状態を確認します。プロキシ設定が残っていないことを確認してからネットワークに再接続し、必要ならPCを再起動してください。ルートとログの記録は残し、すべてのルートを削除するコマンドやネットワークのリセットコマンドをすぐに実行しないでください。
ログにローカルポート10808の競合が明記されている場合は、PowerShellで次のコマンドを実行すると、待ち受け中のプロセスを確認できます。ポート番号は例なので、実際にエラーが出た番号に置き換えてください。プロセスの実行元を確認してから、競合するアプリを終了するか待ち受けポートを変更するか判断します。プロセス番号だけを見て、正体の分からないサービスを強制終了しないでください。
Get-NetTCPConnection -LocalPort 10808 -State Listen |
Select-Object LocalAddress, LocalPort, OwningProcess
継続して使う前に、ブラウザー、コマンドライン、実際に使うデスクトップアプリ、LAN上の機器の4種類で動作を確認し、必要に応じて起動時の動作を設定してください。仮想ネットワークアダプターの作成には管理者権限が必要です。通常のログイン時に自動起動するだけで作成できるとは限りません。設定の詳細はTUNモードのマニュアルを参照してください。Webブラウジングだけなら、よりシンプルなシステムプロキシを使う方法もあります。
v2rayNクライアントのダウンロード
OSとアーキテクチャに合ったインストール方法を選び、チュートリアルに沿ってサブスクリプションの追加と基本的な接続確認を行ってください。