VPN用語でつまずきやすいのは、特定の言葉が難しいからではありません。サブスクリプション、ノード、回線、プロトコル、クライアントが同じ画面に並ぶことが多いからです。これらは実際には異なる階層に属します。サブスクリプションは設定を届け、ノードは出口情報を提供し、回線はデータの経路を示し、プロトコルはクライアントとサーバーの通信方法を定め、ルーティングルールはどのリクエストをその経路へ送るかを決めます。
これらの概念を分けて考えると、1回の接続は次のように理解できます。クライアントがサブスクリプション内のノード設定を読み込み、現在のモードに応じてルーティングルールを適用し、指定されたプロトコルで条件に合う通信をノードへ送ります。ノードは遠隔地から対象サイトへアクセスするため、相手に表示されるのはユーザーが現在利用しているネットワークのグローバル出口ではなく、ノードの出口アドレスです。どこか1つの設定が合っていないだけでも、接続できない、サイトの地域判定が合わない、一部のアプリだけ対象にならない、ドメインの名前解決に異常があるといった症状が現れます。
サブスクリプション、サブスクリプションURL、クライアントの違い
サブスクリプションは更新可能な設定一覧
サブスクリプションは、単独の回線でもインストールパッケージでもありません。通常はサービス側で管理される設定一覧で、ノード名、サーバーアドレス、ポート、プロトコル、認証情報、通信パラメータなどが含まれます。クライアントがこの一覧を読み込むことで、画面上に選択可能なノードが生成されます。
サブスクリプションの内容が変わったときは、クライアントで更新または再読み込みを行い、新しいノード設定を取得する必要があります。アプリの画面を切り替えるだけではサブスクリプションの更新にはなりません。一方、更新したからといって現在のノードが自動的に切り替わるとも限りません。自動更新の扱いはクライアントによって異なり、起動時に更新するもの、手動操作が必要なもの、更新方法を設定できるものがあります。
サブスクリプションURLは設定の入口、公開共有は避ける
サブスクリプションURLは、設定一覧を読み込むための入口と考えられます。URLにはサブスクリプションの権限を識別するトークンが含まれる場合があります。そのURLを取得した人が設定を読み取れる可能性があるため、完全なURLを公開ページ、スクリーンショット、公開コードリポジトリに載せないでください。問題を調べるためにURLの構造を見せる場合は、ドメイン以降の認証パラメータとクエリ内容を隠しましょう。
サブスクリプションURLをコピーしたら、通常はクライアントで「URLからインポート」「サブスクリプションを追加」「リモート設定」などの項目を探します。ブラウザのアドレス欄に貼り付けてダウンロードし、そのまま実行する方法ではありません。サービスによっては特定クライアント向けの形式が用意されています。読み込み後にノードが表示されない場合は、URLのコピー漏れ、クライアントが返却形式に対応していない、サブスクリプションがまだ更新されていない、ローカルネットワークから設定を取得できない、といった原因が考えられます。
クライアントは設定を読み込み、通信を引き受ける
クライアントはデバイス上で動作するプログラムです。サブスクリプションの管理、ノード選択、プロトコルの実装、ルーティングの制御、DNS処理、接続状態の表示などを担います。同じサブスクリプションを別のクライアントに読み込んだ場合、ノード自体は同じでも、利用できるルールモード、システムプロキシ、TUNによる制御、ログ機能には違いが出ることがあります。
| 用語 | 主な役割 | よくある誤解 |
|---|---|---|
| サブスクリプション | 更新可能なノード設定を保存・配布する | サブスクリプションそのものが使用中のノードだと思う |
| サブスクリプションURL | クライアントがリモート設定を取得するためのもの | 普通のダウンロードURLなので公開転送してよいと思う |
| クライアント | 設定を解析し、プロトコルを実装してデバイスの通信を制御する | すべてのクライアントでモード名と機能が完全に同じだと思う |
| 設定ファイル | ノード、ルール、DNS、ルーティングのパラメータを保存する | 読み込みに成功すれば、すべてのアプリが制御対象になったと思う |
- ✅ サービスパネルから完全なサブスクリプションURLをコピーし、余分な空白や改行がないことを確認する。
- ✅ クライアントのサブスクリプションまたはリモート設定から読み込み、サーバーパラメータを1項目ずつ推測して入力しない。
- ✅ 読み込み後にサブスクリプションを手動更新し、ノード一覧が表示されたことを確認する。
- ✅ ノードを選んで接続を開始し、対象アプリで実際の出口を確認する。
- ❌ 公開スクリーンショット、チャットグループのファイル、コードリポジトリに完全なサブスクリプションURLを載せない。
ノード、サーバー、回線が同じものではない理由
ノードは通常、クライアントで選択できる1件の設定です。特定の入口サーバーへ接続するための情報を含み、地域、用途、回線タイプのラベルが付くこともあります。サーバーは、ネットワークサービスを提供する実際の機器またはインスタンスです。複数のノード設定が同じ基盤を指すこともあれば、ポート、プロトコル、入口、出口の違いによって別々に表示されることもあります。
回線は、現在のネットワークから遠隔地の出口までデータが通る経路を指します。ユーザーが選ぶのはノードですが、実際の体感はローカル通信事業者のネットワーク、入口の位置、ネットワーク間の経路、中継方式、出口の品質、対象サイトからの戻り経路にも左右されます。そのため、名前が似たノードでも経路が同じとは限らず、地域が同じでも接続性能が完全に一致するとは限りません。
直結、中継、IEPL専線の違い
直結回線は、クライアントが遠隔サーバーのグローバルな入口へ直接接続する方式です。構成がシンプルで、サービス側の中継への依存が少ない一方、国際的なインターネット経路はローカルネットワークや時間帯によって変化します。直結が適しているかは地図上の距離だけでなく、利用環境から入口までの実際の経路で判断する必要があります。
中継回線では、まず近い、または相互接続の条件がよい入口へ接続し、サービス側が遠隔地の出口へ通信を転送します。通常は、状態のよくないインターネット区間を避けたり、入口と出口にそれぞれ接続と地域出口の役割を持たせたりするために使われます。ただし、中継だから必ず高速になるわけではありません。入口の迂回、転送の混雑、戻り経路の状態によっては性能が低下します。
IEPLは通常、企業の国際通信向けイーサネット専線接続を指します。サービスページに「IEPL専線」と記載されている場合は、特定の国際バックボーン区間で専線または専用の伝送方式を採用している、と理解するのが適切です。ユーザーのデバイスから入口まで、出口から対象サービスまでのすべての区間がインターネットを経由しないという意味ではありません。「専線」というラベルだけでなく、実際の回線を確認しましょう。
| 回線タイプ | 経路の特徴 | 判断するときのポイント |
|---|---|---|
| 直結 | デバイスが遠隔地のグローバルな入口へ直接アクセスする | ローカルネットワークから入口までの経路と安定性を確認する |
| 中継 | 接続ポイントを経由して遠隔地の出口へ転送する | 入口の品質、転送経路、対象地域を比較する |
| IEPL専線 | 一部のバックボーン区間で専線伝送を使用する | 入口、出口、対象サービスの状態を総合的に判断する |
プロトコルがクライアントとサーバーの通信方法を決める
プロトコルは、クライアントがデータをどのように構成、認証、転送するかを定めます。回線とは別の要素です。同じ地域の回線で複数のプロトコルを利用できる場合もあれば、同じプロトコルを直結経路または中継経路で動かす場合もあります。クライアントがノードのプロトコルと関連する通信パラメータに対応していなければ、サーバーアドレスが正しくても接続は確立できません。
Shadowsocks
Shadowsocksは暗号化プロキシプロトコルで、設定には通常、サーバー、ポート、パスワード、暗号化方式が含まれます。実装数が多く、幅広いクライアントで利用できますが、両端が対応する暗号化方式を使う必要があります。認証に失敗する、接続後に通信できないといった場合は、ポートを無闇に変更する前に、暗号化方式とプラグインパラメータが正しく揃っているか確認しましょう。
VMessとVLESS
VMessはV2Ray系でよく使われるプロトコルで、設定にはユーザー識別子、通信方式、安全パラメータなどが関係します。VLESSは異なる認証方式とプロトコル設計を採用し、TLS、REALITYなどのトランスポート層設定と組み合わせて使われることがあります。名前は似ていますが互換性はなく、クライアントはサブスクリプションで指定されたプロトコルに従ってすべての項目を解析する必要があります。
Trojan
Trojanは通常TLS上で動作し、接続設定にはサーバー名、証明書検証、パスワードなどが関係します。証明書の検証はTLS接続を確立する重要な工程です。システム時刻、サーバー名、証明書チェーンに問題があると、クライアントが接続を拒否する場合があります。エラーを一時的に消すために証明書検証を無効にするのは、長期的な対処として適切ではありません。
Hysteria2とTUIC
Hysteria2とTUICはどちらもQUICおよびUDPの通信能力を重要な基盤とし、複雑な経路でも伝送効率を維持することを重視しています。適しているかどうかは、ローカルネットワークのUDP対応、クライアントの実装、サーバー側のパラメータによって決まります。現在のネットワークでUDPが制限されている場合、このタイプのノードは不安定になったり、まったく利用できなかったりします。その場合は、サービスが提供する別のプロトコルのノードと比較してください。
| プロトコル | 設定時の確認項目 | トラブルシューティングの方向 |
|---|---|---|
| Shadowsocks | 暗号化方式、パスワード、プラグインパラメータ | 両端の暗号化方式とプラグイン対応が一致しているか確認する |
| VMess | ユーザー識別子、通信方式、安全パラメータ | クライアントのコアと通信設定全体を確認する |
| VLESS | TLS、REALITY、フロー制御、通信設定 | VMessの設定方法で代用して読み込まない |
| Trojan | パスワード、サーバー名、証明書検証 | システム時刻、ドメイン、証明書チェーンを確認する |
| Hysteria2 | UDPの到達性、認証、輻輳制御パラメータ | 現在のネットワークが関連するUDP通信を制限していないか確認する |
| TUIC | UDPの到達性、認証、QUICパラメータ | 他のプロトコルと比較し、ネットワーク制限かどうか判断する |
システムプロキシ、TUN、仮想ネットワークアダプターの制御範囲
接続ボタンが動作中になっていても、デバイス上のすべての通信が自動的にノードへ送られるとは限りません。クライアントは、システムプロキシ、TUN、またはプラットフォームが提供するVPNインターフェースを使ってリクエストを制御する必要があります。制御範囲の違いが、「ブラウザは使えるのに、ゲームやコマンドラインツールには変化がない」という現象の主な原因です。
システムプロキシはアプリがプロキシ設定に従うかどうかに左右される
システムプロキシは、OSにプロキシアドレスを登録します。ブラウザや多くのデスクトップアプリはこの設定を読み取り、HTTPまたはSOCKSのリクエストをクライアントへ渡せます。一方、独自のネットワークスタックや固定プロキシ設定を使うアプリ、直接接続を確立するアプリは、システムプロキシに従わないことがあります。その場合、クライアントが正常に動作していても、対象アプリは直接接続する可能性があります。
TUNモードはネットワーク層でより広い範囲を制御する
TUNモードは仮想ネットワークインターフェースでIP通信を受け取り、クライアントがルールに従って転送します。システムプロキシに対応していないアプリも広く対象にでき、UDPを扱う場面にも適しています。一方で、追加のシステム権限が必要になる場合があり、ほかの仮想ネットワークアダプター、セキュリティソフト、企業ネットワークのポリシーと経路が競合することがあります。
モバイルプラットフォームのクライアントは通常、OSが提供する標準的なVPNインターフェースで通信を制御します。デスクトップでは、システムプロキシとTUNを併用できる場合があります。同じ「グローバルモード」という名称でも、クライアントによってはルーティングルールだけが変わり、制御方式までは自動で切り替わりません。動作モードとルーティングモードを同時に確認しましょう。
- ✅ ブラウザは正常なのに他のアプリで問題がある場合、そのアプリがシステムプロキシに従うか確認する。
- ✅ システムプロキシを読み取らないプログラムも制御したい場合、クライアントがTUNまたはシステムVPNインターフェースに対応しているか確認する。
- ✅ TUNの起動に失敗した場合、システム権限、仮想ネットワークアダプターの競合、残った経路を確認する。
- ✅ クライアントを終了してもインターネットに接続できない場合、システムプロキシが元に戻っているか確認する。
- ❌ 「ノードに接続済み」を「すべてのアプリの通信の出口が変わった」と同じ意味にしない。
グローバル、ルール、直結モードの選び方
動作モードが答えるのは、「どのリクエストをノードへ渡すか」です。クライアントには通常、グローバル、ルール、直結などのモードがありますが、名称は少し異なる場合があります。モードを変えてもノードの地域は変わらず、プロトコルの非互換も解決しません。通信がルールに一致した後の行き先を決めるだけです。
グローバルモード
グローバルモードでは通常、クライアントが制御するリクエストをすべて現在のノードへ送ります。短時間の切り分けに適しています。ルールモードでは特定サイトにアクセスできないのにグローバルモードでは使える場合、問題はドメインまたはIPが想定したルールに一致していない可能性が高くなります。ただし、システムプロキシやTUNで制御されていないアプリはクライアントを迂回するため、グローバルモードでもデバイス上のすべての通信が対象になるとは限りません。
ルールモード
ルールモードでは、ドメイン、IP、アプリ、ネットワークカテゴリに応じて、ノード、直結、拒否のいずれかを選びます。ローカルサービスは直接接続のまま、特定の出口が必要なリクエストだけノードへ送れます。ルールに優先順位がある場合は、通常、先に一致したルールで結果が決まります。ドメインルールと最終接続先IPの地域判定が異なると、想定と違う経路になることもあります。
直結モード
直結モードでは通常、制御対象のリクエストを現在のネットワーク出口から直接送ります。プロキシの効果を一時停止したり、比較テストをしたりする際に便利です。ただし、クライアントを完全に終了した状態と同じとは限りません。クライアントがDNS処理、仮想ネットワークアダプターの維持、接続ログの記録を続けている場合があります。元のネットワーク状態へ戻すときは、クライアントの説明に従ってサービスを停止し、システムプロキシも確認してください。
| モード | 通信の処理 | 適した場面 |
|---|---|---|
| グローバル | 制御対象のリクエストを一律に現在のノードへ送る | ノードとルールの問題をすばやく確認する |
| ルール | ドメイン、IP、アプリ、カテゴリに応じて経路を選ぶ | 日常利用でローカル通信と国際通信を分けて処理する |
| 直結 | 制御対象のリクエストを現在のネットワーク出口から送る | 出口の比較、プロキシ経路の一時停止、ローカルネットワークの切り分け |
DNS、DNSリーク、地域判定の関係
DNSはドメイン名をIPアドレスに変換します。ウェブリクエストがノードを経由するかどうかと、ドメインを誰が名前解決するかは、関連していますが別の問題です。クライアントが接続だけを制御してDNSを制御しない場合、問い合わせはローカルネットワークのリゾルバーへ送られることがあります。リモートDNS、暗号化DNS、TUNによるDNS制御を有効にすると、問い合わせ経路が変わる可能性があります。
DNSリークとは通常、管理された経路で処理されるはずの名前解決リクエストが、ローカルまたは想定外のリゾルバーへ送られることです。現在のネットワークが利用するDNSサービスを知られる可能性があり、ノードの出口と合わない地域向けドメインの結果が返ることもあります。ただし、検査ページに表示されるリゾルバーの所在地が、必ずしもユーザーの所在地を示すとは限りません。パブリックDNSはエニーキャストネットワークを使う場合があるため、表示地点は手がかりとして扱いましょう。
ストリーミング、検索サービス、コンテンツ配信ネットワークは、出口IP、DNSの結果、アカウント地域、キャッシュ、アプリの位置情報などを組み合わせて判定することがあります。ノードを切り替えた後も、アプリが以前の接続やキャッシュを保持していると、しばらく前の地域結果が表示される場合があります。再生を停止し、ノードを切り替え、接続を再確立してから対象アプリを開き直すと、より確実に確認できます。
ブラウザが独自のセキュアDNSを有効にし、OSの名前解決設定を迂回することもあります。企業のデバイスでは、ポリシーによってリゾルバーが指定されている場合もあります。切り分けでは、クライアントのDNSモード、OS設定、ブラウザ設定を同時に確認し、複数の場所で設定を何度も上書きしないようにしましょう。
- ✅ クライアントで現在のモードに合ったDNS処理が有効になっているか確認する。
- ✅ ノードを切り替えた後、古い接続を閉じて対象アプリを開き直す。
- ✅ ブラウザがセキュアDNSサービスを個別に指定していないか確認する。
- ✅ 地域判定が異常な場合、出口IP、DNS、アカウント地域を同時に確認する。
- ❌ 検査ページに表示されたリゾルバーのデータセンター所在地を、そのままデバイスの所在地とみなさない。
プラットフォームによってクライアントの見え方が違う理由
Windows、macOS、Linux、iOS、Androidでは、ネットワーク権限とシステムインターフェースが異なるため、クライアントの画面も完全には一致しません。デスクトップOSでは、システムプロキシ、TUN、ルーティング、バックグラウンドサービスを細かく管理できることが多い一方、モバイルOSではシステムVPNインターフェースへの依存が大きく、バックグラウンド実行や省電力設定の影響も受けます。
Windowsクライアントでは、システムプロキシが元に戻らない、仮想ネットワークアダプターのドライバーが競合する、LAN共有設定が一致しない、といった問題がよくあります。macOSではネットワーク拡張の権限が明確に案内され、関連モードを初めて有効にするときはシステムで許可が必要です。Linuxクライアントでは、デスクトップのプロキシ環境変数、デーモン、ルーティング権限への理解が必要になる場合があり、コマンドラインプログラムがデスクトップのシステムプロキシを読み取るとは限りません。
iOSクライアントは通常、システムVPN設定でネットワークを制御します。サブスクリプションの読み込み方法は、各アプリの対応状況によって異なります。AndroidクライアントもシステムVPNインターフェースを使い、アプリごとのルーティングに対応している場合があります。省電力設定でバックグラウンド動作が制限されると、画面ロック後に接続が終了することがあります。プラットフォームが違っても、サブスクリプション、ノード、プロトコルの基本的な関係は変わりません。異なるのは通信を制御する実装方法です。
| プラットフォームの種類 | よくある制御方式 | 注意点 |
|---|---|---|
| デスクトップOS | システムプロキシ、TUN、仮想ネットワークアダプター | 権限、残ったプロキシ設定、ルーティング、他のネットワークツールとの競合 |
| モバイルOS | システムVPNインターフェース | バックグラウンド制限、省電力設定、アプリごとのルーティング |
| コマンドライン環境 | 環境変数、明示的なプロキシ、TUN | ターミナルプログラムがデスクトップのプロキシ設定を読み取らない場合がある |
サブスクリプションの読み込みから障害の特定までの手順
初心者が接続問題を調べるときは、すべての設定を続けて変更するのではなく、階層ごとに順番に確認するのが効果的です。一度に複数の項目を変えると、どの変更が効果をもたらしたのか判断できません。次の手順では、設定の入口から始めて、プロトコル、回線、通信の制御、名前解決へ段階的に確認します。
- サブスクリプションの入手元を確認。サービスパネルから現在のサブスクリプションURLをコピーし、対応クライアントに読み込んでから、手動で更新します。
- ノード設定を確認。ノードが完全に表示されているか確認し、対象サービスの地域に合うノードを選びます。名前に付いた修飾語だけで判断しないでください。
- プロトコルの対応状況を確認。クライアントのコアが、ノードで使われている Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUIC と、それぞれの通信パラメータに対応しているか確認します。
- 通信の制御方式を確認。ブラウザのテストにはシステムプロキシを使い、より多くのアプリを対象にする必要がある場合は、TUNまたはシステムVPNインターフェースが動作しているか確認します。
- ルーティングモードを確認。まずグローバルモードで比較し、その後ルールモードに戻って、一致していないドメイン、IP、アプリのルールを特定します。
- DNS経路を確認。クライアント、OS、ブラウザが異なる名前解決設定を使っていないか確認し、ノードを切り替えた後に接続を再構築します。
- エラー情報を残す。クライアントのログにあるハンドシェイク、証明書、認証、タイムアウト、UDPエラーの種類を記録し、設定内容を隠した環境情報をサポート担当者に伝えます。