v2rayNのTUNモード設定方法|仮想NICで全通信を取り込む仕組みと手順

TUNとシステムプロキシの違いや、プロキシ設定を参照しないアプリも通信を取り込める理由を解説。v2rayNのTUN有効化手順、必要な権限、競合時の対処法も紹介します。

この記事の要点

ブラウザーは使えるのに他のアプリがプロキシを経由しない場合は、まずアプリがシステムプロキシを参照しているか確認し、そのうえでTUNの利用を検討します。この記事ではWindows版v2rayNを例に、管理者権限での起動、TUNの有効化、ルーティングとDNSの確認、仮想NICの競合への対処方法を説明します。通信がクライアントに取り込まれることと、プロキシ経由で外部へ送信されることを区別し、いつでもシステムプロキシに戻せる手順も紹介します。

1. TUNによる通信の取り込みとシステムプロキシの違い

システムプロキシは、その設定に対応したアプリにプロキシへの接続先を提供します。ブラウザーは通常システムプロキシを参照しますが、一部のゲーム、コマンドラインツール、バックグラウンドサービスは独自のネットワーク設定を使います。そのため、v2rayNでシステムプロキシを設定していても、アプリが直接インターネットに接続することがあります。アプリ側でプロキシを手動設定できる場合は、TUNをすぐ有効にせず、まずアプリの設定を利用できます。

TUNはネットワーク層に仮想インターフェースを作ります。システムのルーティングと組み合わせることで、通常は直接送信されるIPパケットをクライアントの処理経路に取り込み、ルールに応じて直接接続、プロキシ経由、または遮断に振り分けます。アプリごとにシステムプロキシを参照させる必要はありませんが、あらゆるネットワーク環境、プロセス、プロトコルを必ず処理できるわけではありません。

アプリがリクエストを送信 仮想NICが通信を取り込む ルーティングルールを照合 指定された方法で送信

「すべての通信を取り込む」ことと「すべての通信をプロキシ経由にする」ことは分けて考えましょう。前者は通信が処理経路に入る範囲、後者は外部への送信方法を指します。TUNを有効にしても、LAN内のアドレスや直接接続ルールに一致するサイトは、直接アクセスされる場合があります。取り込み可能な外部通信をすべてプロキシ経由にするには、ルーティング方針を調整し、ノードが必要な通信方式に対応していることも確認してください。

確認項目システムプロキシTUNモード
接続方式アプリがローカルプロキシに接続ルーティングによってIPパケットを仮想インターフェースへ転送
アプリ側の要件システムプロキシを参照するか、プロキシを手動設定通常、アプリごとのプロキシ設定は不要
システム権限現在のユーザーのプロキシ設定には、通常、管理者権限は不要インターフェースの作成やルーティングの変更には、通常、管理者権限が必要
外部への送信先クライアントのルーティングルールで決定引き続きクライアントのルーティングルールで決定

2. ノード・権限・ネットワーク環境を事前確認

まずシステムプロキシモードで、読み込み済みの設定を使って目的のサイトにアクセスできることを確認します。TUNを有効にしても、無効なサブスクリプション、期限切れの認証情報、誤ったサーバーアドレスやTLS設定は修復されません。VMessやVLESSなどはプロキシのプロトコル、TUNは端末側で通信を取り込む方法です。互いに置き換えられる設定ではありません。

3. Windowsでv2rayNのTUNを有効にする

