クライアントの使い方・設定のトラブル対処

V2Rayのよくある質問と接続のトラブル対処

症状から問題を探し、順番に確認しましょう。v2rayN、v2rayNG、v2flyNGのサブスクリプション、プロキシモード、インストール、接続に関する問題をまとめています。設定は一度に一項目だけ変更し、確認してから次に進んでください。

基本知識

クライアント、コア、設定の違いを把握し、誤った階層の設定を変更しないようにしましょう。

V2Ray、V2Fly、XrayとGUIクライアントの違いは?

まず、クライアントの画面とコアを区別しましょう。V2RayはProject Vのエコシステムから生まれ、V2Flyは関連プロジェクトのメンテナンスを引き継ぎ、Xrayは別の開発系統です。コアはプロトコル、ルーティング、接続を処理します。v2rayN、v2rayNG、v2flyNGは、サブスクリプション管理や設定画面を提供するクライアントです。設定をインポートできても、現在のコアがすべての項目を実行できるとは限りません。互換性を判断するときは、ソフト名だけでなく、プロトコル、伝送方式、安全性の設定と、クライアントが実際に呼び出すコアを確認してください。

v2rayN、v2rayNG、v2flyNGはどう選べばいい?

パソコンではv2rayNから始め、Windows、macOS、Linuxに合ったインストーラーを選びます。Androidでは通常、Xrayコアを採用したv2rayNGが候補です。既存の設定がV2Fly固有の動作に依存している場合は、v2flyNGも検討してください。選ぶ基準は名前の似ているかどうかではなく、OS、プロセッサーのアーキテクチャ、設定に必要な機能です。クライアントを切り替える前に、残したい設定をエクスポートし、ルーティングやアプリごとの振り分けルールを控えておきましょう。サブスクリプションは再インポートできますが、ローカルで変更した設定は通常、自動では引き継がれません。

クライアントをインストールしたのに接続できる設定がないのはなぜ?

クライアントは設定を読み込んで接続を確立するもので、インストールしただけで利用可能なリモートサービスが作られるわけではありません。サブスクリプションURL、共有リンク、または接続に必要な設定情報を用意し、クライアントにインポートしてください。サブスクリプションは複数の設定を取得するための入口であり、個々のノードや一般的なWebページのURLとは異なります。まず、手元の情報がどれに当たるかを確認し、適切な方法でインポートしましょう。アカウントのログインページや説明ページをサブスクリプションURLとして使わないでください。インポート後は使用する設定を選び、ログと実際のアクセスで接続を確認します。

VMess、VLESS、Trojan、REALITYは同じ種類の設定?

これらは完全に同じ階層の設定ではありません。VMess、VLESS、Trojanはプロキシプロトコルで、REALITYは伝送の安全性に関わる仕組みです。REALITYはVLESSと組み合わせて使われることがよくあります。接続には伝送方式、サーバー名、認証情報なども関係し、それぞれサーバー側の設定と一致している必要があります。プロトコル名だけを別のものに変えても変換はできません。他のノードのセキュリティ設定をそのまま流用するのも避けてください。未対応の項目が表示された場合は、必要なコアを確認してから、共有リンクのパラメーターがクライアントに正しく引き継がれているかを確認しましょう。

インストール・設定

サブスクリプションURL、インストール時のアーキテクチャ、システムの権限は、それぞれ個別に確認しましょう。

サブスクリプションURLをインポートできないときは、どこを確認すればいい?

まず、サブスクリプションURLを省略せずにコピーできているか確認してください。改行や前後の空白、チャットアプリが付けた句読点が含まれていないかも確認します。次に、サブスクリプショングループにURLを入力して更新します。個別の共有リンクは、リンクまたはクリップボードからのインポート機能を使い、サブスクリプション更新には使わないでください。ログインページ、エラーの説明、未対応の形式が返された場合、インポートを繰り返しても解決しません。ブラウザーでURLを開けるのは応答があったことを示すだけで、内容が利用可能とは限りません。サブスクリプションの有効性とクライアントとの互換性を確認し、アクセストークンを含む完全なURLを公開しないようにしてください。

サブスクリプションの更新に失敗したとき、プロキシ経由で更新する必要があるのはどんな場合?

