v2rayNのTUNモードを有効にすると、Windowsのブラウザーや個別のアプリでHTTPプロキシやSOCKSプロキシを手動設定しなくても、端末の通信を仮想ネットワークインターフェース経由でXrayコアへ渡せます。通常のシステムプロキシに対応していないアプリ、独自の通信方式を使うアプリ、DNS問い合わせを個別に処理するアプリをまとめて扱える点が大きな利点です。
一方で、TUNモードはスイッチを入れるだけの機能ではありません。管理者権限、Wintunなどの仮想ネットワークドライバー、コアの起動状態、DNS処理、ルーティング規則、Windowsファイアウォールが関係します。設定に失敗すると、インターネット全体が開かなくなったり、LAN機器へ接続できなくなったり、DNSだけがループしたりすることがあります。この記事では、Windows 10またはWindows 11でv2rayNのTUNモードを初めて設定する流れを、確認ポイントと復旧方法を含めて説明します。
Windows版v2rayNでTUNモードを有効にするための準備、設定画面の項目、Wintunドライバーの確認、直通とプロキシのルーティング、DNSおよび接続テストまでを順番に確認します。ブラウザーだけでなく、システムプロキシに対応しないアプリも転送したい人に適した内容です。
TUNモードの仕組みと通常のシステムプロキシとの違い
通常のシステムプロキシでは、Windowsのプロキシ設定に指定されたHTTPまたはSOCKSの待受ポートへ、対応アプリが接続します。v2rayNはそのローカルポートで通信を受け取り、選択されたノードとXrayのルーティング規則に従って外部へ送信します。ブラウザーなど、システムプロキシ設定を参照するアプリには簡単ですが、独自のネットワーク処理を持つアプリやUDPを多用するアプリは対象外になることがあります。
TUNモードでは、v2rayNまたはXrayが仮想ネットワークインターフェースを作成します。Windowsのネットワークスタックからこのインターフェースへ入ったTCP、UDP、DNSなどの通信をコアが受け取り、宛先に応じて直通、プロキシ、ブロックなどへ振り分けます。アプリ側から見ると、個別にプロキシサーバーを設定していなくても、通常のネットワーク接続を行っているだけで転送対象になります。
この方式では、TUNを有効にしただけで特定のノードが自動的に選ばれるわけではありません。先にサーバー一覧から利用するノードをアクティブサーバーへ設定し、Xrayコアが正常に起動している必要があります。また、TUNは通信を広い範囲で捕捉するため、ルーターの管理画面、プリンター、NAS、社内サーバーなどのプライベートアドレスをプロキシへ送らないルールも重要です。
有効化前にWindowsとv2rayNを準備する
まずv2rayNを信頼できる配布元から取得し、Windowsのセキュリティ機能で実行ファイルがブロックされていないことを確認します。インストール型か展開型かにかかわらず、設定ファイルやコアの保存先に書き込み権限が必要です。Program Files配下など、ユーザーが書き込めない場所へ展開すると、コアやドライバーの更新に失敗することがあります。初回検証では、ユーザープロファイル内の専用フォルダーへ展開し、パスに特殊文字や過度に長い階層を含めない方が安全です。
TUNインターフェースの作成には、通常のサーバー一覧操作より高い権限が必要です。v2rayNを起動した後にTUNをオンにしてエラーが出る場合は、いったん終了し、ショートカットまたは実行ファイルを右クリックして「管理者として実行」を選択します。常に管理者起動にするかどうかは、組織の端末ポリシーや自分の運用方針に合わせてください。管理者権限を付与しても、Windows Defenderや他社セキュリティソフトが仮想アダプターの作成を拒否する場合があります。
v2rayNを更新
Windows 10またはWindows 11に対応するv2rayNを展開し、起動前に古いv2rayNのプロセスを終了します。複数の版を同時に起動しないでください。
ノードを選択
メイン画面のサーバー一覧から利用するノードを選び、「アクティブサーバーに設定」などの操作で現在の出口に指定します。
コアを確認
「設定」→「パラメータ設定」付近にあるCoreタイプを確認し、使用するXrayまたはv2rayコアが実際に配置され、起動可能であることを確認します。
TUNを有効化
メイン画面または設定画面の「TUNモード」を開き、仮想インターフェースを有効にします。表示名はv2rayNの版によって「TUNモード」または「TUN設定」と異なる場合があります。
再接続して確認
コアを再起動し、ログにTUNインターフェースの作成成功、待受開始、ルーティング読み込みの記録があることを確認します。
WintunはWindows上でTUN型の仮想インターフェースを提供するドライバーです。デバイスマネージャーの「ネットワーク アダプター」に新しい仮想アダプターが現れるかを確認できます。ドライバー名や表示位置は導入方法とWindowsの表示言語で異なるため、名称だけで判断せず、TUNを有効化した直後にアダプターが作成されるか、無効化すると状態が戻るかを見ます。見慣れない仮想アダプターを手動で削除する前に、v2rayNを終了してください。
初回検証向け
- モード
- TUN
- スタック
- 自動または system
- DNS
- 既定値から開始
- ルール
- 分割ルーティング
まず通信を通し、ログを確認してから高度なDNS設定へ進みます。
互換性重視
- 仮想NIC
- Wintun
- IP帯
- 自動割り当て
- DNS待受
- 53または自動
- 権限
- 管理者実行
既存のVPNや仮想化ソフトとアドレス帯が重ならないようにします。
TUN設定、DNS、ルーティングを調整する
設定画面を開いたら、最初にTUNの有効化、仮想アダプターの種類、スタック方式、DNS処理、ルーティングモードを確認します。項目名はv2rayNの版やコアによって変わることがありますが、同じ意味の設定が別のタブに配置されている場合があります。最初からFakeDNS、複雑な自動ルール、複数のDNS上流を同時に追加すると、接続できない原因が増えます。初回は自動値または既定値で起動し、問題がないことを確認してから一項目ずつ変更してください。
ルーティングは「すべてをプロキシ」「中国本土またはLANを直通」「指定ドメインだけプロキシ」など、目的に合わせて選びます。家庭内機器へアクセスする場合は、RFC1918のプライベートアドレス、ルーターの管理アドレス、v2rayN自身が使うローカルポートを直通側へ置く必要があります。一般的には、プライベートアドレスの直通を広いプロキシルールより前に配置し、最後に残りの通信をプロキシへ送る構成が分かりやすいです。
| 項目 | 初回の推奨 | 確認する内容 | 変更時の注意 |
|---|---|---|---|
| TUN有効化 | オン | 仮想アダプターが作成されるか | 管理者権限とドライバーが必要 |
| スタック | 自動またはsystem | TCPとUDPの両方が処理されるか | systemとgVisorで挙動が異なる |
| DNS | 既定値 | 名前解決とループの有無 | 53番ポートの競合を確認 |
| ルーティング | 分割 | LANと外部サイトの経路 | ルールは上から順に評価される |
| MTU | 自動または1500未満 | 大きなページや動画の安定性 | VPNやPPPoE環境では調整が必要 |
DNSをTUNへ集約する場合、Windowsが別の物理アダプターへDNSを直接送信し続けていないか確認します。v2rayNのDNS機能が53番ポートで待ち受ける構成では、別のDNSサービス、仮想化ソフト、ローカルフィルターが同じポートを使用していないか調べます。名前解決が失敗してもIPアドレスへの接続だけ成功する場合は、ノードではなくDNS経路を先に確認してください。逆にDNSだけ成功してWeb接続が失敗する場合は、ルーティングまたはプロキシ出力を確認します。
結論:TUNは最後にオンにする
先にアクティブノード、コア起動、通常のローカルプロキシ接続を確認し、その後にTUNを有効化するのが最短です。入口と出口を同時に変更しなければ、失敗した層をログから特定できます。
WindowsでTUNの動作を段階的にテストする
TUNをオンにした後は、いきなり複数のアプリや動画サービスを試すのではなく、確認対象を一つずつ増やします。まずv2rayNのログでコアが起動していること、次にWindowsが仮想アダプターを認識していること、その後にドメイン名前解決、HTTPS接続、UDPを使うアプリの順に確認します。各段階で1回だけテストし、結果を記録すると、設定変更の影響を追いやすくなります。
Windowsの「設定」→「ネットワークとインターネット」→「ネットワークの詳細設定」→「その他のネットワーク アダプター オプション」から、TUNに対応する仮想アダプターの状態を確認できます。コマンドプロンプトでは次のコマンドでインターフェースとルートを確認できます。
ipconfig /all
route print
nslookup example.com
仮想アダプターにアドレスが割り当てられていない、デフォルトルートが意図せず複数存在する、DNSサーバーが空になっている場合は、Webサイトの問題を調べる前にTUN設定を戻します。外部サイトへの確認では、ブラウザーのキャッシュだけに頼らず、別のドメインを二つ以上開いてください。片方だけ開かない場合は、サイト側の障害や特定ドメインのルール不一致も考えられます。
TUNをオンにするとネットワーク全体が止まるのはなぜですか?
コアが停止している、仮想アダプターの作成に失敗している、またはデフォルトルートだけがTUNへ変更された可能性があります。まずTUNをオフにして回線を戻し、ログ、管理者権限、Wintunの状態を順に確認してください。
ブラウザーは開くのに一部のアプリだけ失敗しますか?
そのアプリがUDP、独自DNS、IPv6、または特殊なネットワークAPIを使っている可能性があります。ルーティングログを確認し、まずIPv4のTCP通信で動作を比較してから、UDPやIPv6を個別に検証します。
LANのルーター画面へ入れなくなった場合は?
ルーターのプライベートアドレスがプロキシへ送られている可能性があります。LAN、ローカルホスト、プライベートIP範囲を直通ルールの上位へ置き、TUNを再起動してから管理画面を開きます。
接続できないときの復旧と安全な戻し方
TUNを有効にした直後からすべての通信が失敗した場合は、設定を次々に変更せず、まずTUNをオフにして通常のネットワークを復旧します。次にv2rayNのコアを停止し、Windowsのネットワークアダプター一覧で仮想アダプターが残っているか確認します。再起動で一時的なルートやDNS状態が整理されることもありますが、再起動前にログの最初のエラーを保存してください。エラーが消えると原因の手掛かりも失われます。
「ポートが使用中」「インターフェースを作成できない」「permission denied」「failed to start TUN」といった表示がある場合、ポート競合、権限不足、ドライバー未導入、既存VPNとの競合を疑います。Windowsのリソースモニターや次のコマンドで、ローカルポートを使用するプロセスを確認できます。
netstat -ano | findstr LISTENING
tasklist /fi "PID eq 1234"
1234は実際に表示されたPIDへ置き換えます。見覚えのないプロセスを終了するのではなく、v2rayN、別のプロキシ、VPNクライアント、開発用サーバーなど、ポートを使用しているアプリを特定してから待受ポートを変更します。v2rayNのローカルHTTPポートやSOCKSポートを変更した場合は、Windowsの手動プロキシ設定に古い番号が残っていないことも確認してください。
接続はできるものの特定のサイトだけ遅い場合は、TUNを無効にしてシステムプロキシで同じノードを試します。システムプロキシでは正常でTUNだけ不安定なら、MTU、DNS、ルーティング、UDP処理を疑い、ノードを変更する前にTUN側を確認します。逆に両方で失敗する場合は、サブスクリプション、ノードの有効期限、Xrayコアのログ、サーバー側パラメータへ調査範囲を戻します。
常用する場合は、v2rayNのバージョン更新後にTUN設定を一度確認する習慣を作ります。コアやWintun、Windowsのネットワークスタックが変わると、同じ設定でもインターフェース名、ルート、DNSの挙動が変わることがあります。更新直後に通信が止まったときは、ノードを大量に削除するのではなく、TUNの状態、コアの起動ログ、仮想アダプター、ルート表示の4点を比較してください。必要なパッケージを取得する場合は、インストールパッケージへ進み、現在のWindows環境に合う版を選択します。