ネットワーク知識 約9分

VPN 本当に接続できているか確認する方法:IP・DNSチェック完全ガイド

接続アイコンが緑でも、通信が実際に経路を通っているとは限りません。出口IP、DNS、アプリ別通信を順に確認し、接続済みでも経路を通らない典型例を解説します。

VPNが本当に有効かを確認するなら、クライアントの「接続済み」表示だけでは不十分です。出口IP、DNSの名前解決経路、実際のアプリ通信を同時に確認しましょう。接続状態はクライアントと接続先のセッション確立を示すだけで、ブラウザー、会議アプリ、ダウンロードツールなどすべての通信が意図した経路を通ることまでは保証しません。

確認時は、まず未接続時の状態を基準として記録し、その後に目的の経路へ接続して再確認します。接続後に検索ページを1つ開くだけでは比較対象がなく、キャッシュやルール分岐、ブラウザー独自のネットワーク設定を経路障害と誤認しやすくなります。以下では簡単な確認から順に進めます。

「接続済み」が何を意味するかを理解する

クライアントの「接続済み」は通常、認証、ハンドシェイク、リモートセッションが完了したことを示します。この状態でも、端末でシステムプロキシ、仮想ネットワークインターフェース、アプリ内プロキシのいずれかが有効になっている場合があります。特定のドメインだけにルール分岐が設定されていることもあります。方式によって対象となる通信範囲は異なります。

通信の取り込み方式 通常カバーする範囲 取りこぼしやすい通信 確認ポイント
システムプロキシ OSのプロキシ設定に従うブラウザーとアプリ システムプロキシを無視するソフト、一部のリアルタイム通信、独立したネットワークサービス ブラウザーと独立したアプリを個別にテストする
TUNモード 仮想ネットワークインターフェースに入り、ルールに一致するIP通信 除外されたプロセス、LAN通信、ルールで直接接続に指定された宛先 ルーティングルール、仮想インターフェース、バイパスリストを確認する
ブラウザー拡張機能 現在のブラウザー、または指定したブラウザーの設定 システム上の他のアプリや、ブラウザー外で発生するバックグラウンド通信 ブラウザーの結果だけで端末全体を判断しない
アプリ内プロキシ プロキシ設定を入力したアプリだけ OSや、設定されていない他のアプリ アプリ独自のプロキシ種別とポートを確認する

Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICは、クライアントとサーバー間で使われるプロトコルまたは通信方式を示します。プロトコル名だけで端末全体が取り込まれるわけではありません。実際の対象範囲を決めるのは、クライアントの動作モード、システム権限、ルーティングテーブル、ルール分岐です。Hysteria2やTUICがリアルタイム通信を意識した設計でも、すべてのアプリ通信が自動的に経路へ入るとは限りません。

判断のポイント:「プロトコルが接続済み」と「目的のアプリが経路を通っている」は別の問題です。前者はクライアントの状態で確認し、後者は出口と実際の通信を確認する必要があります。

出口IPを確認する:接続前後を比較する

出口IPは、Webサイトから見える公開ネットワーク上の送信元アドレスです。確認前にクライアントを切断し、通信を個別に取り込む可能性のあるブラウザー拡張機能を無効にします。信頼できるIP確認ページを開き、現在のネットワーク事業者、地域、アドレスを記録します。その後、目的の経路に接続してページを更新し、結果をもう一度記録します。

  1. 経路を切断して基準値を記録する。現在の出口情報を残し、記憶だけで判断しないようにします。
  2. 目的のノードに接続する。クライアントの状態が安定してから確認し、ルーティング切り替え中の古い結果を避けます。
  3. シークレットウィンドウで再確認する。ページキャッシュ、拡張機能の設定、以前のセッションによる影響を抑えられます。
  4. 別の独立した確認元を使う。地域名の表示はデータベースによって異なりますが、公開アドレス自体は相互に確認できるはずです。
  5. 切断後にもう一度確認する。出口が元のネットワーク経路に戻れば、確認の流れが完了します。

接続後にアドレスが変われば、今回の確認リクエストがリモート出口を経由した可能性が高いと判断できます。ただし、地域名がノード名と一字一句一致するとは限りません。IPデータベースでは、同じアドレス帯が近隣都市、データセンターの登録地、ネットワーク事業者の所在地として表示されることがあります。都市名だけで成否を判断しないでください。

出口がまったく変わらない場合も、すぐにプロトコルを何度も変更する必要はありません。ブラウザーがシステムプロキシを読み取っていない、対象ドメインが直接接続に分岐している、アプリがプロキシポートを使っていない、TUNモードで仮想インターフェースを作成できていない、といった原因がよくあります。接続方式ごとに確認するほうが、ノードを連続して切り替えるより効果的です。

DNSを確認する:リゾルバーの変化と実際のリークを見分ける

ドメインにアクセスする前に、端末は通常、ドメイン名を接続可能なアドレスへ変換します。通信がリモート経路を通っていても、DNSクエリがローカルネットワークのリゾルバーへ直接送られていると、アクセス先のドメイン情報が想定外の経路に露出する可能性があります。これは一般にDNSリークと呼ばれます。

