10分で基本設定

v2rayNとv2rayNG設定ガイド

サブスクリプションの追加、プロキシモードの選択、サーバーへの接続、状態確認の4ステップで初回設定を完了します。本記事ではクライアントでよく使う入口と設定項目だけを扱います。プロトコルの違い、コアの関係、複雑なルーティングルールについては、プロトコルマニュアルを参照してください。

v2rayN Windowsデスクトップ v2rayNG Android サブスクリプショングループ システムプロキシとTUN

準備

開始前にクライアントとサブスクリプションURLを確認

操作を始める前に、インストール済みのクライアントと有効なサブスクリプションURLを用意します。Windowsデスクトップではv2rayN、Androidではv2rayNGを使用します。未インストールの場合はインストールパッケージのページでプラットフォームに合ったバージョンを選択してください。サブスクリプションURLは通常、https://で始まるURLです。単一のvmess://vless://共有リンクとは異なり、サブスクリプションURLは更新可能なサーバー設定の集合を指し、共有リンクは通常1つの設定だけを表します。

最初からTUN、Mux、ルーティングルール、コア設定を同時に変更する必要はありません。初回設定の目的は、クライアントがサブスクリプションを読み込めることを確認し、1つのサーバー設定を最も基本的なプロキシ入口で動かすことです。設定は1回に1つだけ変更すると、問題の原因がサブスクリプション形式、サーバー設定、プロキシモード、ローカルソフトウェアの競合のどれか判断しやすくなります。本記事の例では完全なJSONを手入力する必要はなく、各トランスポート項目の詳細にも立ち入りません。すでにネイティブJSON設定を入手している場合や、VMess、VLESS、Trojan、Shadowsocks、REALITYを比較したい場合は、プロトコルとコアの技術リファレンスを参照してください。

Windowsデスクトップの準備

v2rayNを起動し、メインウィンドウが正常に開いてサーバー一覧が表示されることを確認します。システムトレイに別のプロキシアプリがある場合は、複数のアプリが同時にシステムプロキシのポートを変更しないよう、先に終了または一時停止してください。

Windows版のインストールへ →

Androidの準備

v2rayNGを開き、アプリによる接続要求の表示を許可します。システムで初めてVPN接続を確立するときは確認ダイアログが表示されます。これはTUNインターフェースがアプリの通信を引き受けるために必要なシステム権限です。

Android版のインストールへ →

サブスクリプションを追加

サブスクリプショングループを追加してサーバー一覧を取得

最初のステップではサブスクリプションの取得元だけを設定します。サブスクリプション名はローカル用のメモなので、用途が分かりやすい名前を付けます。サブスクリプションURLは完全に貼り付け、先頭や末尾に空白が入らないよう注意してください。保存しただけではサーバー一覧は取得されません。保存後に手動で更新を実行する必要があります。更新が成功すると、クライアントのメイン一覧に1つ以上のサーバー設定が表示され、アドレスのメモ、プロトコル種別、グループ名などを確認できます。

v2rayNでサブスクリプションを追加

v2rayNのメインウィンドウを開き、上部メニューから「サブスクリプショングループ」→「サブスクリプショングループ設定」を選択します。グループの追加を選び、エイリアスまたはメモ欄に分かりやすい名前を入力し、URL欄にサブスクリプションURLを完全に貼り付けて保存します。メインウィンドウに戻り、再び「サブスクリプショングループ」メニューを開いて、「すべてのサブスクリプションを更新」または対象グループの更新コマンドを実行します。初回更新時に利用可能なプロキシがない場合は、「プロキシを使用しない更新」に相当する方法を優先してください。クライアントがサブスクリプションURLへ直接アクセスし、解析した設定をサーバー一覧に書き込みます。

更新完了後は、一瞬で消える通知だけでなくメイン一覧を確認します。一覧にはサーバーのメモ、アドレス、ポート、プロトコルなどの列が表示されます。一覧が空のままなら、サブスクリプショングループ設定に戻り、URLが途中で切れていないか、サブスクリプションURLではなくWebページのURLを貼り付けていないか、グループが有効になっているかを確認します。形式エラーは更新を繰り返しても自動修正されないため、連続して更新ボタンを押さないでください。まずURLをブラウザーのアドレスバーに貼り付けてテキストが返ることを確認し、その後クライアントで再度更新します。

v2rayNGでサブスクリプションを追加

v2rayNGを開き、右上のメニューから「サブスクリプション設定」に入り、追加ボタンをタップします。サブスクリプションのメモとURLを入力して保存し、設定一覧に戻ります。続いてメニューから「サブスクリプションを更新」を選択します。バージョンによっては、更新アイコンや「サブスクリプション設定を更新」と表示される場合があります。更新が完了すると、設定一覧に選択可能な項目が表示されます。通常は各項目にサーバーのメモが表示され、選択中の項目には明確な選択マークが付きます。

