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

v2rayNでLAN接続を許可し、PCのIPアドレスとポートを確認してファイアウォールを設定。Android端末やテレビにプロキシを設定する手順を解説します。

この記事のポイント

Windows PCでv2rayNを実行し、Androidスマートフォンやテレビを家庭内ネットワークに接続する場合を例に、PCのIPアドレス、プロキシの待ち受け、ファイアウォール、端末側の設定を順に確認します。HTTPポートとSOCKSポートの違いを押さえ、「PCでは使えるのにスマホでは使えない」原因を段階的に切り分けます。IPアドレスとポート番号は設定例です。実際の設定ではPCに表示された値を使ってください。

1. LANでプロキシを共有する仕組み

「LANからの接続を許可」すると、プロキシの接続先としてアクセスできる範囲が広がります。これまでPCだけが使っていた接続先を、同じLAN上のほかの端末からも利用できるようになります。スマートフォンやテレビからのプロキシ対応通信をPCに送り、v2rayNで実行中のコアがルーティングルールに従って直接接続するか、プロキシ経由で接続するかを選びます。

端末のアプリ LAN接続 PCのプロキシ接続先 ルーティングルール 接続先サービス

これはPCをルーターにすることでも、PCのネットワーク通信をすべて共有することでもありません。AndroidのWi-Fi設定で使う手動プロキシは通常HTTPプロキシです。ブラウザーなどシステムプロキシに従うアプリでは利用できますが、一部の動画アプリやゲーム、独自に接続を確立するアプリでは無視されることがあります。また、HTTPプロキシですべてのUDP通信が自動的に中継されるわけではありません。

2. PCのIPアドレスとHTTPプロキシのポートを確認する

Windowsターミナルでipconfigを実行し、実際にネットワークへ接続している「ワイヤレス LAN アダプター WLAN」またはイーサネットアダプターを確認して、IPv4アドレスとサブネットマスクを控えます。仮想ネットワークアダプターや未接続のアダプターは選ばないでください。また、デフォルトゲートウェイをプロキシサーバーのアドレスとして入力しないよう注意してください。

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でもありません。後者は常にその端末自身を指すため、スマートフォンに入力するとスマートフォン自身への接続を試みます。

10809
この記事で使うHTTP接続先の例。実際の待ち受けを確認してください
10808
設定によってはSOCKS接続先が使われます

バージョンやコアの設定によって、HTTP専用、SOCKS専用、またはHTTPとSOCKSの混合接続先が用意されている場合があります。上記のポート番号を固定の初期値と考えないでください。「設定」→「パラメーター設定」を開いてローカル待ち受けの項目を確認し、実行ログでもHTTPまたは混合接続先のポートを確認します。AndroidのWi-Fi設定の「プロキシのポート」には、HTTPプロキシに対応したポートを入力してください。SOCKS専用ポートは使えません。

接続先のプロトコルを確認してからポートを入力

PCの接続先がHTTPに対応していることを確認してから、スマートフォンを設定してください。実際に使える接続先が混合タイプの場合は、表示されているポートを使い、後述のコマンドにある10809も同じポート番号に置き換えてください。

3. LAN接続を許可し、待ち受け状態を確認する

  1. v2rayNで、動作を確認済みの設定を選び、コアが正常に実行されていることを確認します。
  2. 「設定」→「パラメーター設定」を開き、「LANからの接続を許可」のスイッチを探します。画面によって項目の場所は異なる場合があるため、実際の設定画面を確認してください。
  3. この項目を有効にして保存し、画面の案内に従ってコアを再起動します。待ち受けアドレスを個別に設定できる場合は、ループバックアドレスだけでなくLAN上のアドレスからも接続できるようにしてください。
  4. PowerShellで対象ポートを確認し、変更が実行中のプロセスに反映されたか調べます。
Get-NetTCPConnection -State Listen -LocalPort 10809 |
  Select-Object LocalAddress, LocalPort, OwningProcess

待ち受けアドレスが127.0.0.1だけの場合、ほかの端末からIPv4のLAN経由で接続することはできません。0.0.0.0は通常、PCのすべてのIPv4アドレスで待ち受けることを示します。192.168.1.23は特定のネットワークアダプターのアドレスで待ち受けることを示します。::だけが表示されていても、IPv4で接続できるとは限りません。別の端末から実際に接続して確認してください。

