v2rayN、v2rayNG、v2flyNGを初めて使う方におすすめです。サブスクリプションとクライアントの関係を説明し、登録、更新、接続、ルーティング設定の確認手順を紹介します。エラーメッセージ、ポート番号、操作手順をもとに、「ノードはあるのに接続できない」「接続済みなのにWebページを開けない」という2つの典型的な問題を切り分けます。
1. サブスクリプションURLとノードの登録
質問1:サブスクリプションURLはどこから入手できますか?
サブスクリプションURLは、クライアントが自動生成するアカウント情報ではなく、v2rayNやv2rayNGに付属するものでもありません。通常は、自分で管理しているサーバー設定、ネットワークサービス提供者のユーザーパネル、または組織の管理者が配布する設定ページから入手します。クライアントはURL内のノード情報を読み込み、V2Ray、Xray、v2flyカーネルに渡して接続を確立します。
1つのサブスクリプションURLから、VMessやVLESSなど複数の設定が返される場合もあれば、1つのノードだけが返される場合もあります。コピーする際は、完全なプロトコルヘッダー、パス、クエリパラメータを保持し、ドメイン部分だけをコピーしないでください。ログイン後にアクセスできるURLの場合も、WebページのアドレスをサブスクリプションURLとして登録することはできません。利用前に提供元と利用権限を確認し、含まれる認証情報を適切に管理してください。
質問2:サブスクリプションを登録してもノードが表示されないのはなぜですか?
最も多い原因は、サブスクリプショングループを作成しただけで、更新を実行していないことです。そのほか、URLの前後に空白が入っている、サブスクリプションが期限切れになっている、返却内容が空になっている、グループの絞り込み条件ですべてのノードが非表示になっている、といった可能性があります。まず一度更新し、クライアントの通知とサブスクリプショングループ内のノード数を確認してください。メイン画面が空白というだけで登録失敗と判断しないようにしましょう。
-
完全なURLをコピーする
提供元のサブスクリプションページからアドレス全体をコピーし、先頭が認識可能なWebアドレスになっていることを確認します。末尾のパラメータがチャットアプリによって切り取られていないかも確認してください。
-
サブスクリプショングループを作成する
v2rayNで「サブスクリプショングループ」→「サブスクリプショングループの設定」→「追加」を開き、名前とサブスクリプションURLを入力して保存します。
-
すべてのサブスクリプションを更新する
メイン画面に戻り、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を開きます。現在のネットワークから直接サブスクリプションにアクセスできない場合は、プロキシ経由で更新してください。
-
絞り込み条件を確認する
更新成功と表示されたのに一覧が空の場合は、グループの包含・除外キーワードを削除し、名前によるフィルタリングでノードが非表示になっていないか確認します。
-
更新結果を確認する
ステータスバーやログに表示される返却件数を確認します。設定が0件の場合は、クライアントを何度も再インストールするのではなく、サブスクリプション自体を確認してください。
2. 接続エラーとWebページが開けない問題
質問3:ノードのテストは正常なのに、接続すると失敗する場合は?
遅延テストで確認できるのは、テスト時点で特定のアドレスが応答したことだけで、プロトコルのハンドシェイクが必ず成功するとは限りません。実際の接続では、サーバーアドレス、ポート、ユーザーID、トランスポート方式、TLS、SNI、REALITYのパラメータ、システム時刻も確認されます。どれか1つでも一致しないと、タイムアウト、接続切断、宛先アドレスが見つからないといった問題が起こります。
まず同じサブスクリプション内の別のノードに切り替えてください。1つのノードだけ失敗する場合は、そのノードの設定を重点的に確認します。すべてのノードが同時に失敗する場合は、端末のネットワーク、DNS、カーネルの起動状態、システム時刻を確認します。Windows 11では「設定」→「時刻と言語」→「日付と時刻」で時刻の自動設定を有効にできます。時刻のずれが大きいとTLSハンドシェイクに影響します。
エラー:failed to find an available destination
原因と対処:送信先サーバーのアドレスを解決できないか、解決結果に到達できません。ノードアドレスの入力ミスを確認し、システムDNSを一時的に利用可能なDNSサービスへ変更してから、カーネルを再起動してテストしてください。
エラー:context deadline exceeded
原因と対処:規定時間内に接続が完了していません。ポートに到達できない、回線が混雑している、ハンドシェイクパラメータが一致していない場合によく発生します。まずノードを切り替え、ポート、TLS、SNI、トランスポート方式を確認してください。
エラー:bind: Only one usage of each socket address is normally permitted
原因と対処:ローカルの待受ポートが別のプロセスに使用されています。重複起動しているクライアントを終了するか、「設定」→「パラメータ設定」でローカルポートを変更して再起動してください。
エラー:connection reset by peer
原因と対処:リモート側がハンドシェイク中に接続を切断しています。ノードの有効期限を確認し、クライアントのトランスポート層、TLS、サーバー側設定が一致していることを確認してください。
質問4:接続済みと表示されるのに、Webページが開けないのはなぜですか?
「接続済み」は通常、カーネルが起動した、またはテストリクエストが成功したことを示すだけで、ブラウザーの通信がプロキシに入っているとは限りません。デスクトップではまずシステムプロキシを確認し、AndroidではシステムのVPN接続許可が有効か確認してください。特定のWebサイトだけ開けない場合は、すべてのノードが無効だと判断する前に、ルーティングルールとDNSの結果も確認します。
ローカルポートが10808の設定を例にすると、ブラウザーでプロキシを個別設定する場合は、ノードサーバーのリモートポートではなく127.0.0.1:10808を指定します。システムプロキシを有効にすると、クライアントがシステム設定を書き換えるため、通常はブラウザーもシステム設定に従います。ポートを手動で変更した場合は、以前のブラウザー側のプロキシ設定も更新してください。
3. グローバル、ルーティング、システムプロキシ、TUN
質問5:グローバルモードとルーティングモードはどう選べばよいですか?
グローバルモードでは、クライアントが引き継いだ通信をすべてプロキシ経由で送信します。ルーティングルールが原因かどうかを一時的に確認する場合に適しています。ルーティングモードでは、ドメイン、IP、プロトコル、ルールセットに応じて、直接接続、プロキシ、ブロックを選択します。日常利用にはこちらが適しています。初心者はまずグローバルモードで疎通を確認し、ノードが使えることを確認してからルーティングに戻すとよいでしょう。
ルーティングは単純に「国内」と「国外」で判断するものではありません。クライアントはルーティングルールを上から順に照合し、最初に一致したルールで送信方法を決定します。独自ルールをデフォルトルールの後ろに置くと、適用される機会がなくなる場合があります。ルール変更後は設定を再読み込みし、ログで対象ドメインが実際にどのルールに一致したか確認してください。
| モード | 通信処理 | 適した用途 | 主な確認ポイント |
|---|---|---|---|
| グローバルプロキシ | 引き継いだ通信をすべてプロキシ経由にする | 初回の疎通確認、ルーティングルールの問題の切り分け | ノードの可用性、DNS、リモートポート |
| ルールベースのルーティング | ドメインとIPに応じて送信先を選択する | 日常の閲覧、不要なプロキシ通信の削減 | ルールの順序、ドメイン分類、DNS解決 |
| 直接接続 | リクエストがプロキシノードを経由しない | ローカルネットワークのテスト、ローカルサービスへのアクセス | システムプロキシの設定残り、ブラウザー独自のプロキシ |
質問6:システムプロキシとTUNモードの違いは何ですか?
システムプロキシは、OSのプロキシ設定に従うアプリに主に影響します。通常ブラウザーは利用しますが、一部のプログラム、コマンドラインツール、独自のネットワークスタックを使うソフトウェアはシステムプロキシを迂回することがあります。TUNモードは仮想ネットワークアダプターを通じて、より広い範囲のIP通信を引き継ぎます。そのため適用範囲が広い一方、ドライバー、権限、DNSのリダイレクト、ルーティングテーブル設定への依存も大きくなります。
v2rayNでは、通常のWeb閲覧ならまず「システムプロキシ」→「システムプロキシを自動設定」を使用してください。アプリがシステムプロキシを読み取らないことが明確な場合にのみ、TUNを検討します。TUNを有効にしてローカルネットワーク内の機器にアクセスできなくなった場合は、LANを迂回するルールを確認してください。カーネルの起動に失敗する場合は、管理者権限、仮想ネットワークアダプターの状態、ポート競合を確認します。
- ブラウザーだけをプロキシ経由にする:まずシステムプロキシを使います。設定が簡単で、無効にした後も元に戻しやすい方法です。
- デスクトップアプリがプロキシを読み取らない:アプリ独自のプロキシ設定がないことを確認してから、TUNモードを試します。
- LAN内の機器にアクセスする:プリンター、ルーター、家庭用ストレージがあるネットワークなど、プライベートアドレスを直接接続するルールを残します。
- モード切り替え後にネットワークが使えない:まずTUNを無効にし、クライアントを終了して、システムプロキシが無効に戻っていることを確認します。
4. VMess、VLESSとサブスクリプション更新
質問7:VMessとVLESSのパラメータを混在させてもよいですか?
できません。VMessとVLESSは異なるプロトコルです。画面上ではアドレス、ポート、ユーザーID、トランスポート方式、TLSなど同じ項目が表示される場合がありますが、プロトコル種別とサーバー側設定は一致していなければなりません。VLESSではREALITYやXTLS Visionなどを組み合わせることもあります。公開鍵、ショートID、フロー制御、サーバー名が不足していると、通常ハンドシェイクを完了できません。
サブスクリプション登録の利点は、手入力によるミスを減らせることです。手動でノードを追加する場合は、プロトコル、アドレス、ポート、ユーザーID、暗号化またはフロー制御、トランスポート方式、パス、Host、TLS、SNI、フィンガープリントを項目ごとに照合してください。2つのノードのアドレスが同じでも、一方の設定を別のプロトコルにそのままコピーしないでください。
質問8:サブスクリプションの更新に失敗する、またはずっとタイムアウトする場合は?
まずサブスクリプションURL自体にアクセスできるかを確認し、次にプロキシ経由で取得する必要があるか判断します。更新に失敗しても、既存ノードがすぐに消えるとは限りません。クライアントは通常、最後に正常保存された設定を引き続き利用できます。切り分け前にサブスクリプショングループ全体を削除すると、古いノードとプロキシ更新用の入口を同時に失うため避けてください。
サブスクリプション更新がタイムアウトしますか?
まず現在使えるノードに接続し、v2rayNの「サブスクリプショングループ」メニューからプロキシ経由の更新を選択します。それでもタイムアウトする場合は、サブスクリプションURLが変更されていないか確認してください。
更新成功なのにノード数が0ですか?
サブスクリプショングループの設定を開き、包含・除外キーワードを空にして再試行します。それでも返却内容が空の場合は、提供元で設定が有効か確認してください。
更新後に元のノード名が変わったのはなぜですか?
ノード名はサブスクリプションの返却内容によって決まります。ルーティングや絞り込みが名前のキーワードに依存している場合は、関連ルールも確認し、新しい名前が除外されないようにしてください。
トラブルシューティングのため、サブスクリプションURLを他人に送ってもよいですか?
完全なURLをそのまま公開するのはおすすめしません。アクセス認証情報が含まれている可能性があります。切り分けには、認証パラメータを削除したエラー情報、プロトコル種別、クライアントログの一部を提供すれば十分です。
更新後にすべてのノードが突然失敗するのはなぜですか?
まずカーネルを再起動してノードを選び直し、システム時刻とサブスクリプションのお知らせを確認します。パラメータが全体的に変更されている場合は、最新のサブスクリプション内容を使用し、古い手動コピーを使い続けないでください。
サブスクリプション更新後も、実行中の古い設定が自動的に再読み込みされるとは限りません。v2rayNではノードを選び直してカーネルを一度起動し、v2rayNGでは接続を停止してから更新後のノードを選び、再起動します。ログの時刻を確認し、メモリに残った以前の設定ではなく、更新後の設定が実行されていることを確認してください。
5. Androidのバックグラウンド接続とクライアントの選び方
質問9:v2rayNGがバックグラウンドで切断されやすい場合、アプリごとのプロキシはどう設定しますか?
Androidはバッテリー設定によってバックグラウンドアプリを制限します。v2rayNGで初めて接続するときは、システムのVPN接続リクエストを許可する必要があります。許可しない場合、クライアントはVpnServiceのトンネルを確立できません。しばらくすると自動停止する場合は、クライアントをバッテリー最適化の対象外に追加し、バックグラウンド実行を許可してください。Android 14では一般的に「設定」→「アプリ」→「v2rayNG」→「アプリのバッテリー使用量」→「制限なし」と進みます。メニュー名は端末によって多少異なります。
アプリごとのプロキシは、どのアプリをプロキシ経由にするか指定する機能です。v2rayNGの「設定」→「アプリごとのプロキシ」を開き、機能を有効にしてプロキシリストまたはバイパスリストを選択します。2つの動作を混同しないでください。プロキシリストでは選択したアプリだけがプロキシを使用し、バイパスリストでは選択したアプリが直接接続し、それ以外のアプリがプロキシを使用します。変更後は接続を切断して再接続し、新しいルールを読み込ませてください。
-
システムの許可を確認する
初回接続時にVPN接続リクエストを許可し、ステータスバーにシステムVPNの表示が出てからWebページをテストします。
-
バッテリー制限を緩和する
「設定」→「アプリ」→「v2rayNG」→「アプリのバッテリー使用量」を開き、バックグラウンドで継続実行できる項目を選択します。
-
アプリごとのプロキシを有効にする
クライアントの「設定」→「アプリごとのプロキシ」を開き、プロキシリストまたはバイパスリストを明確に選択してから、対象アプリにチェックを入れます。
-
接続を再確立する
現在の接続を停止して再起動し、選択したアプリと選択していないアプリを1つずつ使ってテストします。ルールの向きが想定どおりか確認してください。
質問10:v2rayN、v2rayNG、v2flyNGはどれを選べばよいですか?
デスクトップでは、まずv2rayNを検討してください。サブスクリプショングループ、システムプロキシ、ルーティング、TUNなど、よく使う機能を備えており、Windows、macOS、Linuxで利用できます。Androidではカーネルの要件に応じて選びます。v2rayNGはXrayカーネルを使用し、VLESSやREALITYなどの一般的な組み合わせに適しています。v2flyNGはv2flyカーネルを使用し、対応するV2Ray設定体系が必要な方に適しています。
同じサブスクリプションを異なるクライアントへ完全に登録できるかどうかは、URLの形式だけでなく、実際に含まれるプロトコルとパラメータによって決まります。あるクライアントでは使えるノードが別のクライアントで認識されない場合は、まずカーネルの対応範囲と設定項目を比較してください。すぐにネットワーク障害だと決めつけないようにしましょう。
初心者のトラブルシューティングは、同じ順序で進めると効率的です。まずサブスクリプションにノードがあることを確認し、次にカーネルが起動できるかを確認します。その後、システムプロキシまたはVPNの許可を確認し、最後にDNSとルーティングルールを確認します。一度に変更する項目は1つだけにし、変更前の設定も保存してください。これなら接続に失敗しても、問題がサブスクリプション、ノード、クライアント、通信の引き継ぎのどこで起きたか判断できます。
- ノード一覧が空:サブスクリプションURL、更新操作、絞り込み条件を確認します。
- すべてのノードがタイムアウト:端末のネットワーク、DNS、システム時刻、カーネルログを確認します。
- 1つのノードだけ失敗:そのノードのプロトコル、ポート、TLS、トランスポートパラメータを照合します。
- 接続済みなのにWebページが開けない:システムプロキシ、VPNの許可、ローカル待受ポートを確認します。
- 一部のWebサイトだけ異常:ドメインの解決結果、ルールの順序、実際に選択された送信先を確認します。
- Androidのバックグラウンドで切断:バッテリー制限を調整し、クライアントが継続してバックグラウンド実行できることを確認します。