概念をすぐ確認

V2Ray用語集

プロトコルとコアから始めて、サブスクリプション、ノード、ルーティング、DNS、TUNモードまで順に理解できます。各用語は意味を説明したうえで、どの設定に登場するかを紹介します。

用途から探す

よくある5つの設定概念

見慣れないフィールドが出てきたら、まずプロトコル、コア、ノード、ルーティング、ネットワーク層のどれに属するかを判断します。分類が分かれば、用語集と照らし合わせるほうが設定を一語ずつ推測するより早く理解できます。

プロトコルとトランスポートを区別する

VMess、VLESS、Trojanはクライアントとサーバーの通信方法を表し、TLS、REALITY、SNIは主にトランスポートの安全性や接続パラメータに関係します。組み合わせて使われますが、同じ層の概念ではありません。

クライアントとコアは別物

v2rayNとv2rayNGはGUIを提供し、XrayまたはV2Flyコアがプロトコル、DNS、ルーティングを処理します。問題を切り分ける際は、画面の設定とコアの稼働状態を分けて確認する必要があります。

接続テストの結果は測定時点のもの

遅延、実接続遅延、ノード速度テストでは測定方法が異なります。結果はローカルネットワーク、サーバー負荷、テスト対象によって変わるため、1回の数値だけで長期的な性能を判断するのは適切ではありません。

Protocol

プロトコルと暗号化

このグループの用語は、接続パラメータをどのように組み合わせるかを決めます。ノードをインポートすれば通常は個別入力不要ですが、プロトコル、トランスポートの安全性、サーバー名の整合性を確認するのに役立ちます。

VMess

VMessはProject Vエコシステムで早くから使われてきたクライアントとサーバー間の通信プロトコルです。ノード設定には通常、サーバーアドレス、ポート、ユーザーID、トランスポート方式、安全性に関するオプションが含まれます。

設定をインポートする際は、各フィールドを元の内容どおり対応させ、アドレスとポートだけをコピーしないでください。ユーザーID、トランスポートパス、セキュリティ設定が一致しなければ、ネットワークに到達できてもプロトコル接続は完了しません。

VLESS

VLESSは構成が比較的シンプルなプロキシプロトコルで、単体では追加のデータ暗号化を担いません。実際の設定では通常、TLS、REALITY、その他のトランスポートセキュリティ方式と組み合わせます。

VLESSノードを確認するときは、ユーザーID、フロー制御方式、トランスポート種別、セキュリティレイヤーのパラメータも確認します。プロトコル名が同じでも、2つのノード設定でフィールドをそのまま交換できるとは限りません。

Trojan

TrojanはTLSで安全な通信経路を確立するプロキシプロトコルで、一般的な設定にはサーバードメイン、ポート、パスワード、サーバー名が含まれます。ここでいうパスワードはプロトコルの認証情報であり、サーバー側の設定と一致させる必要があります。

接続を切り分ける際は、パスワードだけでなく、システム時刻、ドメイン解決、TLS設定、SNIも確認します。サーバーポートにアクセスできることだけでは、完全なハンドシェイクが成功したとは判断できません。

REALITY

REALITYはXrayエコシステムのトランスポートセキュリティ方式で、VLESSと組み合わせて使われることが多い機能です。クライアント設定には公開鍵、ショートID、サーバー名、フィンガープリントなどが含まれる場合があります。

これらのフィールドはサーバー側の設定で決まるため、インポート後に文字面だけを見て変更するべきではありません。公開鍵やショートIDが一致しないと、通常はセキュリティハンドシェイクの段階で接続に失敗します。

TLS

TLSはネットワーク接続の内容を保護し、通信相手の身元を確認する汎用的なセキュリティプロトコルです。V2RayクライアントのTLS設定は、証明書のドメイン、SNI、システム時刻、トランスポート方式とともに確認することが多い項目です。

証明書の検証には正しいシステム時刻とサーバー名が必要です。証明書の期限切れ、名前の不一致、ハンドシェイク失敗が表示された場合は、まずこれらの基本条件を確認し、いきなりプロトコル種別を変更しないでください。

Core & Client

コアとクライアント

GUIクライアントはサブスクリプション、ノード、各種スイッチを操作しやすい画面に整理し、コアは接続、ルーティング、DNSルールを実行します。両者のバージョンと設定状態が最終的な動作に影響します。

