本文へ移動

VPNは本当に機能している?初心者向け確認ガイド:IPアドレス・DNS・アプリ別の検証

接続済みの表示だけでは、通信が実際にVPN経由とは限りません。IPアドレス、DNS、アプリごとの通信を順に確認し、接続しているように見えて通信が通っていないケースも解説します。

確認する通信を決める

VPNが機能しているかを確認する際は、接続アイコンではなく、IPアドレス、DNSの名前解決、対象アプリからの実際の通信を照合します。まず、どの通信をVPN経由にしたいかを決め、結果が想定どおりか確認しましょう。ブラウザーで確認した結果だけでは、端末全体の状態はわかりません。

一般的なクライアントは、システムプロキシを利用する場合と、仮想ネットワークアダプターで通信を処理する場合があります。システムプロキシの影響は、通常、プロキシ設定に従うソフトウェアに限られます。仮想ネットワークアダプターはより広い範囲をカバーしますが、アプリ別設定やルートの除外、IPアドレスの種類に関する設定の影響を受けることがあります。クライアントの「接続済み」は、接続状態またはローカルサービスの起動を示しているにすぎない場合があります。

「ルールモード」では、接続先のドメインやアドレス、アプリに応じて通信経路を振り分けます。日本国内のウェブサイトが直接接続されるのは、想定どおりの動作かもしれません。「グローバルプロキシ」も、システムプロキシと仮想ネットワークアダプターのどちらに適用されるかを確認しましょう。名称だけで、すべてのソフトウェアの通信がVPN経由になるとは限りません。確認の前に、現在のモード、選択中の接続先、除外設定を記録しておくと、正常な振り分けを不具合と誤認しにくくなります。

確認したい内容は、「このアプリがこの接続先にアクセスするとき、指定した経路を通る」のように具体化しましょう。「端末は接続済みか」という曖昧な確認ではなく、後から検証できる根拠を集めることが大切です。

IPアドレス:基準値を記録して接続後と比較

IPアドレスは、接続先のウェブサイトから見える送信元アドレスです。ブラウザーで確認するには、当サイトのIPアドレス確認ページを利用できます。確認ページへのアクセスもルールに従って振り分けられるため、わかるのはそのブラウザー通信の経路です。すべての通信に当てはまるとは限りません。

  1. 接続を一時的に切っても問題ない環境では、プロキシ接続を切断して確認ページを開き、現在のグローバルIPアドレスとネットワーク事業者の情報を記録します。接続を中断できない場合は切断せず、直接接続時の基準値がないことを記録してください。
  2. クライアントに接続し、想定した接続先が選ばれていることを確認します。古い表示を使わないよう確認ページを再読み込みし、グローバルIPアドレスが変わったか比較します。
  3. クライアントの接続記録で、確認ページのドメインに適用されたルールと通信の出口を確認します。直接接続に設定されている場合、IPアドレスが変わらなくても、VPNが機能していないとは言い切れません。
  4. 接続先の切り替えが反映されたか確認するには、別の接続先を選んで新たに確認リクエストを送信し、クライアントの記録も照合します。ページに表示された地域名だけで判断しないでください。

IPアドレスが変わったことは、そのリクエストの出口が変わった有力な手がかりです。一方、表示地域はデータベースによる推定で、反映が遅れたり実際と異なったりすることがあります。複数の接続先が同じ出口を共有する場合もあるため、切り替え後もIPアドレスが同じだからといって、必ずしも異常ではありません。逆に、ローカルネットワークの切り替えでアドレスが変わることもあります。検証時はできるだけ同じネットワーク環境を保ちましょう。

確認ツールがIPv4とIPv6を個別に表示する場合は、それぞれを確認してください。一方だけがプロキシ経由になり、もう一方はローカルネットワークを通る設定もあります。想定外の情報公開にあたるかどうかは、検証リクエストで実際に使われたアドレスの種類と、希望する通信経路によって異なります。一方の結果だけを見て、もう一方も正しく処理されていると判断しないでください。

DNS:地域だけでなく名前解決の経路を確認

