サブスクリプショングループとサーバー絞り込み
サブスクリプショングループは、v2rayN で複数のプロバイダーや自前のサブスクリプションを管理するための基本的な手段です。多くのユーザーは最初に1つのサブスクリプションだけを追加し、すべてのノードを混ぜてしまいます。ノードの数が数十個を超えると、特定の地域のノードを見つけるのが難しくなります。サブスクリプショングループはこの問題を解決します。異なるソースのノードを独立したグループに入れ、グループ間で干渉し合わず、更新、絞り込み、遅延テストをグループ単位で行えます。
v2rayN のメイン画面で「サブスクリプショングループ」メニューを開き、「サブスクリプショングループ設定」に入ります。ここで新しいグループを作成し、「メインプロバイダー」「予備自前」「仕事用」などの名前を付けられます。各グループには1つ以上のサブスクリプション URL をバインドできます。バインドが完了すると、v2rayN はそのサブスクリプションから取得したノードをこのグループに分類し、メイン画面のサーバーリストはグループごとにツリー構造で表示されます。グループを展開すると、そのグループ内のすべてのノードを確認できます。
グループのもう1つの実用的な機能は、独立した自動更新間隔です。サブスクリプショングループ設定では、グループごとに更新間隔を個別に設定できます。例えば、メインプロバイダーは12時間ごと、予備自前は24時間ごとに更新できます。v2rayN はバックグラウンドでこの間隔に従ってサブスクリプションを自動取得するため、手動で更新ボタンを押す必要はありません。これにより、特定のサブスクリプションが一時的に無効になっても、他のグループの正常な更新には影響しません。
サーバー絞り込みは、サブスクリプショングループの自然な拡張です。ノード数が多い場合、サーバーリスト上部のフィルターボックスでプロトコルタイプ(VMess / VLESS / Trojan / Shadowsocks)で絞り込めるほか、遅延、地域、グループでソートできます。絞り込んだビューはワンクリックで全選択し、一括で遅延テストを実行できます。遅延テストの際は、「設定—パラメータ設定」でテスト URL を普段アクセスするアドレス(よく使うウェブページや 204 を返すページなど)に変更することをお勧めします。これにより、測定される遅延が実際の使用体験に近づきます。一部のノードはデフォルトのテスト URL に対して特別な処理を行うため、別のターゲットアドレスに変更すると誤判定を避けられます。
サブスクリプショングループとサーバー絞り込みを組み合わせると、非常に実用的なワークフローを構築できます。まずサブスクリプションのソースごとにグループ化し、次にグループ内でプロトコルまたは遅延で絞り込み、最後に「設定」の「サーバーソート」で絞り込み結果を固定します。日常の使用では、対応するグループを展開して、遅延が最も低いノードを選択するだけです。
設定ファイルのレベルからサブスクリプショングループを理解したい場合、v2rayN の guiConfig.json には subItem 配列があり、各要素が1つのサブスクリプション項目を表します。以下は、サブスクリプション項目の基本フィールドを示す簡略化された例です:
{
"subItem": [
{
"id": "a1b2c3d4",
"remarks": "主力机场",
"url": "https://example.com/subscribe?token=xxxx",
"enabled": true,
"autoUpdateInterval": 12
},
{
"id": "e5f6g7h8",
"remarks": "备用自建",
"url": "https://home.example.net/sub",
"enabled": true,
"autoUpdateInterval": 24
}
]
}
url フィールドはサブスクリプションリンク、remarks は表示名、enabled はそのサブスクリプションが更新に参加するかどうかを制御し、autoUpdateInterval は時間単位の自動更新間隔です。このファイルを手動で編集する前に、v2rayN を閉じてから編集し、編集完了後に再度開くことをお勧めします。GUI による上書き変更を避けるためです。
ルーティングルール実践
ルーティングルールは、トラフィックの行き先を決定します。直接接続するか、プロキシ経由にするか、それとも直接ブロックするかです。ほとんどのユーザーにとって、デフォルトの「中国本土をバイパス」ルールで十分です。しかし、より細かい分流が必要な場合——例えば、特定のドメインを強制的にプロキシ経由にしたり、特定の IP セグメントを強制的に直接接続にしたり——は、ルーティングルールを手動で編集する必要があります。
ルーティングルールは2つのデータセットに依存します。geosite はドメインの集合、geoip は IP の集合です。例えば、geosite:cn は中国本土の一般的なドメインを含み、geoip:cn は中国本土の IP セグメントを含みます。v2rayN に組み込まれたルールテンプレートは、これら2つの集合を組み合わせて作られています。「設定—ルーティング設定」では、「グローバルプロキシ」「ローカルネットワークをバイパス」「中国本土をバイパス」などの組み込みテンプレートを直接選択できます。
組み込みテンプレートで要件を満たせない場合は、config.json の routing 部分を編集できます。ルーティングルールは配列で、上から下の順に1つずつマッチングされ、最初にヒットしたルールが有効になり、後続のルールは実行されません。したがって、ルールの並び順は非常に重要です。通常、直接接続ルールを最初に置き、プロキシルールを最後にフォールバックとして置きます。
以下は、典型的な「中国本土は直接接続、海外はプロキシ経由」のルールグループです:
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{ "type": "field", "domain": ["geosite:cn"], "outboundTag": "direct" },
{ "type": "field", "ip": ["geoip:cn"], "outboundTag": "direct" },
{ "type": "field", "domain": ["geolocation-!cn"], "outboundTag": "proxy" }
]
}
}
domainStrategy はドメインマッチングの順序を制御します。デフォルト値は AsIs で、ドメインのみでマッチングします。IPIfNonMatch に変更すると、ドメインがどのドメインルールにもヒットしない場合、v2ray はまずそのドメインの IP を解決し、その IP で geoip ルールをマッチングします。これにより、geosite に収録されていないドメインもカバーできますが、初回アクセス時に DNS 解決が1回増えるというコストがあります。
3つのルールのロジックは次のとおりです。まず中国本土のドメインをマッチングし、直接アウトバウンドします。次に中国本土の IP をマッチングし、直接アウトバウンドします。最後に「中国本土以外の地理的位置のドメイン」をマッチングし、プロキシ経由にします。ここで geolocation-!cn は v2ray に組み込まれた特別なドメイン集合で、「中国以外の地理的位置がカバーするドメイン」と同等です。
ルールが機能しない場合は、次の順序で確認します。第一に、outboundTag の値が存在するか確認します。v2rayN のデフォルトのプロキシアウトバウンドタグは proxy、直接接続アウトバウンドは direct です。カスタムアウトバウンドでタグを変更した場合は、ルーティングルールも同期して変更する必要があります。第二に、ルールの順序を確認します。あるルールがより広範なルールの後ろに書かれている場合、永遠にマッチングされない可能性があります。第三に、domainStrategy を確認します。ドメインがどのドメインルールにもヒットせず、IPIfNonMatch も有効になっていない場合、そのドメインは geoip マッチングの対象にならず、見落とされる可能性があります。第四に、ドメインが本当に geosite に含まれているか確認します。一部のマイナーなドメインは収録されていないため、"domain": ["example.com", "geosite:cn"] のように手動でルールに追加する必要があります。
ルーティングルールとサブスクリプショングループを組み合わせると、非常に細かいトラフィック制御を実現できます。特定のグループのノードを「仕事用」として、ルーティングルールでオフィス関連ドメインをこのグループのプロキシアウトバウンドに指定します。これは手動でノードを切り替えるよりも安定しています。
中国本土と海外の分流に関するより完全な設定例は、当サイトのブログ記事「v2rayN ルーティングルール設定実践:中国本土は直接接続、海外はプロキシ経由の完全分流プラン」を参照してください。
DNS 設定最適化
DNS 解決はネットワークアクセスの最初のステップです。プロキシ環境では、DNS 解決の結果がトラフィックの行き先に影響を与える可能性があります。DNS が汚染されている場合、プロキシノードが正常でも「接続できたのにウェブページが開けない」という状況が発生します。そのため、DNS 設定最適化は上級設定の中でも非常に重要な要素です。
v2rayN の DNS 設定は「設定—パラメータ設定」にあります。画面上には通常「リモート DNS」と「ローカル DNS」の2つの入力欄があります。リモート DNS はプロキシネットワーク経由で、海外ドメインの解決に使用します。ローカル DNS は直接接続ネットワーク経由で、中国本土のドメインの解決に使用します。一般的なリモート DNS には 1.1.1.1 と 8.8.8.8 があり、一般的なローカル DNS には 223.5.5.5(Alibaba)と 119.29.29.29(Tencent)があります。
DNS クエリをより細かく制御したい場合は、config.json の dns 部分を編集できます。以下は、ドメインごとに DNS クエリを分流する例です:
{
"dns": {
"servers": [
{ "address": "1.1.1.1", "domains": ["geosite:geolocation-!cn"] },
{ "address": "223.5.5.5", "domains": ["geosite:cn"] },
{ "address": "8.8.8.8" }
]
}
}
この設定の意味は次のとおりです。中国本土以外の地理的位置のドメイン(geosite:geolocation-!cn)は 1.1.1.1 で解決し、中国本土のドメイン(geosite:cn)は 223.5.5.5 で解決し、その他のマッチングしないドメインは 8.8.8.8 をフォールバックとして使用します。ここで domains フィールドはオプションで、書かない場合はそのサーバーがデフォルトのフォールバックとして機能します。
DNS 漏洩防止ももう1つの重要なトピックです。システムプロキシがすべてのトラフィックを引き継いでいない場合、一部のブラウザ拡張機能やバックグラウンドアプリがプロキシをバイパスし、システム DNS に直接クエリを送信して、解決結果が汚染される可能性があります。解決策は2つあります。1つは TUN モード(次章で紹介)を使用してすべてのトラフィックを引き継ぐこと、もう1つは v2rayN の DNS 設定で「DNS 漏洩防止」関連のオプションをチェックして、DNS クエリもプロキシチャネルに含めることです。
DNS を設定する際の注意点:リモート DNS 自体もプロキシ経由でなければなりません。そうしないと、それ自体が汚染されてしまいます。v2rayN はデフォルトでリモート DNS のトラフィックをプロキシアウトバウンドに渡します。これはルーティングルール内の DNS 分流ロジックに依存しています。ルーティングルールを手動で編集した場合は、DNS トラフィックをプロキシに導くルールを必ず1つ残してください。そうしないと、リモート DNS が海外ドメインを解決できない可能性があります。
TUN モード
TUN モードは v2ray クライアントの高度な機能です。仮想ネットワークカードを作成し、システム全体のネットワークトラフィックを引き継ぎます。システムプロキシ設定に従わないアプリ、UDP トラフィック、コマンドラインツールも含まれます。一般ユーザーにとって、TUN モードは「有効にすると、すべてのプログラムがプロキシ経由になる」ことを意味し、アプリごとにプロキシを設定する必要はありません。
適用シーンは主に3つあります。1つ目はグローバルプロキシが必要な場合です。例えば、一部のアプリはシステムプロキシのみを認識するが、システムプロキシがカバーできない場合です。2つ目は UDP トラフィックです。ゲームや音声通話などで、システムプロキシは通常 UDP を転送しません。3つ目はコマンドラインツールです。git や curl などは、デフォルトで Windows のシステムプロキシ設定を読み取りません。
v2rayN で TUN モードを有効にするのは簡単です。「設定—パラメータ設定」を開き、「TUN モードを有効にする」スイッチを見つけてチェックします。初回有効化時、Windows では UAC(ユーザーアカウント制御)プロンプトが表示されます。仮想ネットワークカードの作成に管理者権限が必要なためです。macOS では管理者パスワードの入力またはカーネル拡張の承認が必要です。有効化後、v2rayN は仮想ネットワークカードを作成し、システムのデフォルトルートを自動的にこのネットワークカードに向けます。
TUN モードとシステムプロキシの違いを明確にしておく必要があります。システムプロキシは「プロキシ設定を積極的に読み取る」アプリにのみ有効です。ブラウザや一部のダウンロードツールは読み取りますが、多くのアプリは読み取りません。TUN モードはネットワークカードレベルで引き継ぐため、すべてのトラフィックが仮想ネットワークカードを通過し、カバレッジが広くなります。ただし、TUN モードにもコストがあります。すべてのトラフィックが仮想ネットワークカードを通過するため、パフォーマンスオーバーヘッドがシステムプロキシよりわずかに高くなります。また、設定が不適切な場合、ローカルネットワークアクセスに影響を与える可能性があります。
TUN モードを有効にした後も、ルーティングルールは引き続き有効です。つまり、TUN モードでも分流を続けられます。中国本土のトラフィックは直接接続、海外のトラフィックはプロキシ経由です。TUN モードは「トラフィックの入口」を提供するだけで、具体的な行き先はルーティングルールが決定します。
以下は、v2rayN の config.json における TUN 部分の例です:
{
"tun": {
"enable": true,
"stack": "system",
"dns": "1.1.1.1"
}
}
stack はネットワークスタックの実装方式です。Windows では system が推奨されます。システム標準のネットワークスタックを使用し、互換性が最も高いためです。macOS では gvisor が推奨されます。一部のカーネル拡張の競合を回避できるためです。TUN モード有効後にネットワークが不安定な場合は、stack パラメータを切り替えてみてください。dns フィールドは TUN モードで使用する DNS サーバーを指定します。ここで 1.1.1.1 と書くのはプロキシ経由のリモート DNS で、223.5.5.5 と書けば直接接続になります。分流のニーズに応じて選択してください。
TUN モードを使用する際のよくある誤解:TUN を有効にした後、DNS 設定が不適切だと、すべてのドメイン解決が失敗し、「接続できたのに何も開けない」という状態になります。この場合は、まず TUN モードをオフにして DNS 設定を確認し、再度有効にしてください。また、TUN モードは一部の VPN ソフトウェアやゲームアクセラレーターと競合する可能性があります。同時に使用すると、ルーティングテーブルが互いに上書きされる状況が発生します。グローバル引き継ぎツールは1つだけにしておくことをお勧めします。
TUN モードと次章で説明する FakeDNS は黄金のコンビです。TUN がすべてのトラフィックを引き継ぎ、FakeDNS が DNS 解決を引き継ぎます。両者を組み合わせることで、真の「漏洩なしプロキシ」を実現できます。
FakeDNS
FakeDNS は v2ray カーネルの DNS モジュール機能です。すべての DNS クエリを傍受し、実際の DNS サーバーにリクエストせず、偽の内部 IP(通常は予約済みネットワークセグメント内)を直接返します。実際のドメイン解決は、トラフィックが実際に接続しようとする時点まで延期され、v2ray がルーティングルールに基づいてプロキシ経由にするか直接接続にするかを決定します。
FakeDNS の核心的な価値は3つあります。第一に、DNS クエリが外部に漏れません。すべてのクエリがローカルで傍受されるため、外部ネットワークからはどのドメインをクエリしたか見えません。第二に、ドメイン解決が高速です。DNS サーバーの応答を待つ必要がなく、ローカルで偽の IP を直接返し、その後の接続は v2ray のプロキシチャネルが処理します。第三に、DNS 汚染を回避できます。実際の DNS サーバーにクエリしないため、汚染も起こりようがありません。
v2rayN で FakeDNS を有効にするには、通常 config.json の dns 部分を手動で編集する必要があります。v2rayN の GUI はすべての FakeDNS オプションを公開しているとは限らないため、上級ユーザーは設定ファイルを直接編集する傾向があります。以下は、FakeDNS を有効にする例です:
{
"dns": {
"servers": ["1.1.1.1"],
"queryStrategy": "UseIP",
"fakeDns": {
"enabled": true
}
}
}
fakeDns.enabled を true に設定すると、v2ray はすべての DNS クエリを傍受します。queryStrategy はクエリ戦略を制御し、UseIP は IP レコードのみをクエリし、不要な AAAA クエリを回避します。注意点として、FakeDNS は実際の IP を必要とする一部のアプリと互換性がありません。例えば、P2P ダウンロードソフトウェアやローカルネットワークのデバイス検出です。これらのアプリで異常が発生した場合は、FakeDNS 設定で関連ドメインを除外するか、FakeDNS をオフにする必要があります。
FakeDNS と TUN モードを組み合わせると、最も効果的です。TUN モードがすべてのトラフィックを引き継ぎ、FakeDNS がすべての DNS クエリを引き継ぎます。両者を組み合わせることで、完全な「透過プロキシ」環境が形成されます。この組み合わせでは、システム内のどのアプリも個別にプロキシを設定する必要がなく、ブラウザ、チャットツール、ゲームがすべて自動的にプロキシ経由になり、同時に DNS クエリも漏れません。
ただし、FakeDNS には注意すべき点もあります。偽の IP を返すため、一部のアプリが偽の IP をキャッシュし、その後の接続が失敗する可能性があります。例えば、アプリがドメインを解決して偽の IP を取得し、その後 v2ray が終了し、アプリが偽の IP で接続しようとすると失敗します。そのため、設定を切り替えたり v2ray を終了したりする際は、関連アプリを再起動して DNS キャッシュをクリアすることをお勧めします。
プロキシを軽度に使用するだけで、「漏洩なし」を追求しない場合は、FakeDNS を使わなくても構いません。FakeDNS は、プライバシーに要件があるユーザーや、DNS 汚染の問題に頻繁に遭遇するユーザーにより適しています。
複数サブスクリプション管理
複数サブスクリプション管理は、v2rayN の基本的でありながら過小評価されがちな機能です。1つの v2rayN インスタンスに複数のサブスクリプショングループを設定でき、各グループは独立して更新、有効化、命名できます。これにより、「複数プロバイダー」や「自前 + プロバイダー」の混合使用が非常に便利になります。
最も一般的なシナリオは「メインプロバイダー + 予備プロバイダー」です。メインプロバイダーのサブスクリプションが日常の使用を担当し、予備プロバイダーはメインノードがすべて無効になった場合にのみ切り替えます。1つのサブスクリプションだけを使用している場合、メインプロバイダーに問題が発生すると待つしかありません。複数のサブスクリプショングループを設定すると、予備プロバイダーのノードが常にリストにあり、切り替えはクリック1回で済みます。
もう1つのシナリオは「自前ノード + 有料プロバイダー」です。自前ノードは安定していますが数が少なく、有料プロバイダーはノード数が多いものの品質がまちまちです。両者を異なるグループに入れ、ルーティングルールで自前ノードを優先し、プロバイダーノードをフォールバックとして設定できます。これにより、自前ノードが一時的に利用できなくても、自動的にプロバイダーノードに切り替わります。
サブスクリプショングループ設定では、各グループに「有効」状態を設定できます。無効なグループは自動更新されませんが、取得済みのノードはサーバーリストに残ります。ある期間特定のグループを使いたくないが、削除もしたくない場合は、その更新スイッチを一時的にオフにできます。
サブスクリプション更新の失敗はよくある問題です。確認手順は次のとおりです。第一に、ネットワークがサブスクリプションリンクにアクセスできるか確認します。一部のプロバイダーのサブスクリプションドメインは通信事業者によってブロックされており、サブスクリプションを取得するには先にプロキシ経由でアクセスする必要があります。第二に、サブスクリプションリンクが期限切れでないか確認します。多くのプロバイダーのサブスクリプションリンクには有効期限があり、期限切れ後は再生成が必要です。第三に、カスタム User-Agent が必要か確認します。一部のプロバイダーはサブスクリプションリクエストの User-Agent に要件があり、v2rayN はサブスクリプショングループ設定で各サブスクリプションに個別に User-Agent を指定できます。第四に、サブスクリプションフォーマットが互換性があるか確認します。一部のサブスクリプションは Clash フォーマットで、v2rayN にはコンバーターが組み込まれており、取得時に自動変換できます。ただし、変換が失敗した場合は、サブスクリプションの内容が完全かどうかを確認する必要があります。
サブスクリプションの重複排除も、複数サブスクリプション管理の実用的なポイントです。複数のサブスクリプション間で重複ノードが頻繁に発生します。v2rayN はノード ID またはアドレスに基づいて重複排除できます。サブスクリプショングループ設定で「重複排除」関連のオプションをチェックすると、重複したノードは1つだけ残り、サーバーリストが大量のノードで埋め尽くされるのを防ぎます。
サブスクリプションリンク内のノードが多すぎる場合は、「サーバー絞り込み」機能と組み合わせて、プロトコル、地域、遅延で絞り込み、あまり使わないノードを非表示にできます。これにより、複数サブスクリプションの柔軟性を保ちながら、リストを管理しやすくできます。
複数サブスクリプション管理とルーティングルールを組み合わせると、さらに高度な使い方ができます。例えば、「仕事用グループ」のノードをデフォルトのプロキシにし、「家庭用グループ」のノードを予備として、ルーティングルールでドメインまたは IP ごとに異なるアウトバウンドを指定します。この設定は、ネットワーク環境を明確に計画しているユーザーに適しています。
カスタムアウトバウンド
アウトバウンド(outbound)は、v2ray クライアントが接続を開始するターゲットです。v2rayN にはデフォルトで2つのアウトバウンドが組み込まれています。1つは「プロキシ」で、現在選択中のノードを指します。もう1つは「直接接続」で、freedom プロトコルを使用し、プロキシを経由しません。これら2つのアウトバウンドで、ほとんどの使用シーンをカバーできます。
ただし、一部の高度なシーンでは、カスタムアウトバウンドが必要です。例えば、特定のアプリを Shadowsocks 出口経由にし、別のアプリを SOCKS 出口経由にしたい場合、または特定のプロトコル(HTTP など)のトラフィックを別のプロキシに転送したい場合です。これらはすべて config.json の outbounds 配列を編集することで実現できます。
以下は、Shadowsocks アウトバウンドを追加する例です:
{
"outbounds": [
{
"tag": "proxy",
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "1.2.3.4",
"port": 8388,
"method": "aes-256-gcm",
"password": "your-password"
}
]
}
},
{
"tag": "direct",
"protocol": "freedom"
}
]
}
この設定は2つのアウトバウンドを定義します。proxy は Shadowsocks プロトコルを使用し、アドレス 1.2.3.4、ポート 8388 のサーバーに接続します。direct は freedom プロトコルを使用し、直接接続を表します。tag フィールドは非常に重要です。ルーティングルールの outboundTag はこのタグを参照します。tag を別の名前に変更した場合は、ルーティングルールも同期して変更する必要があります。
カスタムアウトバウンドとルーティングルールの組み合わせが核心的な使い方です。例えば、ルーティングルールに次のようなルールを書けます:
{
"type": "field",
"domain": ["example.com"],
"outboundTag": "proxy"
}
これにより、example.com へのアクセストラフィックは proxy アウトバウンド経由になります。複数のカスタムアウトバウンドがある場合、例えば Shadowsocks アウトバウンドと HTTP アウトバウンドがあれば、ドメインごとにトラフィックを異なる出口に振り分け、「複数回線」効果を実現できます。
v2rayN では、config.json を手動で編集することがカスタムアウトバウンドを追加する唯一の方法です。編集する前に v2rayN を閉じ、元の設定ファイルをバックアップしてから編集することをお勧めします。編集完了後に再度開くと、設定に構文エラーがある場合、v2rayN は読み込み失敗を通知します。その場合はバックアップから復元してください。注意点として、v2rayN の GUI は他の設定を保存する際に config.json を上書きする可能性があります。そのため、手動で設定を編集した場合は、v2rayN の「自動保存」関連オプションをオフにするか、編集後すぐに再起動して GUI による上書きを避けてください。
VMess と VLESS のプロトコル差異、および自分のノードに適したプロトコルの選び方については、当サイトのブログ記事「VMess と VLESS の違いは何か:1分でわかる2つのプロトコルの適用シーン」を参照してください。
上級チューニングとトラブルシューティング
設定完了後、接続が不安定またはインターネットにアクセスできないという問題はよくあります。この章では、よくある障害シーンとチューニングの方向性をまとめ、必要に応じて参照できるようにします。
接続が不安定な場合の確認手順
第一に、ノードの遅延を確認します。サーバーリストでノードを選択し、右クリックして「サーバー実接続遅延テスト」を実行します。遅延が非常に高いかタイムアウトの場合は、別のノードに切り替えてみてください。第二に、ローカルポートの競合を確認します。v2rayN はデフォルトで 10808 と 10809 をローカル SOCKS/HTTP ポートとして使用します。他のプログラムが使用している場合、接続が失敗します。netstat -ano | findstr 10808 コマンドで使用中のプロセスを確認し、「設定—パラメータ設定」でローカルポートを変更できます。より詳細な手順は、ブログ記事「10808 ポートが使用中の場合:競合プロセスの特定と v2rayN ローカルポートの変更」を参照してください。第三に、システムプロキシ設定を確認します。システムプロキシが指すポートと v2rayN が実際にリッスンしているポートが一致しない場合、ブラウザは接続できません。第四に、ルーティングルールを確認します。ルーティングルールがすべてのトラフィックを直接接続に導いている場合、プロキシは当然機能しません。
起動時のクラッシュと即時終了
v2rayN が起動直後に終了する場合、通常はランタイムライブラリの不足またはセキュリティソフトウェアのブロックが原因です。Windows では、まず .NET ランタイムが完全にインストールされているか確認します。インストール済みでもクラッシュする場合は、セキュリティソフトウェア(Windows Defender、サードパーティのウイルス対策など)が v2rayN または v2ray カーネルファイルを脅威として隔離していないか確認します。v2rayN のインストールディレクトリをホワイトリストに追加するか、システムドライブ以外のパスに再解凍してください。より詳細な確認手順は、ブログ記事「v2rayN が開かない場合:起動クラッシュと即時終了のランタイム、権限確認手順」を参照してください。
接続済みなのにインターネットにアクセスできない
これは最も困惑する問題です。クライアントは接続済みと表示されるのに、ウェブページが開けません。次の順序で1つずつ確認してください。第一に、ノードが本当に利用可能か確認します。遅延テストを実行し、プロキシ不要の中国本土のウェブサイトにアクセスしてみます。アクセスできれば、ネットワークは基本的に通じています。第二に、システム時刻を確認します。プロキシプロトコルは時刻同期に敏感で、90秒以上のずれがあると接続が拒否されます。第三に、DNS を確認します。DNS 設定が不適切な場合、ドメイン解決が失敗し、「IP には ping が通るのにドメインが開けない」という状態になります。第四に、システムプロキシ設定を確認します。一部のアプリはシステムプロキシを強制使用します。システムプロキシが誤ったポートを指していると、ネットワークが切断されます。第五に、ルーティングルールを確認します。ルールでアクセスするドメインが直接接続に導かれ、直接接続ネットワーク自体がそのドメインにアクセスできない場合も、「接続済みなのに開けない」状態になります。完全な確認チェックリストは、ブログ記事「V2Ray 接続済みなのにインターネットにアクセスできない?このチェックリストでノード、DNS、システムプロキシを順番に確認」を参照してください。
パフォーマンスチューニングの方向性
接続は安定しているが速度が思わしくない場合は、以下のチューニングを試せます。Mux(多重化)を有効にします。Mux は複数の TCP 接続を1つの接続に多重化し、ハンドシェイク回数を減らして遅延を低減しますが、CPU 使用率が少し増加します。モバイルネットワークや高遅延回線では、Mux は通常役立ちます。トランスポート層プロトコルの選択も重要です。WebSocket は互換性が高いもののオーバーヘッドが少し大きく、gRPC は長接続シーンでより良いパフォーマンスを発揮します。これらはすべて v2rayN のノード設定で調整できます。
ログによるトラブルシューティング
v2rayN のログウィンドウ(「ログを表示」)には、接続プロセス中のエラー情報が記録されます。接続が失敗した場合、ログには通常明確なエラー原因が表示されます。例えば「connection refused」「timeout」「certificate verify failed」などです。ログを読めるようになると、トラブルシューティングの時間を大幅に短縮できます。ログレベルは「設定—パラメータ設定」で調整でき、「デバッグ」にするとより詳細な情報が表示されます。トラブルシューティング完了後は「情報」または「警告」に戻し、ログファイルが大きくなりすぎるのを防いでください。
上記のチューニングとトラブルシューティングの方法は、v2rayN デスクトップ版と v2rayNG Android 版に適用されます。Android 版で問題が発生した場合は、まずサブスクリプションが更新されているか、ノードが利用可能か、システムの省電力ポリシーによって制限されていないかを確認してください。
基本操作にまだ慣れていない場合は、まずクイックスタートチュートリアルに戻り、サブスクリプションのインポートとノード選択の流れを一通り実行してから、このページの各章を読むことをお勧めします。このページの各章は独立したテーマであり、必要に応じて参照できます。