v2rayNGでサブスクリプション内容の解析に失敗した場合は、すぐに次へ進まないでください。サブスクリプションがbase64形式の統合データ、単一共有リンクの集合、特定クライアント向けの形式を返している可能性があり、形式によって互換性の範囲は異なります。まず提供元がv2rayNGを明確にサポートしていることを確認し、ログイン状態が必要か、期限切れでないか、コピー時に改行が混入していないかを確認します。共有リンクが1つだけなら「クリップボードからインポート」も利用できますが、自動更新可能なサブスクリプショングループは作成されません。base64、ネイティブJSON、共有リンクの構造上の違いについては、V2Rayサブスクリプション形式詳説を参照してください。

サーバー一覧が表示されたら、まず設定を1つ選択します。ただし、高度な機能をすべて同時に有効にしないでください。次に決めるのは、通信をクライアントのどの入口から取り込むかです。Windowsデスクトップでは通常システムプロキシを先に使い、Androidではシステムの接続許可によってTUNインターフェースを確立します。プロキシ入口とプロトコル種別は別の概念です。VMessやVLESSはサーバーへの接続方式を表し、システムプロキシやTUNはローカルアプリの通信がクライアントに入る方法を表します。

プロキシ入口

システムプロキシ、TUN、ルーティングモードを選択

v2rayNのWindowsデスクトップ版でよく使う入口は「システムプロキシ」と「TUNモード」です。システムプロキシはOSのHTTPおよびSOCKSプロキシ設定を変更するため、ブラウザーやシステムプロキシに対応したソフトウェアなら通常そのまま利用できます。TUNモードは仮想ネットワークインターフェースを作成し、システムプロキシを参照しないソフトウェアの通信も処理できます。初回はシステムプロキシを有効にしてサブスクリプションとサーバーが利用できることを確認し、対象アプリの範囲に応じてTUNへ切り替えるのがおすすめです。これにより接続問題と仮想NIC・権限の問題を分けて確認できます。

v2rayN:まずシステムプロキシの自動設定を使う

v2rayNのメインウィンドウ下部にあるステータスバー、またはシステムトレイメニューから「システムプロキシ」を開き、「システムプロキシを自動設定」を選択します。有効にすると、ステータス表示やトレイアイコンが変化します。クライアントがローカルの待ち受けアドレスをOSのプロキシ設定に書き込むため、一般的なブラウザーではポートを個別に入力する必要はありません。システムプロキシ設定でアドレスやポートを手動変更しないでください。クライアントを終了またはモード切り替えした後も手動設定が残り、後の切り分けを難しくする場合があります。

システムプロキシはルーティングルールと連動し、プロキシ経由で送信するリクエストと直接接続するリクエストを決定します。初回テストではクライアントの既定ルートを使用し、大規模なルールセットを追加する必要はありません。画面に「グローバル」「ルール」「カスタムルーティング」などの項目がある場合は、まず通常のルールモードを選択します。特定のアプリがルールで迂回されているかを調べるときだけ、一時的にグローバルプロキシと比較してください。グローバルプロキシは一致した通信を現在のサーバーへ一律に渡す機能であり、すべてのプログラムがシステムプロキシを読み取ることを意味しません。システムプロキシを無視するソフトウェアではTUNが必要になる場合があります。

v2rayN TUNモードを使うタイミング

対象ソフトウェアがシステムプロキシに対応していない場合や、より多くのTCP・UDP通信をルーティングエンジンに取り込みたい場合は、システムプロキシを無効にして「TUNモード」を有効にします。初回の有効化では管理者権限が必要になったり、関連するネットワークコンポーネントのインストールや起動を求められたりすることがあります。有効化後は既定のスタックとMTUを維持し、厳格ルーティング、DNSハイジャック、カスタムNIC設定を同時に変更しないでください。権限不足と表示された場合は、クライアントを終了し、システムが提供する権限昇格方法で再起動してからTUNだけを有効にします。

システムプロキシとTUNを同時に利用できる構成もありますが、初学者が行うテストでは重ねて有効にしないことをおすすめします。両方を有効にすると、ページが表示できても実際にどの入口から通信が入ったのか判断しにくくなります。まずシステムプロキシで本記事の4ステップを完了し、より多くのアプリを対象にする必要がある場合は、システムプロキシを無効にしてTUNを有効にし、接続と確認を繰り返します。TUNスタック、DNSルーティング、プロセス単位の分流の関係は、プロトコルマニュアルのルーティング章で詳しく扱っています。

v2rayNG:接続許可とルーティング設定を確認