まず更新ログで原因を確認します。解析エラー、接続タイムアウト、証明書エラー、サーバーによるアクセス拒否では、それぞれ対処が異なります。サブスクリプションURLへのアクセスにプロキシが必要で、利用可能な設定がすでにある場合に限り、プロキシ経由の更新を有効にしてください。初回インポート時は接続設定がまだないため、プロキシ経由の更新を前提にすると行き詰まることがあります。更新方法を決める前に、端末の時刻、ネットワーク接続、サブスクリプションの有効期限を確認しましょう。更新できたら対象のグループと項目の変化を確認します。バックアップなしに古い設定をすべて削除すると、サブスクリプションを復旧するための接続も失うおそれがあります。

Androidのインストールパッケージはarm64とuniversalのどちらを選ぶ?

システムがarm64アーキテクチャだと確認できている場合は、arm64パッケージを優先してください。端末のアーキテクチャがわからない場合は、複数のアーキテクチャに対応するuniversalパッケージを検討できます。最近の一般的なスマートフォンはarm64に対応していることが多いものの、購入時期だけでは判断できません。プロセッサーが対応していても、システムが同じビット数とは限りません。インストールできない場合は、まずOSの要件、空き容量、署名の異なる同名アプリがないかを確認してください。インストール元を変更する前に設定をバックアップしましょう。別のアーキテクチャを試すためにアプリのデータを消去するのは避けてください。universalパッケージでも、すべての互換性問題が解決するわけではありません。

TUNが起動しない、または権限不足と表示されるときの対処法は?

TUNは仮想ネットワークインターフェースを作成し、ルーティングを変更することもあるため、通常のローカルプロキシより高い権限が必要です。パソコンではクライアントの案内に従って管理者権限やサービス権限を付与し、仮想インターフェースのコンポーネントが正常か、ほかのネットワークツールと競合していないかを確認してください。AndroidではシステムのVPN接続許可を確認し、ほかのアプリが接続を使用していないかも調べます。まず通常のプロキシ方式で設定が使えることを確認し、その後TUNを個別にテストしてください。失敗した場合は、最初に表示された明確なエラーを記録します。DNSの変更と再インストールを同時に繰り返すと、権限やインターフェースの問題を見落とすおそれがあります。

使い方のヒント

通信の入口とテスト結果を理解すれば、モードを何度も切り替えずに済みます。

システムプロキシ、グローバルルーティング、TUNの違いは?

システムプロキシは、システム設定に従うアプリにリクエストをローカルプロキシへ送るよう通知します。この設定を参照しないアプリでは、プロキシを個別に指定する必要があります。グローバルルーティングは通常、コアに入った通信のデフォルトの出口をプロキシにする設定です。すべてのアプリの通信がコアに入ることを保証するものではありません。TUNは仮想ネットワークインターフェースを使って対象の通信を取り込みますが、影響範囲はルーティング、除外設定、DNSにも左右されます。普段のブラウジングでは、まずシステムプロキシとルールによる振り分けを使いましょう。ほかのアプリの通信も取り込む必要がある場合に限りTUNを有効にすると、設定上の変数を増やさずに済みます。

TCPingで応答があるのに、実際の接続テストが失敗するのはなぜ?

TCPingで確認できるのは主に、対象のアドレスとポートにTCP接続できるかどうかです。プロキシ認証、接続全体のハンドシェイク、対象サイトへのアクセスまでは検証しません。実際の接続テストでは現在の設定でリクエストを送るため、テスト先、DNS、TLS、ルーティングの影響も受けます。そのため、ポートに到達できても設定が使えるとは限らず、実接続テストの失敗がリモートポートに到達できないことを意味するとも限りません。まずシステム時刻と設定項目を確認し、テスト中のログを見てください。必要に応じて、安定してアクセスできる別のテスト先でも確認します。テストにかかった時間を、ダウンロード速度やすべてのサイトでの体感速度と同一視しないでください。

ブラウザーの通信がプロキシ経由になっているか確認するには?

まず使用する設定を選び、接続を開始して、ローカルの受け入れポートが待ち受け中であることを確認してからシステムプロキシを有効にします。プロキシ設定を上書きするブラウザー拡張機能は一時的に無効にし、現在のルールでプロキシ経由になるはずのページを開きながら、クライアントの接続記録や一時的に有効にしたアクセスログを確認してください。必要ならリクエストの出口や送信先アドレスも比較します。ただし、サイトを開けたかどうかだけで判断することはできません。キャッシュ、直接接続ルール、ブラウザー独自のプロキシ設定も結果に影響します。確認後はログレベルを元に戻し、テスト用の設定を無効にして、不要なアクセス記録を長期間残さないようにしてください。

