v2rayN / v2rayNG / v2flyNG

V2Rayのよくある質問

サブスクリプションの追加、プロキシ設定、接続トラブルの解決方法を解説します。まず問題の発生箇所を切り分け、該当する設定を調整しましょう。

メニュー名は現在のクライアントのバージョンによって異なります。調査前に使える設定を残し、変更は一度に1項目だけにしてください。

質問をクリックすると回答が開きます。初期設定については使い方ガイドをご覧ください。プロトコルの項目については技術リファレンスをご確認ください。

基礎知識

クライアント、コア、サーバー設定を区別し、異なる層の問題を混同しないための解説です。

V2Ray、Xray、v2rayNとは?

V2RayはProject Vのプロキシツールエコシステムに属し、V2FlyはV2Rayコアのコミュニティによる開発を引き継いでいます。Xrayは関連コードから発展した別のコアです。v2rayNはサーバー、サブスクリプション、プロキシ設定を管理するデスクトップ用GUIクライアントで、実際の接続処理は選択したコアが行います。問題を調べる際は「V2Rayでエラー」とだけ記録せず、クライアント名・バージョン・コア名をそれぞれ確認してください。VLESSとREALITYを使う場合は、画面上で選択できるかだけでなく、現在のコアがその設定に対応しているかも確認しましょう。

v2rayN・v2rayNG・v2flyNG、どれを選べばいい?

Windows、macOS、Linuxのデスクトップではv2rayNを使用します。Androidでは通常、Xrayコアを採用するv2rayNGを選び、V2Flyコアとの設定互換性が必要な場合はv2flyNGを検討してください。クライアントとサーバーでは、プロトコル、通信方式、安全レイヤーを一致させる必要があります。名前が似ていても機能が完全に同じとは限りません。すでにサブスクリプションがある場合は、対応するクライアントの種類を提供元に確認してからインストーラーを選びましょう。あるクライアントの設定ファイル一式を、別のクライアントのデータフォルダーに上書きしないでください。両方が対応する共有リンクまたはサブスクリプション形式での読み込みをおすすめします。

クライアントをインストールしたら、サブスクリプションやサーバー設定も必要?

必要です。クライアントは設定と接続に使うツールであり、インストールしただけで利用可能なリモートサーバーが作成されるわけではありません。接続には少なくともアドレス、ポート、プロトコルに対応した認証情報が必要です。TLSやREALITYを使う場合は、一致する安全レイヤーのパラメーターも必要になります。サブスクリプションはサーバー設定をまとめて取得・更新するためのもので、クライアントのアカウントとは異なります。チュートリアルにあるexample.comやyour-uuidなどは項目の記入例であり、実際の接続には使えません。利用権限のある設定元から情報を取得し、サブスクリプションURLは慎重に保管してください。URLにアクセス認証情報が含まれる場合があるため、公開の掲示板などに貼り付けないでください。

システムプロキシ、グローバルルーティング、TUNモードは同じもの?

異なります。システムプロキシは、システム設定に従うアプリのリクエストをローカルプロキシに送ります。ルーティングモードは、コアに届いたリクエストをプロキシ経由にするか、直接接続するか、ブロックするかを決めます。TUNは仮想ネットワークアダプターを使い、設定に合致するネットワーク通信を取り込みます。ルーティングをグローバルプロキシにしても、すべてのアプリが自動的にシステムプロキシに従うわけではありません。逆にTUNを有効にしても、すべての宛先が必ずリモートサーバーを経由するとは限らず、ルーティングや除外ルールの影響を受けます。まずはシステムプロキシでブラウザーの接続を確認し、ほかのアプリの通信も取り込む必要がある場合に限ってTUNを個別に設定しましょう。

インストールと設定

インストーラーのアーキテクチャからサブスクリプションの追加方法まで、入力内容を確認してからシステム権限を確認しましょう。

Androidのarm64版とuniversal版、どちらを選ぶ?

Androidのバージョンだけでなく、端末のプロセッサーアーキテクチャを確認してください。近年のスマートフォンの多くではarm64版を利用できます。universal版は通常、複数のアーキテクチャに対応するためファイルサイズが大きく、端末のアーキテクチャが分からない場合に適しています。ただし、クライアントの最低動作要件を満たしている必要があります。インストールできない場合は、空き容量、提供元アプリのインストール許可、同じ名前で署名が異なるアプリがすでに入っていないかを確認しましょう。すぐに旧版をアンインストールせず、先に設定をエクスポートするかサブスクリプションを控え、署名の不一致がないか確認してください。インストーラーのアーキテクチャ不一致とサーバーへの接続失敗は別の問題として切り分けます。

サブスクリプションURLはどこから追加する?貼り付けても失敗するのはなぜ?

