v2rayNのLAN接続を許可する方法|同じWi-Fiのスマホ・PCでプロキシを共有

v2rayNで「LANからの接続を許可」を有効にし、ほかの端末にPCのLAN内IPアドレスと待ち受けポートを設定すれば、プロキシを共有できます。ポートやファイアウォールの許可設定、安全上の注意点を解説します。

この記事の概要

信頼できる家庭内ネットワークで、Windows PCのv2rayNを経由し、Androidスマホや別のPCからインターネットに接続する場合の手順を説明します。まずPCでプロキシが使えることを確認し、LANからの接続を有効にして指定ポートをファイアウォールで許可した後、ほかの端末にHTTPプロキシを設定します。例ではLAN内アドレスに192.168.1.20、ポートに10809を使用します。実際の設定には、PCのネットワークアダプター情報とv2rayNの受け入れ設定を確認してください。

1. LAN共有とシステムプロキシの違い

「LANからの接続を許可」すると、接続を待ち受ける範囲が変わります。サブスクリプションがほかの端末にコピーされるわけではありません。スマホからPCのHTTPプロキシにリクエストを送り、v2rayNが使用するコアがルーティングルールに従って直接接続するか、プロキシ経由で接続するかを選択します。この通信が成立するかどうかは、PC上のノード、ルール、稼働状況によって決まります。

端末のアプリ LANからの接続 ルーティング判定 外部への接続 接続先サービス

PCのタスクトレイにある「システムプロキシを自動設定」は、PC上のアプリがプロキシに接続する先を設定する機能です。この設定がほかの端末に引き継がれることはありません。一方、コアが動作し、正しいポートで待ち受けていれば、PCのシステムプロキシを設定していなくても、ほかの端末からプロキシのアドレスを明示して接続できる場合があります。

2. 待ち受けを有効にし、使用ポートを確認する

v2rayNで「設定」→「パラメーター設定」を開き、接続の受け入れに関する項目から「LANからの接続を許可」を有効にします。項目の分類は画面によって多少異なる場合があります。HTTP入站または混合入站のポートも確認してください。保存後、画面の案内に従ってコアを再起動します。以前の記事だけを根拠に、ポートが必ず10809だと決めつけないでください。

AndroidのWi-Fi設定にある「手動プロキシ」にはHTTPプロキシを指定します。SOCKS入站用のポートは使用できません。複数のポートが表示される場合は、HTTPに対応したものを選びます。HTTPとSOCKSに対応する混合入站も使用できます。以下のカードに記載した数値は設定例であり、各バージョンの初期値を示すものではありません。

PC側の入站設定を確認

設定画面
設定 → パラメーター設定
LAN接続
有効
入站の種類
HTTP、またはHTTP対応の混合入站
ポートの例
10809

保存してコアを再起動した後、待ち受け状態を確認します。SOCKS専用ポートをWi-FiのHTTPプロキシ欄に入力しないでください。

ほかの端末で入力する値

プロキシホスト
192.168.1.20
プロキシポート
10809
アドレスの確認場所
PCで使用中のネットワークアダプターのIPv4アドレス
接続範囲
相互に通信できる信頼済みLAN

ホスト欄にはアドレスだけを入力し、http://は付けません。ポートは別欄に入力し、PCのアドレスとして127.0.0.1を指定しないでください。

PCのPowerShellで次のコマンドを実行し、例のポートが待ち受けているか確認します。別のポートを使用している場合は、先に数値を置き換えてください。何も表示されない場合は、ポートの設定とコアの起動ログを確認します。すぐにファイアウォールを変更しないでください。

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

3. LAN内IPアドレスを調べ、ポートを指定してファイアウォールで許可する