Androidでバックグラウンド接続が切れる、または電池の減りが早いときは?

まずシステムの電池使用状況を確認し、大量の通信が続いているのか、頻繁に再接続しているのか、バックグラウンド動作が制限されているのかを切り分けます。画面をロックするとすぐ切断される場合は、バックグラウンド実行権限、電池の最適化対象外設定、省電力モードを確認してください。ネットワークを切り替えたときだけ切断される場合は、再接続ログを重点的に確認します。アプリごとのプロキシを使うと対象を絞れますが、現在の設定がプロキシ対象リストなのか除外リストなのかを確認し、対象アプリを除外しないようにしてください。バックグラウンド権限をすべて許可し、同時に全通信を取り込む設定にするのは避けましょう。一度に変更するのは一項目だけにし、画面ロック、ネットワーク切り替え、普段の利用で検証すると、電池持ちと安定性を比較しやすくなります。

トラブル対処

アプリの通信入口からリモート接続まで、失敗している箇所を特定してから該当する設定を変更しましょう。

ノードへの接続がタイムアウトするとき、問題の箇所をどう切り分ける?

速度テストの連続実行を止め、まず端末が通常のネットワークに接続できることを確認します。次にサーバーアドレスの名前解決、接続先ポート、設定の有効期限を確認してください。既知の正常な設定と比較し、1つの設定だけが失敗するのか、グループ全体で失敗するのかを見ます。ポートには到達できるのにハンドシェイクに失敗する場合は、認証情報、サーバー名、伝送パラメーターを確認します。すべての接続がタイムアウトする場合は、ファイアウォール、ネットワーク環境、ローカルのコアが正常に起動しているかを調べてください。ログでは、リモートへの接続タイムアウトとテスト先へのアクセスのタイムアウトを区別します。具体的なエラーと発生手順を記録すると、タイムアウトしたという結果だけよりも原因を特定しやすくなります。

接続済みなのにWebページが開かないとき、まず何を確認する?

接続済みの表示は、ローカルプロキシやシステムのVPNインターフェースが起動したことだけを示している場合があり、リモートとのハンドシェイクやWebリクエストの成功を意味するとは限りません。アプリの通信がプロキシに入っているか、ルーティングでどの出口が選ばれたか、DNSの名前解決に成功したか、リモート側が利用可能かの順に確認してください。該当するリクエストがログにない場合は、システムプロキシやアプリごとの設定を確認します。通信が直接接続されている場合はルールの順序を、ドメインの名前解決エラーがある場合はDNSを確認してください。既知の正常な設定とシンプルなルールで一時的に比較できますが、元の設定をすぐに削除しないでください。一度に変更するのは一つの箇所だけにし、確認後に必要な振り分けルールを戻しましょう。

v2rayNのシステムプロキシが機能しない、または終了後にネットワークがおかしくなるときは?

システムプロキシのローカルアドレスとポートが、クライアントの実際の待ち受け設定と一致しているか確認してください。インストール環境によらず同じポートが使われるとは限りません。ブラウザー拡張機能、手動プロキシ設定、ほかのプロキシソフトが設定を上書きしていないかも確認します。クライアントが異常終了し、システムが停止済みのローカルポートを参照したままだと、ブラウザーからネットワークに接続できなくなることがあります。クライアントを再起動してシステムプロキシを解除するか、システム設定で残っている手動プロキシを無効にしてください。企業ネットワークでは専用のプロキシ設定が必要な場合があります。変更前に元の値を記録し、戻すときに組織指定の設定まで削除しないようにしましょう。

一部のWebサイトだけ開けないとき、DNSとルーティングの問題をどう見分ける?

まず問題が起きるドメインと同じ時間帯のログを記録し、名前解決エラー、ルールの不一致、出口への接続エラーがないか確認してください。V2Rayの内蔵DNSがシステム上のすべての名前解決を自動で処理するわけではありません。ブラウザーのセキュアDNS、システムキャッシュ、TUNによるDNSの取り込み方も経路に影響します。ドメインが誤って直接接続に振り分けられている場合は、ルールの順序とルールセットを確認します。DNSサーバーに到達できない場合は、まずDNSへの接続経路を修正してください。DNSを手当たり次第に変更するだけでは解決しません。また、IPアドレスへの直接アクセスで完全な確認の代わりにしないでください。証明書やサイトのルーティングはドメイン名に依存することがよくあります。