V2Ray

V2Rayは通常、Project Vエコシステムのネットワークプロキシ基盤と関連する設定体系を指します。完全な設定には、インバウンド、アウトバウンド、ルーティング、DNS、ログ、ポリシーなどのモジュールを含められます。

GUIクライアントを日常的に使う場合、多くのモジュールは画面から自動生成されます。高度な設定を読むときは、どこからデータが入り、どのようにルールへ照合され、どの出口から出るのかをモジュールごとに理解するとよいでしょう。

V2Fly

V2FlyはProject Vの技術体系を受け継ぐコミュニティプロジェクトおよびコアファミリーです。プロトコル接続、ルーティング判定、DNS問い合わせ、トランスポート処理を実行し、一部のクライアントでは動作コアとして使われます。

V2FlyとGUIクライアントは同じ製品レイヤーのものではありません。画面にコアの選択やバージョンが表示される場合、それは設定を実行するプログラムを指しており、サブスクリプション管理画面そのものではありません。

Xray

XrayはV2Rayの設定体系と深く関係するオープンソースのコアで、VLESS、REALITY、ルーティング、DNSなどをサポートします。v2rayNやv2rayNGの一般的な設定もXrayが実行する場合があります。

クライアントでコアの起動失敗が表示されたら、実行ログ、コアファイルの状態、設定の構文を確認します。ノード一覧が正常に表示されても、画面が設定を読み取れたことを示すだけで、コアが接続を確立したとは限りません。

v2rayN

v2rayNはWindows、macOS、Linux向けのデスクトップGUIクライアントです。サブスクリプション更新、ノード選択、システムプロキシ、TUNモード、ルーティング設定、ログ確認などの操作を行えます。

プロキシを有効にする前に、通常はサブスクリプションをインポートして利用可能なノードを選び、用途に応じてシステムプロキシまたはTUNモードを有効にします。画面の設定はコア設定へ変換されるため、変更後に関連サービスの再起動が必要になる場合があります。

v2rayNG

v2rayNGはAndroid向けのGUIクライアントで、一般的な動作コアにはXrayが使われます。サブスクリプションまたは個別リンクからノードをインポートでき、ノード切り替え、ルーティング設定、実行ログにも対応します。

接続時には、システムがローカルの仮想ネットワーク経路の確立を求めます。これは端末のトラフィックをクライアントが受け取るために必要な手順です。一部のアプリが期待どおり動作しない場合は、アプリ自身のネットワーク設定とクライアントのルーティングモードを確認してください。

Subscription & Node

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

サブスクリプションは設定の一括配布と更新を担い、ノードは具体的な接続設定です。テスト結果は現在の状態を確認するためのもので、サブスクリプションの有効性やプロトコルパラメータの確認に代わるものではありません。

サブスクリプション

サブスクリプションはサービス提供者が公開する設定一覧のURLです。クライアントが読み込むと、ノード名、プロトコルパラメータ、グループ情報が選択可能な設定リストへ変換されます。

サブスクリプションの追加と更新は別の操作です。初回追加ではURLを保存し、更新操作で内容を再取得します。更新後も一覧が変わらない場合は、まずクライアントの通知を確認し、その後URLがまだ有効か確認してください。

ノード

ノードはクライアント内の1つのサーバー接続設定で、通常はアドレス、ポート、プロトコル、認証情報、トランスポート方式、セキュリティパラメータを含みます。ノード名は識別用のラベルにすぎず、実際の接続判定には使われません。

ノードを選んだ後も、クライアントはコアを起動して該当するトラフィックを処理する必要があります。ノードが表示されるのに接続できない場合は、ローカルネットワーク、システム時刻、設定パラメータ、サーバー状態を分けて確認します。

遅延

遅延は、テスト用リクエストをローカルから送信して応答を受け取るまでの時間で、通常はミリ秒で表示されます。テスト対象、ネットワーク経路、サーバー負荷、ローカルの無線ネットワークが結果に影響します。

クライアントによって遅延テストの方法が異なるため、数値をそのまま横並びで比較するのは適切ではありません。遅延が小さいほど応答が速い傾向はありますが、ダウンロード速度が高いことや接続が常に安定していることを意味しません。

実接続遅延