確認方法は出口IPの場合と同じです。経路を切断した状態でDNSテストを実行し、検出ページが識別したDNSサービスを記録します。接続後にもう一度実行し、リゾルバーの所属ネットワークがクライアント設定と一致するか比較します。接続後もローカルネットワークのリゾルバーが明確に表示され、クライアントがDNSを取り込む設定なら、DNSモード、システムキャッシュ、ルール分岐を確認してください。

ただし、第三者のパブリックリゾルバーが表示されたからといって、必ずしもリークとは限りません。ブラウザーで安全なDNSが有効になっている場合や、OSで手動指定したDNSサービスを使っている場合があります。このとき、リゾルバーとVPNの出口事業者が異なるのは正常です。重要なのは、DNSクエリが想定した暗号化経路またはトンネルを通っているかであり、リゾルバー名と出口名が完全に一致するかではありません。

  • ✅ まず切断時のリゾルバー結果を保存し、接続後の変化を確認する
  • ✅ ブラウザーの安全なDNS、システムDNS、クライアントのDNS設定を照合する
  • ✅ 設定変更後にDNSキャッシュを消去し、新しいクエリを実行する
  • ❌ 見慣れないリゾルバー名だけで、すぐにリークと判断する
  • ❌ 1つのブラウザーだけでテストし、端末全体の結論に広げる

コマンドラインから現在のDNS設定を確認することもできます。Windowsでは標準のネットワーク設定・名前解決コマンド、macOSではシステムのリゾルバー状態、Linuxでは利用中のネットワーク管理サービスを組み合わせて確認します。コマンド結果は主に「システムが誰に問い合わせようとしているか」を示し、オンラインDNSテストは「外部から最終的に誰が見えているか」に近い情報を示します。両方を合わせることで判断しやすくなります。

nslookup example.com

scutil --dns

resolvectl status

これらのコマンドはプラットフォームごとに異なるため、すべて実行する必要はありません。システム結果とオンラインテストが一致しない場合は、ブラウザーの安全なDNS、コンテナや仮想マシンのネットワーク、企業管理ポリシー、クライアントが一部のクエリだけを取り込んでいないかを優先的に確認します。

判断のポイント:DNSテストはリゾルバー名だけで判断できません。まずクライアントが取り込むと定めている範囲を確認し、ローカルの名前解決リクエストが想定した経路を外れていないかを判断します。

アプリ別に確認する:必要なソフトが経路を通っているか

「接続済みでも実際には経路を通っていない」ケースの多くは、通信の振り分けが原因です。クライアントが国内サイトを直接接続にし、海外サイトをリモート経路へ振り分けることもあります。また、プロセス、ドメイン、アドレス帯、ルールセットごとに経路を選ぶ場合もあります。そのため、同じ時間に異なる出口が現れても矛盾ではありません。

ブラウザーとデスクトップアプリを個別にテストする

まずブラウザーで出口を確認し、その後、本当に確認したいアプリを開きます。アプリにネットワーク診断、接続情報、プロキシ設定の画面があれば、システム設定を使っているか確認してください。システムプロキシを無視して直接接続するソフトもあります。独立したプロキシを入力できるソフトでは、設定を誤るとネットワークには接続できてもクライアントの経路を通りません。

ビデオ会議や音声アプリは、複数の通信方式を同時に使うことがあります。Webページはブラウザーのプロキシを通っても、音声・映像のメディア通信は独立したプロセスや別の経路で処理される場合があります。そのため、「会議ページを開ける」だけではメディア通信も取り込まれたとは判断できません。クライアントに接続ログがあれば、通話開始時やメディア再生時に該当する宛先と通信量の変化を確認します。

接続ログでルールの適用を確認する

クライアントのログには通常、宛先ドメイン、宛先アドレス、適用されたポリシー、最終出口が表示されます。テスト前に古いログを消去または一時停止してから目的のアプリを操作すると、新しく発生した接続を見つけやすくなります。ログにDIRECT、bypass、または直接接続と表示される場合、ルールによってリモート経路が意図的に回避されています。記録がまったくない場合は、アプリがクライアントの取り込み範囲に入っていない可能性があります。

ログに「プロキシ」と表示されても、それで確認は終わりません。リクエストがリモート側へ正常に到達したか、ルールのフォールバックで直接接続になっていないか、DNSクエリが別の経路を使っていないかも確認します。安定した通信が必要なアプリでは、ページを一度読み込んだかだけでなく、接続確立、継続通信、切断後の変化を合わせて観察します。

通信の振り分けは障害ではない

適切な通信の振り分けにより、LAN機器、印刷サービス、国際経路が不要なサイトは直接接続のままにし、指定した宛先だけを国際経路へ送れます。問題は直接接続が存在することではなく、ルールが目的に合っているかです。確認前に「どのアプリを経路に通すべきか」を明確にしておかないと、混在した結果から設定の正否を判断できません。

