設定ガイド / 用語集

V2Rayの用語と設定項目

まず用語を確認し、次にその役割と適用範囲を見ていきましょう。プロトコル、コア、サブスクリプション、通信の処理方法を6分野に分け、v2rayN、v2rayNG、v2flyNGの設定項目を解説します。

カテゴリをクリックすると該当箇所へ移動します。各カードには個別のアンカーがあり、リンクをコピーして設定メモに残せます。設定を始める場合は使い方ガイドへ、順を追って学ぶ場合は基本操作ガイドをご覧ください。

接続パラメーターを確認

プロトコルとトランスポート

プロトコルは通信方式を定め、トランスポートは接続を運び、セキュリティ層は通信を保護します。設定をインポートする際はそれぞれを確認し、同じ種類の項目として扱わないようにしましょう。

プロトコルとトランスポート
VMess
Project Vエコシステムのプロキシプロトコルの一つです。ユーザーIDなどのパラメーターで認証と通信を行います。設定時はアドレスとポートだけでなく、サーバー側のトランスポート方式やセキュリティ設定も一致させてください。VMessと表示されていても分かるのはプロトコルの種類だけです。TLSが有効かどうかは判断できず、トランスポートの設定も省略できません。
プロトコルとトランスポート
VLESS
軽量なプロキシプロトコルと暗号化層を区別しましょう。VLESS自体には通信内容を暗号化する機能がなく、通常はTLSやREALITYなどのセキュリティ層と組み合わせて使います。クライアントでユーザーID、トランスポート方式、サーバーが要求するflowパラメーターを確認してください。VMessの設定名をVLESSに変えるだけでは使えません。サーバー側の対応も必要です。
プロトコルとトランスポート
Trojan
通常はTLSで通信を保護し、パスワードで認証するプロキシプロトコルです。インポート後もドメイン名、ポート、パスワード、TLSの設定をサーバー側と一致させてください。特にサーバー名が誤って変更されていないか確認しましょう。証明書エラーが発生した場合は、ドメイン名、端末の時刻、証明書の設定を確認し、証明書検証をすぐに無効にしないでください。
プロトコルとトランスポート
REALITY
REALITYはXrayエコシステムの通信セキュリティ機構で、単独のノードプロトコルではありません。一般的にはVLESSと組み合わせて使います。接続にはサーバー名、公開鍵、ショートIDなどの設定を一致させ、対応するコアを使用する必要があります。サーバーアドレスとユーザーIDだけでは、通常、接続設定を完全に再現できません。

画面と処理層を区別

コアとクライアント

まずクライアントを確認し、次に実際に使用しているコアを確認しましょう。画面上で設定を保存できても、現在のコアで実行できるとは限りません。

コアとクライアント
Project V
Project Vは、V2Rayなどのネットワークツールを中心に形成されたオープンソースプロジェクト群であり、デスクトップ用インストーラーの名称ではありません。設定について考える際は、エコシステム、コア、グラフィカルクライアントの3つを区別しましょう。画面上の設定箇所はクライアントのガイドで確認し、プロトコルの対応状況は実際に使うコアと設定要件を確認してください。
コアとクライアント
Xray
V2Rayと技術的なつながりを持つプロキシコアのプロジェクトです。画面上の名称にとどまらず、プロトコル、トランスポート、ルーティングの設定を実行します。v2rayNGはXrayコアを使用し、v2rayNでもXrayの設定を扱う場合があります。利用できる機能は実際のコアのバージョンによって異なります。設定の互換性を調べる際は、クライアントとコアの情報をあわせて記録しましょう。
コアとクライアント
V2Fly
メンテナンスコミュニティとソフトウェアコアを区別しましょう。V2FlyはV2Ray関連プロジェクトをメンテナンスするコミュニティで、一般に「V2Flyコア」と呼ばれるものは同コミュニティがメンテナンスするV2Rayコアを指します。v2flyNGはこのコアを使うAndroid向けの代替クライアントです。技術的なつながりがあるからといって、Xray専用のパラメーターをそのまま移行できるとは限りません。
コアとクライアント
グラフィカルクライアント
クライアントでサブスクリプション、接続設定、プロキシ設定を管理し、ネットワーク処理はコアが実行します。v2rayNはWindows、macOS、Linuxのデスクトップ向け、v2rayNGとv2flyNGはAndroid向けです。クライアントによってメニュー名、初期値、バックアップに含まれる内容は異なる場合があります。サブスクリプションを共有しても、端末ごとの設定まですべて同期されるわけではありません。

