V2Rayのよくある質問
設定と接続のトラブルシューティング
問題が発生している階層ごとに確認します。まずサブスクリプションとサーバー設定、次にアプリのプロキシ入口、最後にルーティングとリモート接続を確認してください。該当する質問を開き、設定を一度に1つだけ変更して、変更前の値も記録しておきましょう。
基礎知識
クライアント、コア、サーバー設定を切り分け、画面上の状態だけで接続結果を判断しないようにしましょう。
V2Ray、Xrayと3つのGUIクライアントの違いは?
Project Vは関連するプロキシツールのエコシステムの背景であり、V2FlyとXrayはそれぞれ別のコアプロジェクトです。コアはプロトコル接続、ルーティング、トラフィック転送を担い、GUIクライアントはサブスクリプション、サーバー選択、設定画面を提供します。デスクトップではv2rayN、AndroidではXrayを使用するv2rayNG、またはV2Flyコアを使用するv2flyNGを選べます。利用できるプロトコルは、実際に動作するコアとそのバージョンによって異なるため、クライアント名だけでは判断できません。互換性の問題が起きたら、まずクライアントとコアの情報を控え、サーバーが必要とする機能を確認してください。
クライアントをインストールしたのに、サーバー一覧が空なのはなぜ?
クライアントはローカルプロキシの画面とコアの実行環境を提供しますが、サーバー設定は別途インポートする必要があります。サブスクリプションURLは通常、複数の設定を返します。一方、共有リンクは通常、1つの設定を表します。それぞれ対応するインポート画面から追加してください。インストール後、利用権限のあるサブスクリプションURLまたは共有リンクを用意し、インポートしてサーバーを選択します。一覧が空でもインストールに失敗したとは限らず、システムプロキシを有効にしてもサーバーが自動で追加されることはありません。サブスクリプションURLにはアクセス用の認証情報が含まれる場合があるため、公開するスクリーンショットや質問文に貼り付けないでください。
システムプロキシ、ルーティングモード、TUNはそれぞれ何を制御する?
システムプロキシは、その設定に従うアプリに対して、リクエストをローカルの待ち受けポートへ送るよう指定します。ただし、すべてのアプリの通信を取り込めるわけではありません。ルーティングモードは、コアに入ったトラフィックの出口をプロキシ、直接接続、遮断から選びます。TUNは仮想ネットワークインターフェースを通じて、取り込み対象のトラフィックを受け取ります。ルーティング、DNS、権限の設定が関係します。この3つは異なる階層で動作します。切り分ける際は、まずアプリの通信がクライアントに入っているかを確認し、次にどのルールに一致したか、最後に出口への接続を確認してください。システムプロキシを有効にすればすべての通信がプロキシ経由になる、というわけではありません。
遅延テストに結果が出れば、Webページも正常に開ける?
テスト結果だけでは判断できません。TCPテストで主に確認できるのは、宛先アドレスとポートに接続できるかどうかです。認証、転送パラメーター、Webアクセスまで完全に検証するものではありません。実接続テストは実際のリクエストに近いものの、テスト先、DNS、現在のルーティング、ネットワーク状況にも左右されます。利用できるか確かめるには、サーバーを選択して実際のアプリからアクセスし、同じ時間帯のクライアントログも確認してください。遅延が最も短いというだけで接続正常と判断しないでください。テストに成功してもWebページが開かない場合は、まずアプリのプロキシ設定とドメインの名前解決を確認し、その後サーバーのパラメーターを見直します。
インストールと設定
インポートに失敗したら入力内容を、起動に失敗したら実行環境と権限を確認してください。クライアントの入手先はダウンロードページにまとめています。
共有リンクをインポートできないとき、まず何を確認する?
まず、コピーした共有リンクが完全で、vmess://、vless://、trojan://、ss://などのプロトコル接頭辞を含んでいることを確認してください。WebページのURLやサブスクリプションURLではありません。前後の空白、チャットアプリが付けた説明文、挿入された改行を取り除き、クリップボードからインポートします。それでも失敗する場合は、表示されたメッセージを確認し、形式を解析できないのか、プロトコルが未対応なのかを切り分けてください。インポートを通すために、エンコードされた内容や認証情報、転送パラメーターをむやみに変更しないでください。元のリンクを再取得し、使用中のクライアントとコアがその設定に対応しているか確認します。
サブスクリプションURLの追加方法と、追加後にサーバーが表示されない原因は?
v2rayNのサブスクリプショングループ設定で新しいグループを作成し、見分けやすい名前と完全なサブスクリプションURLを入力して保存した後、そのグループを更新します。Androidクライアントでも、グループ名を追加するだけでなく、サブスクリプションを保存してから更新してください。URLを追加しただけでは、設定を取得したことにはなりません。更新後は、結果メッセージ、グループの絞り込み、サーバー一覧を確認します。ログイン画面、エラーページ、通常のWebページが返された場合、クライアントは有効な設定を生成できません。URLの有効期限と、返された内容がクライアント対応のサブスクリプション形式かどうかを確認してください。
Android版のダウンロードではarm64とuniversalのどちらを選ぶ?
2015年以降の一般的なAndroidスマートフォンではarm64が優先候補ですが、最終的には端末が実際に対応するアプリのアーキテクチャを確認してください。universal版は複数のアーキテクチャ向けのコンポーネントを含むため、通常はサイズが大きく、端末のアーキテクチャが分からない場合に適しています。プロトコル機能が増えるわけではありません。arm64版のインストール時に非対応と表示されたら、まずOSのバージョンとアーキテクチャを確認し、それからuniversal版を試してください。既存のクライアントを更新する場合は、アプリの入手元と署名を同じに保ちます。更新エラーを避けるためにすぐアンインストールせず、必要な設定を先にバックアップしてください。サブスクリプショングループや手動追加したサーバーが失われるおそれがあります。
TUNを有効にできない、または権限不足と表示される場合の対処法は?
デスクトップではまずログを確認し、権限の要求、仮想インターフェースの作成、ルーティング設定のどの段階で失敗したかを特定してから、使用中のクライアントの指示に従って権限を許可します。権限の昇格が必要な場合は、OSが提供する手順を使ってください。Androidで初めて接続する際は、通常、システムのVPN接続要求を確認する必要があります。同じ接続を別のアプリが使用していないかも確認してください。複数の通信取り込みツールを何度も切り替えないでください。競合する機能を停止し、通常のプロキシ接続が使えることを確認してから、TUNだけを有効にします。権限を許可しても失敗する場合は、ノードを次々に変更するのではなく、仮想インターフェース、サービスコンポーネント、ルーティングのエラーを確認してください。
使い方
日常の設定は、後から確認・復元できるようにしておきましょう。プロキシモード、ポート、ルールを変更する前に、元の設定を控えてください。
普段使いではシステムプロキシとルーティングモードをどう組み合わせる?
システムプロキシに従うブラウザーを主に使う場合は、まずシステムプロキシの自動設定を有効にし、必要に応じて中国本土を迂回するなどのルーティングルールを選びます。特定の宛先がルーティングの影響を受けているか確認するには、プロキシ経由の通信を優先するルールに一時的に切り替えて比較し、確認後に元の設定へ戻してください。モード名はバージョンによって異なることがあるため、実際のルールを確認しましょう。一般に「グローバル」とは、コアに入った後のルーティング選択を指し、すべてのアプリの通信を自動で取り込む意味ではありません。システムプロキシを参照しないアプリには、ローカルプロキシのアドレスを個別に設定するか、互換性を確認したうえでTUNを使用してください。
アプリのローカルプロキシポートを設定する方法は?
まずクライアントの設定画面を開き、現在のHTTP、SOCKS、または混合待ち受けポートを確認します。次にアプリで対応するプロキシの種類を選び、アドレスには通常127.0.0.1を指定します。サーバー側の接続ポートをローカルポートに設定しないでください。また、すべてのバージョンで同じデフォルト値が使われるとは限りません。待ち受けポートを変更した後は、コアの再読み込みが完了したことを確認し、アプリ側の設定も更新します。端末内だけで使う場合は、LAN接続の設定を無効にしてください。他の端末から接続させる必要がある場合は、待ち受けアドレス、ファイアウォール、アクセス制御を確認し、信頼できないネットワークにポートを公開しないようにします。
サブスクリプションを更新すると、手動で変更した設定は上書きされる?
サブスクリプション内のサーバー設定は通常、リモート側で管理されています。更新時に置き換え、削除、再作成されることがあり、手動変更が保持されるとは限りません。長期保存するカスタム設定は、クライアントが対応している独立したグループに保存し、変更理由も記録してください。更新前に対象のサブスクリプション範囲を確認し、別のグループを誤って操作しないようにします。更新のたびに特定のパラメーターが元に戻る場合は、サブスクリプションの項目を繰り返し編集するのではなく、クライアントにローカル上書き設定があるか確認するか、設定の提供元に元のパラメーターを問い合わせてください。バックアップファイルにもサブスクリプションの認証情報が含まれる場合があるため、安全に保管してください。
ルーティングルールが適用されているか確認する方法は?
まずリクエストがコアに入っていることを確認し、編集画面のルールだけでなく、現在有効なルーティング設定を確認してください。ルールは通常、記載順に照合されます。前方にある広範なルールが先に一致すると、後方の細かいルールが実行されないことがあります。単一の宛先にリクエストを送り、ログの宛先、適用されたルール、出口の情報を照らし合わせて判断します。ログに出る情報は、コアとログレベルによって異なります。ルール用のデータが利用可能か、ドメインの処理方針が意図どおりかも確認してください。変更は一度に1項目に絞り、元の値を記録します。テスト後は不要なデバッグログを元に戻し、アクセス記録を含むファイルが蓄積しないようにしてください。
トラブルシューティング
ローカルネットワーク、プロキシの入口、DNS、ルーティング、サーバー設定の順に確認しましょう。原因を調べずにクライアントを何度も再インストールする必要はありません。
サブスクリプションの更新失敗を、直接接続とプロキシ経由で切り分けるには?
まずサブスクリプションURLが完全か、有効期限が切れていないか、端末の時刻が正しいかを確認し、更新ログを確認してください。タイムアウト、証明書エラー、認証失敗、内容の解析エラーはそれぞれ別の問題です。現在のプロキシ自体が使えない場合、プロキシ経由の更新も失敗することがあります。クライアントに該当するオプションがあれば、直接接続での更新を試してください。直接接続でサブスクリプションURLにアクセスできない場合は、利用可能な接続経路が必要です。同じURLを第三者の変換サイトに何度も貼り付けないでください。サーバーから内容が返っているのに解析に失敗する場合は、ローカルの待ち受けポートを変更し続けるのではなく、返された形式を確認します。
ノードがタイムアウトし続けるとき、どの順番で確認する?
まず、普段直接接続しているサービスにローカルネットワークからアクセスできることを確認し、端末の時刻、サーバーアドレス、ポート、設定の有効期限を確認します。TCPテストと実接続テストは分けて考えてください。TCPテストに失敗する場合は、アドレスの名前解決、ネットワーク経路、リモートポートを優先して確認します。TCPテストには成功し、実接続テストに失敗する場合は、認証、TLS、SNI、転送経路、コアの互換性を確認します。同じネットワークで少数の設定を1つずつテストしてください。多数のサーバーを一度にテストすると、原因の判断を妨げることがあります。サポートを求める際は、エラーの種類と発生時刻を控え、ログを共有する前にアドレス、サブスクリプション、認証情報を隠してください。
接続済みと表示されるのにWebページが開かない場合は?
接続済みという表示は、ローカルのコアやVPNインターフェースが起動したことを示すだけで、リモートへのリクエストが成功したとは限りません。まずアプリからリクエストしたとき、対応する接続がログに記録されるか確認します。記録がなければ、システムプロキシ、アプリ個別のプロキシ、TUNによる通信の取り込みを確認してください。記録がある場合は、DNSエラー、接続タイムアウト、認証エラー、誤った出口へのルーティングを切り分けます。一部のドメインだけが失敗する場合は、クライアントを再インストールするのではなく、そのドメインの名前解決とルールを確認してください。他のプロキシツールを一時的に無効にし、1つのアプリで再テストします。毎回設定を1つだけ変更することで、入口、名前解決、リモート出口のどこに問題があるか特定できます。
v2rayNのシステムプロキシが効かず、終了後にネット接続もできない場合は?
まずv2rayNが起動していること、コアに起動エラーがないこと、システムプロキシに設定されたローカルアドレスとポートがクライアントの設定と一致することを確認します。ブラウザーが独自のプロキシ設定や拡張機能を使っている場合は、システム設定が上書きされていないか確認してください。終了後にネット接続できない場合は、OSのプロキシ設定を開き、停止したローカル待ち受けポートが指定されたままになっていないか確認します。使っていないプロキシ設定を解除してから再試行してください。別のソフトがシステムプロキシを書き換えている場合は、どのツールが設定を管理するか先に確認します。次回からは終了前にクライアントの「システムプロキシを解除」する機能を使うとよいでしょう。ただし、システムプロキシに従わないアプリは個別に確認が必要です。