設定項目とパラメーターの解説

V2Ray用語集

プロトコルやコアから、サブスクリプション、プロキシモード、ルーティングまで。設定で見かけたキーワードを調べ、概念を理解してからパラメーターを変更しましょう。

「クライアントとコア」から読み始め、次にプロトコル、サブスクリプション、プロキシの対象範囲を確認すると理解しやすくなります。インポートや接続の失敗、想定外のルーティングは、それぞれ別の段階で起きている場合があります。用語だけで原因を判断しないようにしましょう。

初期設定:入門ガイドを見る →
接続パラメーター

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

プロキシプロトコル、トランスポート方式、セキュリティ層は組み合わせて使います。名称が似ていても、パラメーターを相互に使えるとは限りません。

VMess
Project Vのエコシステムで使われるプロキシプロトコルです。ユーザーIDなどのパラメーターで認証し、複数のトランスポート方式を組み合わせられます。クライアントとサーバーの認証、トランスポート、安全性に関する設定を一致させる必要があり、時刻のずれが認証に影響する場合もあります。インポート後に接続できない場合は、サーバーアドレスだけでなく設定全体を確認してください。
VLESS
軽量なプロキシプロトコルで、プロトコル自体にデータ暗号化機能はありません。通常はTLSやREALITYなどのセキュリティ層と組み合わせます。インポート時は、ユーザーIDだけでなく、トランスポート方式、セキュリティ関連のパラメーター、flowも確認してください。VLESSに対応していても、あらゆる拡張機能との組み合わせが使えるとは限りません。コアの対応状況も確認しましょう。
Trojan
通常、TLSによる安全な接続とパスワード認証を使用するプロキシプロトコルです。パスワード、サーバー名、証明書の検証が接続結果に影響するため、アドレスが正しくてもハンドシェイクに失敗する場合があります。証明書エラーが発生したら、サーバー名、システム時刻、サーバー証明書を確認してください。証明書の検証を無効にする方法を、常用の解決策にしないでください。
REALITY
Xrayのエコシステムで使われるトランスポート層のセキュリティ方式で、VLESSと組み合わせて使われることが多く、単独のプロキシプロトコルではありません。サーバーの公開鍵、サーバー名、shortIdなどのパラメーターをサーバー側の設定と一致させる必要があります。項目名はコアやクライアントのバージョンによって異なります。画面でREALITYを選択するだけでは、不足しているサーバー側のパラメーターは補えません。
役割と仕組み

コアとエコシステム

v2rayN、v2rayNG、v2flyNGはクライアント名です。XrayとV2Flyはコアに関する用語です。

Project V
ネットワークプロキシツールや関連プロトコルを中心とするプロジェクトと技術エコシステムの名称です。クライアントは操作用のGUIを提供し、コアは接続やルーティングの設定を実行します。エコシステムの名称は、そのままインポートできる特定のノード設定を指すものではありません。役割の違いを理解すると、「画面の操作方法」と「プロトコルのパラメーター要件」を区別しやすくなります。
V2Fly
V2Rayの技術路線を引き継ぐコミュニティプロジェクトで、プロキシコアや関連コンポーネントを開発しています。v2flyNGはV2Flyコアを採用したAndroidクライアントですが、他のコアが持つすべての拡張機能に対応するとは限りません。クライアントを選ぶ際は、まずサブスクリプションで必要なプロトコルとトランスポートの組み合わせを確認し、次に使い慣れた操作方法を考慮しましょう。
Xray
V2Rayの技術エコシステムに関連するプロキシコアで、VLESSやREALITYなどのプロトコルとセキュリティ方式に対応しています。v2rayNGはXrayを使用しますが、実際に利用できる項目は、クライアントに組み込まれたコアのバージョンにも左右されます。設定の説明を読む際は、対象となるコアと機能の範囲を確認し、別のコア向けの項目をそのままコピーしないようにしましょう。
コア
プロトコル処理、接続の確立、DNS、ルーティングルールを実行する、クライアントの基盤となるプログラムです。GUIの設定は通常、コアの設定に変換されます。そのため、画面に項目が表示されていても、現在のコアがその機能に対応しているとは限りません。起動エラーが発生したら、まずログの設定解析に関するメッセージを確認し、項目またはコアの互換性が原因かを判断してください。