実接続遅延は、実際にプロキシ接続を確立してテスト対象へアクセスした際の応答時間です。プロトコルハンドシェイクとプロキシ経由のアウトバウンドを含むため、サーバーへの到達性だけを確認するテストより実際の接続過程に近い結果になります。

テスト失敗の原因は、ノードパラメータ、DNS、対象サイト、ローカルネットワークなどさまざまで、1つに限りません。連続してテストする前にログを確認し、プロトコルエラーを単なるネットワークの揺らぎと誤判定しないようにしましょう。

ノード速度テスト

ノード速度テストは、遅延テスト、実接続テスト、通信テストなどでノードの現在の状態を比較する総称です。テストごとに注目する指標が異なり、簡易テストは初期選別に適していますが、実際の使用感は接続の継続性や対象サービスにも左右されます。

一括速度テストでは多くのネットワーク通信を同時に確立するため、結果がテスト順の影響を受けることもあります。まず候補を数本に絞り、その後に個別の接続検証を行うほうが確実です。

Routing

ルーティングと通信分岐

ルーティングモジュールは接続ノードを作成せず、コアに入ったリクエストをどのアウトバウンドへ送るかだけを判定します。ルールの順序、マッチング対象、最終的な出口をまとめて確認する必要があります。

ルーティングルール

ルーティングルールは、ドメイン、IP、ポート、ネットワーク種別、プロトコルなどの条件に応じて、トラフィックをどのアウトバウンドへ送るかを決めます。上から順に照合する場合、より具体的な条件を適切な優先位置に置く必要があります。

1つのルールでは、少なくともマッチング条件と送信先アウトバウンドの2点を確認します。ドメイン一覧だけを見て出力先のラベルを無視すると、プロキシ、直接接続、遮断のどれなのかを誤解しやすくなります。

通信分岐

通信分岐は、種類の異なるネットワークリクエストをプロキシ、直接接続、遮断のいずれかへ振り分ける処理です。ルーティングルールで対象を識別し、対応する出口へリクエストを渡します。

通信分岐は単純な速度切り替えではありません。ルールの範囲が広すぎると不要なリクエストまで経路が変わり、狭すぎると特定のドメインやアプリの接続を取りこぼす可能性があります。

GeoIP

GeoIPはIPアドレスの地域や用途ごとに分類したデータ集合で、ルーティングルールから分類名を使って対象IPをまとめて照合できます。扱うのは解析済みのネットワークアドレスであり、Webページに表示される言語や名前ではありません。

GeoIPデータはネットワーク割り当ての変化に合わせて更新する必要があります。ルールがヒットしない場合は、リクエストがすでにIPへ解決されているか、現在のルーティングポリシーがドメイン条件とIP条件のどちらを優先しているかも確認します。

GeoSite

GeoSiteは用途やカテゴリ別に整理されたドメインルールの集合で、関連するドメイン群をまとめて照合するために使われます。ドメインを1件ずつ管理する手間を減らせますが、分類の範囲はルールデータ自体に依存します。

1つのサービスがメインドメイン、APIドメイン、コンテンツ配信ドメインを同時に使うことがあります。一部だけを照合すると、ページとリソースのリクエストが別のアウトバウンドへ送られる場合があるため、ログで実際のヒット状況を確認してください。

ドメインマッチング

ドメインマッチングは、完全なドメイン名、サブドメイン、キーワード、正規表現、ルールセットなどでリクエストの行き先を判定する処理です。方式ごとに範囲が異なり、完全なドメイン名は一般に最も正確で、キーワードはより広い範囲を対象にします。

設定ルールでは、十分に明確な条件を優先してください。範囲の広いキーワードは関係のないドメインまで同時にヒットさせ、本来別々のリクエストを同じアウトバウンドへ送る可能性があります。

Transport & Network

トランスポートとネットワーク

このグループの用語は、システムがどのようにトラフィックをクライアントへ渡すかに関係します。システムプロキシとTUNモードでは適用範囲が異なり、DNS、FakeDNS、SNIはドメイン解決や接続ハンドシェイクに影響します。

TUNモード

TUNモードは仮想ネットワークインターフェースでシステムのトラフィックを受け取り、プロキシコアがDNS、ルーティング、アウトバウンド処理を実行する方式です。システムプロキシ設定を参照しない一部のアプリにも適用でき、より多くの種類の接続を処理できます。

