この記事では、Windows PCでv2rayNを動かし、Androidスマホ・タブレットやテレビを同じ家庭内ネットワークに接続する場合を例に、LANプロキシの待ち受けアドレスとポート、ファイアウォール、端末側の設定方法を解説します。まずPCでの接続を確認し、アクセスを許可するネットワーク範囲を限定してから、プロキシを明示したリクエストとログで通信経路を確認します。ルーターで外部公開用のポート転送を設定する必要はありません。
1. LANで共有するプロキシの仕組みと範囲
v2rayNの「LANからの接続を許可」は、ほかの端末からPC上のプロキシ受信ポートへ接続できるようにする設定です。スマホからのリクエストはいったんPCに届き、実行中のコアがルールに従って直接接続するか、プロキシ経由で接続するかを選びます。サブスクリプションはノード設定を提供するもので、共有を有効にしてもノードが作成されたり、ほかの端末にクライアントがインストールされたりするわけではありません。
この方法で通信できるのは、端末のプロキシ設定に従うアプリに限られます。AndroidのWi-Fiで設定する手動プロキシは通常HTTPプロキシであり、すべてのアプリで使えるとは限りません。ゲーム、一部のテレビアプリ、独自に接続を確立するプログラムは、この設定を使わない場合があります。PCでTUNを有効にしても、同じネットワーク上の端末の通信がすべて自動的に取り込まれるわけではありません。
- 向いている用途:PCを起動したまま、スマホのブラウザーやプロキシ対応のテレビアプリで一時的に接続先を共有する場合。
- 必要な条件:端末同士が通信でき、PCのノードが利用可能で、プロキシの待ち受け設定とファイアウォール規則が正しいこと。
- 対象外:ルーターをゲートウェイにする方法ではなく、スマホのすべての通信をPC経由にする設定でもありません。
2. PCのプライベートIPアドレスと実際の待ち受けポートを確認する
まずPCで利用可能なノードを選び、v2rayN経由で目的のWebサイトに接続できることを確認します。次に「設定」→「パラメーター設定」を開き、ローカルの待ち受けポートと「LANからの接続を許可」を確認します。画面のバージョンによって項目の分類名が異なる場合があるため、古い解説記事のポート番号を推測で使わず、インストール済みのバージョンに表示される項目を確認してください。
- パラメーター設定でHTTP、SOCKS、または混合受信ポートを確認します。混合ポートしかない場合は、HTTPとSOCKSの両方を受け付けることを確認してください。
- 「LANからの接続を許可」を有効にして設定を保存します。コアの再起動を求められた場合は指示に従い、ログにバインド失敗やポート競合のエラーがないことを確認してください。
- Windowsターミナルで
ipconfigを実行し、現在ネットワークに接続しているイーサネットまたはWi-Fiアダプターを探して、IPv4アドレスを控えます。 - 切断中のネットワークアダプター、仮想マシン用アダプター、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
127.0.0.1:PC本体からのみアクセスできます。LAN接続の設定と、コアの再起動が反映されたかを確認してください。0.0.0.0またはPCのプライベートIPv4アドレス:対応するIPv4接続を受け付けられる状態です。ファイアウォールも確認してください。::のみ:IPv6のワイルドカードアドレスで待ち受けています。IPv4も受け付けるかどうかはソケットの設定によるため、IPv4アドレスを使って実際に接続を試してください。- 出力なし:コアの実行状態、実際のポート番号、ほかのプログラムによるポートの使用状況を確認してください。
信頼できる家庭内ネットワークでは、「設定」→「ネットワークとインターネット」→現在接続中のネットワークのプロパティを開き、ネットワークプロファイルを「プライベート」に設定できます。プロキシ共有のために公共のネットワークをプライベートに変更しないでください。続いて「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隔離によって接続できない場合があります。
- Androidスマホ・タブレット:「設定」→「WLAN」または「Wi-Fi」→接続中のネットワークの詳細→「ネットワークを変更」→「詳細オプション」を開き、プロキシを「手動」に切り替えます。設定画面の名称や場所は端末によって異なります。
- HTTPプロキシを設定:プロキシのホスト名に
192.168.1.20、ポートに10808を入力します。このポートがHTTPリクエストを受け付けることを確認してから設定してください。最初のテストではプロキシの除外項目を追加せず、保存後にブラウザーを開き直します。 - テレビ:現在のネットワークの詳細設定にプロキシ項目があるか確認します。システムにプロキシ設定がない場合は、プロキシ対応アプリ内で設定できることがあります。PC側の設定を変更すればテレビ全体に適用されると考えないでください。
- アプリが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"
- ほかの端末が直接インターネットに接続でき、ブラウザーが古いプロキシアドレスへの接続を試みないことを確認します。
- 待ち受けアドレスを再確認し、LAN接続口が閉じているか、PC本体からのみアクセスできる状態に戻っていることを確認します。
- 長期間共有する場合は、実際のIPアドレス、ポート、許可するネットワーク範囲、認証方式を記録し、ルーターやコアの設定を変更したら再テストしてください。