FAQ · 設定とトラブルシューティング

V2Ray よくある質問とトラブルシューティング

基礎知識、インストールと設定、活用方法、トラブルシューティングに分けて、v2rayN、v2rayNG、v2flyNG のよくある問題を整理しています。まず問題がどの段階で起きているかを確認し、ログと設定をもとに原因を絞り込んでください。

  • サブスクリプションのインポート
  • システムプロキシ
  • TUN の権限
  • V2Ray ルーティングルール
  • DNS のトラブルシューティング
問題の種類から探す

問題の分類

インストール前に、クライアント、プラットフォーム、コアの関係を確認します。接続に異常がある場合は、サブスクリプションの解析、ローカル待受、システムプロキシ、ルーティング、DNS、リモートハンドシェイクの順に確認してください。

01 基礎知識

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

GUIクライアント、プロキシコア、プロトコル、システムプロキシがそれぞれ担当する段階を整理すると、インポート、接続、ルーティングの問題を混同せずに対処できます。

V2Ray、v2rayN、Xray のコアの違いとは?

V2Ray は通常、Project V から発展したプロトコルとツールのエコシステムを指します。v2rayN はサブスクリプション管理、ルーティング設定、システムプロキシ制御を担うGUIクライアントです。Xray はクライアントから呼び出せるプロキシコアです。GUIがコアに代わって接続を処理するのではなく、設定をコアが読み取れる形式に変換し、その動作状態を管理します。

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

Windows、macOS、Linuxのデスクトップ環境では、まず v2rayN を選ぶのが一般的です。Android では v2rayNG がよく使われ、デスクトップで一般的な Xray 設定との連携も比較的スムーズです。v2fly コアを使う必要がある場合は v2flyNG を選べます。選択時には、サブスクリプションに含まれるプロトコルとトランスポート方式が、対応クライアントとコアでサポートされているかも確認してください。

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

システムプロキシは、OSやシステム設定に従うアプリがリクエストをクライアントへ渡すかどうかを決めます。ルーティングモードは、リクエストがコアに入った後、direct、proxy、block のどの出口を通るかを決めます。グローバルプロキシは通常、クライアントに入った大部分の通信をプロキシ経由にする設定です。3つは異なる処理段階にあるため、システムプロキシを有効にしても、すべてのプログラムが自動的に制御されるわけではありません。

VMess、VLESS、Trojan、Shadowsocks は同じクライアントで使える?

現在のクライアントとそのコアが対応プロトコルをサポートしていれば、同じサブスクリプショングループやサーバー一覧にこれらの設定を保存できます。ただし、異なるプロトコルの項目を相互に置き換えることはできません。たとえば VLESS の flow、REALITY の publicKey と shortId にはそれぞれ明確な用途があります。インポート後は、プロトコル、ポート、トランスポート層、安全性に関するパラメータがそろっているか確認してください。

サブスクリプションURLと個別の共有リンクの違いは?

サブスクリプションURLは通常、更新可能なサーバー設定の一覧を返すため、一元管理に適しています。個別の共有リンクは1つの設定だけを記述し、インポート後にサブスクリプションの変更へ自動追従することはありません。サブスクリプション更新では、クライアントのルールに従ってグループ内容が統合または置換されます。そのため、サブスクリプション内の項目を手動変更しても次回更新時に上書きされる可能性があり、長期的に使うカスタム設定は別途保存してください。

02 インストールと設定

サブスクリプションのインポートとインストールパッケージの選択

インストール時のよくある問題は、サブスクリプションURLの形式、更新方法、プロセッサアーキテクチャ、システム権限に集中しています。まず入力内容と選択したインストールパッケージを確認してから、クライアント内部の設定を見直してください。

サブスクリプションのインポートに失敗したら、まず何を確認すべき?

まず、コピーしたURLが完全なもので、余分な空白や改行がなく、チャットツールによって途中で切れていないことを確認します。次に、クライアントのサブスクリプショングループ機能からURLを追加して更新を実行します。それでも失敗する場合は、URLの有効期限、現在のネットワークからサブスクリプションサービスへアクセスできるか、返された内容がクライアント対応のサブスクリプションまたは共有リンク形式かを確認してください。