DNSはドメイン名をIPアドレスに変換する仕組みです。名前解決のリクエストと、その後のウェブサイトへのアクセスが同じ経路を通るとは限りません。ウェブサイトへの通信はプロキシ経由でも、ドメインの名前解決にはローカルネットワークのDNSリゾルバーが使われる場合があります。ブラウザーがセキュアDNSを有効にしていて、システムとは別のDNSサービスを使うこともあります。そのため、IPアドレスが想定どおりでも、DNSの設定まで正しいとは限りません。

DNS検査ツールは通常、一時的なドメインへのアクセスを利用して、どの再帰DNSリゾルバーが問い合わせに関与したかを確認します。結果に表示されるリゾルバーのアドレスは、ウェブサイトへの通信の出口アドレスとは異なります。両者が違うのは珍しくありません。また、パブリックDNSサービスは分散して運用されていることがあるため、表示地域だけでDNSリークと判断することはできません。

  • まず、クライアントにリモートDNS、プロキシ経由のDNS、または関連するルーティング設定があるか確認し、現在のモードで有効になっているかも確認します。
  • 次に、ブラウザーのセキュアDNS設定を確認します。ブラウザーに個別のDNSサービスを指定している場合は、そのサービスへの通信がどの経路を通るか確認してください。
  • 新しい問い合わせを送信した検査結果を確認し、クライアントのログと照らし合わせます。通常のページ再読み込みでは、キャッシュが使われることがあります。

DNSリークは、本来指定した経路で処理するはずのドメイン問い合わせが、想定外のDNSリゾルバーに送られている状態を指します。ローカルのドメインをローカルDNSで名前解決する設定なら、通常は意図した振り分けです。特定のドメインをリモートで名前解決したいのに、ローカルのネットワーク事業者のDNSリゾルバーが継続して使われる場合は、ウェブサイトへの出口だけを変えるのではなく、設定を確認しましょう。

検査ページに同じ地域が表示されるよう、DNS設定をすべて何度も変更する必要はありません。まず現在の設定を保存し、関連する項目を一つずつ変更してください。そうしないと、名前解決の失敗と接続経路の問題を混同しやすくなります。

アプリ別に確認:ブラウザーで使えてもソフトウェアで使えるとは限らない

デスクトップソフトウェアは、システムプロキシに従う場合もあれば、内蔵のネットワーク機能や個別のプロキシ設定を使ったり、直接接続したりする場合もあります。ブラウザー拡張機能の対象は通常、その拡張機能を使っているブラウザーだけです。オフィスソフトやターミナルツール、デスクトップクライアントを確認する際は、対象アプリから実際にリクエストを送り、ネットワーククライアントの接続記録を確認しましょう。

利用シーン 優先して確認する項目 これだけでは判断できないこと
ブラウザーでのアクセス 確認ページへの出口、拡張機能のプロキシ、セキュアDNS、適用ルール ウェブページが開けても、ほかのアプリが同じ経路を使うとは限らない
デスクトップのオフィスソフト アプリのプロキシ設定、アプリ別の除外、接続記録 ログインに成功しても、その後のファイル転送が同じ経路を使うとは限らない
ターミナルからのリクエスト ツール独自のプロキシ設定、環境変数、実際の接続先 システムプロキシを有効にしても、コマンドラインツールに自動適用されるとは限らない
モバイルアプリ システムの接続状態、アプリ別設定、フォアグラウンドの通信記録 接続アイコンが表示されても、除外したアプリの通信まで処理されるとは限らない

WindowsとmacOSでは、クライアントがシステムプロキシと仮想ネットワークアダプターのどちらを使っているかを確認し、ほかのネットワークツールが同じ設定を変更していないかも調べましょう。Linuxでは、デスクトップのプロキシ設定とターミナルの環境変数を区別してください。ターミナルにプロキシを設定しても、バックグラウンドサービスに引き継がれるとは限りません。

Androidではアプリ別プロキシの一覧を確認し、表示されているアプリが「対象」なのか「除外」なのかを確かめます。iOSでは、プロキシクライアントのモードやルール、アプリ自体の動作も結果に影響します。システムのステータス表示だけで判断しないでください。設定を切り替えた後も、対象アプリが既存の長時間接続を使い続けることがあります。必要に応じてアプリを終了してから開き直し、新しいリクエストを確認しましょう。