インポートとテストを理解

サブスクリプションとノード

サブスクリプションは設定の取得元、ノードは一つの接続設定、遅延は特定の条件下でのテスト結果です。それぞれ分けて確認しましょう。

サブスクリプションとノード
サブスクリプション
サブスクリプションURLから接続設定一式を取得・更新すれば、パラメーターを一つずつ入力する手間を省けます。v2rayNでは「サブスクリプショングループ設定」を開いてURLを保存し、サブスクリプションを更新します。v2rayNGでもグループを追加してから更新してください。URLにはアクセス認証情報が含まれる場合があります。スクリーンショットを公開したり他人に転送したりしないでください。更新に失敗しても、すでに保存済みの設定が必ず無効になるわけではありません。
サブスクリプションとノード
ノード
ノードはクライアントで選択できる接続設定の一つです。通常、サーバーアドレス、ポート、認証情報、プロトコル、トランスポートの設定が含まれます。表示名は識別しやすくするためのラベルにすぎず、接続できることを保証するものではありません。設定を個別に共有する場合も、含まれる認証情報を機密情報として扱ってください。サブスクリプションの更新で、元の項目が置き換えられたり削除されたりすることがあります。
サブスクリプションとノード
遅延
まずテスト方法を確認してから結果を比較しましょう。TCP接続の確立時間と、プロキシ経由でリクエストを送った際の所要時間では、測定範囲が異なります。結果はネットワーク経路、テスト先、サーバー負荷、タイムアウトの設定に左右されます。遅延が小さくてもダウンロード速度が速いとは限りません。タイムアウトが発生した場合も、一覧の数値だけで判断せず、実際のアクセス状況やログを確認してください。
サブスクリプションとノード
実接続遅延
選択したプロキシ設定を使ってテスト先に実際のリクエストを送り、所要時間を測定します。サーバーのポートだけを調べる方法より、アプリのアクセスに近いテストです。測定にはドメイン名の解決、ハンドシェイク、テスト先の応答などが関わる場合があります。内容はクライアントの実装とテスト先によって異なります。比較する際はテスト先とネットワーク環境をそろえてください。一つのテスト先で失敗しても、すべてのサイトに接続できないとは限りません。

通信の経路を確認

ルーティング

まず照合条件を確認し、次にアウトバウンドとルールの順序を見ましょう。名前が似たルールデータでも、含まれるドメインやアドレスの範囲は異なる場合があります。

ルーティング
ルーティングルール
ドメイン名、宛先アドレス、ポートなどの条件で接続を照合し、指定したアウトバウンドに処理させます。一般的なコアの設定では、ルールは順番に評価されるため、先にあるルールが後続ルールの想定結果を上書きすることがあります。v2rayNのルーティング設定を編集する際は、条件、アウトバウンド、順序を確認してください。どのルールにも一致しない接続には、デフォルトのアウトバウンドが適用されます。
ルーティング
ルーティング
接続ごとに、直接接続、プロキシ、ブロックなど異なるアウトバウンド処理を割り当てる仕組みをルーティングといいます。「中国本土を除外」はよく使われるルーティングプリセットの名称ですが、実際の動作は設定されたルールとデータによって異なります。ルーティングはスイッチを切り替えるだけではありません。DNSの名前解決結果、ドメイン情報、ルールの照合を連携させ、条件に合わない接続が誤ったアウトバウンドに送られないようにする必要があります。
ルーティング
GeoIP
地域や用途ごとにまとめられたIPアドレスの集合をルーティングの照合に使います。ドメインのカテゴリを直接判定するものではありません。ネットワークへのアドレス割り当てやデータの更新時期によって誤差が生じるため、サーバーの実際の所在地を示すとは限りません。ドメイン名の解決先が変われば照合結果も変わる場合があります。確認する際は、名前解決の結果とアドレス集合の両方を調べてください。
ルーティング
GeoSite
カテゴリ別にまとめられたドメインルールを使えば、大量のドメインを手動で管理する手間を減らせます。カテゴリ名や内容、対象範囲は読み込んだデータファイルによって異なり、どのデータソースにも同じカテゴリがあるとは限りません。ルールが反映されない場合は、カテゴリの有無とデータの読み込み状況を確認してから、ルールの順序や、コアが照合可能なドメイン名を取得できているかを確認してください。

名前解決の経路を確認

DNSとネットワーク

