クライアントヘルプセンター

V2Ray よくある質問・トラブル対処

サブスクリプションの導入から接続トラブルまで、設定の各段階で問題を切り分けます。まずクライアント、システムプロキシ、ノードの状態を確認し、その後TUN、DNS、ルーティングを確認します。

問題の分類

設定段階から探す

よくある質問は20件。分類をクリックすると該当章へ移動でき、各回答には実行可能な確認手順が含まれています。

01 基礎知識

プロキシモード、プロトコル、クライアント

通信をどの仕組みが処理し、設定がどこから生成されるかを整理してから、対応するプラットフォームのクライアントを選びます。初回利用時の問題の多くは、モードの混同やクライアントとサーバーのパラメーター不一致が原因です。

システムプロキシとTUNモードの違いは?

システムプロキシはOSのプロキシ設定を変更し、その設定を参照するブラウザーやアプリだけを対象にします。TUNモードは仮想ネットワークインターフェースを使ってより多くの通信を処理するため、システムプロキシに従わないソフトウェアに適しています。普段のブラウジングではまずシステムプロキシを使い、対象にできないアプリがある場合にTUNモードを有効にして、ネットワーク権限が許可されていることを確認してください。

グローバルプロキシとルーティングはどちらを選ぶべき?

グローバルプロキシでは、対象となる通信の大半をプロキシ経由で送信するため、ノードが使えるか一時的に確認するのに適しています。ルーティングでは、ドメイン、IP、プロトコル、ルールセットに基づいて直接接続、プロキシ、ブロックを選択でき、長期利用に向いています。初回設定ではグローバルモードで接続を確認してから、LANや中国本土を迂回するルールモードへ切り替えるとよいでしょう。

サブスクリプション、ノード、サーバーアドレスの関係は?

サブスクリプションは更新可能な設定の入口で、複数のノードを含められます。ノードにはサーバーアドレス、ポート、通信プロトコル、認証パラメーターが保存されます。クライアントがサブスクリプションを更新すると、取得した内容でノード一覧を更新します。個別ノードを変更してもリモートのサブスクリプションは変わらず、次回更新時にローカルの変更が新しい内容で上書きされる場合があります。

VMess、VLESS、Trojanはどう選べばよい?

プロトコルはサーバー側の設定と完全に一致させる必要があり、クライアント側だけで自由に切り替えることはできません。既存のサブスクリプションを使う場合は、サブスクリプションが生成したプロトコルと通信パラメーターをそのまま使用してください。自分で設定する場合は、サーバーで実際に有効なプロトコルに合わせます。接続できないときは、まずアドレス、ポート、ユーザー識別子、通信方式、TLS関連のパラメーターを確認してください。

v2rayN、v2rayNG、v2flyNGはそれぞれどのプラットフォーム向け?

v2rayNはWindows、macOS、Linuxのデスクトップ環境向けで、サブスクリプション管理、システムプロキシ、ルーティングルール、TUNモードに対応しています。v2rayNGはAndroid向けで、通常はXrayコアと組み合わせて使います。v2flyNGもAndroid向けで、V2Flyコアを採用しており、プロトコル互換性や操作感の異なる代替クライアントとして利用できます。

クライアント比較を見る →
02 インストールと設定

サブスクリプション導入、パッケージ、権限

インストール時は、ファイルのアーキテクチャ、サブスクリプションURL、システム権限を重点的に確認します。クライアントが起動できても、サブスクリプションが導入済みとは限らず、TUNに必要な仮想ネットワークインターフェースの権限が準備できているとも限りません。

サブスクリプションURLの導入に失敗したときは何を確認する?

コピーしたものがWebページのURLや共有説明、個別ノードのメモではなく、完全なサブスクリプションURLであることを確認してください。URLの前後にスペース、改行、日本語の句読点が混ざっていないか確認し、クライアントのクリップボードからの導入またはサブスクリプション追加機能を使います。それでも失敗する場合は、ブラウザーでURLを開き、サーバーが内容を返すか、サブスクリプションの有効期限が切れていないか確認してください。

