PCのv2rayNが正常に接続できており、同じルーターにつないだAndroidスマートフォンやテレビでもプロキシを使いたい方に向けた内容です。待ち受け設定、PCのLAN内アドレス、ファイアウォール、端末側のプロキシ設定の順に進め、ポートテストと接続ログで問題を切り分けます。共有元にはWindows PCを使用します。アドレスとポートは設定例のため、実際の値はお使いの環境で確認してください。
1. LAN共有とシステムプロキシの違い
v2rayNの「LANからの接続を許可」は、他の端末からローカルプロキシの受け口に接続できるようにする設定です。一方、「システムプロキシ」は、PC上の一部のアプリにWindowsのプロキシ設定を使わせる機能です。両者は別の設定です。PCのブラウザーで通信できても、スマートフォンからPCのプロキシポートに接続できるとは限りません。
スマートフォンからのリクエストをPCが受け取った後も、コアは現在のルーティングルールに従って、直接接続するかプロキシ経由で通信するかを選びます。共有されるのはHTTPまたはSOCKSの接続口であり、PCのネットワーク環境全体を複製するわけではありません。サブスクリプションURLを他の端末に配布するものでもありません。PCの電源とネットワークを維持し、v2rayNのコアを起動しておく必要があります。
- システムプロキシ:主に、PC上でシステムプロキシ設定に従うアプリに影響します。LANポートを開放する機能ではありません。
- LAN接続:スマートフォンやテレビから、PCで開放したプロキシの受け口に接続できるようにします。
- TUNモード:使用中のPCのネットワーク通信を取り込む機能です。有効にしただけで、PCがスマートフォン向けの透過ゲートウェイになるわけではありません。
- 利用条件:端末のアプリが、設定したプロキシ方式に対応している必要があります。Wi-FiのHTTPプロキシですべてのアプリをカバーできるとは限らず、ゲームのUDP通信もプロキシ経由になるとは限りません。
2. 設定を有効にして待ち受けポートを確認
まずPCで利用可能なサーバーを選び、正常に接続できることを確認してから、「設定」→「パラメータ設定」を開きます。「LANからの接続を許可」を探してください。通常はコアまたは基本設定の項目にありますが、バージョンによってタブ名が異なる場合があるため、設定名を目印にします。有効にして保存し、すぐ反映されない場合はコアを再起動して待ち受け状態を確認してください。
- パラメータ設定に表示されるローカルプロキシのポートを控え、HTTP、SOCKS、混合のどの受け口に対応するか確認します。
- 使用中のバージョンに専用のLANポートや認証設定がある場合は、その受け口の情報を控えてください。PCのループバック用ポートをそのまま使わないようにします。
- PowerShellで待ち受けアドレスを確認します。
127.0.0.1だけで待ち受けている受け口には、スマートフォンから接続できません。 - ポートが他のプロセスに使用されている場合は、まずプロセスを確認してからv2rayNのポートを変更し、端末側の設定も同じ値に更新します。
Get-NetTCPConnection -State Listen -LocalPort 10808 |
Select-Object LocalAddress, LocalPort, OwningProcess
10808は設定例であり、すべてのバージョンで同じ値が初期設定になっているとは限りません。古い設定ではHTTPとSOCKSでポートが分かれている場合や、別のポートが使われている場合があります。混合受け口なら同じポートで両方のプロキシ方式を受け付けますが、SOCKS専用の受け口にHTTPプロキシとして接続することはできません。結果が::の場合は、コアのデュアルスタック動作も確認してIPv4で接続できるか検証してください。この表示だけでスマートフォンから接続可能とは判断できません。
3. PCのLAN内IPv4アドレスを確認
PCのターミナルでipconfigを実行し、現在ルーターに接続している「Wireless LAN adapter WLAN」または「Ethernet adapter」のIPv4アドレスを確認します。TUN、仮想マシン、未接続のネットワークアダプター、別のネットワーク用のアドレスは選ばないでください。
ipconfig
IPv4 アドレス . . . . . . . . . . . . : 192.168.1.23
サブネット マスク . . . . . . . . . . . . : 255.255.255.0
デフォルト ゲートウェイ . . . . . . . . . . . . : 192.168.1.1
上記は説明用の出力例であり、実測値ではありません。スマートフォンのプロキシホストには192.168.1.23を入力します。ゲートウェイの192.168.1.1や127.0.0.1ではありません。後者はスマートフォン自身を指します。0.0.0.0は待ち受け用アドレスのため、接続先には指定しないでください。
- PCを有線LAN、スマートフォンをWi-Fiにつないだ状態でも共有できます。ただし、ルーターが両ネットワーク間の通信を許可している必要があります。
- 同じWi-Fi名に接続していても、端末同士が通信できるとは限りません。ゲストネットワーク、無線クライアント間の通信隔離、異なるVLANなどにより、端末からPCへ接続できない場合があります。
- PCを再接続すると、IPアドレスが変わることがあります。継続して使う場合は、ルーターでPCのDHCPアドレス予約を設定すると、スマートフォン側を毎回変更せずに済みます。
確認の順序:アドレスを確定してから端末を設定
まず使用中のネットワークアダプターとIPv4アドレスを確認し、その後でスマートフォンのプロキシを設定します。アドレスが変わっている場合、サブスクリプションの更新やサーバーの切り替えを繰り返しても、古いアドレスへの接続問題は解決しません。
4. 信頼できるネットワークだけでファイアウォールを許可
待ち受けはできているのに端末がタイムアウトする場合は、Windowsファイアウォールを確認します。信頼できる家庭内ネットワークで、「設定」→「ネットワークとインターネット」→現在接続中のネットワークのプロパティを開き、ネットワークプロファイルを確認してください。信頼できるネットワークに限り「プライベート」に設定します。プロキシ共有のために公共のホットスポットをプライベートに変更しないでください。
- 「Windows セキュリティ」→「ファイアウォールとネットワーク保護」→「詳細設定」を開きます。
- 「受信の規則」→「新しい規則」→「ポート」の順に進み、TCPを選択して、実際の受け口のポートを入力します。例:
10808。 - 「接続を許可する」を選択し、プロファイルは「プライベート」のみチェックします。ルール名には識別しやすい名前を付けてください。
- 作成したルールのプロパティを開き、「スコープ」でリモートIPアドレスを共有先の端末、または確認済みのLAN内サブネットに制限します。
管理者権限のPowerShellで、同等の設定を次の例のように追加することもできます。この例では、プライベートネットワーク上の例示サブネットからTCP 10808への接続だけを許可します。家庭内ネットワークのサブネットが異なる場合は、実際の値に変更してください。HTTPプロキシの接続確認にUDPの追加許可は不要です。
New-NetFirewallRule -DisplayName "v2rayN LAN TCP 10808" `
-Direction Inbound -Action Allow -Protocol TCP -LocalPort 10808 `
-Profile Private -RemoteAddress 192.168.1.0/24
5. スマートフォンとテレビにプロキシを設定
Androidスマートフォンでは通常、「設定」→「Wi-Fi」または「ネットワークとインターネット」→接続中のWi-Fi→「ネットワークを変更」→「詳細設定」→「プロキシ」の順に開き、「手動」を選びます。端末によってはネットワーク詳細画面の編集ボタンに設定項目があります。ホスト名とポートを入力して保存し、必要に応じてWi-Fiに再接続してください。
Wi-Fiの手動HTTPプロキシ
- プロキシホスト名
- 192.168.1.23
- プロキシポート
- 10808
- 必要な受け口
- HTTPまたは混合受け口
- 入力形式
- ホスト欄にはプロトコル名を付けない
この例は、該当設定に対応したスマートフォンやテレビ向けです。アドレスとポートはPCで確認した実際の値に置き換えてください。
アプリ内のSOCKS5プロキシ
- サーバーアドレス
- 192.168.1.23
- サーバーポート
- 10808
- プロトコル
- SOCKS5
- 必要な受け口
- SOCKSまたは混合受け口
SOCKS5設定を備えたアプリでのみ使えます。AndroidのWi-Fi手動プロキシは、通常HTTPプロキシの受け口を指定します。
テレビのネットワーク設定メニューはメーカーによって異なります。無線接続時のみプロキシを設定できる機種もあれば、有線LANのメニューに設定項目がない機種もあります。見つからない場合は、使用するアプリに個別のプロキシ設定があるか確認してください。システムとアプリのどちらもプロキシを設定できない場合、この方法ではそのアプリの通信を直接プロキシ経由にできません。
- プロキシのホストとポートは別々に入力してください。
192.168.1.23:10808をまとめてホスト欄に入力しないでください。 - HTTPプロキシはCONNECTを使ってHTTPS接続を中継できます。このために追加の証明書をインストールする必要はありません。
- アプリにSOCKS5のリモートDNS解決設定がある場合は、必要に応じて有効にしてください。Wi-FiのHTTPプロキシで名前解決がどう処理されるかはアプリによって異なるため、すべてのDNSリクエストがPC経由になるとは限りません。
- テスト時はルーティングの競合を避けるため、スマートフォン上の他のプロキシやVPN接続を一時停止してください。Wi-Fiから離れるときや共有を終了するときは、手動プロキシを「なし」に戻します。
6. ポート、プロトコル、ルーティングの順に切り分け
まず端末からPCに接続できることを確認し、その後プロキシ経由で通信できるか調べます。別のWindows端末で次のポートテストを実行してください。共有元のPCで試すだけでは、ファイアウォールが外部からの接続を許可しているか確認できません。スマートフォンやテレビにターミナルツールがない場合は、ブラウザーからテストし、PCのコアログも同時に確認します。
Test-NetConnection 192.168.1.23 -Port 10808
curl.exe --proxy http://192.168.1.23:10808 --connect-timeout 5 https://example.com/
TcpTestSucceeded : Trueが示すのはTCPポートに接続できることだけです。プロキシのプロトコル、接続先サーバー、ルーティングがすべて正常とは限りません。2つ目のコマンドはHTTPプロキシ経由でHTTPSリクエストを試しますが、そのリクエストが使えることを確認できるだけで、スマートフォン上のすべてのアプリがプロキシを使う証明にはなりません。
PCでは使えるのに、スマートフォンが接続タイムアウトになる場合
まずPCのIPv4アドレスが変わっていないか確認し、次に10808がLANから接続可能なアドレスで待ち受けているか確認します。その後、プライベートネットワークの受信ルール、リモートアドレスの範囲、ルーターのゲストネットワーク隔離を調べてください。この段階ではサブスクリプションを変更しないでください。
ポートには接続できるのに、ブラウザーでプロキシエラーが表示される場合
スマートフォンにHTTP用とSOCKS用のどちらの受け口を設定したか確認します。認証を設定している場合は、端末がその認証に対応していることと、認証情報が正しく入力されていることも確認してください。コアログを見て、プロトコルの不一致か、プロキシ経由の接続失敗かを切り分けます。
ブラウザーは使えるのに、テレビの動画アプリが通信できない場合
まず、そのアプリがシステムのHTTPプロキシ設定に従うか確認し、再生中に該当する接続がコアログに記録されるか調べます。プロキシ設定を無視したり、別の通信方式を使ったりするアプリもあります。PCのシステムプロキシを変更しても、そうした通信を強制的に取り込むことはできません。
共有を始めてしばらくすると、すべての端末が突然切断される場合
PCがスリープしていないか、コアが終了していないか、Wi-Fiの再接続でアドレスが変わっていないか、ネットワークプロファイルがパブリックに切り替わっていないか確認します。ポートを変更した場合は、スマートフォンの設定とファイアウォールルールも更新してください。
ポートとプロトコルに問題がなく、特定の接続先だけ使えない場合は、選択中のサーバーとルーティングルールを確認します。ルールで直接接続が選ばれている場合、スマートフォンからの通信だからといって自動でプロキシ経由になるわけではありません。複数の設定を一度に変更せず、接続先のドメインとログを照らし合わせてルールを確認してください。
7. 共有を終了した後の確認
LANプロキシ共有は、一時的なテストや信頼できる家庭内ネットワークで少数の端末を使う場合に適しています。長期間共有する場合は、PCのスリープ設定、アドレス予約、受信許可をあわせて管理してください。特にノートPCを別のネットワークに接続した後は、家庭内ネットワークと同じ範囲で受け口を開放し続けないようにします。
- 共有を使わないときは「LANからの接続を許可」をオフにし、設定が保存されて反映されたことを確認します。
- スマートフォンやテレビの手動プロキシを解除します。PCの電源を切った後も、端末が古い接続先にアクセスし続けるのを防げます。
- 専用に作成したファイアウォールルールを削除または無効化します。他のアプリで使う既存のルールは変更しないでください。
- 再度有効にする際は、アドレス、ポート、コアログをあらためて確認します。前回使えたことだけを根拠に、今回もネットワーク間で通信できると判断しないでください。