VPNが有効かどうかは、クライアントに「接続済み」と表示されているかだけでは判断できません。この表示で確認できるのは、通常、クライアントとリモートノードのセッションが確立したことだけです。ブラウザーやデスクトップアプリ、システムDNSまで想定どおり経路を通っているとは限りません。信頼できる確認には、出口IP、DNSの名前解決経路、実際に使うアプリの接続結果を組み合わせます。
実際に切り分けるときは、まず未接続時の結果を記録し、接続後に同じテストを繰り返します。接続前後を比較して初めて、通信を引き受けていない、ルールによる直接接続、システムプロキシを無視するアプリ、検証ページの古いキャッシュといった原因を区別できます。以下では、確認しやすい出口アドレスから始め、ルーティングモード、プロトコル、プラットフォームの違いへ順に進みます。
まず「接続済み」が示す内容を理解する
クライアントに「接続済み」と表示される場合、通常はローカルソフトウェアとサーバーの暗号化セッションが確立し、認証とプロトコルのハンドシェイクも完了しています。Shadowsocks、VMess、Trojan、VLESSなどの一般的なプロキシプロトコルでは、ローカルのプロキシ入口からノードへデータを送信できる状態を意味します。UDPやQUICを利用するHysteria2、TUICでも、主に通信セッションの確立を示します。ただし、すべてのシステム通信が自動的にそのセッションへ入ったことを意味するわけではありません。
通信が実際に経路を通るかどうかは、クライアントの接続方式にも左右されます。システムプロキシはOSのプロキシ設定を変更し、その設定に従うプログラムにのみ影響するのが一般的です。TUNモードは仮想ネットワークインターフェースを通じて、より広範なIP通信を引き受けます。ブラウザー拡張機能は通常、ブラウザー内部のリクエストだけを処理します。独自のネットワークスタックや内蔵プロキシ、独自DNSを持つアプリは、システムプロキシに従わないことがあります。
| 表示された状態 | 確認できること | 追加で確認が必要なこと |
|---|---|---|
| クライアントに接続済みと表示される | ローカルクライアントとノードのセッションが確立している | アプリの通信が経路に入っているか |
| 出口IPが変わっている | 現在の検証リクエストがリモート出口を通っている | DNSや他のアプリも同じ経路を使っているか |
| DNS検査が想定どおりである | テスト対象ドメインの名前解決が意図しない経路を通っていない | アプリごとに別の名前解決をしていないか |
| 複数のアプリで結果が一致している | 現在の接続方式が十分な範囲をカバーしている | スプリットトンネリングのルールと切断時の動作が要件に合っているか |
出口IPで最初の確認を行う
出口IPは最も分かりやすい確認項目です。まずクライアントを切断し、グローバルアドレスとおおまかな出口地域を表示できる検証ページを開いて、現在の結果を記録します。次に目的の経路へ接続して検証ページを更新します。アドレスと出口地域が選択した経路に合う形で変われば、そのウェブリクエストがリモート出口を通ったことを確認できます。
テストでは、できるだけ同じブラウザー、同じ検証ページ、近いネットワーク環境を使ってください。ブラウザーキャッシュ、ページスクリプトが再実行されていない状態、Wi-Fiと別の接続の切り替えは、比較の意味を失わせます。通常の更新だけで古いデータが表示される場合は、検証タブを閉じて開き直すか、ブラウザーのプライベートウィンドウで再確認します。
- 経路を切断し、現在のグローバル出口アドレスと地域を記録する。
- ノードを自動選択する機能を無効にし、確認したい経路へ手動で接続する。
- 検証ページを開き直し、以前のタブに残った古い結果だけに頼らない。
- 接続前後のアドレスと地域を比較し、選択したノードと一致することを確認する。
- 実際に利用するアプリでもテストし、ブラウザーだけの確認にしない。
出口アドレスが変わらない場合は、まずクライアントのモードを確認します。「システムプロキシ」モードでは、検証に使うブラウザーがシステムプロキシに従う必要があります。ブラウザー側で独自のプロキシを設定していると、クライアントを迂回することがあります。「ルール」モードでは、検証サイトが直接接続と判定される可能性もあります。その場合は診断のため、一時的にグローバル接続へ切り替えてみます。グローバルモードは問題の切り分けに適していますが、長期利用に向くとは限りません。
IPv4とIPv6の違いにも注意が必要です。ネットワークによっては両方のアドレスを提供していても、クライアントが片方しか引き受けないことがあります。検証ページが未対応のアドレスを優先すると、ローカルの出口が見えたり、ページによって地域表示が異なったりします。切り分けでは両方の接続結果を個別に確認し、クライアント、OS、現在のノードが同じ方針で処理しているかを確認してください。
出口IPが変わった:現在の検証リクエストが経路を通ったことを示しますが、DNSや他のブラウザー、デスクトップアプリも同じ出口を使っているとは限りません。
DNSが想定した経路で名前解決されているか確認する
ドメインへアクセスする前に、端末は通常、ドメイン名をIPアドレスへ変換する必要があります。DNSリークとは、指定した経路やリゾルバーで処理するはずの問い合わせが、誤ってローカルネットワークの名前解決サービスへ送信される状態です。この場合、ウェブページの内容はリモート出口を通っていても、ドメイン検索だけがローカル経路に残ることがあります。接続エラーにならない場合もありますが、実際の通信経路が設定の想定と一致していないことを示します。
DNSを確認するときは、まず経路へ接続してからDNS検証ページを開き、新しい問い合わせを発生させます。重要なのは、名前解決サーバーが必ず出口サーバーと同じ地域にあることではなく、想定した名前解決方式から結果が返っているかどうかです。クライアントがサーバー側の名前解決を使う場合も、特定のパブリックリゾルバーを明示する場合もあります。設定と一致しているなら、地域が異なるだけでリークとは判断できません。
ブラウザーのセキュアDNS機能も結果に影響します。有効にすると、ブラウザーがOSの通常の名前解決を迂回し、ブラウザーに設定された名前解決サービスへ暗号化した問い合わせを直接送ることがあります。そのため、他のアプリとは異なる検証結果になる場合があります。切り分けでは機能の有効時と無効時を分けて確認できますが、元の設定を把握しないまま長期的に変更しないでください。
- ブラウザーだけ結果が異常:ブラウザーのセキュアDNS、拡張機能、独自プロキシ設定を確認する。
- すべてのアプリでローカル名前解決になる:クライアントのDNS引き受け、TUN設定、システムのネットワーク優先順位を確認する。
- ノードを切り替えても古い名前解決結果が残る:OSとブラウザーのDNSキャッシュを消去し、新しいドメインリクエストを実行する。
- 明示的に指定したパブリックリゾルバーの結果:地域だけで推測せず、クライアント設定と照合する。
ルールによる振り分け環境では、DNSもドメイン分類に関わります。ドメインを先に名前解決してIPルールに照合するクライアントもあれば、ドメインルールを優先して直接接続かプロキシかを決めるクライアントもあります。ルールセットが古かったり、ドメインが誤分類されたりすると、ページ本体は経路を通る一方で、画像やログインAPIは直接接続になることがあります。この場合は、ノードを何度も切り替えるのではなく、接続ログにあるドメイン、適用ルール、最終的な出力先を確認します。
ブラウザーとデスクトップアプリで個別に動作を確認する
ウェブページで出口を確認した後は、実際に使うソフトウェアもテストしてください。ブラウザー、ダウンロードツール、ゲーム、コマンドラインプログラム、ストアアプリは、システムプロキシへの対応がそれぞれ異なります。システムプロキシを自動的に読み込むプログラムもあれば、独自のプロキシ設定だけに対応するもの、TUN仮想インターフェースでの接続が適しているものもあります。ウェブページだけを確認すると、アプリごとの差異を見落としやすくなります。
まず、ネットワーク地域や接続状態を表示できるウェブサービスを選び、複数のブラウザーで個別に開きます。その後、目的のデスクトップアプリをテストします。一方のブラウザーだけ出口が変わらない場合は、ブラウザーのプロキシ設定、拡張機能、セキュアDNSが原因であることが多いです。ブラウザーは正常なのにデスクトップソフトウェアがローカルネットワークを使う場合は、そのソフトウェアがシステムプロキシを無視していないか、クライアントにTUNやアプリ単位の振り分け機能があるかを優先的に確認します。
| 状況 | よくある原因 | 確認するポイント |
|---|---|---|
| ブラウザーは正常だが、デスクトップアプリは直接接続になる | アプリがシステムプロキシを読み込まない | 適切なTUNモードを有効にするか、アプリ側でプロキシを設定する |
| 一部のサイトは経路を通るが、別のサイトは直接接続になる | ルールによる振り分けが機能している、またはルールの照合が誤っている | ドメインルールと接続ログを確認する |
| ブラウザーによって結果が異なる | 独自プロキシ、拡張機能、セキュアDNSの設定が異なる | 各ブラウザーのネットワーク設定を比較する |
| ノードを切り替えてもアプリに古い地域が表示される | 長時間接続、キャッシュ、古いセッションが再構築されていない | アプリを完全に終了してから開き直す |
ルールによる振り分け自体は障害ではありません。ルールモードでは通常、ローカルサービスを直接接続にし、指定したドメインや地域だけを経路に通します。そのため、ウェブサイトによって異なる出口が使われていても、設定どおりの動作である可能性があります。確認前に、すべての通信を経路へ統一したいのか、特定のアプリやドメインだけを経路へ通したいのかを明確にしてください。目的が違えば、正しい結果も変わります。
クライアントが接続ログに対応している場合は、目的のアプリを開きながら新しい接続記録を確認できます。ログには通常、対象ドメインやアドレス、適用されたルール、最終的に選ばれた直接接続またはプロキシの出力先が表示されます。「接続済み」と表示されるだけの場合より診断に役立ちますが、アクセスしたドメインが含まれることがあります。スクリーンショットを共有する前に、公開したくない情報を確認して隠してください。
直接接続・中継・IEPL経路で異なる確認ポイントを理解する
経路名は、端末から出口までに使われる経路を表すもので、確認の基本原則を変えるものではありません。直接接続は通常、端末からリモートノードへ直接接続する方式です。経路構成はシンプルですが、品質は現在のネットワークからノードまでの公衆網ルーティングに左右されやすくなります。中継経路では、入口または中継ノードへ接続してから出口へ転送します。ネットワーク間の経路を調整したり、特定の環境で接続を改善したりする目的で使われます。
IEPLは通常、通信事業者が提供する国際イーサネット専用線の機能を指します。プロキシサービスの経路構成では、入口からサービス提供者側の引き渡し拠点までの専用伝送区間として使われることがあり、最終的にウェブサイトへアクセスするときは出口から公衆インターネットへ接続される場合があります。サービス提供者によって経路名の使い方が異なるため、名称だけで経路全体の詳細を推測せず、各経路の説明と合わせて理解してください。
直接接続、中継、IEPLのいずれを使っても、出口IPの検査で見えるのは通常、最終出口であり中継ノードではありません。中継の有無も、一般的なウェブ検査だけで正確に判断することはできません。通常の利用では、最終出口の地域が正しいこと、目的のアプリが経路を通っていること、DNS経路が設定どおりであること、経路の切り替え後に古い接続が再確立されることを確認するのが重要です。
経路を切り替えた後も、アプリによっては確立済みの長時間接続を使い続けるため、出口検証ページは更新されてもアプリ内のセッションが古い経路のままになることがあります。その場合はアプリ内のアクティブなページを閉じ、必要に応じてアプリを完全に終了して再起動します。クライアントに切断時の通信ブロック設定がある場合は、経路が予期せず切断された際に、アプリが通信を停止するのかローカルネットワークへ戻るのかも個別に確認してください。
サブスクリプションの読み込みは成功したのに通信がノードを通らない場合
サブスクリプションリンクは、ノードと関連設定をクライアントへ提供するためのものです。読み込みに成功したことから分かるのは、クライアントが内容を読み取れたことだけで、ノードへ接続できることやシステム通信が引き受けられたことまでは保証されません。更新後は、実際に選択されているノード、プロキシモード、システムプロキシまたはTUNの状態、ルールセットの読み込みが完了しているかを確認してください。
Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICでは、クライアントの対応状況や通信パラメータにそれぞれ異なる要件があります。古いクライアントでは、サブスクリプション内のノード名は表示できても、一部のプロトコル項目を完全に認識できないことがあります。ノードがタイムアウトを繰り返す、ハンドシェイクに失敗する、接続後も通信できない場合は、暗号方式やトランスポート層、証明書パラメータを推測して手動設定するのではなく、サービス提供元が対応するクライアントバージョンで再読み込みしてください。
- サブスクリプションの内容が更新され、現在選択している設定が削除済みまたは無効なものではないことを確認する。
- クライアントが、ノードで使われているプロトコルと通信パラメータに対応していることを確認する。
- ノードの接続ボタンだけでなく、システムプロキシまたはTUNが実際に有効になっていることを確認する。
- 一時的に、より直接的なルーティングモードでテストし、ルールの誤照合を切り分ける。
- 接続ログを確認し、ノードのハンドシェイク失敗、DNS失敗、直接接続を区別する。
- ルールモードに戻してから、ブラウザーと目的のアプリを一つずつ確認する。
クライアントに「遅延テスト」と「接続テスト」の両方がある場合も、同じ意味ではないことに注意してください。ノードが検査に応答できるのは、検査リクエストが到達したことを示すだけです。実際のウェブページやアプリでは、DNS、TCPまたはUDP接続、TLSハンドシェイク、ルーティングルール、接続先サービス自体の状態も関わります。そのため、ノード一覧で利用可能と表示されても、出口IPと実際のアプリでの確認を完了させてください。
プラットフォームごとの主な確認項目
Windows
Windowsクライアントでは、システムプロキシとTUNの2種類が一般的な接続方式です。システムプロキシはOSのプロキシ設定に従うソフトウェアに適していますが、一部のコマンドラインツール、ストアアプリ、独自ネットワークプログラムは迂回することがあります。TUNは通常より広い範囲をカバーしますが、他の仮想ネットワークアダプターやセキュリティソフト、ルーティングの優先順位の影響を受ける場合があります。切り分けでは、システムプロキシが書き込まれているかを確認し、クライアント終了後に設定が正しく復元されるかも確認してください。
macOS
macOSクライアントは、システムプロキシまたはNetwork Extensionを使ってトンネルを構築することがあります。システム設定に表示されるVPN状態とクライアントの状態が一致しているか確認してください。他のネットワークツールもネットワーク拡張機能を導入している場合、ルールが競合することがあります。一部のアプリだけで動作する場合は、重複するプロキシ設定を無効にしてから再接続し、出口とDNSを確認します。
iOSとiPadOS
モバイルOSのクライアントは通常、OSが提供するVPNインターフェースを通じて通信を引き受けます。ステータスバーの表示は設定が接続状態にあることを示しますが、アプリ内の既存セッションが一時的に古い接続を使い続けることがあります。経路を切り替えた後は、目的のアプリを完全に終了してから開き直してください。ブラウザーのコンテンツフィルタ、プライベートリレー系の機能、他のVPN設定も結果に影響するため、用途が重複するネットワーク設定を同時に有効にしないようにします。
Android
Androidクライアントでは、アプリ単位の振り分けに対応している場合があります。特定のアプリが除外されていると、他のアプリが経路を通っていても、そのアプリだけはローカルネットワークを使い続けます。OSがクライアントのバックグラウンド動作を制限していないかも確認してください。クライアントが一時停止すると、VPN表示と実際の接続状態が一致しなくなることがあります。診断中はクライアントを前面で動かし、アプリ単位のルールを確認します。
プラットフォームが違っても、基本的な確認順序は変わりません。まずクライアントのセッションを確認し、次に出口IPを比較し、その後DNSを確認して、最後に目的のアプリを一つずつテストします。問題の層が特定できていない段階で、ノード、プロトコル、DNS、振り分けルールを同時に変更すると、どの調整で解決したのか分からなくなります。
接続済みなのにアクセスできない場合の切り分け順序
クライアントに接続済みと表示されているのにウェブページが開かない、または目的のアプリがローカル出口を使い続ける場合は、一度に一つの変数だけを変更するのが効果的です。まず経路を切断した状態でローカルネットワークが正常に使えることを確認し、次にノード接続を確認します。その後、接続方式、DNS、振り分けルールを確認します。これにより、問題をローカルネットワーク、ノードセッション、システムルーティング、個別アプリのいずれかに絞り込めます。
- 経路を切断し、ローカルネットワークで通常の名前解決と一般的なページへのアクセスができることを確認する。
- 現在のノードへ再接続し、クライアントログにハンドシェイクまたは認証エラーがないか確認する。
- 同じ種類の別の経路へ切り替えてテストし、単一ノードの問題かクライアント設定の問題かを区別する。
- システムプロキシまたはTUNの状態を確認し、他のネットワークツールの干渉を一時的に除外する。
- 出口IPページで、検証リクエストがリモート出口へ入っていることを確認する。
- DNSの結果を確認し、ルールログで適用されたルールと最終出力先を確認する。
- 目的のアプリを完全に終了してから開き直し、古いセッションが元の経路を使い続けないようにする。
出口IPが正しいのに、特定のサービスで以前の地域が表示される場合は、そのサービスがアカウント地域、キャッシュ、位置情報の権限、古いセッション情報を保持している可能性があります。必ずしも経路の無効を意味するわけではありません。逆に、ページを開けたからといって通信が経路を通ったとも限りません。直接接続でもアクセスできる場合があるため、最終的には出口の結果、DNS経路、アプリのログを組み合わせて判断します。
確認が終わったら、診断のため一時的にグローバルへ変更したルーティングモードを通常の設定へ戻し、重要なアプリを再度テストします。技術サポートへ問い合わせる場合は、プラットフォームとクライアントのバージョン、ノードのプロトコル、接続方式、問題が起きたアプリの種類、機密情報を削除したエラーログを伝えるとよいでしょう。「VPNが動かない」だけでなく、「どのアプリが経路を通らないのか」を明確にすると、原因を特定しやすくなります。
最終結論:選択した経路に合う出口IPが確認でき、DNSが想定した名前解決経路を使い、目的のアプリの接続ログにもプロキシ出力先への接続が表示されて初めて、現在の設定どおりVPNが動作していると十分に判断できます。