サブスクリプションの更新に失敗したり、リクエストエラーが表示されたりするときは?

現在のネットワークからサブスクリプションURLにアクセスできることを確認し、端末の時刻が正確か確認してください。初回更新に既存のプロキシが必要な場合は、まず利用可能なノードを選んで接続してから更新します。サブスクリプションURLがサービス提供者によって変更されていないか、アカウントの期限が切れていないか、クライアントのサブスクリプション用プロキシ設定が現在のネットワーク環境に合っているかも確認しましょう。

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

2015年以降に発売された主なAndroid端末の多くはarm64を優先して選べます。通常はこちらのほうがファイルサイズが小さくなります。プロセッサーのアーキテクチャが不明な場合、古い端末を使っている場合、またはインストール時にアーキテクチャ非対応と表示された場合は、universal版を選んでください。2種類のパッケージでクライアント機能は同じで、主な違いは対応するプロセッサーアーキテクチャの範囲です。

Androidダウンロードへ →
v2rayNでTUNモードを有効にすると管理者権限を求められるのはなぜ?

TUNモードでは仮想ネットワークインターフェースを作成し、システムルーティングを変更するため、通常は管理者権限が必要です。Windowsでは管理者としてクライアントを起動してください。macOSとLinuxでは、システムの指示に従ってネットワーク拡張機能などの権限を許可します。許可後にクライアントを再起動し、TUNのスイッチ、仮想インターフェースの状態、システムルーティングが構築されているか確認してください。

macOSで初めてクライアントを開いたとき「開発元を確認できない」と表示されたら?

まず警告ウィンドウを閉じ、システム設定の「プライバシーとセキュリティ」を開きます。セキュリティ欄で先ほどブロックされたアプリを確認し、「このまま開く」を選択してください。もう一度起動するときに操作を確認し、案内に従ってネットワーク関連の権限を許可します。OSのバージョンによって項目名は多少異なりますが、明確にダウンロードして使用するクライアントだけを許可してください。

macOSの権限処理手順を見る →
03 使い方のコツ

システムプロキシ、ルーティング、DNS

安定した利用には、通信をどこまで取り込むかを明確にすることが重要です。システムプロキシはアプリへの入口、ルーティングルールは送信先、DNSはドメインをルール判定に使えるアドレスへ変換する役割を担います。3者の設定を一致させてください。

システムプロキシが有効になっているか確認するには?

まずクライアントで利用可能なノードを選び、接続を開始してからシステムプロキシを有効にします。次にOSのネットワークプロキシ設定を開き、HTTP、HTTPS、SOCKSのアドレスがクライアントに表示されたローカル待受アドレスとポートを指していることを確認してください。確認にはシステムプロキシを参照するブラウザーを使います。ターミナルのプログラムでは、プロキシ環境変数を別途設定する必要があります。

ルーティングルールを変更してもすぐ反映されないのはなぜ?

ルーティングルールは通常、コアの起動時または設定の再読み込み時に反映されます。ルールを保存したら接続を切って再接続し、必要に応じてクライアントを再起動してください。ルールの順序も確認しましょう。範囲の広いルールが先にあると、後ろのより具体的なルールより先に一致してしまう場合があります。テスト時は接続ログで対象ドメイン、インバウンド、アウトバウンドのタグを確認できます。

ルーティングルールの実践例を読む →
DNSはシステムの名前解決とクライアント内蔵の名前解決のどちらを使うべき?

単純なシステムプロキシ環境では、まずシステムDNSを使えます。複雑なルーティングやTUNモードを有効にした後は、クライアントコアにDNS処理を一元化すると、ドメインの解決結果とルーティングルールを一致させやすくなります。設定時はローカル解決とリモート解決の適用範囲を明確にし、複数のDNSツールが同じリクエストを同時に処理しないようにしてください。

DNS設定の説明を見る →
サブスクリプションの自動更新を安全に設定するには?

各サブスクリプションに適切な更新間隔を設定し、手動更新の入口も残しておきます。更新前にネットワークが利用できることを確認し、更新後は現在のノードが残っているか確認してください。サブスクリプション側で使用中のノードが削除されていた場合は、ノードを選び直して接続します。複数のサブスクリプションを使う場合は、グループ名やメモで提供元を区別すると、同名ノードが混在しません。