よくある誤判定:結果が安定しない理由

出口やDNSの結果が時々一致しない場合、単一の障害とは限りません。ブラウザーキャッシュ、長時間接続、ルール更新、ネットワーク切り替えによって古い状態が残ることがあります。特にノード切り替え後は、確立済みの接続が新しい経路へすぐ移行するとは限らず、ページを更新してもすべてのバックグラウンド接続が閉じるとは限りません。

現象 考えられる原因 対処方法
クライアントは接続済みだが、出口が変わらない アプリがシステムプロキシを無視している、ルールが直接接続に一致している、またはTUNが有効になっていない 取り込み方式、ルールログ、仮想インターフェースを確認する
ブラウザーの出口は変わるが、他のアプリは変わらない ブラウザー拡張機能またはブラウザーのプロキシだけが有効になっている 拡張機能を無効にして再確認し、アプリ独自のプロキシ設定を確認する
出口は変わるが、DNSにはローカルネットワークが表示される DNSが取り込まれていない、システムキャッシュが更新されていない、またはルール分岐が不足している クライアントのDNSモードを確認し、キャッシュを消去する
ノードを切り替えても古い出口が表示される ページキャッシュ、接続の再利用、または古いセッションがまだ閉じていない 関連アプリを終了し、新しい接続を確立する
確認ページごとに異なる都市が表示される IP地理情報データベースの更新時期や表示基準が異なる 公開アドレスとネットワーク事業者を主な比較対象にする
TUNを有効にすると一部のローカルサービスが使えない LANのバイパスルールまたはルーティングの優先順位が想定と異なる LANアクセスの設定とルーティングルールを確認する

直接接続、中継、IEPL専線も区別する必要があります。直接接続は端末からリモートの入口へ直接つなぐ方式で、経路が公衆ネットワークのルーティングに左右されやすい特徴があります。中継では近い入口へ接続してから、中間ネットワークを経由して出口へ転送します。IEPL専線は、区間に専用の伝送基盤を使う方式です。どの経路でも最終的な確認方法は同じで、経路名だけで判断せず、目的のアプリの実際の出口、DNS経路、接続ログを確認します。

複数のプロトコルが用意されている場合も、最初からプロトコルを切り替える必要はありません。まずサブスクリプションURLが正しくインポートされているか、ノード情報が更新されているか、システム時刻が正しいか、仮想インターフェースの作成に必要な権限がクライアントにあるかを確認します。そのうえで互換性を検討してください。サブスクリプションURLには接続設定が含まれるため、アカウント情報と同じように管理し、信頼できない確認ページへ貼り付けないでください。

決まった順序で確認し、試行錯誤を繰り返さない

結果が想定と異なる場合は、対象範囲が狭く、変数の少ない確認から始めることをおすすめします。一度に変更する設定は1つだけにし、変更のたびに接続を再確立します。ノード、プロトコル、DNS、通信分岐を同時に変えると、問題が解消しても、どの変更が効いたのか分からなくなります。

  • ✅ サブスクリプションが更新され、目的のノードで正常にセッションを確立できることを確認する
  • ✅ 経路を切断し、出口IPとDNSの基準値を記録する
  • ✅ 経路に接続し、シークレットブラウザーウィンドウ1つだけで出口を再確認する
  • ✅ DNSの結果を確認し、ブラウザーの安全なDNS設定を照合する
  • ✅ 目的のアプリを開き、クライアントログでルールの適用を確認する
  • ✅ アプリが経路に入らない場合は、システムプロキシまたはTUNの権限を確認する
  • ✅ 設定変更後は古い接続を閉じ、切断と再接続による確認をもう一度行う
  • ❌ 基準値がないまま、地域名だけで経路の状態を判断する

プラットフォームによって確認箇所も異なります。WindowsとmacOSのデスクトップクライアントでは、通常システムプロキシとTUNを選択できますが、仮想インターフェースの作成に追加のシステム権限が必要な場合があります。AndroidとiOSでは、通常OSが提供するVPN設定を通じて通信を取り込み、システムに接続状態が表示されます。アプリ別除外を有効にしている場合、除外したソフトは直接接続のままです。Linuxでは、利用するネットワーク管理サービス、ルーティングテーブル、DNSサービスへの依存度が高いため、クライアント設定とシステムのネットワーク状態を合わせて確認します。

確認の最後は、次の基準で判断できます。接続前後で出口が再現性をもって変化し、DNS経路が設定と一致し、目的のアプリがログ上で想定したルールに一致し、切断後にネットワークが元の経路へ戻ることです。接続アイコンだけを見るより、これらの条件を満たすほうがVPNが想定どおり有効になったことを示せます。

最終結論:IP確認は公開出口の確認、DNS確認はドメイン名前解決経路の確認、アプリ別テストは通信の取り込み範囲の確認に役立ちます。3つの結果を照合して初めて、「接続済み」を検証可能なネットワーク状態として判断できます。
無料で試す