プラットフォームとコアからクライアントを選ぶ →

プロキシの入口

クライアント機能

これらの機能は、リクエストをどのようにクライアントへ渡すかを決めます。クライアントに渡った後、どの出口を使うかとは分けて考えましょう。

システムプロキシ
OSのプロキシ設定をクライアントのローカルリスニングアドレスに向け、その設定に従うアプリからのネットワーク通信を受け付けます。すべてのアプリの通信を取り込む機能ではありません。ゲーム、コマンドラインツール、独自にプロキシを設定したアプリは、この入口を使わない場合があります。クライアントを終了する前にシステムプロキシが元に戻っているか確認し、停止したローカルポートへの接続が残らないようにしてください。
PAC
リクエスト先のアドレスなどの条件に応じて、対応アプリにプロキシ接続か直接接続かを返す自動設定スクリプトです。PACはアプリがプロキシの入口を選ぶ段階で機能し、リクエストがコアに渡った後のルーティングルールとは異なるレイヤーで動作します。アプリがシステムのPAC設定を無視する場合、スクリプトを変更してもそのアプリの接続経路は変わりません。
TUNモード
仮想ネットワークインターフェースを通じて、システムのルーティング条件に合う通信を受け取り、クライアントで処理する方式です。通常は追加の権限が必要で、システムのルーティングやDNS設定にも依存します。有効にしても、すべての接続がプロキシ経由になるわけではありません。他の仮想ネットワークツールと併用する場合は、インターフェースやルートが競合していないか確認してから、項目ごとに調整してください。
FakeDNS
ドメインに対応するマッピング用アドレスを返し、そのアドレスとドメインの対応関係を保持する仕組みです。後続の処理で接続先のドメインを識別しやすくなります。通信の取り込みやコアの処理と連携させる必要があり、返されたマッピング用アドレスを接続先サーバーの実アドレスと混同しないでください。問題を調べる際はDNSキャッシュも考慮し、方式を切り替えた後も古いマッピングが使われていないか確認しましょう。
設定の取得元

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

設定の取得、整理、接続確認はそれぞれ別の操作です。サブスクリプションの更新に成功しても、接続テストに合格したとは限りません。

サブスクリプション
クライアントがURLから接続設定の一覧を取得・更新する方式です。内容や形式は提供元によって異なります。サブスクリプションURLには認証情報が含まれる場合があるため、スクリーンショット、チャット、ログなどに全文を掲載しないでください。更新に成功しても、設定を取得できたことを示すだけで、すべてのノードに接続できるとは限りません。また、サブスクリプションの内容は変更される場合があります。
ノード
クライアントに登録された接続設定の1つで、通常はサーバーアドレス、ポート、プロトコル、認証、トランスポートやセキュリティのパラメーターを含みます。ノード名は表示用のラベルにすぎず、実際の出口の地域や通信経路、接続の可否を示すものではありません。ノード名を変更しても通常は接続パラメーターに影響しませんが、サブスクリプションから作成された設定を直接編集すると、次回の更新で上書きされることがあります。
サブスクリプショングループ
サブスクリプションごとに接続設定をまとめる管理単位です。更新、絞り込み、削除がしやすくなります。通常、グループ名が影響するのは管理画面上の表示であり、ノードのルーティングルール、出口、プロキシの対象範囲が自動で変わることはありません。手動で追加した設定とサブスクリプションの設定は分けて整理し、グループを削除する前に、どの項目に影響するか確認してください。
実接続遅延
ノード経由で実際に接続またはリクエストを行った際の所要時間です。測定範囲はクライアントのテスト方法によって異なります。単純なポート疎通確認より実際のアクセスに近い指標ですが、帯域幅や安定性、すべてのWebサイトでの速度を直接示すものではありません。結果を比較する際は、テスト対象、ネットワーク環境、測定方法をそろえてください。タイムアウトが発生した場合はログも確認しましょう。
条件の照合と出口

ルーティングと振り分け

最終的な通信経路は、ルールの条件と順序、データファイル、デフォルトの出口によって決まります。ルールを1つだけ見ても、全体の動作は判断できません。