クライアントの接続記録でドメイン、ルール、出口を確認できる場合は、それらを対応づけて検証できます。記録が見当たらなくても、ログが無効になっている、既存の接続が再利用されている、表示内容が不完全といった可能性があります。そのため、アプリがプロキシを回避したとすぐに断定しないでください。まず確認時の条件を見直し、そのうえで通信を処理する方法を調整するか判断します。

接続中に見えても、想定した経路を通らない主な原因

サブスクリプションを更新しても、使用中の設定が変わっていない

サブスクリプションURLは、クライアントに接続先や関連設定を取得させるためのもので、接続そのものではありません。更新後は、どの設定が有効になっているか、どの接続先が選択されているかも確認しましょう。クライアントによって対応する形式やプロトコルは異なります。インポートに成功したことは設定が受け付けられたことを示すだけで、実際のリクエストの検証にはなりません。取得方法と基本操作は使い方ガイドをご覧ください。

ルールによる直接接続、またはアプリの除外

優先度の高いルールが、既定の出口設定より優先される場合があります。ウェブサイトにローカルのIPアドレスが表示されたら、まずそのドメインに適用されたルールを確認してください。そのウェブサイトへの通信を指定した経路に通す必要がある場合は、該当ルールを調整して再確認します。正常な直接接続まで異常とみなす必要はありません。

接続テストは成功しても、実際のサービスは別の通信方式を使っている

クライアント内蔵の接続テストは、特定の接続先にアクセスするだけの場合が多く、音声、動画、ファイル転送がすべて正常に動くとは限りません。実際のアプリでは別のドメインやUDP通信を使うことがあり、クライアントの対応状況、ルーティングルール、現在のネットワーク環境が結果に影響します。問題が起きている機能を実際に試し、接続テストだけでサービス全体の動作を判断しないでください。

複数のネットワークツールが設定を上書きしている

ブラウザー拡張機能、システムプロキシ、ほかの仮想ネットワークアダプター、アプリ内プロキシが重なり、通信経路が複雑になることがあります。確認を始める前に設定を記録し、無関係なツールを一時停止して、把握しやすい経路だけを残しましょう。クライアントをさらに重ねると、出口やDNSの由来を特定しにくくなるだけです。

確認結果を後から検証できる形で整理する

検証後は、「ネットワーク環境、クライアントのモード、対象アプリ、対象ドメイン、適用ルール、出口の結果」の対応関係を記録しておきましょう。第三者に相談するときは、現象と操作の順序を説明しつつ、サブスクリプションURL全体、アカウント情報、認証情報を含む設定内容は伏せてください。サブスクリプションURLにアクセストークンが含まれる場合があり、公開の場にそのまま貼るのは避けましょう。

  • ✅ 直接接続時の基準値を記録した、または取得できなかったことを明記した。
  • ✅ クライアントの接続アイコンだけでなく、対象リクエストの出口を確認した。
  • ✅ DNSリゾルバーとウェブ通信の出口を分けて判断し、ブラウザー独自の設定も確認した。
  • ✅ 実際に使うアプリから新しいリクエストを送り、振り分けルールと除外設定を確認した。
  • ❌ 表示地域が同じ、ページが開ける、接続テストが一度成功したというだけで、検証を済ませたことにしない。

WebRTCの検査結果も、アドレスの種類を踏まえて解釈しましょう。ページにローカルネットワークのアドレスや、隠す処理が施されたローカルホストの識別子が表示されても、グローバルIPアドレスの漏えいとは限りません。想定外のローカルネットワークのグローバルIPアドレスが表示された場合は、ブラウザーの動作や通信を処理する範囲を詳しく確認してください。同様に、アカウントの地域表示やプラットフォームのリスク判定だけでは、通信が想定どおりの経路を通っているかはわかりません。

判断の目安:IPアドレスが想定どおりで、DNSの経路を説明でき、対象アプリからの新しいリクエストに正しいルールが適用されていれば、「このアクセスは設定どおりの経路を通った」と判断する根拠になります。ただし、すべてのアプリの通信が処理されたことや、アカウントの匿名性、サービス側のプライバシーポリシーを保証するものではありません。

問題が続く場合は、影響範囲を絞って確認しましょう。ネットワーク環境は変えず、問題に関係するルールまたはクライアント設定だけを変更して、同じリクエストを再度実行します。ネットワーク、接続先、DNSを頻繁に切り替えるより、原因を特定しやすくなります。

無料で始める