PCのターミナルでipconfigを実行し、ルーターへの接続に使用している「ワイヤレス LAN アダプター WLAN」または有線ネットワークアダプターを探して、「IPv4 アドレス」を控えます。仮想ネットワークアダプター、切断中のアダプター、トンネルインターフェイスは選ばないでください。例にある192.168.1.20は、ここで確認した実際のアドレスに置き換えます。

  1. 信頼できる家庭内ネットワークで、Windowsの「設定」→「ネットワークとインターネット」→現在接続中のネットワークのプロパティを開き、ネットワークプロファイルが「プライベート」になっていることを確認します。共有のためにパブリックネットワークをプライベートに変更しないでください。
  2. Windowsキー + Rを押してwf.mscと入力し、「セキュリティが強化された Windows Defender ファイアウォール」を開きます。「受信の規則」→「新しい規則」を選択してください。
  3. 「ポート」を選択し、プロトコルにTCPを指定します。「特定のローカル ポート」には、実際に使用するHTTPまたは混合ポートを入力します(例:10809)。
  4. 「接続を許可する」を選択し、プロファイルは「プライベート」だけにチェックを入れます。規則名には「v2rayN LAN HTTP共有」などを指定します。
  5. 新しい規則のプロパティを開き、「スコープ」→「リモート IP アドレス」で、許可する端末のアドレス、または信頼できることを確認したローカルサブネットに範囲を限定します。保存後、別の端末から接続をテストしてください。

共有に使うアドレスは、できるだけ固定してください。ルーターのDHCPアドレス予約機能を使い、PCの現在のネットワークアダプターに同じアドレスを割り当てる方法があります。設定しない場合、ルーターの再起動後にPCのアドレスが変わり、スマホが古いアドレスを使い続けてタイムアウトすることがあります。有線と無線の両方で接続しているPCでは、別の端末から実際に到達できるネットワークアダプターのアドレスを使ってください。

4. Androidや別のPCにプロキシを設定する

Androidでの一般的な設定手順は、「設定」→「ネットワークとインターネット」→「インターネット」または「WLAN」→接続中のWi-Fiの編集→「詳細設定」→「プロキシ」→「手動」です。メニュー名はシステムによって異なりますが、入力する項目はプロキシのホスト名とポートです。

  1. プロキシのホスト名にはPCのLAN内アドレスを入力します(例:192.168.1.20)。ルーターのゲートウェイやスマホ自身のアドレスは指定しないでください。
  2. プロキシポートには、HTTPに対応していることを確認したポートを入力します(例:10809)。ホスト名にコロンとポート番号をつなげて入力しないでください。
  3. Wi-Fiの設定を保存してブラウザーでページを開き、同時にPC側の接続ログを確認します。ブラウザーが既存の接続を再利用する場合があるため、ページを閉じてから再度テストしてください。
  4. 共有を終了する際は、そのWi-Fiの「プロキシ」を「なし」に戻してください。戻さないままPCがオフラインになると、アプリが接続できないプロキシへの接続を試み続けることがあります。

別のWindows PCでは、「設定」→「ネットワークとインターネット」→「プロキシ」→「手動プロキシ セットアップ」を開き、「プロキシ サーバーを使う」を編集して同じアドレスとポートを入力します。ブラウザーに独自のプロキシ設定がある場合は、システム設定を使っているのか、システム設定を上書きしているのか確認してください。

項目・動作正しい設定よくある誤り
プロキシサーバーのアドレスPCで使用中のネットワークアダプターのLAN内IPアドレスを入力127.0.0.1を入力してしまい、端末自身を参照している
プロキシサーバーのポートHTTPまたは混合入站の実際のポートを入力接続先ノードのポートをローカルプロキシのポートとして入力
HTTPSサイトへのアクセスHTTPプロキシがCONNECTでトンネルを確立そのために証明書の検証を無効にしたり、不明な証明書をインストールしたりする
アプリへの適用範囲各アプリがシステムプロキシに従うか確認するWi-Fiプロキシで端末内のすべての通信を制御できると思い込む

ポイント:まずブラウザーで確認し、その後アプリごとの適用範囲を調べる

まずブラウザーでLANプロキシの接続を確認し、その後、対象アプリをテストします。一部のアプリだけ接続できない場合は、ファイアウォールで許可するポートを増やすのではなく、そのアプリがプロキシに対応しているか確認してください。

5. 接続できない場合は、ネットワーク層からプロキシ層の順に確認する