ルーティングルール
ドメイン、IP、ポートなどの条件に応じて、接続の出口を選択する設定です。XrayやV2Rayの一般的なルールは上から順に評価され、通常は最初に一致したルールで出口が決まります。一致するルールがない場合の処理は、デフォルトの動作も確認してください。ルールが参照するoutboundTagは、実際に存在する出口タグと一致させる必要があります。ルール名だけでは振り分けは行われません。
ルーティング振り分け
接続ごとに、直接接続、プロキシ接続、ブロックなどの処理経路を割り当てる方法です。通信の出口をどう選ぶかを示すものであり、システムプロキシやTUNで通信をクライアントに渡す仕組みとは別の問題です。「中国本土を迂回する」設定も、具体的なルールを組み合わせたものです。実際の対象範囲は、クライアントが生成した設定と使用するルールデータを確認してください。
GeoIP
ラベルごとにIPアドレス範囲をまとめたデータセットで、ルーティングルールのIPマッチングに使われます。たとえばgeoip:privateはプライベートアドレス範囲の照合によく使われ、ルールによって対応する出口が決まります。分類結果はデータの提供元や更新状況によって異なります。IP分類ラベルを正確な位置情報として扱ったり、ドメインがどのサービスに属するかを判断したりすることはできません。
GeoSite
ラベルごとにドメインルールをまとめたデータセットで、コアがサイトやサービスの種類に応じてリクエストを判定する際に使われます。例:geosite:cn。照合対象はサーバーのIPではなくドメインルールです。判定されるかどうかは、該当ラベルの有無や、コアが接続先ドメインを取得できるかにも左右されます。サービスによっては別のドメインを使うリソースもあるため、Webサイトのメインドメインだけからすべての通信経路を推測することはできません。

使い方ガイドのルーティング解説を読む →

名前解決と接続

ネットワークの基礎

アクセス時には、名前解決、接続の確立、認証、データ転送などが行われます。どの段階でエラーが発生したかによって、確認すべき箇所が変わります。

DNS
ドメイン名などの問い合わせを対応するレコードに変換するシステムです。接続に必要なIPアドレスの取得に使われます。ブラウザー、OS、クライアントがそれぞれ名前解決を行う場合があるため、接続障害の際はDNSの失敗と、その後の接続失敗を切り分けてください。暗号化DNSを有効にしても、関連するDNSクエリの通信方法が変わるだけで、他のプログラムのクエリが自動的にその経路に切り替わるわけではありません。
DNSリーク
DNSクエリが想定した名前解決経路を使わず、別のリゾルバーやネットワークインターフェースで処理される現象です。判断するには、想定していたポリシーと実際のクエリ送信元を確認してください。出口IPや名前解決結果の地域だけで結論を出すことはできません。ブラウザー独自のDNS、システムリゾルバー、クライアントのDNS設定を確認する際は、どのクエリを直接接続にする予定だったかを先に整理しましょう。
ローカルリスニング
クライアントがローカルのアドレスとポートで、他のアプリからのリクエストを受け付ける入口です。SOCKSやHTTPがよく使われます。アプリ側で指定するプロキシの種類、アドレス、ポートを、実際のリスニング設定に合わせてください。異なる種類のポートを任意に入れ替えることはできません。ループバックアドレスで待ち受ける場合、通常は同じ端末からのみアクセスできます。別のインターフェースで待ち受ける場合は、ファイアウォール、認証、アクセス範囲も考慮してください。
TLS
通信の暗号化、認証、完全性保護を行うセキュリティプロトコルです。証明書、サーバー名、システム時刻がハンドシェイクに影響する場合があります。TLSの設定は、プロキシプロトコル自体の認証パラメーターの代わりにはなりません。エラーが発生した場合は、まず時刻、サーバー名、証明書チェーンを確認し、ネットワーク接続の問題と認証の失敗を切り分けてください。

用語を理解したら設定へ

初めて使う場合は、手順に沿ってサブスクリプションをインポートし、接続を確認しましょう。設定済みの環境で問題が起きた場合は、まずエラーが発生した段階を記録してから、該当する設定を確認してください。ログを共有する前に、サブスクリプションURLや認証情報などの機密情報を削除してください。