VPNが有効か確認する際、クライアント画面の緑色アイコンだけを見てはいけません。まず未接続時の出口IPとDNSの名前解決結果を記録し、接続後に同じ確認を行います。最後にブラウザ、デスクトップアプリなど、ネットワーク接続が必要なアプリを個別に検証します。出口経路、ドメインの名前解決、対象アプリの通信がすべて想定どおりになって初めて、現在の設定が正しく機能していると判断できます。
複雑なネットワークコマンドを理解する必要はありません。初心者は基本的な比較から始めるだけで、多くの問題を見つけられます。結果に食い違いがある場合は、スプリットトンネル、システムプロキシ、TUNモード、DNS設定を確認します。重要なのは、一度に一つの条件だけを変更することです。経路、プロトコル、ルールを同時に変えると、どの設定が影響したのか分からなくなります。
確認の基準値を作る:まず未接続時の状態を確認
経路が変わったか判断するには、比較できる基準点が必要です。まずクライアントを完全に切断し、ブラウザで個別に有効になっている可能性のあるプロキシ拡張機能を無効にして、新しいプライベートウィンドウを開きます。検索エンジンで「自分のIP」を検索し、ページに表示された出口アドレス、ネットワーク事業者、大まかな地域を記録します。検出サイトによってデータベースの更新時期が異なるため、地域名が完全に一致する必要はありません。出口アドレスとネットワークの帰属先が変わったかを重視してください。
続いて、現在のDNS名前解決結果を確認します。DNSはウェブサイトのドメインを接続可能なアドレスに変換する仕組みで、最終的にウェブページが使う出口経路とは別のものです。未接続時は、名前解決のリクエストがローカルネットワーク、OSが指定したリゾルバー、またはブラウザ内蔵の安全なDNSで処理される場合があります。検出ページに表示されたDNSサービスの帰属先を記録し、後で接続後の結果と比較します。
基準値を作る際は、固定回線、公衆ネットワーク、共有ホットスポットなど、現在のネットワーク環境も記録します。ネットワークを切り替えるだけで出口IPやDNSが変わることがあります。未接続時と接続時で異なるネットワークを使うと、比較の意味が失われます。記録が終わったらVPNに接続し、クライアントの状態が安定するまで待ってから、検出ページを新しく開きます。古いタブを更新するだけでは、キャッシュや既存の接続が残っている可能性があります。
- ✅ クライアントを切断し、元の出口IP、ネットワークの帰属先、大まかな地域を記録する。
- ✅ 未接続時のDNS名前解決サービスの帰属先を記録する。
- ✅ 同じローカルネットワーク環境を保ったまま、接続後の再確認を行う。
- ✅ 新しいプライベートウィンドウを使い、キャッシュ、拡張機能、古い接続による干渉を減らす。
- ✅ 経路、プロトコル、モードのうち一つだけを変更して、毎回確認し直す。
出口IPを確認:ウェブ通信の経路を確認
出口IPは、外部サイトから見えるリクエスト元です。接続後も検出ページに基準値とまったく同じ出口アドレスが表示される場合、ノードが必ず無効とは限りません。現在のブラウザがクライアントのプロキシ経路を使っていない可能性があります。まずクライアントの動作モードを確認しましょう。システムプロキシモードは、システムのプロキシ設定に従うアプリだけを通常は経由させます。TUNまたは仮想ネットワークアダプターのモードは、より低い層でルールに該当する通信を処理します。
出口アドレスが変わっても、地域と選択した経路が一致しない場合は、すぐに結論を出さないでください。IPの地域データベースには更新の遅れがあり、同じアドレスでも検出サイトによって隣接地域や古いデータセンター情報が表示されることがあります。ネットワークの帰属先、複数の検索結果に共通する方向、実際の対象サービスが認識する地域のほうが参考になります。特定のページだけ異常な場合は、サイトデータを削除してブラウザを再起動し、別の検出元でも確認してください。
ブラウザはWebRTCを使ってリアルタイム通信を確立することもあります。検出ページにローカルネットワークのアドレスが追加表示されても、それだけで公開出口の漏えいを意味するわけではありません。ローカルアドレスは通常、インターネットから直接ルーティングできないためです。確認すべきなのは、基準値と一致する公開出口がページに表示されているかどうかです。その場合は、ブラウザがシステムプロキシを迂回していないか、クライアントのルールでリアルタイム通信が直接接続になっていないかを確認します。
| 検出結果 | 考えられる意味 | 次の手順 |
|---|---|---|
| 接続前後で出口IPが同じ | ブラウザがプロキシ経路に入っていないか、現在のドメインがルールで直接接続になっている可能性がある | システムプロキシ、TUNモード、スプリットトンネルの適用ログを確認する |
| 出口IPが変わり、ネットワークの帰属先が経路と一致 | 現在のウェブリクエストはリモート出口から送信されている | DNSと他のアプリを引き続き確認する |
| 出口IPは変わったが、地域ラベルが一致しない | 地域データベースの情報が古い可能性がある | ネットワークの帰属先を比較し、異なる情報源で再確認する |
| 通常のウェブページは変わるが、特定のサイトは変わらない | スプリットトンネルのルール、キャッシュ、またはサイト独自の地域判定が影響している可能性がある | ルールログを確認し、そのサイトのデータを削除して再確認する |
システムプロキシとTUNモードの違い
システムプロキシは、アプリが読み取る転送設定に近いものです。ブラウザは通常これに従いますが、一部のゲーム、コマンドラインツール、更新プログラム、独自のネットワークスタックを実装したソフトウェアは完全に無視することがあります。TUNモードは仮想ネットワークインターフェースを通じて通信を処理するため、通常はより広い範囲をカバーし、システムプロキシを読み取らないアプリの確認にも適しています。ただし、TUNモードでもルーティングとスプリットトンネルのルールは適用され、すべての接続が無条件にリモート経路へ入るわけではありません。
デスクトップ環境では、管理者権限、ファイアウォールのポリシー、他のネットワークツールが仮想インターフェースの作成に影響することがあります。モバイル環境のクライアントは通常、OSが提供するVPNインターフェースを使って通信を処理しますが、省電力設定、アプリごとの設定、常時接続の設定によって実際の動作が変わる場合があります。確認時はクライアント画面から適用範囲を推測せず、対象アプリの結果を基準にしてください。
DNS名前解決を確認:名前解決経路のずれを見つける
DNSリークとは通常、ウェブ通信がリモート出口から送信されている一方で、ドメインの名前解決リクエストがローカルネットワークから見えるリゾルバーで処理される状態を指します。必ずしもウェブサイトが開けなくなるわけではありませんが、名前解決経路が想定と異なり、地域判定に食い違いが生じることがあります。接続後にDNS検出ページを開き、DNSサービスの帰属先が未接続時の基準値と同じか確認します。
結果が変わらない場合は、まずブラウザが独自の安全なDNSを有効にしていないか確認します。最近のブラウザは、名前解決リクエストを指定したサービスへ自ら送信できます。この経路はクライアントの通常のDNS設定を迂回する可能性がありますが、VPNの出口を経由する場合もあります。そのため、「名前解決サービス名が変わらない」ことだけで通信の漏えいを証明することはできません。出口IP、ブラウザ設定、クライアントの接続ログを組み合わせて判断してください。
別のよくあるケースでは、クライアントがリモートDNSを使いながら、スプリットトンネルのルールによってドメインを先にローカルで名前解決し、その結果に応じて直接接続かプロキシかを決めます。この設計が必ずしも誤りとは限りませんが、ローカルのリゾルバーからクエリが見える可能性があります。名前解決をリモート経路に合わせたい場合は、クライアントがプロキシDNS、リモート名前解決、暗号化DNSに対応しているかを確認し、適切な名前解決段階でルールが適用されることを確かめます。
ブラウザの安全なDNSが判断を妨げる理由
ブラウザの安全なDNSは、ドメイン検索を暗号化された接続に包みます。ブラウザがシステムプロキシに従う場合、この暗号化接続もリモート経路を通る可能性があります。ブラウザがこのリクエストを直接接続にすると、別の経路が生じます。そこで切り分け中は、ブラウザを一時的にシステムDNSに従わせ、基準値との比較が終わってから元の設定に戻す方法があります。目的は変数を減らすことであり、安全なDNSとVPNを併用できないという意味ではありません。
OSが以前の名前解決結果をキャッシュしている場合もあります。経路を切り替えた直後は、ブラウザがよく使うサイトへアクセスしても、新しいDNSリクエストをすぐに送信するとは限りません。一方、検出ページには新しいリゾルバーが表示されることがあります。特定のドメインを確認するには、関連アプリを終了して古い接続が終わるのを待ち、新しいプライベートウィンドウでアクセスします。クライアントに接続ログがある場合は、ドメインリクエストが最終的にどのルールに一致し、どの名前解決経路を使ったか確認できます。
アプリごとに検証:ブラウザだけ有効で、アプリが直接接続する状態を避ける
ブラウザの検出に成功しても、ブラウザのウェブリクエストが想定どおりだったことしか分かりません。デスクトップのチャットツール、同期アプリ、ダウンローダー、ゲーム、コマンドラインツールは、それぞれ異なる通信方式を使うことがあります。最も確実なのは、対象アプリを終了し、経路に接続してから再起動する方法です。そのうえで、アプリのネットワーク診断、クライアントの接続ログ、対象サービスのセッション情報から出口を確認します。
クライアントが接続ログに対応している場合は、古い記録を消去してから対象アプリを開き、明確なネットワーク操作を一度実行します。ログには通常、対象ドメインまたはアドレス、適用されたルール、直接接続かプロキシか、選択されたノードが表示されます。ウェブページをただ観察するよりも直接的です。対象接続がログに現れなければ、アプリが現在の通信処理方式を迂回している可能性があります。ログにDIRECTと明記されている場合は、ノードを何度も変えるのではなく、ルールを確認してください。
- 検証するアプリを完全に終了し、接続前に確立された長時間接続の再利用を避ける。
- 対象の経路に接続し、クライアントが再接続や認証エラーを繰り返していないことを確認する。
- クライアントログを消去するか、現在位置に目印を付ける。
- アプリを再起動し、判別しやすいネットワーク操作を一度だけ実行する。
- ログに記録されたドメイン、適用ルール、送信方式を確認する。
- 直接接続と表示されたらスプリットトンネルのルールを確認し、記録がなければTUNモードに切り替えて再検証する。
クライアントによって結果が異なる理由
WindowsとmacOSのプロキシクライアントは通常、システムプロキシとTUNモードの両方を提供しますが、仮想インターフェースの権限やDNSの処理方法は同じではありません。Linuxクライアントは明示的なルーティング、環境変数、透過プロキシ設定に依存することが多く、ターミナルのプログラムがプロキシ環境変数を読み取るかも個別に確認する必要があります。モバイル環境ではOSがVPNの状態をまとめて表示しますが、アプリごとの除外、バックグラウンド制限、システムネットワークの切り替えも接続に影響します。
ブラウザ拡張機能はブラウザ内部の通信だけを処理し、他のアプリを自動的に経由させることはありません。逆に、ブラウザ側で独自のプロキシや安全なDNSが設定され、システム設定と差が生じる場合もあります。確認時は、ブラウザ拡張機能、システムプロキシ、TUNのどれを使っているかを明確にしてから、対応する検出方法を選びます。
サブスクリプションとプロトコルを確認:接続成功でも転送が使えるとは限らない
サブスクリプションリンクをクライアントに取り込むと、通常はノード、プロトコルパラメータ、名称などの設定が生成されます。インポートに成功しても、現在のノードで完全なデータ転送を確立できるとは限りません。サブスクリプションの期限切れ、ノード設定の更新、クライアントコアのバージョン非互換、システム時刻の大きなずれなどにより、ノードは表示されても接続が不安定になることがあります。この場合は、接続ボタンを何度も押すのではなく、まずサブスクリプションを更新し、クライアントが示す具体的なエラーを確認します。
Shadowsocksは暗号化プロキシプロトコルで、一般的なクライアントではローカルプロキシまたはTUNの送信経路として使われます。VMessとVLESSは対応するコアを備えたクライアントで管理されることが多く、設定項目とトランスポート層のパラメータを混用することはできません。Trojanは通常TLS上で接続を確立するため、証明書名とシステム時刻がハンドシェイクに影響します。Hysteria2とTUICは主にQUICの考え方に基づいて通信を処理し、UDPの品質やローカルネットワークのポリシーに敏感です。プロトコルが「接続済み」と表示された後も、出口IPとアプリのログで実際の転送を確認してください。
直接接続、中継、IEPL専線は経路の種類を表すもので、プロキシプロトコルそのものではありません。直接接続はローカルからリモートノードへ直接接続します。中継では、まず中間入口に入り、そこから出口へ転送します。IEPL専線は通常、専用の伝送特性を持つ国際回線を表します。どの経路を使う場合でも、クライアントは何らかのプロトコルでセッションを確立し、スプリットトンネルのルールがアプリのリクエスト先を決めます。経路名だけで実際の状態を判断することはできません。
確認記録
未接続:出口IPとDNSの帰属先を記録
接続済み:選択した経路と動作モードを記録
ブラウザ:出口が変わったか、DNSが想定どおりか
対象アプリ:ログに記録され、ルールがプロキシか直接接続か
変更項目:経路、プロトコル、モード、ルールのうち毎回一つだけ変更
再確認:古い接続を閉じてアプリを再起動
見かけだけの接続を確認:接続しているように見えて通信が経路を通らない状態
見かけだけの接続で最も多い原因はルールモードです。クライアントとノードのセッションは正常でも、対象サイトがルールによって直接接続と判定されると、ステータスバーは接続済みのまま、検出ページには元の出口が表示されます。グローバルプロキシへの切り替えは、一時的な診断方法として使えます。グローバルモードで出口がすぐ変わるなら、ノードとプロトコルはおおむね利用可能で、問題はルールセット、ルールの順序、またはドメインの名前解決段階にある可能性が高いと考えられます。原因を確認したら、日常利用に適した分流設定へ戻します。
別の問題として、古い接続が切断されていないことがあります。ブラウザ、チャットアプリ、同期ツールは長時間接続を維持するため、経路を切り替えても以前の経路を使い続ける場合があります。ページを何度も更新するより、アプリを完全に終了して再起動するほうが効果的です。スリープやネットワーク切り替えによって状態が一致しなくなることもあります。その場合はクライアントを切断し、ネットワークが復旧するまで待ってから再接続し、新しいテストセッションを確立します。
複数のネットワークツールを同時に動かすと、ルーティングの競合も起こります。ブラウザ拡張機能、システムプロキシツール、仮想ネットワークアダプターのクライアント、安全対策ソフトなどがリクエスト経路を変更する可能性があります。切り分けでは主要なクライアントを一つだけ残し、他のプロキシ入口を一時的に停止して、出口IPから再確認します。基本経路を確認する前に、ファイアウォール、DNS、プロトコル、サブスクリプション設定を同時に変更しないでください。
- ✅ クライアントログにハンドシェイク、認証、タイムアウトのエラーが継続して表示されていない。
- ✅ 接続後の出口IPが未接続時の基準値と異なる。
- ✅ DNSの名前解決経路が、現在のクライアントとブラウザの設定に合っている。
- ✅ 対象アプリの接続がログに記録され、想定した送信ルールに一致している。
- ✅ アプリを終了して再起動しても、同じ結果を安定して再現できる。
- ✅ 日常利用のスプリットトンネルモードに戻した後、完全な再確認を行う。
経路を変えるべき場合と、プロトコルを変えるべき場合
クライアントがノードとのセッションをまったく確立できず、ログにハンドシェイクや転送エラーが継続して表示される場合は、まず同じ種類の別経路に切り替えて、単一ノードの問題か判断します。現在のネットワークで複数のノードに接続できず、別のプロトコルに変えると復旧した場合に限り、現在のネットワークがその通信方式に対応しているかを詳しく確認する理由があります。セッションが正常で出口も変わっているのに、特定のアプリだけが直接接続になる場合は、まず通信処理モードとルールを確認します。ルールに一致していない問題は、通常プロトコルを変えても解決しません。
ウェブページは開けるものの動作が不安定な場合は、DNSの名前解決が遅いのか、接続確立が遅いのか、継続的な転送が不安定なのかを切り分けます。プロトコルを頻繁に変えるとテスト条件がリセットされ、本当の原因が隠れる可能性があります。同じ対象を同じネットワーク環境でテストし、経路またはプロトコルを順番に一つずつ変更して、その都度ログを記録してください。感覚で切り替えるより、信頼できる結論を得られます。
最終確認の基準:結果を再現できること
検出ページで一度だけ異なるIPが表示されても、その時のリクエストが別の出口を通ったことしか証明できません。完全に確認するには、DNS経路が設定どおりであること、対象アプリがクライアントログに記録されていること、アプリを再起動しても結果が一致することも確認します。地域判定に依存するサイトでは、古いセッションとサイトデータも削除してください。アカウント情報、キャッシュ、ブラウザの位置情報権限が判定に関わる可能性があり、地域表示のすべてをVPNの影響と考えることはできません。
切り分けが終わったら、使用したクライアントモード、経路、プロトコル、DNS設定、ルールモード、最終結果を簡潔に記録しておくことをおすすめします。次にネットワーク環境が変わったときも、確認済みの設定から始められ、手探りでやり直す必要がありません。特定のアプリだけで問題が起きる場合は、そのアプリがシステムプロキシに対応しているか、TUNでの処理が必要か、どのルールに一致したかを記録すると、原因をすぐ再現しやすくなります。