トラブルシューティングの前に、PCのIPアドレス、実際のポート、テスト時刻を記録し、一度に変更する設定は1つにします。別のWindows PCでは、次の2つのコマンドでポートへの接続とHTTPプロキシ経由のリクエストを順に確認できます。例のアドレスとポートは実際の値に置き換えてください。コマンドはテスト方法を示すもので、接続成功を保証するものではありません。

Test-NetConnection -ComputerName 192.168.1.20 -Port 10809
curl.exe -I --connect-timeout 10 --max-time 20 --proxy http://192.168.1.20:10809 https://example.com/

TcpTestSucceeded : Trueは、TCPポートへの接続が確立できたことだけを示します。ノードが利用可能であることや、リクエストがプロキシ経由で外部に接続したことを意味するわけではありません。2つ目のコマンドの結果は、HTTPレスポンスとv2rayNのログをあわせて判断してください。接続先のWebサイト自体が利用できない場合も、テストに失敗することがあります。

PCでは使えるのに、スマホから接続するとタイムアウトする

まず待ち受けアドレスが127.0.0.1のままになっていないか、次にスマホに入力したPCのIPアドレスが正しいかを確認します。待ち受け設定に問題がなければ、ファイアウォールのネットワークプロファイルとスコープを確認してください。ゲストWi-Fiに接続している場合は、ルーターでゲストネットワークやクライアントの分離が有効になっていないか調べます。

ポートテストは成功するのに、ブラウザーでページを開けない

SOCKS専用ポートではなく、HTTPまたは混合ポートを指定していることを確認してください。次にPCのログで、そのリクエストが届いているか、プロキシ認証エラーや外部への接続エラーが発生していないかを調べます。別の接続経路だけを確認してしまうことがないよう、PC自身からも同じ入站を使ってテストしてください。

Webページは開けるのに、特定のアプリが直接接続する

そのアプリがシステムのHTTPプロキシに対応しているか確認し、必要に応じてアプリ独自のプロキシ設定を使用してください。Wi-Fiのプロキシ設定でアプリのUDP通信まで中継できるとは限りません。また、PCでTUNを有効にしただけで、ほかの端末の全通信が自動的に捕捉されるわけではありません。

昨日まで使えたのに、今日は接続できない

まずipconfigを実行してPCのアドレスが変わっていないか確認します。次にPCがスリープ状態でないこと、v2rayNのコアが動作していることを確認し、最後に現在のネットワークがプライベートからパブリックに変わっていないか調べてください。アドレスが変わっていた場合は、ほかの端末のプロキシホストを更新し、DHCPアドレス予約の設定も検討します。

リクエストがコアに届いているのに外部への接続に失敗する場合は、ノード接続、DNS、ルーティングルールを確認してください。共有端末からのリクエストにもPC側のルールが適用されます。Webページが開いても、プロキシ経由で接続したとは限りません。直接接続のルールに一致していてもページが正常に開く場合があります。ログに表示されるルールの一致結果を確認し、待ち受けやファイアウォールの問題を隠すためにプロトコルをむやみに切り替えないでください。

6. 共有範囲を制限し、使用後は設定を元に戻す

LAN共有の接続口には認証が設定されていない場合があります。すべてのネットワークアダプターで待ち受け、許可範囲も広いと、同じネットワーク内のほかの端末からも利用されるおそれがあります。共有は信頼できるネットワークでのみ有効にしてください。ルーターで10809などの受信ポートをインターネットに公開するポートマッピングを設定したり、リモートアクセスのためにプロキシをインターネットへ直接公開したりしないでください。

長期的に使う場合は、LAN共有と端末ごとの接続を分けて考えましょう。共有は、PCにある設定を一時的にまとめて利用するのに適しています。Android端末でノードや接続を個別に管理したい場合は、用途に合わせてv2rayNGまたはv2flyNGを選択できます。どちらの場合も、アプリの通信をどの接続口で受け入れるかを把握し、システムプロキシ、TUN、LAN共有を同じ機能だと混同しないようにしてください。

v2rayNのダウンロード