v2rayNのLAN接続を許可する方法|スマホ・タブレット・テレビでPCのプロキシを共有

v2rayNの「LANからの接続を許可」を有効にし、PCのプライベートIPアドレスとポートを確認。ほかの端末にHTTPまたはSOCKSプロキシを設定し、ファイアウォールの受信規則を許可します。

この記事の概要

この記事では、Windows PCでv2rayNを動かし、Androidスマホ・タブレットやテレビを同じ家庭内ネットワークに接続する場合を例に、LANプロキシの待ち受けアドレスとポート、ファイアウォール、端末側の設定方法を解説します。まずPCでの接続を確認し、アクセスを許可するネットワーク範囲を限定してから、プロキシを明示したリクエストとログで通信経路を確認します。ルーターで外部公開用のポート転送を設定する必要はありません。

1. LANで共有するプロキシの仕組みと範囲

v2rayNの「LANからの接続を許可」は、ほかの端末からPC上のプロキシ受信ポートへ接続できるようにする設定です。スマホからのリクエストはいったんPCに届き、実行中のコアがルールに従って直接接続するか、プロキシ経由で接続するかを選びます。サブスクリプションはノード設定を提供するもので、共有を有効にしてもノードが作成されたり、ほかの端末にクライアントがインストールされたりするわけではありません。

端末からリクエスト PCのプロキシ受信 ルーティングルールを判定 直接接続またはプロキシ接続 端末に応答

この方法で通信できるのは、端末のプロキシ設定に従うアプリに限られます。AndroidのWi-Fiで設定する手動プロキシは通常HTTPプロキシであり、すべてのアプリで使えるとは限りません。ゲーム、一部のテレビアプリ、独自に接続を確立するプログラムは、この設定を使わない場合があります。PCでTUNを有効にしても、同じネットワーク上の端末の通信がすべて自動的に取り込まれるわけではありません。

2. PCのプライベートIPアドレスと実際の待ち受けポートを確認する

まずPCで利用可能なノードを選び、v2rayN経由で目的のWebサイトに接続できることを確認します。次に「設定」→「パラメーター設定」を開き、ローカルの待ち受けポートと「LANからの接続を許可」を確認します。画面のバージョンによって項目の分類名が異なる場合があるため、古い解説記事のポート番号を推測で使わず、インストール済みのバージョンに表示される項目を確認してください。

  1. パラメーター設定でHTTP、SOCKS、または混合受信ポートを確認します。混合ポートしかない場合は、HTTPとSOCKSの両方を受け付けることを確認してください。
  2. 「LANからの接続を許可」を有効にして設定を保存します。コアの再起動を求められた場合は指示に従い、ログにバインド失敗やポート競合のエラーがないことを確認してください。
  3. Windowsターミナルでipconfigを実行し、現在ネットワークに接続しているイーサネットまたはWi-Fiアダプターを探して、IPv4アドレスを控えます。
  4. 切断中のネットワークアダプター、仮想マシン用アダプター、TUN仮想アダプターは対象外です。この記事では、PCのアドレスを192.168.1.20、HTTPとSOCKSの両方に対応すると確認済みの混合ポートを10808として説明します。

PC側で控える情報

プライベートIPv4アドレス
192.168.1.20
混合受信ポート
10808/TCP
LAN接続
有効
ネットワーク範囲
192.168.1.0/24

上記は記事全体で使用する例です。実際のアドレス、サブネットマスク、ポートに置き換えてください。

ほかの端末に入力する情報

サーバー
192.168.1.20
ポート
10808
プロトコル
HTTP、またはアプリが対応する場合はSOCKS5
認証
PC側の受信設定に合わせる

サーバー欄にはアドレスだけを入力します。サブスクリプションURL、ノードのドメイン名、プロトコルの接頭辞は入力しないでください。

127.0.0.1は各端末自身のループバックアドレスです。スマホに入力すると、PCではなくスマホ自身に接続します。0.0.0.0はすべてのIPv4インターフェースで待ち受けることを示すアドレスであり、スマホに入力する接続先ではありません。家庭用ルーターから割り当てられるアドレスは変わることがあります。長期間使う場合は、ルーターのDHCP設定でPCに固定リースを割り当てる方法があります。

3. 待ち受け状態を確認し、ネットワーク範囲を限定してファイアウォールを許可する