v2rayNでは「サブスクリプショングループ設定」でグループを追加してURLを入力し、保存後に「サブスクリプショングループ」メニューから更新します。v2rayNGでは「サブスクリプショングループ設定」でサブスクリプションを追加し、一覧に戻って更新します。メニューの位置はバージョンによって異なる場合があります。貼り付けてもサーバーが表示されないときは、案内ページやログインページ、説明文を含むメッセージではなく、完全なサブスクリプションURLをコピーしたか確認してください。前後の空白や改行、URLの有効期限も確認します。単一のプロトコル共有リンクを受け取った場合は、クリップボードから設定を読み込む機能を使い、サブスクリプションURL欄には入力しないでください。

VLESSとREALITYを追加した後、どの項目を確認すればいい?

まずアドレス、ポート、ユーザーIDを確認し、次にフロー制御、通信プロトコル、トランスポート層セキュリティ、SNI、Fingerprint、PublicKey、ShortIdを照合します。REALITYは安全レイヤーの方式であり、VLESSと並ぶ独立したプロキシプロトコルではありません。サーバーがxtls-rprx-visionを要求する場合、フロー制御もそれに合わせる必要があります。項目名から推測して選ばないでください。提供元の情報どおりに入力し、クライアントに必要な公開鍵を秘密鍵と取り違えないようにしましょう。設定を読み込んだ後も、実際に使用しているコアを確認してください。コアを切り替えても非対応の項目が自動変換されることはなく、設定ミスを直すためにMuxを安易に有効にするのも避けてください。

TUNを有効にすると権限不足や仮想ネットワークアダプターの作成失敗が表示される場合は?

まずTUNを無効にし、通常のシステムプロキシで接続できることを確認してから、仮想ネットワークアダプターの権限を確認します。Windowsでは通常、クライアントを管理者として起動する必要があります。macOSとLinuxでは、現在のクライアントの案内に従って必要な権限を許可するか、補助コンポーネントを設定してください。Windowsの手順をそのまま適用しないでください。ほかのVPN、仮想ネットワークアダプターツール、セキュリティソフトがアダプターの作成を妨げていないかも確認します。AndroidではシステムVPNの許可が必要で、通常、同じユーザー環境で通信を取り込めるVPNサービスは1つだけです。競合するアプリを終了してから再試行し、トラブル調査のためにシステムのセキュリティ機能を長期間無効にしないでください。

使い方のヒント

サブスクリプションの更新、ルーティング、速度測定はそれぞれ確認できる範囲が異なります。実際のリクエストと合わせて結果を判断しましょう。

サブスクリプションの更新に失敗したら、元の設定をすぐ削除すべき?

元のグループと、すでに使える設定は残してください。サブスクリプションURLが完全か、有効期限が切れていないか、端末の時刻が正確かを確認したうえで、ログに記録されたエラーの種類を調べます。名前解決の失敗、接続タイムアウト、証明書エラー、応答内容を認識できない場合では、対処法が異なります。v2rayNの一部バージョンには、プロキシ経由でサブスクリプションを更新するオプションがあります。利用可能なサーバーが先にないと依存関係が循環するため、使用前に確認してください。ログインページや案内ページが返される場合は、設定提供元にURLとサブスクリプションの状態を問い合わせましょう。復旧したら該当するグループだけを更新し、すべての設定を削除して元の接続手段を失わないようにしてください。

普段の閲覧にはグローバルプロキシとルールベースの振り分け、どちらを使う?

普段使いでは、アクセス先に合わせたルールベースの振り分けから始め、プロキシが必要な宛先だけをプロキシ経由にし、それ以外は直接接続する方法がおすすめです。v2rayNのプリセットには「中国本土を迂回」などのモードが含まれる場合がありますが、具体的なルールは現在のバージョンで確認し、モード名だけで挙動を判断しないでください。グローバルプロキシは短時間の切り分けに便利です。グローバルでは接続できるのに振り分けでは失敗する場合、ルールの適用先とDNSを重点的に確認しましょう。ここでいうグローバルとは、コアが受け取った通信を処理する方法であり、すべてのアプリの通信を取り込むという意味ではありません。テスト後は元のモードに戻し、ローカル端末やLAN内のサービスにアクセスできることを確認してください。

サーバーの速度測定は成功するのに、Webページが開かないのはなぜ?

速度測定の結果が示すのは、そのテスト方法で接続できたことだけです。ブラウザーのリクエストがプロキシに届いている証拠にはなりません。TCPテストで確認できるのは通常、ポートへの接続だけです。実接続テストも、指定されたテスト先への接続に限られます。まず対象のサーバーが現在の接続先として選択されていることを確認し、次にシステムプロキシが有効か、ブラウザー独自のプロキシ拡張機能がないか、ルーティングで目的の宛先が想定した経路に送られているかを確認してください。その後、少数の確認用サイトにアクセスし、該当するリクエストがログに記録されるかを見ます。1回の遅延測定だけで設定を何度も切り替えないでください。単一の測定値より、継続的な接続状況、宛先との相性、実際のリクエスト結果が参考になります。

