01 / PREPARATION
事前準備
クライアント・コア・サーバー設定の違い
クライアントはノードの表示、サブスクリプションの保存、ルーティングの選択、接続の開始を担います。コアはプロトコル処理、暗号化通信、トラフィック転送を行います。サーバー設定には接続先のアドレス、ポート、認証情報が含まれます。クライアントをインストールしただけでは接続できません。事前に有効なサブスクリプションURL、または必要なノード情報一式を用意し、通常のWebサイトにアクセスできるネットワーク環境であることも確認してください。
デスクトップではv2rayN、Androidでは通常、Xrayコアを使うv2rayNGが第一候補です。設定がV2Flyに明確に依存している場合は、v2flyNGを検討してください。VLESS、VMess、Trojanはそれぞれ異なるプロトコルです。REALITYは通信のセキュリティに関わる設定であり、名前が似ているからといって設定項目を置き換えることはできません。対応範囲は具体的なビルドにも左右され、インポートできてもすべての項目が動作するとは限りません。
OS・アーキテクチャ・権限を確認する
システム情報でプロセッサのアーキテクチャを確認してから、クライアントのダウンロードページでパッケージを選びます。OSとアーキテクチャの両方を合わせてください。同じデスクトップOSでも、x64とarm64に分かれる場合があります。ファイルサイズだけで互換性を判断しないでください。インストール前に空き容量を確認し、現在のアカウントにアプリをインストールする権限があるか確認します。仮想ネットワークインターフェースが必要な場合は、必要な管理者権限も確認してください。
まず、日時とタイムゾーンをシステムに自動設定させます。時刻がずれていると証明書の検証に影響したり、時刻条件のあるプロトコル認証に失敗したりすることがあります。長時間スリープしていた端末、システムスナップショットから復元した端末、オフラインで保管していた端末では、特に確認してください。次に、ネットワーク接続にログイン認証が必要か確認します。ネットワーク自体に接続できていない状態でノード設定を何度も変更しても、解決しないことがあります。
初回設定の前に、ネットワークを制御している他のプロキシやトンネルソフトを終了してください。複数のソフトが同じローカルポートを使おうとしたり、システムプロキシ、デフォルトルート、DNSを同時に変更したりする場合があります。クライアントを1つだけ動かせば、ログと実際の通信を照合しやすくなります。職場のネットワークで統一ルールが定められている場合は、利用範囲を事前に確認してください。管理ルールを回避する目的でシステム設定を変更しないでください。
最小構成で接続を確認する
まずシステムプロキシで接続し、その後にTUNを試してください。システムプロキシの影響を受けるのは、通常、システム設定を参照するアプリに限られるため、問題の範囲を絞りやすくなります。TUNはより広い範囲の通信を取り込み、仮想ネットワークインターフェース、権限、ルーティングの問題も加わります。どちらの方式でも、利用可能な接続先ノードが必要です。基本接続が確立していない段階で高度な設定をすべて有効にすると、原因の切り分けが難しくなります。
クライアントに表示されるローカルアドレスと待ち受けポートを記録し、HTTP、SOCKS、混合プロキシの入口を区別してください。ポート番号は実際の設定を使い、他の端末のスクリーンショットをそのまま参考にしないでください。ループバックアドレスは同じ端末内で使うもの、LANアドレスは他の端末からアクセスするためのものです。用途は異なります。初回設定ではローカルの待ち受けにとどめ、「LANからの接続を許可」は有効にしないでください。
接続確認では、クライアントがコアを起動できるか、アプリが通信をローカルの入口に渡しているか、接続先から応答があるかの3点を確認します。通知領域のアイコン、接続スイッチ、速度測定の結果だけでは、接続経路全体が正常とは判断できません。以降は一度に1項目だけ変更し、変更前の値と再現手順を記録してください。失敗したときに元の状態へ戻しやすくなります。
既存の環境がある場合は、インストールや更新の前に設定をエクスポートするか、アプリのデータをバックアップしてください。バックアップにはサブスクリプションやノードの認証情報が含まれる場合があるため、安全な場所に保管します。本ページでは設定機能の名称を使って説明しており、ビルドごとのメニュー配置が同一とは限りません。画面が異なる場合は、ボタンの位置ではなく該当する項目を探してください。
02 / WINDOWS
Windowsのインストールと設定
デスクトップ版と従来のWPF版、どちらを選ぶ?
Windowsのダウンロードを開き、v2rayNのカードからデスクトップ版または従来のWPF版を選びます。デスクトップ版はクロスプラットフォームのUIを採用し、WPF版は従来のWindows向けUIを維持しています。どちらもノード、サブスクリプション、プロキシの設定に使えます。初めて使う場合はデスクトップ版から始めるとよいでしょう。WPF版に慣れている場合は従来の手順を選べます。UIの違いを理由に、両方を同時に起動する必要はありません。
ダウンロード後、インストーラーの案内に従ってインストール先を選びます。現在のアカウントで書き込み可能な場所にし、一時ダウンロードフォルダーや同期ソフトによって頻繁に移動される場所は避けてください。起動時にランタイム不足のメッセージが表示されたら、必要なコンポーネント名とアーキテクチャを確認し、ダウンロードページの説明に従って導入します。エラー画面だけからバージョンを推測したり、別のPCにある実行ファイルを適当にコピーしてインストール先へ上書きしたりしないでください。
サブスクリプションを登録して接続ノードを選ぶ
v2rayNを起動し、「サブスクリプショングループ設定」を開いて、新しいグループを作成し、備考とサブスクリプションURLを入力します。備考は登録元を識別するためのもので、接続認証には使われません。保存後、「プロキシを経由せずにサブスクリプションを更新」を実行します。現在のネットワークからURLへ直接アクセスできる場合に使える方法です。サービス提供元が既存のプロキシ経由での更新を案内している場合は、まず接続を復旧してから更新方法を切り替えてください。
更新後、サブスクリプションのログとノード一覧を確認し、追加された項目が先ほどのグループに含まれているか確認します。ノードを選択して接続先に設定し、コアが正常に起動するか確認してください。「サブスクリプションの更新に成功しました」という表示だけで判断しないでください。通常は取得と解析が完了したという意味であり、ノードの接続先、通信パラメーター、サーバーの状態は実際にリクエストを送って確認する必要があります。
まずシステムプロキシを設定し、アプリごとの差を確認する
通知領域のメニューで「システムプロキシを自動設定」を選び、ブラウザーで接続を確認します。ブラウザーを起動したまま設定した場合は、関連するウィンドウを閉じてから再起動し、既存の接続やキャッシュの影響を減らしてください。すべてのアプリがシステムプロキシに従うわけではありません。コマンドラインツール、ダウンロードツール、独自のネットワークスタックを使うアプリでは、個別にプロキシを設定するか、TUNを使う必要があります。
他のアプリで個別にテストする場合は、v2rayNの設定画面に表示されたループバックアドレスと対応するポートを入力し、正しいプロキシ方式を選んでください。SOCKSのポートをHTTPプロキシの欄に入力すると、接続開始直後に失敗することがあります。アプリに「システムプロキシを使用」の設定があれば、まずはそのままにして、システム設定とアプリ側の設定が食い違わないようにしてください。
TUNの権限とWindows特有の問題
システムプロキシを参照しないアプリの通信も取り込む場合は、「TUNモード」を有効にします。クライアントの案内に従って必要な権限を付与し、仮想ネットワークインターフェースとルートが作成されたか確認してください。有効にしたら、先ほど接続できたブラウザーで再テストし、その後に対象アプリを確認します。基本接続がすぐに切れた場合は、TUNを無効にして元の状態に戻し、権限、インターフェースの作成、アドレスの競合に関するログを確認してください。
セキュリティソフトが、コアの起動やネットワークインターフェースの作成を制限することがあります。ブロックの通知が出たら、実際のインストール元とブロックされた操作を確認し、組織のルールに従って対応してください。システム全体の保護を無効にしないでください。Windowsファイアウォールでは、ローカル端末からの利用とLANからの受信接続を区別します。自分の端末だけでプロキシを使う場合、トラブル対応のためにすべてのネットワークで受信を許可する必要はありません。
スリープからの復帰、Wi-Fiの切り替え、有線から無線への変更後に接続が戻らない場合は、まずプロキシを停止して再起動し、ローカルの待ち受けとデフォルトルートを確認します。スタートアップも実際にテストしてください。デスクトップ画面が自動で表示されても、管理者権限が必要なTUNが有効になったとは限りません。無人運用が必要な場合は、クライアントが提供する起動方法を使い、起動時の通知ダイアログを接続完了と見なさないでください。
更新前に設定をバックアップし、現在のプロセスを終了してからインストールします。ファイルが使用中と表示された場合は、インストーラーを何度も起動せず、通知領域でプロセスが残っていないか確認してください。更新後は接続先ノードとプロキシモードを確認してから、カスタムルーティングを戻します。コアが起動しない場合は、コア起動失敗時のログ確認方法も参照し、最初に発生した有効なエラーから原因を特定してください。
03 / MACOS
macOSのインストールと設定
チップに合わせてインストール方法を選ぶ
システムの「このMacについて」を開き、「チップ」または「プロセッサ」の項目を確認してから、macOSのダウンロードを開きます。Apple Siliconではarm64、Intelプロセッサではx64を選択してください。原則として本体のアーキテクチャに合ったパッケージを使い、互換モードでの実行を前提にしないでください。アーキテクチャが一致しない場合、起動失敗とコアの子プロセス起動失敗では異なるメッセージが表示されることがあります。
ダウンロードしたディスクイメージを開き、画面の案内に従ってv2rayNを「アプリケーション」へ移動し、その場所から起動します。一時的にマウントしたイメージから長期間実行しないでください。更新先、書き込み権限、起動項目に一貫性がなくなる場合があります。初回起動の前に古いインスタンスを終了してください。アプリの保存場所を移動した場合は、Dockや起動項目が古いコピーを参照していないかも確認します。
システムのセキュリティ警告で起動を止められた場合は、まずファイルの入手元と具体的な警告内容を確認し、「システム設定」の「プライバシーとセキュリティ」を確認してください。入手元を確認したうえで、システムが案内する方法で対処します。システム権限を再帰的に変更したり、セキュリティ機能全体を無効にしたりすることを、通常のインストール手順にしないでください。アーキテクチャやランタイムに関する明確なエラーがある場合は、該当する依存関係を解決します。すべてのエラーをセキュリティによるブロックと決めつけないでください。
サブスクリプションの登録とネットワークサービスのプロキシ設定
「サブスクリプショングループ設定」にURLを入力して保存し、現在のネットワークに適した方法で更新します。ノードが表示されたら接続先を選び、コアのログを確認してください。サブスクリプションは更新できてもノードに接続できない場合は、サブスクリプションの取得経路とノードの接続経路を分けて確認します。異なるドメイン、ポート、ネットワーク経路を使う場合があるため、一方の成功から他方も正常とは判断できません。
システムプロキシを有効にするときは、システムから求められる認証を確認してください。macOSのプロキシ設定はネットワークサービスに関連し、Wi-Fiと有線のインターフェースで別々の設定が保存される場合があります。ネットワークを切り替えた後、一部のアプリだけ接続できなくなった場合は、現在のネットワークサービスのプロキシ設定を開き、アドレスとポートがv2rayNのローカル待ち受け先になっているか確認します。以前インストールした別のコピーを参照していないかも確認してください。
ブラウザーで接続できたら、対象アプリがシステムプロキシを参照するか確認します。個別設定が必要なアプリでは、対応するプロキシ方式を選び、ループバックアドレスと実際のポートを入力してください。プロキシ設定が正しいのに接続できない場合は、既存の接続を解放するためにアプリを再起動します。システムプロキシ、アプリのプロキシ、環境変数に異なるポートを同時に設定すると、起動方法によって結果が変わるため避けてください。
TUNとネットワーク切り替えの確認手順
TUNを有効にする前に現在の設定を保存し、通常のプロキシ接続が使えることを確認します。TUNは仮想ネットワークインターフェースとルートを作成するため、通常のウィンドウ操作とは異なる権限が必要です。その時点でクライアントに表示される案内に従って権限を付与してください。画面では有効になっていてもログに権限エラーが残る場合、通信を正常に取り込めていないと判断します。スイッチの表示だけで成否を決めないでください。
TUNを有効にして通常のWebサイトにもアクセスできなくなった場合は、まずTUNを無効にし、以前使えていたシステムプロキシの経路に戻します。その後、ルートの作成、DNSの処理、他のトンネルソフトとの競合を確認してください。企業ネットワークやリモートワーク用のトンネルには独自のルートが使われる場合があるため、管理者の許可を得て設定します。既存のネットワーク環境に影響するおそれがあるため、用途の分からないシステムネットワークサービスを削除しないでください。
スリープから復帰した後は、古い接続が無効になったネットワークインターフェースを参照している場合があります。まず接続を停止してコアを再起動し、必要に応じて対象アプリも再起動して、新しいリクエストが発生するか確認してください。特定のブラウザーだけに問題がある場合は、そのブラウザーのセキュアDNS、プロキシ拡張機能、個別設定を確認します。システム全体の接続が復旧しているなら、すぐにクライアントを再インストールする必要はありません。
更新や移行の前に、サブスクリプションとカスタムルールをエクスポートし、現在の待ち受けポートを記録します。新規インストール後に設定が読み込めることを確認してから、自動起動とTUNを1項目ずつ戻してください。Windowsのバックアップから移行する際、ディスク上のパスや起動コマンドをそのまま引き継がないでください。ノード情報は複数のプラットフォームで再利用できても、アプリの保存場所、補助権限、ネットワークインターフェースは端末ごとに確認が必要です。
04 / LINUX
Linuxのインストールと設定
パッケージ形式・アーキテクチャ・デスクトップ環境
Linuxのダウンロードを開き、まずディストリビューションのパッケージ形式に合わせてdebまたはrpmを選び、次にプロセッサに合わせてx64またはarm64を選択します。パッケージ形式とアーキテクチャは別々の条件です。アーキテクチャが合っていても、対応していない形式のパッケージを本機のパッケージ管理ツールで使うことはできません。デスクトップクライアントには利用可能なGUIセッションが必要です。サーバーのターミナル環境はデスクトップ環境とは異なります。
インストール前に、ターミナルでマシンのアーキテクチャとシステム情報を確認できます。以下のコマンドは環境の確認だけを行い、ネットワーク設定は変更しません。一般的な出力では、x86_64はx64、aarch64は通常arm64に対応します。ディストリビューション情報はパッケージ形式と依存関係の確認に使います。最低対応OSのバージョンを推測せず、ダウンロードページの説明と実際のインストールエラーを確認してください。
uname -m
cat /etc/os-release
デスクトップのソフトウェアインストーラー、またはディストリビューションのパッケージ管理ツールを使ってインストールします。依存関係が不足している場合は、本機のパッケージ管理機能で適切なパッケージを処理してください。他のディストリビューションから共有ライブラリをコピーしたり、異なるアーキテクチャのファイルをシステムディレクトリに混在させたりしないでください。インストール後は通常のデスクトップユーザーとして起動し、画面とコアが正常に動作することを確認してから、追加のネットワーク権限を設定します。
設定のインポートとデスクトッププロキシの設定
v2rayNの「サブスクリプショングループ設定」を開き、グループを作成してURLを入力し、更新します。接続先ノードを選択したらログを確認し、コアが正常に起動したか確かめてください。画面は表示されるのに子プロセスの起動に失敗する場合は、依存関係、実行権限、作業ディレクトリを重点的に確認します。GUIの起動時とコアの接続時では、エラーへの対処方法が異なるため、具体的なエラーを記録してください。
Linuxデスクトップのシステムプロキシの仕組みは一様ではありません。クライアントがプロキシ設定を書き込んでも、参照するデスクトップアプリもあれば、独自の設定を使い続けるアプリもあります。まずプロキシを明示的に選択できるブラウザーやツールで確認し、システムプロキシが有効か判断してください。ターミナルのコマンドが直接接続したからといって、ノードに問題があるとは限りません。ターミナルのプログラムでは、プロキシ環境変数も確認する必要があります。
コマンドラインツールにプロキシを設定する場合は、対応する環境変数とプロキシ方式を調べ、本機で実際に待ち受けているポートを指定します。Web上の例にある固定ポートを、全体設定の起動ファイルにそのまま書き込まないでください。まず一時的なプロセスで動作を確認し、成功してから永続化します。クライアントが起動していないときに環境変数を引き継ぐツールが、存在しないローカルサービスへ接続しようとするのを防げます。
TUNの権限と待ち受け状態の確認
TUNには通常、トンネルデバイスへのアクセスとルート変更の権限が必要です。まず通常のプロキシ接続が使えることを確認し、クライアントが対応する方法で権限を設定してください。ディストリビューションによって権限ポリシーやデスクトップ認証コンポーネントは異なります。GUI全体を常に管理者権限で実行することを標準の対処にしないでください。ログに権限不足が記録されている場合は、失敗した操作を特定します。接続先ノードを何度も切り替えても解決しません。
ローカルポートが競合している場合は、以下のコマンドでTCPの待ち受け状況を確認し、v2rayNの設定にあるアドレスとポートを照合できます。プロセス情報の表示範囲は、現在のユーザー権限によって異なります。この確認で分かるのは「何が待ち受けているか」だけです。接続先サーバーが使えるか、アプリがリクエストをその入口へ送っているかは分かりません。実際の通信経路はリクエストログとあわせて確認してください。
ss -ltnp
TUNを有効にした後、ドメイン名では接続できないものの既知のIPアドレスには応答がある場合は、DNSの経路とシステムの名前解決サービスとの連携を確認します。システムの名前解決設定をネットワーク管理サービスが管理している場合、設定ファイルを手動で上書きしても再接続時に無効化されることがあります。まず現在有効な設定を確認し、該当する管理画面から変更してください。互いに上書きし合うDNS設定を二重に管理しないようにします。
デスクトップセッションやネットワークの切り替え、スリープからの復帰後は、プロキシ環境変数、待ち受けポート、ルートをあらためて確認します。自動起動が有効でも、権限昇格が必要な処理まで自動で完了するとは限りません。更新前に設定をエクスポートし、更新後は通常のプロキシ接続を確認してから、TUNとカスタムルールを戻します。問題が起きた場合は、パッケージ管理ツールとクライアントの両方のログを残し、インストール失敗か実行時の問題かを切り分けてください。
05 / ANDROID
Androidのインストールと設定
v2rayNGとv2flyNGの選び方
Androidのダウンロードを開き、まずXrayコアを搭載するv2rayNGを確認します。設定がV2Fly系を明確に前提としている場合は、v2flyNGを代替候補として選べます。両者は同じアプリのテーマ違いではありません。プロトコルの対応状況や設定項目の互換性も同一とは限りません。特にREALITYやVisionの設定を使う場合は、選んだコアがその組み合わせに対応していることを事前に確認してください。
ダウンロードページにはarm64版と汎用版があります。比較的新しい一般的な端末ではarm64を候補にできますが、最終的にはシステムのアーキテクチャに合わせてください。アーキテクチャが分からない場合は、汎用版の説明を確認します。インストールに失敗したときは、システムのメッセージを読み、アーキテクチャの不一致、ストレージ不足、既存アプリとの競合を切り分けてください。すべてのインストールエラーをダウンロード時のネットワーク問題と決めつけないでください。
初回インストールでは、インストールに使うブラウザーまたはファイル管理アプリに、必要なアプリのインストール権限を付与します。完了後、必要に応じてその提供元の許可を取り消せます。同じ名前のアプリがすでにある場合は、更新前に設定をバックアップしてください。インストール元や署名の互換性に関する警告が出ても、すぐに古いアプリを削除しないでください。アンインストールすると、ローカルのグループ、カスタムルール、エクスポート前の設定が失われる場合があります。
サブスクリプションの登録・更新と接続の許可
クライアントの「サブスクリプショングループ設定」で新しいサブスクリプションを追加し、備考とURLを入力して保存した後、更新します。更新メニューの位置はビルドによって異なり、メインメニューやグループメニューにある場合があります。機能名を目印に探してください。クリップボードからノードの共有リンクを1件インポートする場合は、内容がすべてコピーされているか確認します。サブスクリプションURL、ノード共有リンク、完全なJSON設定は別の形式なので、インポート画面を使い回さないでください。
更新後に接続用の設定を選び、接続をタップします。AndroidではVPN接続の許可を求められます。この許可はローカルで通信を取り込むためのもので、接続先ノードに到達できることを意味しません。接続アイコンが表示されても、テスト先へアクセスしてログを確認してください。システムですでに別のVPN接続が動作している場合、新しい接続に置き換わることがあります。両者の利用関係を事前に確認してください。
通常の接続では、システムが提供するVPNインターフェースを使って通信を取り込みます。デスクトップ版のシステムプロキシやTUNの設定操作をそのまま適用する必要はありません。アプリに複数の動作モードがある場合は、使用中のビルドの説明に従って選択してください。デスクトップのメニューを再現しようとして存在しない項目を探したり、システムにVPNアイコンが表示されたことだけでノード認証やルーティングの確認を省略したりしないでください。
バックグラウンド動作・アプリごとのルーティング・ネットワーク切り替え
画面消灯後に接続が切れる場合は、バッテリー最適化、バックグラウンド動作、自動起動の制限を確認します。システムのアプリ管理画面でクライアントに適切なバックグラウンド実行条件を設定し、画面をロックして復帰できるかテストしてください。設定後はバッテリー消費と接続の必要性も確認し、必要のない権限まで一度に許可しないでください。通知が常時表示されることは接続維持に関係しますが、通知があるだけでは接続先が利用可能とは判断できません。
アプリごとのルーティングでは、「選択したアプリだけをプロキシ経由にする」と「選択したアプリをプロキシから除外する」を区別します。2つの設定は対象が逆です。リストを変更した後は接続を停止して作り直し、テストするアプリも再起動して既存接続の影響を減らしてください。ブラウザーは使えるのに特定のアプリだけ接続できない場合は、アプリの振り分けリスト、アプリ固有のプロキシ設定、ネットワーク権限を先に確認します。すぐにクライアントを再インストールする必要はありません。
ネットワーク切り替え後は、既存の接続を作り直す必要がある場合があります。いったん切断して再接続し、ログに新しいリクエストが記録されるか確認してください。それでも失敗する場合は、現在のネットワーク自体が本当に接続できているかを確認します。大きなリクエストや一部のアプリだけに問題がある場合でも、MTUを手当たり次第に変更しないでください。まずノード、DNS、ルーティングの違いを切り分け、再現条件をもとにパケットサイズの問題かどうか判断します。
v2rayNGからv2flyNGへ移行する場合は、アプリの個人データを直接上書きせず、サブスクリプションを再インポートしてください。元のアプリ設定を残し、新しいクライアントで対象プロトコルを解析・実行できることを確認してから整理します。コアの対応範囲については、XrayとV2Flyのコアの違いも参照してください。名称の類似性ではなく、必要な設定項目に対応しているかで選びます。
06 / SUBSCRIPTIONS
サブスクリプション管理と設定の移行
URL・共有リンク・設定ファイルを見分ける
サブスクリプションURLは複数の設定を取得するためのものです。ノード共有リンクは通常、単一の接続を表します。完全なJSONには、インバウンド、アウトバウンド、ルーティング、DNSなどが含まれる場合があります。インポート前に形式を確認し、適切な画面を選んでください。WebページのURLをノードとして読み込んだり、完全な設定をサブスクリプション欄に貼り付けたりすると、解析に失敗することがあります。プロトコル名で始まるテキストでも、後続の形式が完全か確認してください。
登録元ごとにサブスクリプショングループを作成し、用途と管理範囲が分かる備考を付けます。グループはリモートアカウントではないため、備考を変更してもサービスの権限は変わりません。URLのクエリパラメーターが認証に使われる場合があるため、コピー時はすべて保持し、チャットアプリによる切り詰めや余分な空白の追加を防いでください。URLを手動で編集する前に元の値を保存し、不要に見えるパラメーターを経験だけで削除しないでください。
更新方法を選び、結果を確認する
「プロキシを経由せずに更新」は、現在のネットワークからサブスクリプションサービスへ直接アクセスできる場合に適しています。プロキシ経由での更新には、利用可能な接続がすでに必要です。初回利用で接続先ノードがまだない場合、依存関係のループが起きやすくなります。更新に失敗したら、リクエストのタイムアウト、認証エラー、内容の解析エラーのどれかを確認してください。段階ごとに原因が異なるため、エラー表示だけを見てすべてのノードを変更しないでください。
更新後はノード数の変化、グループへの所属、接続先ノードを確認します。サブスクリプション側で項目が削除または改名されることがあり、以前選んだノードが引き続き有効とは限りません。重要なテストでは、最新の一覧からノードを選び直して接続してください。サブスクリプションの内容はサービス側で管理されています。管理対象のノード設定を直接変更すると、次回の更新で上書きされる場合があります。試す場合は独立した設定として複製してください。
取得した内容を認識できない場合は、URLがログイン画面、エラーページ、期限切れの通知を返していないか確認してください。ブラウザーでWebページが開けても、クライアントが解析可能なサブスクリプションを取得できているとは限りません。逆に、サブスクリプションを取得できても、ノードの接続先ポートが使えるとは限りません。サブスクリプションの取得とプロキシ接続を分けてテストすれば、誤った段階の設定を何度も変更せずに済みます。
手動設定の確認順
ノードを手動で追加する場合は、まずプロトコル、サーバーアドレス、ポート、認証情報を確認し、次に通信方式、セキュリティ設定、追加パラメーターを確認します。通信パス、ホスト名、サーバー名にはそれぞれ用途があり、ドメイン名のように見えるからといって置き換えられるものではありません。REALITYを含む設定では、公開鍵やショートIDなどの関連項目も確認してください。これらの値はサーバー設定で指定される必要があり、自分で生成して既存サーバーに接続できるものではありません。
| 設定項目 | 確認内容 | よくある間違い |
|---|---|---|
| 接続先 | アドレス・ポート・プロトコル | Webサイトのポートをノードのポートとして設定する |
| 認証 | ユーザーIDまたはパスワード | コピー時に文字が欠ける、または余分な空白が入る |
| 通信方式 | 通信方式・パス・ホスト名 | 異なる通信項目に同じ値を入力する |
| セキュリティ層 | サーバー名とプロトコルに必要なパラメーター | 項目の不一致を、検証を無効にしてごまかす |
通常のトラブル対応では、クライアントが自動生成する実行設定を直接編集しないでください。ノードの切り替えやコアの再起動時にクライアントがファイルを再生成し、手動変更が失われる場合があります。まずGUIの設定から変更してください。完全なカスタム設定が必要な場合は、ファイルが管理する設定とGUIが管理する設定を明確に分け、復元できるよう動作するバージョンをバックアップします。
バックアップ範囲とプラットフォーム間の復元
移行前に、サブスクリプションURL、個別ノード、カスタムルーティング、DNS設定、必要なローカル待ち受け情報を保存します。サブスクリプションは再取得できても、個別設定やローカルルールは復元できない場合があります。エクスポートファイルには認証情報が含まれる場合があるため、アクセスを制限してください。トラブル対応用のサンプルを共有する場合は、構造とエラー箇所だけを残し、実際に接続できる情報を削除します。
復元時は、まずサブスクリプションをインポートして通常の接続を確立し、その後でルーティング、アプリごとの振り分け、TUNを戻します。プラットフォーム間の移行でディレクトリ、ネットワークインターフェース名、起動項目をそのまま引き継がないでください。同じv2rayNでもOSによって権限の仕組みは異なります。すべての設定を一度に戻して問題が起きると、サブスクリプション、古いパス、インターフェースの権限のどれが原因か分かりにくくなります。段階的に復元すれば原因を特定しやすくなります。
サブスクリプションの自動更新は、手動更新が安定してから設定します。更新間隔は実際の変更頻度に合わせ、頻繁なリクエストでトラブル確認を代用しないでください。更新後は短時間でも確認を行い、接続先ノードが一覧に残っているか、コアが起動するか、よく使うアプリにアクセスできるかを確認します。サービス提供元が古いURLを無効にした場合は、失効した同じリンクを繰り返しインポートせず、サブスクリプションのURLを更新してください。
07 / ROUTING & DNS
ルーティング・DNS・モードの選択
通信の取り込みとルーティングは別の設定
システムプロキシとTUNは「どの通信をクライアントに渡すか」を決め、ルーティングは「渡された通信をどのアウトバウンドへ送るか」を決めます。TUNを有効にしても、すべての通信がリモート経由になるわけではありません。全体向けのルーティングを選んでも、システムプロキシを参照しないアプリにリクエストを渡させることはできません。トラブル対応では、まずアプリの通信がローカルの入口に届いているか確認し、その後、ルールが意図した出口へ送っているか確認します。
初めて使う場合は、「中国本土を迂回」などクライアントのプリセットルーティングから始め、普段の通信経路を確認してからルールを追加します。プリセットはドメインやIPアドレスの分類データに依存しており、Webサイトの表示言語で判断するものではありません。個別のサービスが複数のドメインへリクエストを送ったり、共有IPアドレスを使ったりする場合もあります。ページは開けるのに一部のコンテンツだけ読み込めない場合は、メインのドメインだけでなく、失敗したリクエストを確認してください。
ルールの順序・マッチ対象・アウトバウンドタグ
ルーティングルールは通常、上から順に照合されます。具体的なルールは、先に一致する可能性のある大まかなルールより前に配置してください。ドメインルールはクライアントが取得した宛先ドメインを基準とし、アドレスルールは宛先IPを基準にします。両方を常に取得できるとは限りません。アプリがIPアドレスへ直接リクエストする場合、独自のDNSを使う場合、スニッフィング設定が異なる場合は照合条件も変わります。ルールの文面だけで必ず一致すると判断しないでください。
以下はXray形式のルーティング設定例であり、単独で接続できる完全な設定ではありません。使用するには、directという名前の直結アウトバウンドがすでにあり、コアが読み込める分類データが必要です。この例ではプライベートアドレスと指定した分類のみを直結へ送ります。一致しない通信の扱いは、完全な設定内のアウトバウンドの順序や後続ルールによって決まります。この例自体には最終的なプロキシ出口を設定していません。
{
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
}
]
}
}
GUIクライアントには通常、対応するルーティング編集画面があります。自動生成ファイルとの競合を避けるため、まず画面から設定してください。アウトバウンドタグは完全な設定内に存在し、表記も一致している必要があります。タグは自由に入力できる表示用メモではありません。コアによって項目やルール形式も異なるため、あるコア向けのJSON設定を別のコアの設定にそのまま貼り付けないでください。
DNSは実際のリクエスト経路に合わせる
DNSはドメイン名をIPアドレスに変換しますが、問い合わせ元はOS、ブラウザー、コアなどさまざまです。ブラウザーのセキュアDNSを有効にすると、ブラウザーがシステムとは別の経路で名前解決する場合があります。ドメイン名への接続に問題がある場合は、まずどこで名前解決しているか確認し、その問い合わせが選択したDNSサーバーに届くかを調べてください。DNSアドレスを追加するだけでは、誤った問い合わせ経路は自動的に直りません。
プロキシサーバー自体の接続先がドメイン名の場合、リモート接続を確立する前にそのドメインを解決する必要があります。DNS問い合わせが、まだ確立していないプロキシに依存すると、起動時に依存関係のループが発生する場合があります。まずクライアントの適切な既定設定で基本接続を確立し、その後でリモート向けDNSと直結向けDNSを調整します。変更のたびに接続を作り直し、OSやアプリのキャッシュに古い結果が一時的に残ることにも注意してください。
LANとTUNの適用範囲
ローカルルーター、ネットワークプリンター、LAN内の管理画面に接続する場合は、適切な直結経路を残す必要があります。TUNを有効にした後にローカルサービスへ接続できなくなった場合は、すべてのアドレスをリモートへ送るのではなく、プライベートアドレス向けのルートと既存のネットワーク範囲を確認してください。リモートワーク用ネットワークには専用のアドレス範囲が使われる場合もあるため、実際のネットワーク設定に合わせます。公開されている設定例を完全な解決策として使わないでください。
「LANからの接続を許可」は、ローカルのプロキシ入口を外部に公開する設定であり、TUNと同じものではありません。有効にすると、他の端末からクライアントを実行しているPCのLANアドレスと待ち受けポートを指定してアクセスできます。ファイアウォールやネットワーク分離の影響も受けます。信頼できるネットワークで必要な場合に限って有効にし、アクセス範囲を制限してください。詳しくはLAN内でプロキシを共有する設定を参照してください。
安定して使えるルールが決まったら、プリセット名、カスタムルール、DNS設定を記録します。コアを変更する場合は、まず基本のプリセットを復元してからカスタムルールを移行してください。古い項目による起動失敗を避けられます。設定全体の仕組みを確認するには、inbounds・outbounds・routingの構造解説を参照し、画面上の項目と実行設定を対応づけてください。
08 / TROUBLESHOOTING
設定に関するよくある質問
最初に失敗した箇所から確認する
トラブル対応では、同じネットワーク、接続先ノード、対象アプリ、テスト先を使って条件を固定します。インストールと起動、サブスクリプションの取得、コアの動作、ローカルでの通信取り込み、リモート接続の順に確認してください。前の段階が成功していない場合、後の段階の設定で解決しようとしないでください。たとえばコアが起動せずポートも待ち受けていないなら、ブラウザーのDNSを変更しても解決しにくいでしょう。サブスクリプションの期限切れに、仮想ネットワークインターフェースの再インストールは不要です。
クライアントのログを開き、今回の接続を開始した後で最初に記録された有効なエラーを探し、その後の連鎖エラーを確認します。ポートの競合、権限不足、未知の項目、ハンドシェイクの失敗では、確認すべき段階が異なります。発生時刻と直前に行った操作を記録し、状況が分かる範囲の行を抜き出してください。設定全体やサブスクリプション情報を公開しないでください。「接続失敗」という画面表示だけを残しても、原因の特定には不十分です。
症状に合った項目を確認する
サブスクリプションの更新に成功したのに接続できないのはなぜ?
更新成功が示すのは、サブスクリプションの取得と解析が完了したことだけです。まず接続先ノードが選ばれているか確認し、次にコアを起動できるか、最後にリモート接続のログを確認します。サブスクリプションサービスとノードサービスで異なるアドレスを使うことがあります。前者にアクセスできても、後者へ接続できるとは限りません。すべてのノードで失敗する場合は、まずローカルでの通信取り込みと共通設定を確認します。一部のノードだけ失敗する場合は、そのノードのプロトコル設定とサーバーの状態を比較してください。
コア起動直後に終了する場合、まず何を変更すればよい?
まず接続先アドレスは変更しないでください。ポート使用中のエラーが出たら、重複して起動しているプロセスを終了するか待ち受けポートを変更し、アプリのプロキシ設定も合わせて修正します。未知の項目が表示された場合は、コアと設定形式の組み合わせを確認してください。分類データが見つからない場合は、該当ファイルを読み取れるか確認します。権限エラーでは、失敗したのがファイルの読み込み、プロセスの実行、ネットワークインターフェースの作成のどれかを特定し、該当する操作を確認してください。接続ボタンを何度も押すだけでは解決しません。
ブラウザーは使えるのに、他のアプリでプロキシを使えないのはなぜ?
まず対象アプリがシステムプロキシを参照するか、独自のプロキシアドレスが設定されていないか確認してください。個別設定が必要な場合は、実際の待ち受けポートと正しいプロキシ方式を指定します。より広い範囲の通信を取り込む必要があれば、TUNの利用を検討してください。Androidではアプリごとの振り分けリストも確認します。TUNを有効にしても特定のアプリだけ接続できない場合は、そのアプリのリクエストとルーティングを調べます。すべてのアプリの違いを、システムプロキシが無効なせいだと決めつけないでください。
TUNを有効にしたら全アプリがオフラインに。どう復旧する?
まずTUNを無効にし、以前使えていたシステムプロキシまたは通常の接続経路に戻してから、権限、仮想インターフェース、デフォルトルート、DNSを確認します。別のトンネル接続も動作している場合は、どちらかを停止して単独で確認してください。接続できない状態で複数の高度な設定を続けて変更しないでください。基本接続が戻ったら、設定を1つずつ有効にしてログを確認します。これにより、インターフェースの作成失敗、ルートの競合、名前解決経路の問題を切り分けられます。
証明書エラーやTLSハンドシェイクの失敗が起きたら?
まずシステム時刻を同期し、サーバー名、証明書のドメイン名、通信のセキュリティ設定を確認します。接続先アドレスと証明書検証に使う名前は別の項目の場合があるため、サーバー設定に従って入力してください。「安全でない接続を許可」は通常の解決策にしないでください。検証条件を変更しても、接続先の誤りや期限切れの証明書は直りません。確認手順の詳細はTLS・証明書エラーの対処方法を参照してください。
クライアント終了後にネット接続できない。OSの再インストールが必要?
まずシステムプロキシが、すでに停止したローカルの入口を参照していないか確認してください。正しいプロキシ設定に戻して対象アプリを再起動し、残っているトンネル、ルート、DNSを確認します。更新後に問題が起きた場合は、古いプロセスが終了し、新しいプロセスが起動しているか確かめてください。最初からすべてのネットワーク設定を削除しないでください。まず元に戻せる操作で通常のネットワーク接続を復旧し、その後クライアントの設定を順に戻すほうが、既存の環境を維持しやすくなります。
遅延テストと実際の通信は分けて考える
テスト結果が示すのは、そのときのテスト先と測定方法に限られます。すべてのWebサイトやプロトコルが正常だという証拠にはなりません。テストが失敗しても、接続先が応答しない、リクエスト経路が異なる、DNSに問題があるなどの可能性があります。安定して再現できる実際のリクエストを使い、接続ログとあわせて判断してください。断続的な問題は、同じネットワークで時間を変えて再テストします。1回の結果だけで設定全体を判断しないでください。
問題を整理する際は、OSとアーキテクチャ、クライアント名、動作モード、影響する範囲、試した個別の変更を明記してください。ノード一覧全体を載せるより、機密情報を削除したエラー行を添えるほうが有用です。基本接続が復旧したら、クイックスタートガイドに戻って最終確認を行ってください。パッケージを選び直す場合はダウンロードページを利用します。最後に正常動作した設定を残してから、高度な機能を調整してください。