有効化には通常、ネットワーク関連の権限をシステムから許可する必要があり、他の仮想ネットワークツールとインターフェースやルートが競合することもあります。通信できなくなった場合は、まずTUNモードを終了し、システムのルーティングが復元したか確認してください。

FakeDNS

FakeDNSはアプリに一時的なマッピングアドレスを返し、コアが受け取った後に元のドメインを復元します。これにより、その後のルーティングでもドメイン条件を使いやすくなり、早い段階でIPアドレスだけになるのを防げます。

一時アドレスは対応するマッピング環境内でのみ意味を持ち、対象サービスの実アドレスではありません。マッピング状態が失われたり、トラフィックがコアを迂回したりすると、ドメインを期待どおり復元できない場合があります。

DNSリーク

DNSリークとは、アプリのドメイン問い合わせが想定したDNS経路を迂回し、別のリゾルバーで処理される現象です。アプリが独自の名前解決方式を指定している、システムに複数のネットワークインターフェースがある、一部のリクエストがプロキシコアに入っていない、といった原因が考えられます。

切り分けでは、まず実際に問い合わせを行っているプログラムを確認し、次にクライアントのDNS設定、システムのネットワーク設定、ルーティングモードを調べます。DNSアドレスを1つ変更するだけでは、すべてのアプリの問い合わせ経路が変わるとは限りません。

システムプロキシ

システムプロキシは、OSがアプリに提供するプロキシのアドレスとポート設定です。ブラウザーや一部のデスクトップアプリは自動的に従いますが、ネットワーク接続を独自に管理するアプリは無視することがあります。

システムプロキシを有効にしても、すべてのデバイス通信が自動的にクライアントへ入るわけではありません。システムプロキシを使わないプログラムまで対象にする必要がある場合は、TUNモードが適しているか検討してください。

インバウンド(Inbound)

インバウンドはプロキシコアが接続を受け付ける入口で、一般的な設定にはリッスンアドレス、ポート、接続プロトコルが含まれます。システムプロキシでは通常、アプリのリクエストがローカルのHTTPまたはSOCKSインバウンドへ送られます。

ローカルアドレスでリッスンする場合は、通常その端末だけが利用できます。LANからの接続を許可する場合は、リッスン範囲とシステムファイアウォールも同時に確認してください。インバウンドのポートが別のプログラムに使われていると、コアの起動に失敗します。

アウトバウンド(Outbound)

アウトバウンドは、プロキシコアがトラフィックを処理した後の出口です。プロキシサーバーへの接続、対象への直接アクセス、遮断を実行でき、各アウトバウンドには通常、ルーティングルールから参照する個別のラベルがあります。

ノード設定からは通常プロキシ用アウトバウンドが生成され、クライアントは直接接続用と遮断用のアウトバウンドも用意します。ルーティングを読む際は、ルール内のアウトバウンドラベルを実際の定義と照合すると、トラフィックの最終的な行き先が分かります。

DNS

DNSはドメイン名をネットワークアドレスへ変換する名前解決システムです。クライアントでは、問い合わせ先、ドメインマッチングルール、問い合わせ種別、リクエストに使うアウトバウンドを設定し、ルーティングと連携させられます。

接続問題の原因は必ずしもノードとは限らず、ドメインを解決できない場合もリクエストは失敗します。切り分けでは、解決結果が得られていないのか、アドレスは得られたものの後続の接続がタイムアウトしているのかを区別してください。

SNI

SNIはTLSハンドシェイクで接続先のサーバー名を示す情報です。1つのサーバーアドレスで複数のドメインサービスを提供している場合、サーバーはこの名前を基に適切な証明書と接続設定を選択します。

ノードパラメータのSNIは、サーバーアドレスの文字列と必ずしも同じではありませんが、サーバー側の設定に合っている必要があります。勝手に空欄にしたり置き換えたりすると、証明書名の不一致やハンドシェイク失敗につながることがあります。

設定を続けて読む

用語を実際の操作に結び付ける

初回設定では、サブスクリプションのインポート、ノードの選択、プロキシモードの設定から始めるとよいでしょう。完全なJSONを読む必要がある場合は、インバウンド、アウトバウンド、ルーティング、DNSの順に分けて確認します。接続に問題があれば、実行ログで解析、ハンドシェイク、タイムアウト、ルール未適用のどれに該当するかを確認し、対応する用語へ戻って設定を照合してください。

v2rayNをダウンロード