複数のサブスクリプションにある同名ノードを整理するには?

まず各サブスクリプションに分かりやすいグループ名を設定し、クライアントのフィルター、メモ、プレフィックス機能で提供元を区別します。ノード名だけで設定を判断しないでください。異なるサブスクリプションが同じ名前で異なるパラメーターを提供することがあるためです。更新後に並び順が変わった場合は、サブスクリプションのグループで絞り込み直し、よく使うノードの選択範囲を固定しましょう。

複数サブスクリプションの管理方法を見る →
04 トラブル対処

タイムアウト、通信切断、速度低下

トラブル対処では、一度に一つの変数だけを変更します。問題がローカルネットワーク、ノード、クライアントコア、通信の取り込み層のどこにあるかを切り分けてから、該当するログを確認してください。プロトコル、DNS、ルーティングを同時に変更すると判断材料を失います。

ノードテストでタイムアウトになった場合の対処法は?

まず同じサブスクリプション内の別のノードに切り替え、特定ノードだけの問題か、すべてのノードが使えないのかを確認します。次に、ローカルネットワーク、端末の時刻、ファイアウォール、サーバーアドレスの名前解決を確認してください。すべてのノードがタイムアウトする場合は、サブスクリプションを更新し、クライアントコアが正常に起動しているか確認します。特定のノードだけなら、そのノードのポート、通信パラメーター、サービス状態を確認しましょう。

クライアントは接続済みなのにインターネットへ接続できないときは?

接続済みと表示されるのは、クライアントのプロセスとローカルプロキシの入口が起動したことを示すだけで、対象の通信が正常に外部へ送信されたことを意味しません。まずグローバルモードでテストし、システムプロキシが有効か、アプリがプロキシ設定を参照しているか、ノードが利用可能かを確認してください。TUNを有効にしている場合は、仮想インターフェース、DNS、ルーティングも確認します。設定を変更したら再接続してテストしてください。

システムプロキシは有効なのにブラウザーやターミナルで使えないときは?

ブラウザーでは、独自のプロキシ設定、プロキシ拡張機能、企業ポリシーが使われていないか確認してください。これらがシステムプロキシを上書きする場合があります。ターミナルのプログラムは通常デスクトップのプロキシを自動的に参照しないため、HTTP_PROXY、HTTPS_PROXY、ALL_PROXY環境変数を設定する必要があります。変数に指定したプロトコル、ローカルアドレス、ポートがクライアントの待受設定と一致していることも確認してください。

ブラウザーとターミナルを分けて確認する方法を見る →
TUNモードを有効にした後も通信がクライアントを通らないときは?

クライアントに管理者権限またはネットワーク拡張機能の権限が付与されていることを確認し、仮想ネットワークインターフェースが正常に作成されたか確認してください。次に、他の仮想インターフェース、ネットワークフィルターツール、古いルーティングの残りが干渉していないか確認します。まずシステムプロキシを無効にし、TUNだけでテストすることもできます。コアのログにDNS、ルーティング、デバイス作成のエラーがある場合は、該当箇所を修正してから再接続してください。

V2Rayの接続速度が遅いときは、どの順番で確認する?

まず同じサブスクリプション内の別ノードに変更し、特定ノードの負荷や回線の揺らぎを切り分けます。次に時間帯やローカルネットワークを変えて比較し、問題がアクセス回線に由来するか判断します。最後にクライアントのルーティング、DNS、通信パラメーター、バックグラウンドの負荷を確認してください。複数の設定を同時に変更せず、一度に一つだけ調整して同じテストを繰り返すと、原因を特定しやすくなります。

段階的な速度トラブル対処法を読む →
次の対処

手順に沿って設定を再確認

問題が複数の設定項目に関係している場合は、まず使い方ドキュメントに従ってサブスクリプションの導入、ノード選択、プロキシモード、接続確認をやり直してください。その後、上級設定でルーティング、DNS、TUNを確認します。