ここでは一般的なデスクトップ版の画面を例に説明します。配布版によってスイッチの場所、表記、大管理者権限の設定方法が異なる場合があります。まずメイン画面の「TUNを有効にする」を探し、次に「設定」→「パラメーター設定」の「TUNモード設定」を確認してください。画面上の名称が異なる場合は、実際に「TUN」と表示されている項目を選び、古いバージョンのスクリーンショットを参考に関係のない設定を変更しないでください。

  1. 実行中のクライアントを終了します。タスクトレイのメニューからv2rayNを終了し、管理者権限で新たに起動したプロセスが、通常権限で実行中のウィンドウを呼び出すだけの状態を避けます。
  2. 管理者として実行します。Windowsでプログラムを右クリックし、「管理者として実行」を選択して、システムの権限確認に応答します。クライアントに昇格実行やサービスを使う方法が用意されている場合は、そのバージョンの説明に従ってください。出所不明のドライバーを追加でインストールしないでください。
  3. 使用するサーバーを選択します。現在の設定が正しいことを確認してください。動作確認済みのルーティング設定は維持し、最初のトラブルシューティングではノード、DNS、ルーティングを同時に変更しないでください。
  4. TUNのパラメーターを確認します。「設定」→「パラメーター設定」を開き、TUN関連の項目を確認します。初回はネットワークスタックやMTUなどを既定値のままにし、保存してメイン画面に戻ります。
  5. 「TUNを有効にする」をオンにします。コアの起動を待ち、ログにインターフェース、権限、ルーティング、設定に関するエラーがないか確認してください。スイッチがオンになっても、有効化の指示が送られたことを示すだけです。通信できることの確認にはなりません。
  6. システムプロキシの影響を切り分けます。TUNの起動を確認したら、システムプロキシを「システムプロキシをクリア」に切り替え、以前はプロキシを参照しなかったアプリをテストします。これにより、ブラウザーがシステムプロキシ経由で動作してTUNが通信を取り込めていない問題を見落とすのを防げます。

macOSやLinux版のv2rayNでも、仮想インターフェースやルーティング操作に必要な権限を満たす必要がありますが、Windowsの右クリックによる昇格手順はそのまま使えません。各プラットフォーム向けの配布版を使い、配布版に表示される権限の案内に従ってください。デスクトップアプリを不要な高権限状態で常用しないよう、汎用的な権限昇格コマンド一式は紹介しません。

4. ルーティング・DNS・UDPを確認

TUNの起動後は、まず妥当なLAN向け直接接続ルールを維持したうえで、外部ドメインの振り分けを確認します。社内ネットワーク、プリンター、ルーターの管理画面へのアクセスには、プライベートアドレス帯が必要な場合があります。こうした通信がリモートプロキシに送られると、インターネットは使えてもLANに接続できなくなることがあります。

53
従来型DNSで使われるサービスポート。UDPまたはTCPを使用
443
DoHで一般的に使われるHTTPSのサービスポート

この2つのポートはプロトコルで一般的に使われる値であり、v2rayNのローカル待ち受けポートに設定する値ではありません。DNS通信がTUNに取り込まれるかどうかは、生成された設定のDNSルーティング、横取りルール、アプリ独自の名前解決方法によって異なります。ブラウザーで暗号化DNSを個別に有効にしている場合、DNSクエリがHTTPS経由で送信されることがあります。53番ポートの通信が見えないだけで、障害と判断しないでください。

ポイント:送信経路を固定してからDNSを個別に調整

動作確認済みのノードと明確なルーティングルールを維持し、DNS設定は一度に1項目だけ変更します。変更後は外部サイトとLAN内のリソースを両方テストし、インターネットが復旧する代わりにLANが使えなくなっていないか確認してください。

5. スイッチの状態だけでなく通信の取り込みを確認

検証では同じアプリから同じ接続先にアクセスし、TUNの有効時と無効時の動作をそれぞれ記録します。アプリ自体にHTTPプロキシやSOCKSプロキシが設定されている場合は、その設定を記録して一時的に無効にしてください。そうしないと、接続成功がアプリ内のプロキシによるものか、仮想NICによるものか判断できません。

  1. まず通常のウェブページをテストします。システムプロキシをクリアした状態で目的のサイトにアクセスし、基本的な接続を確認します。ブラウザーにキャッシュされたページだけを見ず、新しいリクエストを送信してください。
  2. 次に目的のアプリをテストします。以前はシステムプロキシを参照しなかったアプリを起動し、同時にクライアントの接続情報やログを確認します。ログにルール、接続先、送信先が記録される場合は、実際にどの送信先が選ばれたかを重点的に確認してください。
  3. LAN内のリソースを確認します。実際に利用しているルーターの管理アドレス、LAN内のサービス、共有リソースにアクセスします。家庭内ネットワークがすべて同じアドレス帯を使うと決めつけないでください。
  4. 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、スリープ復帰、ネットワーク切り替え時の動作で判断してください。

サブスクリプションを再読み込みする場合や基本的なプロキシ接続を確認する場合は、まず使い方ガイドに戻って基本接続を完了してからTUNを有効にしてください。ノードの動作、システムプロキシ、仮想NIC、振り分けルールを分けて確認すると、複数の設定を同時に変更するより原因を特定しやすくなります。

v2rayNをダウンロードプラットフォームに合ったクライアントを選択