サブスクリプション更新に失敗するが、URLはブラウザで開ける場合は?

ブラウザで開けるのはURLにアクセスできることを示すだけで、返された内容をクライアントが解析できるとは限りません。クライアントのログで HTTP ステータス、デコードに関するメッセージ、形式エラーを確認し、直接接続での更新と現在のプロキシ経由での更新をそれぞれ試してください。ログインページ、エラーページ、空の内容が返っている場合は、まずサブスクリプションサービス側で正しいレスポンスを復旧する必要があります。

Android でダウンロードするとき、arm64 と universal はどう選ぶ?

近年の主流の Android スマートフォンは通常64ビット ARM プロセッサを搭載しているため、まず arm64 パッケージを選ぶとよいでしょう。ファイルサイズも比較的抑えられます。プロセッサのアーキテクチャを確認できない場合、端末が古い場合、または arm64 パッケージのインストールに失敗する場合は、universal パッケージを選んでください。universal は多くのアーキテクチャ用リソースを含むため互換性が広い一方、パッケージサイズは一般に大きくなります。

v2rayN のデスクトップ版と Windows WPF 版はどう選ぶ?

デスクトップ版はクロスプラットフォームのUI方式を採用しており、異なるデスクトップOSで近い操作感を保ちたいユーザーに適しています。WPF版は Windows 専用で、画面やトレイ操作は従来の v2rayN に近い構成です。初めてインストールする場合はデスクトップ版から始め、既存のワークフローがある場合や従来の画面を使いたい場合は WPF 版を選ぶとよいでしょう。

macOS で「開発元を確認できない」と表示された場合の対処法は?

まず警告ウィンドウを閉じ、システム設定の「プライバシーとセキュリティ」を開き、直前にブロックされた v2rayN を探して、システムに表示された「このまま開く」を選択します。その後、もう一度起動を確認してください。初回起動時にはネットワークアクセスの許可を求められる場合もあるため、実際の利用に応じて許可します。完了後、メニューバーの状態とシステムプロキシ設定を確認してください。

03 活用方法

システムプロキシ、TUN、ルーティング分岐

クライアントが動作中と表示されても、すべてのアプリの通信がコアに入っているとは限りません。システムプロキシ、アプリ内プロキシ、TUN は通信を取り込む範囲が異なり、ルーティングルールは通信が入った後の出口を決めます。

クライアントは接続済みなのに、ブラウザでインターネットに接続できない場合は?

まず、ブラウザがシステムプロキシに従うか確認します。次に、クライアントで利用可能な設定が選択され、正しいシステムプロキシモードが有効になっているか確認してください。その後、一時的に単純なルーティングモードへ切り替え、カスタムルールによる誤った振り分けを切り分けます。すべての設定で失敗する場合は、スイッチを繰り返し切り替えるのではなく、ログにある DNS、ハンドシェイク、証明書時刻、接続タイムアウトの情報を確認してください。

システムプロキシを有効にしても、一部のアプリが直接接続するのはなぜ?

システムプロキシが有効になるのは、OSのプロキシ設定を読み取るアプリだけです。独自のネットワークスタック、固定プロキシ設定、UDP接続を使うプログラムは、システムプロキシを迂回する場合があります。まずアプリ内部にプロキシ設定がないか確認し、SOCKSまたは HTTP ポートが v2rayN のローカル待受ポートと一致していることを確認してください。より多くの通信を取り込む必要がある場合は、TUN モードを検討します。

TUN モードで権限不足や起動失敗と表示されるのはなぜ?

TUN は仮想ネットワークインターフェースを作成し、システムルーティングを変更するため、通常は管理者権限またはシステムのネットワーク拡張機能への許可が必要です。まずクライアントを終了し、使用中のシステムの手順に従って権限を昇格してから起動し、関連するネットワークコンポーネントを許可してください。それでも失敗する場合は、他の VPN、仮想ネットワークアダプター、セキュリティソフト、古い TUN プロセスがインターフェースやルーティングを占有していないか確認します。

