VPN初心者向け完全ガイド:サブスクリプション・ノード・ルーティングを解説
サブスクリプション、ノード、回線タイプ、プロトコル、ルーティング、グローバル/ルールモードを具体例で解説し、初心者のための基礎を整理します。
このVPN初心者ガイドでは、混同しやすいサブスクリプション、ノード、ルーティングから説明します。国際回線を初めて使うと、サーバー名、プロトコル、プロキシモード、ルール更新、DNS設定が画面に同時に表示されます。これらを互いに無関係なスイッチとして扱うと、接続に失敗した際に何度も切り替えるだけで、問題がどの層にあるのか分からなくなりがちです。
実用的には、接続全体を一つの経路として捉えると理解しやすくなります。サブスクリプションは回線情報をクライアントに渡し、ノードは接続先の入口を示し、プロトコルは入口との通信方法を定め、回線はネットワーク間のデータ転送を担い、ルーティングルールはどのリクエストをその経路に通すか判断します。この流れを理解すれば、回線選びもトラブルシューティングも格段に分かりやすくなります。
サブスクリプション・クライアント・ノードとは
サブスクリプションリンクは更新される設定リスト
サブスクリプションリンクは通常、サービスの管理画面で発行されます。クライアントがアクセスすると、ノード名、サーバーアドレス、ポート、プロトコルパラメータ、グループ情報を取得します。ブラウザーで長期間開いておく通常のウェブページというより、設定を取得する入口に近いものです。クライアントの「サブスクリプションを更新」は、このリストを再読み込みし、回線の追加・削除、名称変更、パラメータ変更をローカルに反映する操作です。
サブスクリプションリンクには設定へのアクセスに必要な識別情報が含まれることが多いため、公開転送には適さず、出所の不明な変換ページに貼り付けるべきでもありません。リンクが意図せず漏れた場合は、クライアントから古い設定を削除するだけでなく、サービスの管理画面でサブスクリプションをリセットするのが安全です。ローカルの内容を削除しても、すでに漏洩したリンクは無効になりません。
クライアントは設定を読み込み、ネットワークリクエストを処理する
クライアントとは、Windows、macOS、iOS、Android、Linuxにインストールするソフトウェアです。サブスクリプションの内容を解析し、暗号化接続を確立して、システムプロキシや仮想ネットワークインターフェースを通じてアプリの通信を受け取ります。対応するプロトコル、ルール形式、システム権限はクライアントごとに異なります。同じサブスクリプションでも、プラットフォームによって利用可能なノード数が違う場合がありますが、必ずしもサブスクリプションの破損を意味しません。クライアントが一部の転送方式に対応していない可能性もあります。
ノードは選択可能な接続入口
ノードは通常、地域、都市、用途などの名前で表示され、その背後にサーバーアドレス、プロトコル、回線パラメータが設定されています。「日本」ノードを選んでも、データが通信中ずっと日本だけを経由するとは限りません。多くの場合、表示されているのは出口の位置、またはサービス側が定義した地域です。クライアントは現在のネットワークから入口へ接続し、サーバー側がリクエストを目的のウェブサイトへ届けます。ウェブサイトからは通常、出口側のネットワークアドレスが見えます。
直接接続・中継・IEPL専線の違い
「ノードの地域」は出口がどこにあるかを示し、「回線タイプ」はそこへデータがどう到達するかを示します。この二つは混同されがちです。同じ地域のノードでも経路が異なる場合があり、使用感も変わります。回線を判断するときは都市名だけでなく、現在の接続ネットワーク、目的のウェブサイトの所在地、アプリの種類も考慮しましょう。
| 回線タイプ | 基本経路 | 主な特徴 | 適した判断方法 |
|---|---|---|---|
| 直接接続 | ローカルネットワークから海外の入口へ直接接続 | 経路はシンプルですが、パブリックネットワークのルーティング品質に左右されやすい | 一度の速度測定だけでなく、時間帯による安定性を確認する |
| 中継 | 近い接続ポイントを経由してから出口へ転送 | 一部の不安定なパブリックネットワーク経路を避けられる場合がある | 継続的なダウンロード、長時間接続、インタラクティブな応答を比較する |
| IEPL専線 | 通信事業者の企業向け国際専線リソースで重要区間を運ぶ | 通常のパブリックネットワークとは異なる方式で経路を構成する | サービスが示す回線識別情報と実際の安定性を組み合わせて判断する |
直接接続は暗号化されていないという意味でも、端末が目的のウェブサイトに直接さらされるという意味でもありません。ここでいう「直接」とは、クライアントからサービスの入口までに追加の中継がないことを主に指します。中継では経路に接続層を追加し、その層から出口へデータを送ります。特定のネットワーク環境では経路が改善する可能性がありますが、経路構成が複雑になるため、実際のネットワークを離れてどちらが必ず速いとは判断できません。
IEPLは、国際イーサネット専線系のリソースを表すためによく使われます。通常のパブリックネットワーク中継との主な違いは、重要な転送区間の収容方式と運用方法であり、ノード名が高性能に見えるかどうかではありません。利用者側では、ローカルWi-Fi、接続事業者、端末性能、出口の混雑、目的のウェブサイト側の制限も影響します。そのため「専線」だからといって、あらゆる場面で低遅延が固定的に保証されるわけではありません。
Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUIC
これらはまとめて「プロトコル」と呼ばれますが、設計上の重点はそれぞれ異なります。暗号化プロキシに近いもの、特定のエコシステムにおける転送層とセキュリティ層の組み合わせに依存するもの、QUICやUDPを基盤とするものがあります。初心者がプロトコルパラメータを手動で変更する必要は通常ありませんが、互換性とネットワーク環境が接続結果に影響することは理解しておきましょう。
Shadowsocks
Shadowsocksは暗号化プロキシ方式で、設定には通常、サーバー、ポート、パスワード、暗号化方式が含まれます。構成は比較的シンプルで対応クライアントも多い一方、正常に読み込めるかどうかは、クライアントがサブスクリプション内の暗号化方式や拡張パラメータに対応しているかに左右されます。Shadowsocks自体がすべてのシステム通信を自動的に引き受ける完全な仕組みではありません。どのアプリがプロキシを通るかは、クライアントがシステムプロキシ、仮想ネットワークインターフェース、アプリ内設定のどれを使うかにも依存します。
VMessとVLESS
VMessはV2Rayエコシステムでよく使われ、識別情報や転送方式などのパラメータを含みます。また、端末の時刻が正確であるかどうかの影響を受けやすく、システム時刻が大きくずれていると認証に失敗することがあります。VLESSは認証を簡素化する設計で、完全な転送セキュリティを単独で提供するものではありません。通常はTLS、REALITY、その他の転送設定と組み合わせます。サーバーアドレスだけをコピーして安全層や転送層のパラメータを省くと、正しい接続を確立できないことが一般的です。
Trojan
Trojanは通常、TLSを利用して接続を確立します。設定にはサーバー名、証明書の検証、転送パラメータが関係します。証明書エラーが発生しても、検証を無効にすることを通常の解決策にしてはいけません。システム時刻、サーバー名、設定の完全性、サブスクリプションの更新状態を確認するのが適切です。証明書検証は接続先の身元を確認する仕組みの一部であり、安易に省略すると安全性が低下します。
Hysteria2とTUIC
Hysteria2とTUICは、QUICをベースにUDPを使う接続方式としてよく利用され、高遅延やパケットロスのあるネットワーク環境への対応が重点の一つです。ただし、すべてのネットワークで高速になるわけではありません。パブリックネットワークがUDPを制限している場合、ルーターのUDPセッション処理が適切でない場合、クライアントのバージョンが対応していない場合は、接続に失敗することがあります。その際は、未知のパラメータを何度も調整するより、TCPとTLSをベースにした互換性のある回線へ切り替えるほうが効果的な場合があります。
| プロトコルまたは方式 | 確認するポイント | 主な確認方法 |
|---|---|---|
| Shadowsocks | 暗号化方式とクライアントの対応状況 | サブスクリプションが完全で、暗号化方式を認識できることを確認する |
| VMess | 識別情報、転送設定、システム時刻 | 時刻を合わせ、サブスクリプションを更新する |
| VLESS | 外部セキュリティ層と転送層の組み合わせ | TLS、REALITYなどのパラメータを省略しない |
| Trojan | TLS、サーバー名、証明書検証 | 時刻、ドメイン、証明書エラーを確認する |
| Hysteria2 | QUIC、UDP、クライアントの互換性 | 現在のネットワークがUDPを制限していないか確認する |
| TUIC | QUICセッションと多重化 | クライアントのバージョンとUDPへの到達性を確認する |
グローバル・直接接続・ルールモードの選び方
プロキシモードは、クライアントがリクエストを受け取った後の処理方法を決めます。一般的なグローバル、直接接続、ルールモードは、異なる回線プランではなく、ローカルトラフィックの振り分け方です。ノードが同じでもモードを切り替えると、どのウェブサイトが国際回線を通るかが変わります。そのため、あるアプリは使えるのに別のアプリは使えないという問題を調べる際は、現在のモードを必ず確認してください。
グローバルモード
グローバルモードでは通常、クライアントが処理する大部分のリクエストを現在のノード経由にします。目的のサービスへ接続できるか一時的に確認したり、問題がルール判定にあるかを切り分けたりするのに適しています。ただし、長期間使うと国内サイト、ローカルネットワーク上の端末、国際回線を必要としないサービスまで迂回させ、不要な経路変更を招くことがあります。グローバルモードですべての通信が対象になるとも限らず、範囲はクライアントの通信取得方式によって異なります。
直接接続モード
直接接続モードでは、選択したノードを経由せずにリクエストを送ります。プロキシを一時停止したり、元のネットワークをテストしたりする際に使われます。クライアントに「接続済み」と表示されていても、モードが直接接続のままなら、外部アドレスはノードに応じて変わりません。これは初心者がよくする誤判断です。トンネル自体は確立していても、ルールが通信を直接送るよう指定していれば、目的のウェブサイトには元のネットワークから接続されます。
ルールモード
ルールモードでは、ドメイン、ネットワークアドレス、アプリのプロセス、ルールセットなどに基づいて行き先を決めます。ローカルサービスは直接接続し、国際回線が必要なリクエストだけをプロキシへ送れるため、日常利用に適しています。一方で、ルールの有効期限切れ、判定順序の衝突、新しいドメインが既存の分類に含まれていないことが難点です。
リクエストがクライアントに入る
├─ LANとローカルサービス → 直接接続
├─ プロキシルールに一致 → ノードを選択
├─ ブロックルールに一致 → リクエストを遮断
└─ ルールに一致しない → デフォルトポリシーで処理
ルールは通常、上から下へ、またはエンジンが定めた優先順位に従って判定されます。具体的な動作はクライアントの実装によって異なります。ドメインルールとネットワークアドレスルールで結果が異なることもあります。アプリはまずドメインを解決してから、解決結果へ接続します。DNSの解決経路とプロキシルールが一致しないと、ドメイン上はプロキシ対象に見えても、実際の接続が別の経路を通る場合があります。
DNS漏洩・名前解決失敗とルーティングの関係
DNSの役割は、ドメイン名をネットワークアドレスへ変換することです。ブラウザーにウェブサイト名を入力すると、端末は通常、まずDNS問い合わせを行い、その結果得られたアドレスへ接続します。ウェブ通信がノードを経由していても、DNS問い合わせがローカルネットワークに任されていると、外部から見た名前解決の経路とプロキシ経路が一致しないことがあります。これは一般にDNS漏洩と呼ばれます。地域判定の誤り、現在の出口に適さない解決結果、ルールが意図どおりに一致しない問題につながる場合もあります。
クライアントのDNS処理には、システムの名前解決を使う方法、プロキシ経路内で問い合わせる方法、ドメインの種類に応じてリゾルバーを選ぶ方法、仮想アドレスとルールエンジンを組み合わせる方法などがあります。これらの機能名はクライアントによって異なるため、「拡張モード」といったラベルだけで効果を判断してはいけません。DNS問い合わせを誰が発行し、どの経路で送信し、解決後の接続が同じルールの管理下にあるかを確認するほうが確実です。
- 接続済みなのにドメインを開けない場合は、既知の到達可能なサービスへ直接アクセスして、名前解決の問題と接続の問題を切り分けます。
- グローバルモードは正常でルールモードに異常がある場合は、ドメインルールが一致しているか、ルールファイルの更新が完了しているかを確認します。
- ブラウザーで独自のセキュアDNSを有効にすると、名前解決がクライアントの想定設定を迂回する場合があります。ブラウザーとシステムの設定が競合していないか確認してください。
- LAN上の端末にアクセスできない場合は、ローカルのネットワークセグメントが誤ってプロキシへ送られていないか確認します。通常は、ローカルリソース用に直接接続ルールを残しておく必要があります。
- ノードを切り替えても古い解決結果が残る場合は、関連アプリを再起動し、必要に応じてシステムまたはクライアントのDNSキャッシュを削除します。
DNS漏洩は、ウェブページを開けるかどうかを判断する唯一の基準ではありません。外部の検査ページに表示された一つの結果だけから、すべての通信経路を推測することもできません。現在のブラウザー、システム、アプリはそれぞれ異なる名前解決方式を使う場合があります。確認時は、アプリDNS、システムDNS、クライアントDNS、出口への接続を一つの経路として観察しましょう。
プラットフォームごとのクライアントの違い
同じサブスクリプションでも、プラットフォームによって動作が異なることがあります。主な原因はシステムのネットワークインターフェース、バックグラウンド実行の制限、クライアントのプロトコル対応であり、ノードが特定の端末を選り好みしているわけではありません。クライアントを選ぶときは、まずサブスクリプションのプロトコル対応を確認し、そのうえでルール編集、ログ確認、自動更新の機能を比較します。
WindowsとmacOS
デスクトップOSでは通常、システムプロキシと仮想ネットワークインターフェースという二つの通信取得方式を利用できます。システムプロキシはプロキシ設定に従うアプリに主に作用しますが、一部のゲーム、ターミナルプログラム、独自のネットワーク処理を行うソフトウェアは迂回することがあります。仮想ネットワークインターフェースはより広い通信を対象にできますが、ファイアウォール、仮想マシン、企業向けネットワークソフトウェア、その他のネットワークツールとルーティングが競合する可能性があります。
macOSアプリは、システムのネットワーク拡張機能を使ってトンネルを構築することもあります。初回の有効化時には、必要な権限を許可してください。クライアント画面では接続成功と表示されるのにターミナルのリクエストがノードを経由しない場合は、ターミナルツールがプロキシ環境変数を読み込んでいるか、現在システムプロキシと仮想ネットワークインターフェースのどちらを使っているかを確認します。
iOSとAndroid
モバイルOSでは通常、システムが提供するVPNインターフェースで通信を処理します。バックグラウンドの省電力制限、Wi-Fiとモバイルデータ間の切り替え、システム再起動、設定権限の変更などにより、トンネルの再接続が発生することがあります。モバイルクライアントはサブスクリプション形式やプロトコルへの対応も異なるため、読み込みに成功しても、すべてのノードタイプを利用できるとは限りません。
Android端末はシステムのカスタマイズ差が大きく、省電力管理によってクライアントのバックグラウンド動作が制限されることがあります。iOSのクライアントは、システムのネットワーク拡張機構による制約を受けます。画面ロック後に切断される場合は、まずシステムがクライアントの通信活動を継続することを許可しているか確認し、ノード障害を疑うのはその後にしましょう。
Linux
Linuxでは、一般的にGUIクライアント、コマンドラインコア、サービスプロセスなどの使い方があります。デスクトップ環境のシステムプロキシがコマンドラインツールに影響するとは限らず、コマンドラインプログラムにプロキシ環境変数が必要な場合もあれば、仮想ネットワークインターフェースで一括して通信を処理する場合もあります。サービスプロセスを使うときは、設定ファイルの権限、待受アドレス、DNS設定、ルーティングルールが正しいユーザーによって読み込まれているかも確認してください。
サブスクリプションの読み込みから接続確認までの手順
初心者は複数の設定を何度も切り替えがちです。より効率的なのは、依存関係に沿って操作し、各手順の完了後に対応する結果を確認する方法です。これなら接続に失敗しても、どの段階で問題が止まったのかを特定できます。
- 対応クライアントを選ぶ。クライアントがサブスクリプションで提供されるプロトコルと現在のOSに対応していることを確認し、画面の見た目だけで選ばないでください。
- サブスクリプションリンクをコピーする。サービスの管理画面からリンクを取得し、クライアントのサブスクリプション読み込み機能で追加します。公開されている変換ツールで扱うのは避けてください。
- サブスクリプションを更新する。クライアントにノード名が表示されることを確認します。リストが空の場合は、更新メッセージとクライアントログを確認し、すぐにプロキシモードを切り替え始めないでください。
- 目的の地域を選ぶ。目的のウェブサイトやサービスの地域に合わせて出口を選び、同じ地域の直接接続、中継、専線回線を比較します。
- まずルールモードで接続する。目的のサービスにアクセスできない場合は、短時間だけグローバルモードへ切り替えて比較し、ルール判定の問題かどうかを確認します。
- 通信経路を確認する。外部アドレスが選択した地域と一致するかを確認し、ローカルサイトやLAN上のリソースが想定どおり直接接続されるかもテストします。
- 日常設定に戻す。テストが終わったら、長期利用に適したルールモードへ戻し、利用可能なノードを切り替え候補として残します。
よくある障害を層ごとに切り分ける
サブスクリプションの更新に失敗する
まず元のネットワークからサブスクリプションの入口へアクセスできるか確認します。次にリンクが完全か、リセットされていないか、クライアントがリンクを単一ノード設定として誤認していないかを確認してください。クライアントに更新ログがある場合は、ネットワークタイムアウト、形式の解析、認証失敗などに注目します。同名のサブスクリプションを何度も読み込むのは避けてください。後でノードの出所を判断しにくくなります。
すべてのノードに接続できない
すべてのノードが同時に失敗する場合は、まず現在のネットワーク、クライアントコア、システム時刻、ファイアウォール、プロトコル対応を確認します。Hysteria2やTUICなどのUDP方式だけが失敗し、他の転送方式が使えるなら、現在のネットワークによるUDP制限が考えられます。TrojanなどのTLS接続で証明書異常が表示される場合は、検証を無効にせず、システム時刻とサブスクリプションパラメータを確認してください。
特定のノードだけ失敗する
一つのノードだけが失敗し、同じ地域の他のノードが正常なら、まず回線を切り替え、しばらくしてからサブスクリプションを更新します。名前が似ているノードでも経路が完全に同じとは限りません。特定の回線で長期間異常が続く場合は、クライアントログとノード名をサービスのサポートへ伝えると、入口、出口、転送パラメータの問題を特定しやすくなります。
接続済みなのにアプリが直接接続になる
現在のモードが直接接続になっていないか、アプリがシステムプロキシに従っているか、仮想ネットワークインターフェースが正常に確立されているかを確認します。ターミナルツール、ゲーム、一部のデスクトップアプリはシステムプロキシを読み込まない場合があります。その場合は、クライアントの機能に応じて仮想ネットワークインターフェースを使うか、アプリに明示的なプロキシ環境を設定します。クライアントの接続アイコンだけを確認して判断してはいけません。
ウェブページは開くのに動画やダウンロードに問題がある
ウェブページを開けるのは基本的なリクエストが確立したことを示すだけで、継続的な転送が安定しているとは限りません。動画、ダウンロード、リアルタイム通信は、スループット、ジッター、パケットロス、長時間接続の影響を受けやすい機能です。同じ出口地域で異なる回線タイプを比較し、帯域幅を消費するバックグラウンド処理を一時停止してみましょう。特定のサービスだけに異常がある場合は、ルーティング対象のドメインが網羅されているか、出口地域がサービス側の条件に合っているかも確認します。
日常利用に適した設定習慣を作る
安定した利用に必要なのは、高度なパラメータを頻繁に変更することではありません。サブスクリプションを更新できる状態に保ち、クライアントとプロトコルの互換性を維持し、ルールの出所を明確にし、よく使う地域に代替回線を用意することが重要です。ノードが一時的に不安定になったら、まず同じ地域の回線へ切り替えます。サブスクリプション全体に異常がある場合にだけ、ローカルネットワークとクライアントを確認し、単一障害を理由に全面的な再インストールへ進まないようにしましょう。
ルーティングルールは説明可能な状態に保つべきです。なぜローカルサービスを直接接続し、なぜ国際サイトをプロキシへ送り、ルールに一致しないリクエストをどのデフォルトポリシーで処理するのかを把握しているほうが、出所の不明なルールを大量に重ねるより信頼できます。業務システム、オンラインバンキング、地域に関わる重要なサービスを扱う際は、利用規約と所在地のルールを守り、重要なアカウントを操作する前に出口地域とネットワーク環境を確認してください。
「サブスクリプションが設定を提供し、クライアントが接続を実行し、ノードが入口を表し、回線が転送を担い、プロトコルが通信を定め、ルーティングが行き先を決める」という関係を理解すれば、画面上の用語はばらばらのスイッチではなくなります。回線選びの根拠が明確になり、接続に失敗しても経路を層ごとに確認できるため、闇雲な試行錯誤に頼らずに済みます。