v2rayNGは接続開始時にシステムレベルのTUNインターフェースを確立するため、Windowsデスクトップ版のように「システムプロキシ」を個別に開く必要はありません。初回に起動ボタンをタップするとシステムに接続要求が表示され、確認後にクライアントが指定範囲のアプリ通信を引き受けられるようになります。以前に許可を拒否した場合は、起動ボタンをもう一度タップし、システムの案内に従って確認してください。設定画面の「ルーティング設定」では、宛先ごとの送信先を決めます。初回は既定値を使い、アプリ単位の分流、迂回ルール、カスタムDNSを同時に有効にしないでください。

Muxの多重化は接続に必須ではありません。一部の環境で接続を再利用しますが、適性はサーバー側の対応状況、プロトコルの組み合わせ、アクセスの種類によって異なります。初回設定では既定のままにし、基本接続が安定してから個別に比較してください。REALITYやXTLS Visionなどのプロトコル関連項目もサブスクリプション設定から提供されるため、「最適化」のために手動で書き換える必要はありません。項目の組み合わせが合わないと、サーバーとのハンドシェイクに失敗することがあります。

接続を確立

サーバーを選択して現在の設定を起動

プロキシ入口の準備ができたら、次は現在使用するサーバーを明確にします。サブスクリプションに複数の設定がある場合、クライアントはどれを使うか自動では判断できません。対象の項目を選択してから接続を開始してください。この段階では複雑なノード速度測定にこだわらず、メモが分かりやすくプロトコル項目が揃った設定を1つ選んで接続テストを行います。

v2rayNのアクティブサーバー

v2rayNのメイン一覧でサーバー設定を1つクリックし、Enterキーを押すか、右クリックメニューから「アクティブサーバーに設定」を選択します。アクティブな項目は通常、色、アイコン、ステータス列などで示されます。次にウィンドウ下部のステータスバーを確認し、現在のサーバー名が選択した項目と一致していることを確認します。システムプロキシが自動設定になっていれば、アクティブサーバーに指定した後、クライアントが通常その設定を自動的に読み込みます。下部にコアが実行されていないと表示された場合は、メニューからコアまたはクライアントを再起動します。

続いてログ領域を開きます。正常に起動すると、設定の読み込み、ローカル待ち受けポートの確立、コアの起動完了などが表示されます。ログに表示されるローカルポートは、クライアント内部とシステムプロキシを接続するためのもので、サブスクリプション設定に入力する必要はありません。すぐにfailedinvalidtimeout、またはポート使用中に関する内容が出た場合は、エラーが「設定の読み込み」と「リモート接続」のどちらで発生したかを記録します。設定の読み込み失敗は項目形式やコアの互換性、ポート競合は別のプロキシアプリが動作中であることが原因になりがちです。

v2rayNGの現在の設定

v2rayNGの設定一覧で対象項目をタップして選択状態にし、画面下部の円形の起動ボタンをタップします。初回起動時はシステムのダイアログで接続要求を確認してください。接続が確立するとボタンの状態が変わり、通知領域に実行中の接続状態が表示されます。一覧に戻ったとき、選択マークが先ほどのサーバーに残っていることを確認します。タップ直後に停止する場合は、メニューのログを開き、設定解析、DNS、ハンドシェイク、接続タイムアウトのどこで失敗したかを確認します。

サブスクリプションに複数のサーバーがあり、1つ目に接続できない場合は、別の項目に切り替えて同じテストを行います。ただし、切り替えるたびにアクティブ項目が変更されていることを確認してください。すべての項目のポート、トランスポート方式、TLS項目を一度に変更しないでください。これらはサーバー側の設定で決まります。複数の項目が同じ段階で連続して失敗するなら、サブスクリプション内容、クライアントコア、ローカルのネットワーク入口が原因である可能性が高く、特定の項目だけ失敗する場合は、その設定自体の問題を優先して疑います。

接続を開始したら数秒待ち、DNSとローカル待ち受けの状態が安定してから確認に進みます。状態アイコンが実行中になっただけでは、クライアントプロセスが起動したことしか分からず、リクエストが対象の送信先を通った証明にはなりません。実際の確認では、ページへのアクセス、システムプロキシの状態、クライアントログを同時に観察し、少なくとも2つの情報が一致することを確認します。

状態を確認

システムプロキシまたはTUNが実際に有効か確認

確認にはまず通常のHTTPSページを1つ使用し、複数のブラウザー拡張、コマンドラインツール、特殊なアプリを同時に試さないでください。v2rayNでシステムプロキシを使う場合は、システムプロキシに対応したブラウザーを優先します。v2rayNGでは通常のブラウザーをそのまま利用できます。ページを開いた後、クライアントログに新しい接続記録があるか確認します。ページが表示され、ログにも対象ドメインや送信先への接続が同時に記録されていれば、リクエストはクライアントに入っています。