XrayとV2Flyのコアを切り替える前に確認すること

現在の設定を保存し、サーバー側の要件を確認してから、切り替え先のコアがプロトコル、通信方式、安全レイヤー、ルーティングの各項目に対応しているかを調べます。両者には共通の歴史がありますが、その後の機能開発は異なるため、完全に互換性のある実行コンポーネントとは限りません。Xray固有の機能に依存する設定は、CoreをV2Flyに変えるだけで接続が直るとは限りません。切り替え後は接続を再起動してログを確認し、指定したコアが実際に読み込まれていることを確かめてください。一度に変更するのはコアだけにし、比較できるよう元の設定を残します。未対応の項目や不明な項目のエラーが出た場合は、認証情報を手当たり次第に変更せず、互換性のある組み合わせに戻してください。

トラブル対処

通信の入口、名前解決、ルーティング、リモート接続の順に原因を絞り込み、すべての設定を一度にリセットしないようにしましょう。

サーバーがずっとタイムアウトになるとき、どの順に確認する?

まず端末自体がインターネットに接続できることを確認し、次に接続先サーバーのアドレス、ポート、認証情報と、サブスクリプションの有効性を確認してください。その後、システム時刻、TLSまたはREALITYの設定を照合し、ログから名前解決の失敗、接続タイムアウト、認証エラーのどれに該当するかを調べます。TCPポートに到達できても、プロトコルのハンドシェイクに成功したとは限らないため、設定の問題を除外できません。同じサブスクリプションにある、動作確認済みの別設定と比較できますが、一度に変更するのは1項目だけにしてください。異なるネットワークに接続した複数の端末から同じサーバーに接続できない場合は、エラーの種類と発生時刻を設定提供元に伝えましょう。認証情報の全容は公開しないでください。

接続済みなのにWebページが開かないとき、プロキシ・DNS・ルーティングをどう切り分ける?

クライアントに起動中または接続済みと表示されても、通常はローカルサービスが起動していることを示すだけで、目的のWebサイトへのリクエストが成功したとは限りません。まずローカルの待ち受けポートとシステムプロキシのポートが一致していることを確認し、ブラウザー独自のプロキシ拡張機能を一時的に無効にして、アクセス時にログへリクエストが記録されるかを確認します。リクエストが記録されない場合は、まず通信の入口を調べます。リクエストは記録されるものの名前解決に失敗する場合はDNSを、特定の宛先だけ失敗する場合はルーティングルールと宛先の状態を確認してください。比較のため一時的にグローバルルーティングへ切り替え、確認後は元に戻します。DNS、ポート、コア、サーバーを一度に変更すると、接続が復旧しても原因を特定できません。

システムプロキシが効かない、またはクライアント終了後にインターネットへ接続できないときは?

v2rayNで「システムプロキシを自動設定」が選択されていることを確認し、OSのネットワーク設定でプロキシのアドレスがこの端末を指しているか、ポートがクライアントの実際の待ち受けポートと一致するかを確認してください。ブラウザー拡張機能、組織のポリシー、ほかのプロキシツールが設定を上書きする場合があります。また、システムプロキシを参照しないアプリもあるため、個別に設定するかTUNの利用を検討してください。クライアント終了後に接続できなくなった場合は、クライアントを再度起動してシステムプロキシを解除するか、OSの設定で残っている手動プロキシを無効にしてから、直接接続を試します。ネットワーク設定をすべて無効にすることを定番の手順にしたり、用途を確認せず組織で必要なプロキシポリシーを削除したりしないでください。

ローカルポート10808が使用中。クライアントのアンインストールが必要?

通常は必要ありません。クライアントを二重に起動していないか、ほかのプロキシプログラムが同じポートを使っていないか確認してください。Windowsではnetstat、macOSとLinuxではlsofなどのシステムツールで使用中のプロセスを調べられます。コマンドに不慣れな場合は、まず競合していると分かっているプログラムを通常の方法で終了してください。v2rayNのパラメーター設定でローカルの待ち受けポートを変更し、保存後にローカルサービスを再起動する方法もあります。変更後は、ブラウザーの手動プロキシ設定やほかのアプリのポートも合わせて変更し、システムプロキシを再適用してください。10808はよく使われる設定値にすぎないため、実際のポートは現在のクライアントに表示されている値を確認し、知らないプロセスをむやみに終了しないでください。