VPNが本当に機能しているか確認する方法:出口IP・DNS・アプリ別に検証
IPアドレスやDNS、アプリごとの通信を確認して、VPNが機能しているかをチェック。接続済みなのに通信がプロキシ経由にならない原因も解説します。
VPNが正しく接続されているか、どのように確認すればよいでしょうか。「接続済み」というクライアントの表示だけで判断せず、まず出口IPを比較し、次にDNSリクエストの経路を確認して、最後に実際に使うアプリで検証します。これらの結果が設定した通信ルールと一致していれば、プロキシが必要な通信は想定どおりの経路を通っています。
ブラウザーでウェブサイトが開けても、業務アプリの通信までVPN経由とは限りません。また、出口の地域が変わっても、すべてのDNSリクエストがトンネルを通っているとは限りません。ここでは、簡単に試せて再確認もしやすい順に説明します。最初から高度な設定を変更する必要はありません。
接続状態と実際に機能している状態の違い
「接続済み」は通常、クライアントがトンネルを確立した、ローカルプロキシを起動した、または接続の一段階を完了したことを示します。具体的な意味はクライアントによって異なります。この表示だけでは、すべてのアプリがその接続を使っているとは限らず、接続先のウェブサイトが現在の出口を受け入れる保証にもなりません。
まず、現在の接続モードを確認しましょう。システムプロキシが影響するのは、通常、システムのプロキシ設定に従うアプリです。TUNやシステムVPNモードは仮想ネットワークインターフェースを通じて通信を処理しますが、その範囲はルーティング、除外リスト、アプリの設定にも左右されます。ブラウザー拡張機能はブラウザー内だけに適用されることが多く、端末全体の状態を判断する材料にはなりません。
出口IP:接続前の値を記録して比較
出口IPは、接続先のウェブサイトから見えるグローバルIPアドレスです。接続前後で同じブラウザー、同じ確認ページ、同じローカルネットワークを使うと、結果を比較しやすくなります。VPNFineのIPアドレス確認ツールや、信頼できる確認ページを利用できます。確認ページへの通信がカスタムルールで常に直接接続になっていないか、先に確認してください。
- 接続前に記録する。プロキシを一時的に切断できる環境で接続をオフにし、グローバルIPアドレス、割り当て地域、通信事業者の情報を記録します。システム設定に表示されるローカルネットワークのアドレスを、グローバルIPアドレスと混同しないでください。
- 接続後に再確認する。利用する回線を選び、必要なプロキシモードを有効にしたら、もう一度確認します。ページに残った前回の結果だけで判断しないでください。
- クライアントの記録を確認する。クライアントが接続一覧に対応している場合は、確認ページにどのルールが適用されたか、どの出口グループが使われたか、新しい接続が確立されたかを確認します。
- 通常の振り分け設定に戻して確認する。モードの一時変更は問題の切り分けに限って使います。設定を戻した後、よく使うウェブサイトのルートが想定どおりか確認してください。
IPアドレスが変わらない場合は、確認ページへのリクエストが直接接続のルールに該当していないか、まず確認してください。すぐに回線の障害と判断する必要はありません。アドレスが変わっても、割り当て地域と回線名が一致しないことがあります。地図だけを根拠に判断しないでください。IPアドレスのデータベースは更新が遅れる場合があり、データベースごとに表示内容も異なります。回線名、出口アドレス、地理情報が常に一致するとは限りません。
DNSの確認:地域だけでなく名前解決の経路を見る
DNSはドメイン名をIPアドレスに変換します。ブラウザーがウェブサイトにアクセスするとき、ドメイン名の解決はシステムのリゾルバー、クライアント内蔵のリゾルバー、またはブラウザーに設定されたセキュアDNSサービスが行う場合があります。ウェブページへのリクエストとDNSリクエストは異なる経路を通ることがあるため、出口IPが変わっただけでは、名前解決の経路が想定どおりか判断できません。
一般的なDNS確認ページは新たなドメイン検索を行い、検出された再帰リゾルバーを表示します。ここに表示されるのは通常、ウェブ通信の出口ではなく、端末に設定された最初のDNSアドレスとも限りません。また、パブリックDNSサービスは分散型のインフラを利用することがあります。そのため、リゾルバーの地域と出口の地域が異なるだけで、DNSリークが起きているとはいえません。
確認すべきなのは、プロキシ経由にする想定のDNSリクエストに、ローカルネットワークの名前解決経路が使われていないかです。ルールベースの振り分けを使っている場合、ローカルのウェブサイトのDNSが設定どおり直接接続されても、問題ないことがあります。すべての名前解決をトンネル経由にする想定なのに、確認ページでローカル通信事業者のリゾルバーが繰り返し検出される場合は、設定を確認してください。
- ブラウザーのセキュアDNSを確認する。ブラウザーがシステムのリゾルバーを使わず、DoHを利用している場合があります。暗号化DNSは名前解決時の通信を保護するものであり、DNSリクエストがプロキシ経由になることを自動的に保証するものではありません。
- クライアントのDNSモードを確認する。DNSの処理がクライアントに引き継がれているか、プロキシ対象のドメインに適切な名前解決ルールが設定されているか、上流DNSへの接続自体がどのルートを通るかを確認します。
- キャッシュに注意する。設定を切り替えた後も、以前の名前解決結果や確立済みの接続が再利用される場合があります。古いページを何度も再読み込みするより、対象アプリを再起動してからもう一度確認するほうが効果的です。
「ウェブページは開けるのに、DNSの確認が完了しない」場合は、確認用スクリプトや拡張機能によるブロック、テスト用ドメインの問題も考えられます。まず別の信頼できる確認方法で照合してください。確認ページのエラーだけでDNSリークと判断しないようにしましょう。
アプリごとに検証:ブラウザーの結果だけで判断しない
同じ回線を使い、ブラウザー、業務用クライアント、実際に使うアプリをそれぞれ確認します。一度に変更する条件は一つだけにして、クライアントの接続記録を確認してください。そうすることで、回線の問題なのか、アプリがシステムプロキシに従っていないのかを切り分けられます。
| 症状 | 考えられる原因 | まず確認する項目 |
|---|---|---|
| ブラウザーのIPは変わったが、デスクトップアプリで問題が起きる | アプリがシステムプロキシを使っていない、または除外されている | アプリのプロキシ設定、TUNの処理範囲、プロセスルール |
| 確認ページのIPは変わらないが、ほかのウェブサイトは正常に使える | 確認用ドメインに直接接続のルールが適用されている | 該当リクエストに適用されたルールと出口グループ |
| IPは変わったが、一部のドメインにアクセスできない | 名前解決の問題、ルールの設定漏れ、ウェブサイト側の制限 | DNSの結果と、アクセスできないドメインの接続ログ |
| 回線を切り替えても古い出口が表示される | アプリが古い接続を再利用している、またはページが再確認していない | 古い接続を切断し、アプリを再起動してからもう一度確認する |
| 出口は想定どおりだが、アカウントでのアクセスが制限される | ウェブサイトの地域・アカウント・出口に関するリスク管理ルール | プロキシモードだけでなく、ウェブサイトの表示内容とアカウントの利用条件を確認する |
WindowsとmacOSでは、システムプロキシと仮想ネットワークインターフェースモードで通信の処理方法が異なります。一部のゲーム、コマンドラインツール、業務用プログラムには独自のネットワーク設定があります。Linuxでは、デスクトップのプロキシ設定をすべてのプログラムが読み取るとは限りません。環境変数や個別のプロキシ設定を、各アプリのドキュメントで確認してください。
AndroidとiOSでは、システムVPNの表示は通信の処理が有効になったことを示すにすぎません。クライアントのアプリ除外設定や振り分けルール、ほかのネットワークツールとの競合も確認してください。アプリにIPアドレスの確認機能がない場合は、アプリが通信するタイミングでクライアントの接続記録を確認し、実際の機能と照らし合わせて判断できます。
接続済みなのに問題がある場合:順番に確認
回線、DNS、ルール、クライアントモードを同時に変更しないでください。複数の条件を一度に変えると、正常に戻っても原因を特定しにくくなります。まず現在の設定を保存し、以下の項目を一つずつ確認しましょう。
- ✅ 現在のサブスクリプション情報が更新され、ノード設定が古くないことを確認します。サブスクリプションのインポートに成功しても、設定を読み込めたことを示すだけで、回線の接続を保証するものではありません。
- ✅ システムプロキシまたはTUNモードが有効か、対象のアプリが除外されていないかを確認します。
- ✅ 失敗したリクエストに適用されたルールを確認し、直接接続、プロキシ、拒否のどれかと、使用された出口グループを特定します。
- ✅ 権限とネットワークポリシーで許可される場合は、一時的にグローバルプロキシに切り替えて比較します。その状態で正常に戻るなら、まず振り分けルールを確認してください。
- ✅ DNSとアドレスファミリーの処理を確認し、古い接続を終了して対象アプリを再起動してから、もう一度テストします。
- ✅ すべての接続先にアクセスできない場合は、別の利用可能な回線でも試し、エラーメッセージを保存してサポートに問い合わせます。
クライアントの「グローバルプロキシ」も、端末全体の通信を処理するとは限りません。プロキシクライアントに渡された通信だけを、ひとつの出口にまとめる設定の場合があります。もともとクライアントを経由していないアプリは、そのまま直接接続する可能性があります。処理する通信の範囲を広げるには、ルールモードを切り替えるだけでなく、クライアントのシステムプロキシや仮想インターフェースの説明を確認してください。
プロトコル名だけでは、接続の成否は判断できません。Shadowsocks、VMess、Trojan、VLESSなどの設定には、それぞれに対応したクライアントが必要です。Hysteria2とTUICはUDPを利用するため、ネットワーク上のUDP制限が接続に影響する場合があります。プロトコルを変更する前に、クライアントの対応状況とネットワーク環境を確認してください。特定のプロトコルを使えば必ず接続できるわけではありません。
よくある誤解:ウェブページが開けても経路が正しいとは限らない
海外のウェブサイトにアクセスできれば、それだけで十分ですか?
十分ではありません。そのウェブサイトはもともと直接接続できる可能性があり、キャッシュされた内容だけが表示されている場合もあります。新たに確認した出口IP、接続ログ、実際の通信操作をあわせて判断してください。逆に、特定のウェブサイトにアクセスできなくても、VPNが機能していないとは限りません。接続先が特定の出口を制限していたり、アカウントの地域情報をもとに判断していたりする場合があります。
WebRTCの確認でアドレスが表示されたら、必ず情報が漏れているのですか?
アドレスの種類を区別する必要があります。ローカルネットワークのアドレスや、隠す処理が施されたローカルホストの識別情報は、ローカルのグローバルIPアドレスが露出したことを意味しません。トンネル経由にする想定の環境でローカルのグローバルIPアドレスが表示された場合は、ブラウザーのWebRTC動作、UDPの経路、クライアントが通信を処理できているかを確認してください。
専用線や中継回線を使えば、確認は不要ですか?
いいえ。IEPL専用線、中継、直接接続は回線の構成方法を表すもので、アプリが正しくプロキシを利用していることを意味するわけではありません。DNSの設定上の問題が自動的に解消されるわけでもありません。回線の選択は通信経路に関わり、クライアントの設定は通信がその経路に入るかどうかに関わります。両方を確認してください。
最後に検証:再確認できる結果を残す
現在のネットワーク、クライアントモード、回線名、出口IPの確認結果、DNSの確認結果、問題が起きるアプリを記録しておくと便利です。複雑なレポートは必要ありません。「どの条件で、どのリクエストが、どの経路を通ったか」が分かれば、原因の推測を繰り返さずに済みます。ローカルネットワークを切り替えたりルールを更新したりした後は、重要な項目をもう一度比較してください。
サブスクリプションの追加方法や通信の処理モードの有効化が分からない場合は、使い方ガイドをご覧ください。プロトコルや回線の仕組みを比較するには、プロトコルリファレンスをご覧ください。問題が起きたときは、具体的なエラーを記録しておくと、「接続済みなのに使えない」という説明だけより原因を特定しやすくなります。