v2rayNのシステムプロキシ状態を確認

v2rayNでシステムプロキシメニューをもう一度開き、選択中の項目が「システムプロキシを自動設定」であり、「システムプロキシを消去」や「システムプロキシを変更しない」ではないことを確認します。続いてOSのプロキシ設定を確認し、アドレスがローカルの待ち受けアドレスを指し、ポートがv2rayNの現在のローカルポートと一致していることを確認します。ここでは確認だけを行い、手動で上書きしないでください。ブラウザーを長時間開いたままにしていた場合は、ブラウザーのプロセスを完全に終了してから再起動し、システムプロキシ設定を再読み込みさせます。

ブラウザーのページに変化がなく、v2rayNのログにも新しいリクエストがまったくない場合、問題は通常クライアントより前の段階にあります。ブラウザーが独自のプロキシ拡張を使用している、システムプロキシを読み取っていない、別のネットワークツールがシステム設定を上書きしている可能性があります。まずブラウザーのプロキシ拡張を一時的に無効にし、システムプロキシを解除してから自動設定をやり直します。ログにリクエストがあるもののハンドシェイク失敗、接続タイムアウト、リモート切断が発生する場合は、通信はすでにクライアントに入っています。アクティブサーバー、プロトコル項目、ローカルネットワークを重点的に確認してください。

TUNとv2rayNGの状態を確認

v2rayNのTUNまたはv2rayNGを使用する場合は、まずシステムの状態表示で接続が実行中であることを確認します。通常のページを開いてクライアントログを確認し、対象リクエストがルーティングに入っているのにページが読み込み完了しない場合は、DNSとルーティング設定を重点的に確認します。ログにリクエストがない場合は、システムの接続許可が有効か、アプリ単位のプロキシ設定で現在のブラウザーが対象外になっていないかを確認します。初回確認ではアプリ単位のフィルターを無効にして通常の通信をクライアント経由にし、成功後に分流条件を1つずつ追加するのがおすすめです。

正常に確認できた後は、接続を停止するテストも行います。クライアント接続を停止するかシステムプロキシを消去して、先ほどのページを更新し、クライアントログに新しい記録が出なくなることを確認します。これにより、ページが現在のクライアント接続に依存しており、ブラウザーキャッシュ、独立した拡張機能、別のバックグラウンドアプリによるものではないことを確認できます。テスト後は接続を再起動して状態が戻ることを確認します。v2rayNを終了する際にプロキシを使わない場合は、先に「システムプロキシを消去」を選択し、無効になったローカル待ち受けアドレスがシステムに残らないようにします。

サブスクリプション更新と接続は別の処理

サブスクリプションの更新成功は、クライアントが設定一覧を取得して解析できたことを示すだけです。接続が実行中と表示されるのは、コアがアクティブ設定を読み込んだことを示すだけです。ページのリクエストがログに入り正常に完了して、初めて一連の動作確認が成立します。問題が起きたら、一覧に設定があるか、アクティブサーバーが明確か、プロキシ入口が有効か、コアが実行中か、リクエストがログに入っているか、送信が成功したかの順に確認します。前段階の状態を飛ばして、プロトコルを何度も変更しないでください。

日常利用では、定期的にサブスクリプションを更新し、アクティブサーバーを選択してプロキシ入口の状態を確認するだけで十分です。カスタムルーティング、プロセス単位の分流、DNS、Mux、REALITY、コアの変更を行う場合は、設定を1回に1つだけ変更し、変更するたびに本節の確認手順を繰り返してください。プロトコルの選択やコアの互換性については、プロトコルマニュアルを参照してください。

基本的な切り分け

接続できないときの確認手順

まず問題がどの層で発生しているかを特定し、該当する設定だけを変更します。以下では、初回設定でよく起きる中断箇所を確認します。

サブスクリプション一覧が空

サブスクリプション設定を開き直し、URLが完全か、グループが有効かを確認して、手動更新を1回実行します。返された形式を解析できない場合は、そのサブスクリプションが現在のクライアントを明確にサポートしているか確認してください。

クライアント起動直後に停止する

ログを開いて最初のエラーを確認します。設定項目のエラーならサブスクリプションを再更新し、ローカルポートの競合なら他のプロキシアプリを終了してからクライアントのコアを再起動します。

実行中だがログにリクエストがない

v2rayNではシステムプロキシが自動設定になっているか確認してブラウザーを再起動します。TUNを使用している場合は、システムの接続許可とアプリ単位の対象範囲を確認してください。

ログにリクエストはあるが接続に失敗する

サブスクリプション内の別のサーバーに切り替えて、1項目ずつ比較します。複数の設定で同じように失敗する場合は、コアの互換性、DNS、プロトコル項目を確認し、サブスクリプション内容を手動で一括変更しないでください。