Windows PowerShellで次のコマンドを実行し、例のポートを確認します。実際のポートが異なる場合は、先に10808を置き換えてください。設定を有効にするだけでは不十分です。コアがLANから接続できるアドレスで実際に待ち受けている必要があります。

Get-NetTCPConnection -State Listen -LocalPort 10808 |
  Select-Object LocalAddress, LocalPort, OwningProcess

信頼できる家庭内ネットワークでは、「設定」→「ネットワークとインターネット」→現在接続中のネットワークのプロパティを開き、ネットワークプロファイルを「プライベート」に設定できます。プロキシ共有のために公共のネットワークをプライベートに変更しないでください。続いて「Windows セキュリティ」→「ファイアウォールとネットワーク保護」→「詳細設定」→「受信の規則」を開き、TCPポートの規則を新規作成します。プロファイルはプライベートに限定し、スコープでアクセスを許可するリモートネットワークの範囲を指定してください。

次は同等の操作を行う管理者権限のPowerShell例です。PCと端末が実際に192.168.1.0/24上にある場合に限り使用してください。/24に対応するサブネットマスクは255.255.255.0です。ネットワーク範囲が異なる場合は変更が必要で、そのまま流用できません。

New-NetFirewallRule `
  -DisplayName "v2rayN LAN TCP 10808" `
  -Direction Inbound `
  -Action Allow `
  -Protocol TCP `
  -LocalPort 10808 `
  -RemoteAddress 192.168.1.0/24 `
  -Profile Private

4. Androidスマホ・タブレット・テレビにプロキシを設定する

端末をPCと相互に通信できるネットワークに接続します。PCを有線LAN、スマホをWi-Fiに接続しても構いません。重要なのは、ルーターが両方の端末間の通信を遮断していないことです。同じWi-Fiネットワーク名でも相互に通信できるとは限らず、ゲストネットワークやAP隔離によって接続できない場合があります。

  1. Androidスマホ・タブレット:「設定」→「WLAN」または「Wi-Fi」→接続中のネットワークの詳細→「ネットワークを変更」→「詳細オプション」を開き、プロキシを「手動」に切り替えます。設定画面の名称や場所は端末によって異なります。
  2. HTTPプロキシを設定:プロキシのホスト名に192.168.1.20、ポートに10808を入力します。このポートがHTTPリクエストを受け付けることを確認してから設定してください。最初のテストではプロキシの除外項目を追加せず、保存後にブラウザーを開き直します。
  3. テレビ:現在のネットワークの詳細設定にプロキシ項目があるか確認します。システムにプロキシ設定がない場合は、プロキシ対応アプリ内で設定できることがあります。PC側の設定を変更すればテレビ全体に適用されると考えないでください。
  4. アプリがSOCKS5に対応している場合:SOCKS5を選択し、同じPCアドレスと、実際に設定されているSOCKSポートまたは混合ポートを入力します。リモートDNSの設定がある場合は、必要に応じて有効にして再テストしてください。

Androidの手動HTTPプロキシ設定には、通常ユーザー名とパスワードの入力欄がありません。PC側の受信設定で認証が必要なのに、端末から認証情報を送信できない場合、アドレスとポートだけでは接続できません。必要な認証方式に対応したアプリを使用してください。この制限を回避するために、信頼できないネットワークで認証を無効にしないでください。

確認の順序:まずブラウザー、次に目的のアプリ

ブラウザーでは接続できるのにテレビアプリで失敗する場合は、まずアプリがシステムのHTTPプロキシ設定に従うか確認してください。アプリの互換性に関する問題を複数の設定変更による不具合にしないよう、ノード、サブスクリプション、ファイアウォールはすぐに変更しないでください。

5. プロキシを明示したリクエストで共有経路を確認する

PC自体がインターネットに接続できても、確認できるのはPC本体の通信経路だけです。共有の動作は別の端末からテストしてください。LAN内に別のWindows PCがある場合は、まずポートをテストし、次にcurl.exeでプロキシを指定してサンプルページにアクセスします。テスト中は共有元PCとv2rayNを起動したままにしてください。

Test-NetConnection 192.168.1.20 -Port 10808

curl.exe --proxy http://192.168.1.20:10808 --connect-timeout 5 --max-time 20 -I https://example.com/

curl.exe --proxy socks5h://192.168.1.20:10808 --connect-timeout 5 --max-time 20 -I https://example.com/

次の2つのcurlコマンドでHTTPとSOCKS5の経路をそれぞれ確認します。該当するプロトコルを受け付ける受信ポートがある場合のみ実行してください。socks5hではプロキシ側が接続先のドメイン名を解決します。通常のsocks5では、一般にテスト端末側が先に名前を解決します。ここで指定する接続タイムアウト5秒と全体のタイムアウト20秒はテスト上の上限であり、実測の遅延や速度を示すものではありません。

テスト結果判断できること次の確認
TcpTestSucceeded: False端末からTCP接続を確立できないIPアドレス、待ち受け状態、ファイアウォール、端末間の隔離を確認
ポート接続は成功するがHTTPプロキシは失敗TCPで到達できることのみ確認済みポートのプロトコル、認証、コアのログを確認
407が返るプロキシで認証が必要端末が認証に対応し、認証情報を正しく送信できるか確認
接続先Webサイトのレスポンスヘッダーが返るリクエストがプロキシの受信ポートを経由して処理された実際に使うアプリと目的のWebサイトでも再テスト
コマンドは成功するが特定のアプリで失敗共有の接続口はおおむね正常アプリのプロキシ対応状況とDNSの動作を確認

v2rayNのコアログも確認し、テスト時刻の接続先ドメイン、受信記録、出口の選択を調べてください。ログの詳細度は現在の設定によって異なります。PCのプロキシ受信を経由しても、リクエストが必ずリモートノードを通るとは限りません。ルーティングルールによって直接接続が選ばれる場合もあります。出口を確認する場合はログと信頼できる出口IPアドレス確認結果を照合し、Webページが開くかどうかだけで判断しないでください。

6. LANでのプロキシ共有に関するよくある質問

スマホとPCが同じルーターにつながっているのに、接続がタイムアウトするのはなぜですか?

まず、スマホに入力したアドレスがPCで現在使用中の物理ネットワークアダプターのものか確認します。次にルーターのゲストネットワーク、無線クライアント隔離、異なるネットワークセグメント間のアクセス制限を調べてください。最後に、Windowsの現在のネットワークプロファイルとファイアウォール規則が一致しているか確認します。プライベートネットワークにのみ適用される規則は、プロファイルがパブリックの場合には有効になりません。

スマホではWebページを開けるのに、ゲームや動画アプリがプロキシを使わないのはなぜですか?

Wi-FiのHTTPプロキシですべてのアプリの通信が中継されるとは限らず、任意のUDP通信に対応するわけでもありません。まずアプリ独自のプロキシ設定があるか確認してください。Android端末でクライアントを個別に動かす必要がある場合は、必要に応じてv2rayNGまたはv2flyNGの設定方法を確認してください。これは端末側で接続する方法であり、PC側のポート許可範囲を広げる解決策ではありません。

PCのシステムプロキシをオフにしても、共有を続けられますか?

通常は続けられます。システムプロキシの設定は、PC上でその設定に従うアプリの接続方法を決めます。LAN共有に必要なのは、コアの実行と受信ポートの待ち受けです。コアが動作し、待ち受けとファイアウォール規則が有効なら、ほかの端末は引き続き利用できます。v2rayNを終了するかコアを停止すると、共有は中断されます。

昨日まで使えていたのに、今日スマホが突然接続できなくなった場合は?

まずPCがスリープしていないか、v2rayNが起動しているか確認し、もう一度ipconfigを実行してアドレスが変わっていないか調べてください。一時的に共有を停止する場合は、スマホの現在のWi-Fi設定でプロキシを「なし」に戻します。設定を残したままだと、オフラインになったPCやアドレスが変わったPCへの接続を試み続けます。

7. 共有を停止したら端末の設定を元に戻す

一時的な共有を終えたら、スマホ、タブレット、テレビのプロキシ設定をオフに戻してから、v2rayNのLAN接続設定を無効にし、指示があればコアを再起動します。最後に、専用に作成したファイアウォール規則を削除し、不要な接続口が残らないようにしてください。

Remove-NetFirewallRule -DisplayName "v2rayN LAN TCP 10808"
v2rayN をダウンロード