中国本土のアドレスを直接接続し、それ以外をプロキシ経由にするには?

ルーティング設定で geosite:cn、geoip:cn、geoip:private を direct 出口へ割り当て、どのルールにも一致しない残りの通信を proxy へ渡します。ルールの順序はマッチ結果に影響するため、より具体的なドメインまたは IP ルールを汎用ルールより前に置いてください。変更後は設定を再読み込みし、直接接続するドメインとプロキシ対象をそれぞれテストします。

sniffing による通信の検出は有効にすべき?

sniffing は接続から宛先ドメインを識別し、IPしか取得できない通信でも geosite のドメインルールに引き続きマッチさせるのに役立ちます。一般的なデスクトップ設定では有効にして構いません。接続に必須の機能ではないため、特定のアプリでドメイン識別の異常、誤った書き換え、カスタムルーティングとの競合が起きた場合は、該当する inbound で無効にして結果を比較してください。

04 トラブルシューティング

タイムアウト、DNS、ローカルポート

トラブルシューティングでは、問題がサブスクリプション解析、ローカルプロセス、ドメイン解決、リモート接続のどこで起きているかを先に判断します。最小構成を1つ残し、一度に1つの変数だけを変更すると、複数の設定を同時に変えるより効率的に原因を特定できます。

ノード接続のタイムアウトを段階的に切り分けるには?

まずローカルネットワークが正常か確認し、次にサーバーアドレス、ポート、プロトコル、トランスポート方式、安全性に関するパラメータがそろっているか確認します。複数の設定が同時にタイムアウトする場合は、ローカルネットワーク、DNS、システム時刻の問題である可能性が高くなります。1つの設定だけがタイムアウトする場合は、その設定を重点的に確認してください。ログの timeout、connection refused、handshake failed は、それぞれ異なる処理段階を示します。

サブスクリプション更新は成功したのに、サーバー一覧が空なのはなぜ?

更新成功はリクエストが完了したことだけを示し、返された内容が空、互換性のない形式、または対応設定を含まない場合もあります。まずサブスクリプショングループの更新ログと解析件数を確認し、フィルター条件が有効になっていないか確認してください。実際のレスポンスが案内文、Webページ、未知の共有リンク形式であれば、クライアントはサーバー項目として認識できません。

ログに「ポートが使用中」と表示された場合の対処法は?

ポートが使用中という表示は、ローカルの SOCKS、HTTP、API の待受ポートが別のプロセスに使われていることを示します。前回のコアプロセスが正常終了していない場合もあります。まず関連クライアントを完全に終了して再起動してください。それでも競合する場合は、ローカル待受ポートを変更します。たとえば 10808 を未使用のポートに変更し、ブラウザなど他のアプリのプロキシポートも更新してください。

ドメインだけ開けず、IPアドレスへ直接アクセスすると応答がある場合は?

この現象では、まず DNS を確認するのが基本です。クライアントの DNS 設定が利用可能で、ルーティングルールが問い合わせを到達できない出口へ誤って送っていないことを確認し、OSに残る古い名前解決キャッシュを削除します。TUN を有効にしている場合は、DNSハイジャックや仮想 DNS の設定も確認してください。接続出口が正常なら問題はドメイン解決段階にある可能性があるため、ノードを交換するだけでは解決しません。

設定変更後に問題が増えた場合、切り分け可能な状態へ戻すには?

まず現在の設定をバックアップし、カスタム DNS、Mux、複雑なルーティング、TUN を一時的に無効にします。項目が完全であることを確認した設定を1つだけ残し、デフォルトのローカルポートと基本的なシステムプロキシを使用してください。基本接続を確認したら、毎回1項目だけ設定を戻して再テストします。複数のスイッチを同時に変更するより、変数を1つずつ増やすほうが競合原因を特定しやすくなります。

詳しく見る

インストール手順と設定項目

サブスクリプションのインポートから始める場合は、はじめにに沿って順番に進めてください。inbounds、outbounds、routing、DNS の項目を確認する場合は、設定リファレンスをご覧ください。

v2rayN をダウンロード