ドメイン名がどのアドレスに解決されるかと、DNSクエリがどの経路を通るかを分けて考えましょう。アプリ、システム、クライアントがそれぞれ独自の名前解決設定を持つ場合があります。

DNSとネットワーク
DNS
ドメイン名をIPアドレスなどのレコードに変換し、プログラムが接続先のサービスを特定できるようにします。プロキシを使う場合は、誰がどのリゾルバーに問い合わせるのか、クエリが直接接続とプロキシのどちらを通るのかも確認が必要です。システムのDNSだけを変更しても、クライアントのリモートDNSには影響しない場合があります。ブラウザーで暗号化DNSが有効になっていると、別の経路が使われることもあります。
DNSとネットワーク
FakeDNS
ドメイン名に合成アドレスを割り当てて対応関係を保存し、後続の接続がコアに入ったときに元のドメイン名を復元できるようにする仕組みです。これによりルーティングの照合を補助します。一般的なパブリックDNSサーバーとは異なり、DNSサーバーのアドレスを一つ設定するだけで使える機能でもありません。有効にする前に、使用中のコア、DNS設定、トラフィックの取り込み方式が連携できるか確認してください。設定が合っていないと、名前解決できても接続できない場合があります。
DNSとネットワーク
DNSリーク
ドメイン名のクエリが想定どおりの経路で送信されているか確認しましょう。別のリゾルバーやネットワークインターフェースを経由すると、想定した設計と異なる動作になる場合があります。システムDNS、ブラウザーの暗号化DNS、クライアント設定、ルーティング方針をあわせて確認してください。出口のIPアドレスだけでは判断できません。直接接続するドメインにローカルDNSを使う設定は、意図どおりの場合もあります。重要なのは、実際の経路が設定の目的に合っているかどうかです。
DNSとネットワーク
ドメイン名のスニッフィング
接続から判別できるプロトコルの特徴を読み取り、宛先ドメイン名を特定して、コアによるドメイン名ベースのルーティングを補助します。識別できる範囲はプロトコル、暗号化方式、実装によって異なります。すべての接続で動作するとは限らず、アプリの内容を復号する機能でもありません。設定時は、ルーティングの補助のみを行うのか、宛先アドレスを上書きするのかを区別し、接続先が想定から外れないようにしてください。

トラフィックの取り込みとアウトバウンドを区別

プロキシモード

トラフィックの取り込み方式によってクライアントに入る接続が決まり、ルーティングモードによって取り込み後の処理が決まります。この2つの設定は互いに代用できません。

プロキシモード
システムプロキシ
OSにローカルのプロキシアドレスを登録し、システムプロキシ設定に従うアプリからクライアントへリクエストを送れるようにします。v2rayNでは「システムプロキシを自動設定」などの項目で状態を変更できますが、すべてのプログラムの通信を取り込むわけではありません。ブラウザーからはアクセスできても他のアプリで失敗する場合は、そのアプリがシステムプロキシを参照しているか、独自のプロキシ設定を持っているかを確認してください。
プロキシモード
TUNモード
仮想ネットワークインターフェースでトラフィックを受け取り、処理する方式です。システムプロキシ設定を参照しない一部のプログラムも対象にできます。v2rayNでTUNを有効にするには、使用中のシステムで必要な権限とネットワーク環境を満たし、他の仮想NICツールと競合しないか確認してください。実際に取り込まれる範囲は、システムルーティング、除外設定、クライアントのルールによって異なります。有効にしただけで、すべての接続がプロキシ経由になるわけではありません。
プロキシモード
VPNモード
Androidでは、v2rayNGなどのクライアントがシステムのVPNインターフェースを使ってトラフィックを取り込めます。初回接続時は通常、ユーザーの許可が必要です。これはトラフィックをクライアントに取り込む方式を示すもので、ノードのプロトコルが別の種類に置き換わるわけではありません。アプリごとの選択、ルーティングルール、システム設定によって処理範囲は変わります。他のVPNサービスを同時に使うと競合する場合もあります。
プロキシモード
グローバルプロキシ
通常、クライアントに取り込まれた接続のうち、優先度の高いルールで除外されていないものをプロキシのアウトバウンドに送る設定を指します。具体的な意味は、設定メニューの内容に応じて確認してください。これは接続の処理方針を示すもので、端末のすべての通信がクライアントに取り込まれることを保証するものではありません。システムプロキシを使わないアプリは、グローバルルーティングに切り替えただけでは対象になりません。まず取り込み方式を確認し、その後にアウトバウンドルールを確認してください。