ブラウザーは使えるのに他のアプリがプロキシを経由しない場合は、まずアプリがシステムプロキシを参照しているか確認し、そのうえでTUNの利用を検討します。この記事ではWindows版v2rayNを例に、管理者権限での起動、TUNの有効化、ルーティングとDNSの確認、仮想NICの競合への対処方法を説明します。通信がクライアントに取り込まれることと、プロキシ経由で外部へ送信されることを区別し、いつでもシステムプロキシに戻せる手順も紹介します。
1. TUNによる通信の取り込みとシステムプロキシの違い
システムプロキシは、その設定に対応したアプリにプロキシへの接続先を提供します。ブラウザーは通常システムプロキシを参照しますが、一部のゲーム、コマンドラインツール、バックグラウンドサービスは独自のネットワーク設定を使います。そのため、v2rayNでシステムプロキシを設定していても、アプリが直接インターネットに接続することがあります。アプリ側でプロキシを手動設定できる場合は、TUNをすぐ有効にせず、まずアプリの設定を利用できます。
TUNはネットワーク層に仮想インターフェースを作ります。システムのルーティングと組み合わせることで、通常は直接送信されるIPパケットをクライアントの処理経路に取り込み、ルールに応じて直接接続、プロキシ経由、または遮断に振り分けます。アプリごとにシステムプロキシを参照させる必要はありませんが、あらゆるネットワーク環境、プロセス、プロトコルを必ず処理できるわけではありません。
「すべての通信を取り込む」ことと「すべての通信をプロキシ経由にする」ことは分けて考えましょう。前者は通信が処理経路に入る範囲、後者は外部への送信方法を指します。TUNを有効にしても、LAN内のアドレスや直接接続ルールに一致するサイトは、直接アクセスされる場合があります。取り込み可能な外部通信をすべてプロキシ経由にするには、ルーティング方針を調整し、ノードが必要な通信方式に対応していることも確認してください。
| 確認項目 | システムプロキシ | TUNモード |
|---|---|---|
| 接続方式 | アプリがローカルプロキシに接続 | ルーティングによってIPパケットを仮想インターフェースへ転送 |
| アプリ側の要件 | システムプロキシを参照するか、プロキシを手動設定 | 通常、アプリごとのプロキシ設定は不要 |
| システム権限 | 現在のユーザーのプロキシ設定には、通常、管理者権限は不要 | インターフェースの作成やルーティングの変更には、通常、管理者権限が必要 |
| 外部への送信先 | クライアントのルーティングルールで決定 | 引き続きクライアントのルーティングルールで決定 |
2. ノード・権限・ネットワーク環境を事前確認
まずシステムプロキシモードで、読み込み済みの設定を使って目的のサイトにアクセスできることを確認します。TUNを有効にしても、無効なサブスクリプション、期限切れの認証情報、誤ったサーバーアドレスやTLS設定は修復されません。VMessやVLESSなどはプロキシのプロトコル、TUNは端末側で通信を取り込む方法です。互いに置き換えられる設定ではありません。
- 現在の設定を記録します。使用中のサーバー、ルーティングモード、DNS設定、システムプロキシの状態を控えてください。ローカルの待ち受けポートは、他のPCの値を流用せず、「設定」→「パラメーター設定」に表示される値を記録します。
- プログラムのフォルダー一式を保持します。配布パッケージの形式に応じてインストールまたは展開し、メインプログラムだけを移動しないでください。TUNに必要なコアや関連ファイルを、クライアントが参照できる状態にしておく必要があります。
- ほかの通信制御ツールを一時停止します。ほかのVPNや仮想NICを使う通信制御サービスを切断してください。複数のプログラムがデフォルトルートを取り合う状態で、問題の発生箇所を判断しようとしないでください。
- 端末の権限を確認します。管理対象の業務用PCでは、まず管理者の方針に従ってください。TUNを使うためにセキュリティソフトを無効にしたり、組織から適用されたセキュリティ設定を変更したりしないでください。
3. Windowsでv2rayNのTUNを有効にする
ここでは一般的なデスクトップ版の画面を例に説明します。配布版によってスイッチの場所、表記、大管理者権限の設定方法が異なる場合があります。まずメイン画面の「TUNを有効にする」を探し、次に「設定」→「パラメーター設定」の「TUNモード設定」を確認してください。画面上の名称が異なる場合は、実際に「TUN」と表示されている項目を選び、古いバージョンのスクリーンショットを参考に関係のない設定を変更しないでください。
- 実行中のクライアントを終了します。タスクトレイのメニューからv2rayNを終了し、管理者権限で新たに起動したプロセスが、通常権限で実行中のウィンドウを呼び出すだけの状態を避けます。
- 管理者として実行します。Windowsでプログラムを右クリックし、「管理者として実行」を選択して、システムの権限確認に応答します。クライアントに昇格実行やサービスを使う方法が用意されている場合は、そのバージョンの説明に従ってください。出所不明のドライバーを追加でインストールしないでください。
- 使用するサーバーを選択します。現在の設定が正しいことを確認してください。動作確認済みのルーティング設定は維持し、最初のトラブルシューティングではノード、DNS、ルーティングを同時に変更しないでください。
- TUNのパラメーターを確認します。「設定」→「パラメーター設定」を開き、TUN関連の項目を確認します。初回はネットワークスタックやMTUなどを既定値のままにし、保存してメイン画面に戻ります。
- 「TUNを有効にする」をオンにします。コアの起動を待ち、ログにインターフェース、権限、ルーティング、設定に関するエラーがないか確認してください。スイッチがオンになっても、有効化の指示が送られたことを示すだけです。通信できることの確認にはなりません。
- システムプロキシの影響を切り分けます。TUNの起動を確認したら、システムプロキシを「システムプロキシをクリア」に切り替え、以前はプロキシを参照しなかったアプリをテストします。これにより、ブラウザーがシステムプロキシ経由で動作してTUNが通信を取り込めていない問題を見落とすのを防げます。
macOSやLinux版のv2rayNでも、仮想インターフェースやルーティング操作に必要な権限を満たす必要がありますが、Windowsの右クリックによる昇格手順はそのまま使えません。各プラットフォーム向けの配布版を使い、配布版に表示される権限の案内に従ってください。デスクトップアプリを不要な高権限状態で常用しないよう、汎用的な権限昇格コマンド一式は紹介しません。
4. ルーティング・DNS・UDPを確認
TUNの起動後は、まず妥当なLAN向け直接接続ルールを維持したうえで、外部ドメインの振り分けを確認します。社内ネットワーク、プリンター、ルーターの管理画面へのアクセスには、プライベートアドレス帯が必要な場合があります。こうした通信がリモートプロキシに送られると、インターネットは使えてもLANに接続できなくなることがあります。
この2つのポートはプロトコルで一般的に使われる値であり、v2rayNのローカル待ち受けポートに設定する値ではありません。DNS通信がTUNに取り込まれるかどうかは、生成された設定のDNSルーティング、横取りルール、アプリ独自の名前解決方法によって異なります。ブラウザーで暗号化DNSを個別に有効にしている場合、DNSクエリがHTTPS経由で送信されることがあります。53番ポートの通信が見えないだけで、障害と判断しないでください。
- DNSリゾルバーに到達できるか確認します。リモートDNSへの接続にプロキシが必要な場合は、DNS自身が利用できる送信経路を確保してください。確保できないと、名前解決が待ち状態になったり、起動時に依存関係の循環が発生したりすることがあります。
- 名前解決と接続を区別します。名前解決の成功はIPアドレスを取得できたことを示すだけで、接続先のポートに接続できることまでは保証しません。接続タイムアウトも、必ずしもDNS汚染が原因とは限りません。
- ノードのアドレス解決経路を確保します。ノードサーバーにドメイン名を使っている場合、プロキシの接続確立前に必要な名前解決を完了できる必要があります。すべての名前解決が、まだ起動していないプロキシに依存しないようにしてください。
- UDPは個別に確認します。ゲーム、音声通話、一部のアプリはUDPを使用します。TUNで該当する通信を処理できても、プロキシプロトコル、ノード側のサーバー、経路上のネットワークも対応している必要があります。ウェブページが見られるだけでは、UDPが使える証明になりません。
ポイント:送信経路を固定してからDNSを個別に調整
動作確認済みのノードと明確なルーティングルールを維持し、DNS設定は一度に1項目だけ変更します。変更後は外部サイトとLAN内のリソースを両方テストし、インターネットが復旧する代わりにLANが使えなくなっていないか確認してください。
5. スイッチの状態だけでなく通信の取り込みを確認
検証では同じアプリから同じ接続先にアクセスし、TUNの有効時と無効時の動作をそれぞれ記録します。アプリ自体にHTTPプロキシやSOCKSプロキシが設定されている場合は、その設定を記録して一時的に無効にしてください。そうしないと、接続成功がアプリ内のプロキシによるものか、仮想NICによるものか判断できません。
- まず通常のウェブページをテストします。システムプロキシをクリアした状態で目的のサイトにアクセスし、基本的な接続を確認します。ブラウザーにキャッシュされたページだけを見ず、新しいリクエストを送信してください。
- 次に目的のアプリをテストします。以前はシステムプロキシを参照しなかったアプリを起動し、同時にクライアントの接続情報やログを確認します。ログにルール、接続先、送信先が記録される場合は、実際にどの送信先が選ばれたかを重点的に確認してください。
- LAN内のリソースを確認します。実際に利用しているルーターの管理アドレス、LAN内のサービス、共有リソースにアクセスします。家庭内ネットワークがすべて同じアドレス帯を使うと決めつけないでください。
- TUNをオフにした状態でも比較します。TUNを無効にして再度テストし、その後もう一度有効にします。動作にまったく違いがない場合は、すぐに通信の取り込み失敗と判断せず、接続先に元々直接アクセスできる可能性を確認してください。
Windowsでは、次の読み取り専用コマンドを使ってインターフェースとルーティングを確認できます。設定は変更されず、コマンドだけで通信がプロキシ経由になったことを証明することもできません。アプリからの通信やクライアントログと合わせて判断してください。インターフェース名はシステムやコアによって異なるため、固定名を探す必要はありません。
ipconfig /all
route print
powershell -NoProfile -Command "Get-NetAdapter | Format-Table Name,InterfaceDescription,Status"
6. 起動失敗・通信断・LANの競合に対処
「TUNを有効にする」を押してもすぐオフに戻るのはなぜ?
まず、起動操作の直後に出た最初のエラーを確認します。権限不足の場合は、タスクトレイのクライアントを終了してから管理者権限で再実行します。コアファイルが見つからない場合は、配布パッケージ一式を復元します。設定項目のエラーが出た場合は、直前に変更したTUNパラメーターを元に戻してください。重要なログを上書きしないよう、スイッチを何度も切り替えないでください。
有効にしたらすべてのサイトが開けなくなった場合、まずどこを確認すればよい?
まずTUNを無効にして、以前使えていたシステムプロキシに戻し、ノードが引き続き使えることを確認します。ノードが正常なら、TUNのログでDNSやルーティングのエラーを確認し、ほかのVPNを一時停止してください。デフォルトルート同士の競合を避けるため、通信制御ツールは一度に1つずつ戻します。
ウェブは見られるのに、ゲームや音声通話が接続できない場合は?
アプリが別のネットワークインターフェースに固定されていないか確認し、ノードが必要なUDP転送に対応しているか調べます。ブラウザーでHTTPSに接続できたことを、UDPも使える根拠にしないでください。アプリの具体的なエラーと発生時刻を記録し、クライアントログと照らし合わせて、接続拒否、タイムアウト、ルールの振り分けミスのどれかを判断します。
インターネットは使えるのに、プリンターや社内ネットワークに接続できなくなった場合は?
LAN内の接続先で使われている実際のアドレスと、適用されたルールを確認し、必要な直接接続経路を維持してください。会社のVPNでは独自のルーティングや内部DNSを使うことがあります。まずTUNを無効にして競合を確認してください。管理対象端末では管理者と調整し、ポリシーを無理に回避するためにシステムルートを削除しないでください。
クライアントを終了してもネットワークが切れたままの場合、どう復旧する?
まずv2rayNを再起動し、TUNを無効にしてから正常に終了します。その後、システムプロキシが解除されているか確認してください。ほかの通信制御サービスがないことを確認したうえで、必要ならPCを再起動して一時的なインターフェースやルートを整理します。見覚えのないネットワークアダプターを削除したり、ルーティングテーブル全体を消去したりしないでください。
7. 元に戻す手順を確保してから常時利用を判断
ブラウザーだけでプロキシを使う場合は、通常、システムプロキシのほうが状態を把握しやすく、管理も簡単です。システムプロキシを参照しないアプリの通信を取り込む必要がある場合にTUNを使いましょう。常時有効にできるかどうかは、スイッチがオンのままかではなく、現在のルーティング、DNS、スリープ復帰、ネットワーク切り替え時の動作で判断してください。
- ネットワークを切り替えたら再確認します。有線からWi-Fiへ、家庭内ネットワークから職場のネットワークへ切り替えた後は、外部サイトとLAN内のリソースに再度アクセスできるか確認してください。
- 更新後に設定を確認します。クライアントやコアの更新で、対応するパラメーターが変わることがあります。元に戻せる設定を残してから起動ログを確認し、古い設定の一部を新しいバージョンにそのまま継ぎ足さないでください。
- 順番に元へ戻します。まずTUNを無効にし、必要に応じてシステムプロキシを復元してから、目的のアプリとLAN内のリソースがどちらも使えることを確認してください。
サブスクリプションを再読み込みする場合や基本的なプロキシ接続を確認する場合は、まず使い方ガイドに戻って基本接続を完了してからTUNを有効にしてください。ノードの動作、システムプロキシ、仮想NIC、振り分けルールを分けて確認すると、複数の設定を同時に変更するより原因を特定しやすくなります。