信頼できる家庭内ネットワークで、Windows PCのv2rayNを経由し、Androidスマホや別のPCからインターネットに接続する場合の手順を説明します。まずPCでプロキシが使えることを確認し、LANからの接続を有効にして指定ポートをファイアウォールで許可した後、ほかの端末にHTTPプロキシを設定します。例ではLAN内アドレスに192.168.1.20、ポートに10809を使用します。実際の設定には、PCのネットワークアダプター情報とv2rayNの受け入れ設定を確認してください。
1. LAN共有とシステムプロキシの違い
「LANからの接続を許可」すると、接続を待ち受ける範囲が変わります。サブスクリプションがほかの端末にコピーされるわけではありません。スマホからPCのHTTPプロキシにリクエストを送り、v2rayNが使用するコアがルーティングルールに従って直接接続するか、プロキシ経由で接続するかを選択します。この通信が成立するかどうかは、PC上のノード、ルール、稼働状況によって決まります。
PCのタスクトレイにある「システムプロキシを自動設定」は、PC上のアプリがプロキシに接続する先を設定する機能です。この設定がほかの端末に引き継がれることはありません。一方、コアが動作し、正しいポートで待ち受けていれば、PCのシステムプロキシを設定していなくても、ほかの端末からプロキシのアドレスを明示して接続できる場合があります。
- 共有の前提:PC上でv2rayNのHTTPまたは混合入站を使ったリクエストが正常に行え、サブスクリプションに利用可能な設定があること。
- ネットワークの前提:2台の端末間で通信できること。同じWi-Fi名でも相互に通信できるとは限りません。ゲストネットワークや無線クライアントの分離機能によって接続が遮断される場合があります。
- 稼働の前提:PCの電源、ネットワーク接続、コアの動作を維持してください。v2rayNの終了、PCのスリープ、ネットワークアダプターの切り替えなどで共有が中断することがあります。
- プロキシの適用範囲:Wi-Fiの手動プロキシ設定が適用されるのは、通常、システムのHTTPプロキシ設定に従うアプリです。端末の全通信がプロキシ経由になるわけではありません。
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
127.0.0.1:PC内のループバックアドレスだけで待ち受けます。LAN内の端末はPCのネットワークアダプターのアドレスから接続できません。0.0.0.0:すべてのIPv4ネットワークアダプターで待ち受けます。ファイアウォールで接続元の範囲を制限してください。192.168.1.20:指定したアドレスだけで待ち受けます。アドレスが変わった場合は設定を確認し直してください。:::IPv6の全アドレスで待ち受けます。IPv4接続も受け付けるかどうかは実装によるため、別の端末から実際にテストしてください。
3. LAN内IPアドレスを調べ、ポートを指定してファイアウォールで許可する
PCのターミナルでipconfigを実行し、ルーターへの接続に使用している「ワイヤレス LAN アダプター WLAN」または有線ネットワークアダプターを探して、「IPv4 アドレス」を控えます。仮想ネットワークアダプター、切断中のアダプター、トンネルインターフェイスは選ばないでください。例にある192.168.1.20は、ここで確認した実際のアドレスに置き換えます。
- 信頼できる家庭内ネットワークで、Windowsの「設定」→「ネットワークとインターネット」→現在接続中のネットワークのプロパティを開き、ネットワークプロファイルが「プライベート」になっていることを確認します。共有のためにパブリックネットワークをプライベートに変更しないでください。
- Windowsキー + Rを押して
wf.mscと入力し、「セキュリティが強化された Windows Defender ファイアウォール」を開きます。「受信の規則」→「新しい規則」を選択してください。 - 「ポート」を選択し、プロトコルにTCPを指定します。「特定のローカル ポート」には、実際に使用するHTTPまたは混合ポートを入力します(例:
10809)。 - 「接続を許可する」を選択し、プロファイルは「プライベート」だけにチェックを入れます。規則名には「v2rayN LAN HTTP共有」などを指定します。
- 新しい規則のプロパティを開き、「スコープ」→「リモート IP アドレス」で、許可する端末のアドレス、または信頼できることを確認したローカルサブネットに範囲を限定します。保存後、別の端末から接続をテストしてください。
共有に使うアドレスは、できるだけ固定してください。ルーターのDHCPアドレス予約機能を使い、PCの現在のネットワークアダプターに同じアドレスを割り当てる方法があります。設定しない場合、ルーターの再起動後にPCのアドレスが変わり、スマホが古いアドレスを使い続けてタイムアウトすることがあります。有線と無線の両方で接続しているPCでは、別の端末から実際に到達できるネットワークアダプターのアドレスを使ってください。
4. Androidや別のPCにプロキシを設定する
Androidでの一般的な設定手順は、「設定」→「ネットワークとインターネット」→「インターネット」または「WLAN」→接続中のWi-Fiの編集→「詳細設定」→「プロキシ」→「手動」です。メニュー名はシステムによって異なりますが、入力する項目はプロキシのホスト名とポートです。
- プロキシのホスト名にはPCのLAN内アドレスを入力します(例:
192.168.1.20)。ルーターのゲートウェイやスマホ自身のアドレスは指定しないでください。 - プロキシポートには、HTTPに対応していることを確認したポートを入力します(例:
10809)。ホスト名にコロンとポート番号をつなげて入力しないでください。 - Wi-Fiの設定を保存してブラウザーでページを開き、同時にPC側の接続ログを確認します。ブラウザーが既存の接続を再利用する場合があるため、ページを閉じてから再度テストしてください。
- 共有を終了する際は、その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などの受信ポートをインターネットに公開するポートマッピングを設定したり、リモートアクセスのためにプロキシをインターネットへ直接公開したりしないでください。
- 接続端末を制限:ファイアウォールのスコープには、許可する端末の個別アドレスを優先して指定します。サブネットを指定する場合は、サブネット内の端末がすべて信頼できることを確認してください。
- 認証設定を確認:現在の入站設定で認証を利用できる場合は、接続側も認証情報を入力できるか事前に確認してください。AndroidのWi-Fi手動プロキシ画面には、通常、プロキシのユーザー名とパスワードを直接入力する欄がありません。PC側で認証を有効にしただけでは、設定が完了したことになりません。
- プロキシの併用を避ける:共有経路をテストするときは、ルーティングへの干渉を減らすため、スマホ上のほかのプロキシやVPN接続を一時停止してください。ほかの接続を再開した後は、対象アプリの実際の接続経路を再確認します。
- 共有を終了する:まずほかの端末のWi-Fiまたはシステムプロキシ設定を元に戻します。次にv2rayNのLAN接続を許可する設定を無効にして保存し、コアを再起動した後、不要になったファイアウォールルールを無効にしてください。
- 最後に確認:ほかの端末から元のポートに再接続し、アクセスできなくなったことを確認してください。PCで引き続きプロキシを使う場合は、ループバック接続が引き続き正常に動作するか確認します。
長期的に使う場合は、LAN共有と端末ごとの接続を分けて考えましょう。共有は、PCにある設定を一時的にまとめて利用するのに適しています。Android端末でノードや接続を個別に管理したい場合は、用途に合わせてv2rayNGまたはv2flyNGを選択できます。どちらの場合も、アプリの通信をどの接続口で受け入れるかを把握し、システムプロキシ、TUN、LAN共有を同じ機能だと混同しないようにしてください。