コマンドの実行結果が表示されない場合は、まずv2rayNのログでポートの競合や起動失敗を確認し、次に接続先のポート番号を確認してください。PC側で待ち受けサービスが起動していない状態で、スマートフォンの設定を何度も変えても問題は解決しません。

4. Windowsファイアウォールで許可する範囲を限定する

待ち受けが正常なのにスマートフォンが接続タイムアウトになる場合は、次にファイアウォールを確認します。信頼できる家庭内ネットワークでは「プライベート」ネットワークプロファイルを使用できます。ホテルや公衆Wi-Fiなどでは、プロキシ共有のために「プライベート」へ変更しないでください。Windowsの「設定」→「ネットワークとインターネット」から、接続中のネットワークのプロパティを開き、ネットワークプロファイルの種類を確認できます。

次のコマンドは、管理者権限で開いたPowerShellで実行してください。この記事の例で使うTCPポートを対象に、プライベートネットワークプロファイルでローカルサブネットからのアクセスだけを許可します。すでに広い範囲を許可するアプリのルールがある場合は、そのルールも確認してください。許可範囲の狭いルールを追加しても、既存の広いルールは自動的に制限されません。

New-NetFirewallRule `
  -DisplayName "v2rayN LAN HTTP 10809" `
  -Direction Inbound `
  -Action Allow `
  -Protocol TCP `
  -LocalPort 10809 `
  -RemoteAddress LocalSubnet `
  -Profile Private

共有を使わなくなったら、今回追加したルールを削除し、v2rayNのLAN接続許可も無効にしてください。Windows側の許可とアプリの待ち受け範囲を両方元に戻せます。

Remove-NetFirewallRule -DisplayName "v2rayN LAN HTTP 10809"

5. Androidスマートフォンやテレビにプロキシを設定する

Android端末では通常、「設定」→「Wi-Fi」または「ネットワークとインターネット」から接続中のネットワークを開き、「ネットワークを変更」を選択します。詳細設定で「プロキシ」を「手動」に変更してください。メーカーによって項目名は異なりますが、入力する項目はサーバーのホスト名、ポート、必要に応じてプロキシを使わない接続先のリストです。

Windows PCの設定例

LAN内のIPv4アドレス
192.168.1.23
HTTP接続先
TCP 10809
LAN接続
許可してコアを再起動
ファイアウォールの範囲
プライベートネットワーク、ローカルサブネット

アドレスとポートは、現在のPCで確認した実際の値に置き換えてください。

AndroidのWi-Fi設定例

プロキシの種類
手動のHTTPプロキシ
サーバーのホスト名
192.168.1.23
サーバーポート
10809
初回テスト時の除外リスト
空欄のまま

ホスト名欄にはアドレスだけを入力します。http://やポート番号は付けないでください。

保存したら、まずブラウザーで、通常はプロキシ経由でアクセスする必要があるHTTPSページを開きます。HTTPプロキシはCONNECTでHTTPSトンネルを確立できますが、接続先のページが暗号化されないHTTPに切り替わるわけではありません。テスト中はPCの接続ログを確認し、リクエストが実際にプロキシの接続先へ届いていることを確かめてください。

  1. テレビがネットワークの手動プロキシ設定に対応している場合は、接続中のWi-Fiの詳細設定で同じアドレスとポートを入力してください。
  2. テレビを有線LANで接続している場合は、イーサネット接続にプロキシ設定があるか確認してください。Wi-Fiのプロキシ設定は有線LANには自動適用されません。
  3. テレビのアプリがシステムプロキシに従わない場合、ネットワークのプロキシを設定しても通信を強制的に経由させることはできません。まず、アプリに独自のプロキシ設定があるか確認してください。
  4. 端末単体でプロキシを動作させる必要がある場合は、用途に応じてv2rayNGまたはv2flyNGを選べます。ただし、独立したクライアントでは各アプリ自身の設定を使うため、ここで説明したHTTPプロキシの入力項目をそのまま使うわけではありません。

v2rayNGはXrayコア、v2flyNGはv2flyコアを使用します。端末を独立したクライアントとして使う場合は、PC側のルールがすべて引き継がれると考えず、サブスクリプションとの互換性、ルーティング、DNSの設定を改めて確認してください。

6. 3段階のテストでポートとノードの問題を切り分ける

「PC上の接続先」「LANからの接続」「接続先サービス」の順にテストします。ブラウザーでページを開けないだけでは、最終的なリクエストが失敗したことしかわかりません。その現象だけでサブスクリプション、ノード、ファイアウォールのどれに問題があるかは判断できません。

  1. PC上のプロキシをテスト:共有元のPCで下の1つ目のコマンドを実行し、HTTP接続先がリクエストを処理できることを確認します。失敗する場合は、まずコアまたは接続先の設定を修正してください。
  2. LAN上のポートをテスト:同じネットワークに接続した別のWindows端末で、2つ目のコマンドを実行します。TcpTestSucceededがTrueでも、TCP接続が可能なことを示すだけで、接続先のプロトコルや外部への接続が正常とは限りません。
  3. アプリからのリクエストをテスト:スマートフォンでプロキシ設定を保存して接続先のページを開き、PCのログで時刻、接続先、送信元アドレスを確認します。ページが開けることと、リクエストがログに記録されることの両方を確かめてください。
# 共有元のPCでHTTPプロキシ接続先をテスト
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 -I https://v2rayzip.com/

# 別のWindows端末でLAN上のTCP接続をテスト
Test-NetConnection -ComputerName 192.168.1.23 -Port 10809

1つ目のコマンドの応答ステータスは、必ずしも200になるとは限りません。リダイレクトや、サイトがHEADリクエストを拒否した場合は別のステータスが返ることがあります。接続が確立したかどうかとログを併せて判断してください。接続先がLANアドレスだけで待ち受け、ループバックアドレスでは待ち受けていない場合は、1つ目のコマンドでPCのLANアドレスを指定してください。

PCでは使えるのにスマートフォンが接続タイムアウトになる場合は?

スマートフォンに入力したサーバーアドレスが、PCの現在のIPv4アドレスと一致しているか確認します。次に、待ち受けが127.0.0.1だけになっていないか確認してください。両方に問題がなければ、ファイアウォールのネットワークプロファイルと、ルーターのゲストネットワーク、AP分離、クライアント分離の設定を確認します。

ポートに接続できるのに、ブラウザーでページが開けないのはなぜ?

そのポートがSOCKS専用ではなく、HTTPに対応していることを確認してください。次に、curl.exeでプロキシ経由の接続をテストし、具体的なエラーを確認します。PC自身でも同じ接続先を使って失敗する場合は、ファイアウォールの許可範囲をさらに広げるのではなく、ノードへの接続、ルーティングルール、ドメイン名の名前解決を確認してください。

ブラウザーは使えるのに、テレビの動画アプリでは変化がない場合は?

まずPCのログにそのアプリからのリクエストが記録されているか確認します。記録がなければ、アプリがシステムのHTTPプロキシを使わないか、プロキシ経由にならない通信方式を使っている可能性があります。HTTPポートを何度も変更しても通常は解決しません。アプリが対応するプロキシ設定、または独立したクライアントを使ってください。

PCを再起動したあと、スマートフォンから接続できなくなるのはなぜ?

DHCPによってPCのアドレスが再割り当てされていないか確認し、コアが起動していることも確認してください。ルーターでPCのDHCPアドレス予約を設定できます。実際に使うポートが変わっていないか、ネットワークプロファイルが「パブリック」に変わっていないかも確認してください。

7. 長期利用に向けてアドレスを固定し、共有範囲を絞る

安定して共有するには、アドレス、待ち受け、ネットワークの状態を一定に保つことが重要です。競合する可能性のある静的アドレスをPCにむやみに設定せず、ルーターのDHCPアドレス予約を使うことをおすすめします。また、PCのスリープ設定も確認してください。ディスプレイを消すだけならスリープにはなりませんが、ほかの端末からの接続を継続して処理するにはPCが稼働している必要があります。

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