VPNに接続したのに使えない?出口IP・DNS・アプリ別の確認方法
接続済みの表示だけでは通信経路は確認できません。出口IP、DNSの経路、アプリごとの通信を3段階で確認し、接続したように見えて実際は経路を通らない典型例も紹介します。
VPNに接続したのに通信へ反映されない原因は、通常ひとつとは限りません。クライアントの「接続済み」は、ローカルクライアントとリモートノードのセッションが確立したことを示すだけで、ブラウザーやダウンロードツールなどすべての通信がそのセッションに入ったことを意味しません。システムプロキシが適用されていない、TUNの権限がない、ルールで直結になっている、ブラウザーが独自にDNSを解決している、といった要因で接続表示と実際の出口が一致しないことがあります。
信頼できる判断は、クライアントのアイコンや、特定のウェブページが開くかどうかだけではできません。通信を出口アドレス、名前解決、実際のアプリの3層に分け、接続前後の変化を順番に確認します。宣伝ページの速度データではなく、繰り返し実行できる確認手順を作ることが重要です。
まず「接続済み」が何を確認した状態なのか理解する
「接続成功」の定義は、クライアントによって完全には同じではありません。システムVPNインターフェースやTUN仮想ネットワークカードを使う場合、クライアントは通常、仮想インターフェースを作成し、ルートを書き込み、DNSを設定します。システムプロキシを使う場合は、ローカルのプロキシポートを起動し、プロキシに対応するアプリのリクエストをOSから転送させるだけのこともあります。ブラウザー拡張機能は対象範囲がさらに狭く、そのブラウザー内でプロキシインターフェースが取得できるリクエストだけを処理するのが一般的です。
そのため、プロトコル名だけでは「すべての通信が取り込まれているか」は判断できません。Shadowsocks、VMess、Trojan、VLESSは、システムプロキシまたはTUNモードと組み合わせて使われることが多く、Hysteria2とTUICはUDPベースの転送方式を特徴としますが、アプリの通信をトンネルへ正しく導入する処理は別途必要です。プロトコルはクライアントとノード間の転送方法を決め、システムモードとルーティングルールはどのリクエストを通すかを決めます。両者を混同しないでください。
| 確認できた状態 | そこから分かること | それだけでは証明できないこと |
|---|---|---|
| クライアントに接続済みと表示される | クライアントと選択したノードのセッションが確立している | すべてのアプリがその経路を使っている |
| ブラウザーの出口IPが変わる | そのブラウザーの現在の検索リクエストが別の出口を通っている | ほかのアプリやDNSリクエストも同じ経路を使っている |
| 対象のウェブページにアクセスできる | 現在のリクエストが利用可能なレスポンスを受け取った | リクエストが必ず選択したノードや専用経路を通っている |
| DNSの確認結果が変わる | 現在のテストが別の名前解決経路を使っている | すべてのアプリが同じDNS設定に従っている |
IEPL専用線、中継経路、直結経路は、ノード間またはユーザーから出口までの経路構成を表します。直結は通常、クライアントが出口ノードへ直接接続する方式です。中継では、いったん中間入口へ接続してから出口へ転送します。IEPL専用線は、特定の国際転送区間を専用の帯域で運ぶことを重視した経路です。どの経路でも、最終的には端末のルーティングとアプリの動作を確認する必要があり、経路名だけで出口テストを代用することはできません。
ステップ1:出口IPと地域情報を確認する
出口IPは最も直接的な確認項目です。まずクライアントを切断し、同じブラウザーウィンドウで本サイトのIPアドレス確認ページを開き、現在のネットワークの出口情報を記録します。次に対象ノードへ接続し、ページを更新してもう一度確認します。完全なアドレスを覚える必要はありません。接続前後で変化したか、変更後の国や地域が選択した出口と一致するかを比較します。
接続後も出口がまったく変わらない場合は、クライアントがグローバル、ルール、直結のどのモードになっているかを確認します。グローバルモードでは、より多くのリクエストがプロキシへ送られるのが一般的です。ルールモードでは、ドメイン、アドレス範囲、アプリのルールに基づいて経路が決まります。直結モードでは、ノードのセッションだけを維持し、通常のリクエストをプロキシしないことがあります。ローカルネットワークや特定アドレスを個別に除外できるクライアントもあります。設定として妥当な場合もありますが、ルールの範囲が広すぎると確認用サイトまで直結になることがあります。
出口が変わっても、確認をすぐ終えてはいけません。ブラウザーが独立したプロキシ拡張機能を使い、システム上のほかのアプリはローカルネットワークを使っている可能性があります。逆に、システムVPNが通信を取り込んでいるとき、ブラウザー拡張機能が別の出口へリクエストを送ることもあります。テスト中はプロキシの層を一時的に減らし、システムクライアント、ブラウザー拡張機能、アプリ内プロキシを同時に有効にしないようにします。
- ✅ 切断後に基準となる出口情報を記録し、接続後の結果だけを保存しない。
- ✅ 対象ノードへ接続して確認ページを更新し、地域情報が選択した出口と整合するか確認する。
- ✅ 通常ウィンドウとプライベートウィンドウで相互に確認し、ページキャッシュや拡張機能の違いを除外する。
- ✅ クライアントが現在グローバル、ルール、直結のどのモードか確認する。
- ❌ 「ウェブページが開く」ことだけで出口IPの比較に代えない。
- ❌ 複数のプロキシツールを同時に動かしたまま結論を出さない。
ステップ2:DNSの名前解決が想定した経路を通っているか確認する
DNSはドメイン名をネットワークアドレスへ変換します。ウェブリクエストがトンネルに入っても、名前解決まで同じ経路を通るとは限りません。ローカルネットワークが名前解決を担当していると、外部からユーザーが検索したドメインを推測される可能性があります。また、地域によって解決結果が異なり、適切でない配信ノードを指すこともあります。こうした状態はDNSリークと総称されがちですが、確認時はシステムDNS、クライアントのリモートDNS、ブラウザーのセキュアDNS、アプリ内蔵の名前解決を分けて考える必要があります。
ブラウザーのセキュアDNSは、OSが提供するリゾルバーを使わず、ブラウザーに設定されたサービスへ直接クエリを送ることがあります。その場合、システム側のDNS設定が変わっていても、ブラウザーのテスト結果には別の経路が表示される可能性があります。Chromium系やFirefox系の一部ブラウザーには、セキュアDNS、暗号化DNS、DNS over HTTPSなどの設定があります。確認時は機能が有効かどうかを記録し、特定の結果を最初から誤りと決めつけないでください。
システムのコマンドラインツールも、結果を慎重に解釈する必要があります。システムがクエリをローカルのスタブリゾルバーへ渡し、ネットワークサービスがそこから転送している場合があります。コマンドにローカルインターフェースのアドレスが表示されても、最終的な再帰的名前解決が端末上で行われたとは限りません。一方、ブラウザーが以前の解決結果をキャッシュしていると、ノードを切り替えても新しいクエリがすぐ発生しないことがあります。ブラウザー関連のキャッシュを消去し、対象ページを開き直したうえで、クライアントログのDNS処理記録も確認するのが堅実です。
| 名前解決の提供元 | よくある動作 | 確認ポイント |
|---|---|---|
| システムDNS | 多くの一般的なアプリはOSのネットワーク設定に従う | クライアント接続後に名前解決が書き換えられる、または取り込まれるか |
| クライアントのリモートDNS | ドメインのクエリをプロキシクライアントが転送して処理する | ルールモードでDNSリクエストも経路振り分けの対象になっているか |
| ブラウザーのセキュアDNS | ブラウザーが自身に設定された暗号化名前解決サービスを直接使う | システムやクライアントのDNSポリシーを迂回していないか |
| アプリ内蔵の名前解決 | 特定のアプリがシステムDNSに完全には従わない | そのアプリ自身の接続ログで確認する必要がある |
出口IPは変わったのにDNSが明らかにローカルネットワーク由来の場合は、まずクライアントに「リモート名前解決」「プロキシDNS」などの設定があるか確認し、次にDNSリクエストが直結になるルールになっていないかを確認します。TUNモードを使う場合は、仮想ネットワークカードの権限とDNS取り込み機能が正常に有効になっているかも確認してください。DNSツールをむやみに重ねて使うと、後からインストールしたネットワークフィルターがクライアントの設定を上書きすることがあります。
ステップ3:アプリごとに通信の行き先を確認する
出口IPとDNSのテストは通常ブラウザーで行いますが、実際の問題はゲーム、ダウンローダー、ターミナルツール、デスクトップクライアントで発生することがあります。システムプロキシが有効なのは、システムのプロキシ設定を読み取るアプリだけです。アプリによっては直接ネットワーク接続を確立します。TUNモードは通常より広い範囲をカバーしますが、除外リスト、ルートの優先順位、システム権限の影響を受けることがあります。最後は、実際に経路を使う必要があるアプリへ戻って確認してください。
まず対象アプリをひとつ選び、通信量の多いほかのソフトを終了します。アプリ自身にプロキシアドレスが設定されていないか、「システムプロキシを無視する」といった設定が有効になっていないかを確認します。さらに、プロキシクライアントのアプリ別リストで、対象アプリがプロキシ、直結、ルールに従う設定のどれになっているか確認します。次にクライアントの接続ログを開き、対象アプリを起動して明確なリクエストを1回送ります。対応するドメイン、宛先アドレス、プロセスの記録が現れるかを確認します。
ログに記録がないからといって、必ずしも経路の障害とは限りません。システムプロキシモードでは、アプリがクライアントへリクエストを渡していない可能性があります。ルールモードでは直結に振り分けられていることもあります。また、アプリが以前に確立した長時間接続を再利用している場合もあります。対象アプリを完全に終了して開き直し、新しい接続を確立させてから確認してください。UDPに対応するリアルタイムアプリでは、クライアントモードと選択したプロトコルが、ルールに従ったUDP転送を許可しているかも確認します。
- 対象アプリと利用場面を固定する。実際に確認したいソフトを選び、テスト対象がログイン、ページの読み込み、ファイル接続、リアルタイム通信のどれかを明確にする。
- 古い接続を消去する。アプリを完全に終了して再起動し、以前に確立したセッションが再利用されるのを防ぐ。
- アプリ別設定を確認する。対象アプリが除外されていないことを確認し、グローバルルールに従っているか、独立したポリシーを使っているかを確認する。
- クライアントログと照合する。アプリがリクエストを送ったとき、ドメイン、宛先アドレス、プロトコル種別、最終的に適用されたルールを確認する。
- モードを切り替えて再テストする。原因を特定する間だけグローバルとルールモードを比較し、原因が分かったら必要な設定へ戻す。
プラットフォームの違いも判断に影響します。Windowsクライアントでは、システムプロキシと仮想ネットワークカードモードを切り替えることがあります。ネットワークフィルターソフトがルートの優先順位を変更する場合もあります。macOSでシステムネットワーク拡張を使う場合は、対応するシステム許可が必要です。許可されないとローカルサービスだけが起動し、通信全体の取り込みが完了しないことがあります。モバイルプラットフォームでは通常、システムVPNインターフェースでトンネルを確立しますが、省電力設定、アプリ別VPN、常時接続設定がバックグラウンド動作に影響します。あるプラットフォームでの確認結果を、別のプラットフォームへそのまま当てはめないでください。
よくある「接続したのに通らない」ケース
システムプロキシが別のソフトに上書きされている
複数のネットワークツールがシステムプロキシを同時に変更すると、最後に設定を書き込んだソフトが後続のリクエストへ影響することがあります。クライアントはノードとのセッションを維持していても、ブラウザーが読み取るプロキシアドレスは変わっています。プロキシやネットワークフィルターのルールを変更するほかのソフトを終了し、再接続したうえで、システムプロキシの設定が現在のクライアントと一致するか確認します。
TUNまたはシステムネットワーク拡張に権限がない
クライアントへのログインとノードへの接続は成功していても、仮想ネットワークカードの作成に失敗していたり、システムネットワーク拡張の実行許可がまだ与えられていなかったりすることがあります。この場合、ローカルプロキシポートは使えても、通信全体の取り込みは完了していません。クライアントのエラーログとシステムのネットワーク権限を確認し、権限の問題を解決するためにサブスクリプションを何度も再インポートしないでください。サブスクリプションリンクはノードと設定をクライアントへ提供するもので、OSの許可を代替するものではありません。
ルールで対象が直結に設定されている
ルールセットは、ドメイン、宛先アドレス、地域、プロセスなどに基づいて判断します。同じサービスが複数のドメインを使うことも多く、メインページはプロキシを通っても、画像、API、ログインリクエストは直結になることがあります。確認時はアドレスバーのメインドメインだけでなく、ログから実際のリクエストを特定してください。一時的にグローバルモードへ切り替えて正常に戻るなら、ノードのセッションは利用でき、問題はルール層にある可能性が高いでしょう。
サブスクリプションを更新したが、古い設定が使われている
サブスクリプションをインポートした後、一部のクライアントでは手動で更新し、ノードを選び直す必要があります。設定名が同じように見えても、ノードのパラメータまで更新済みとは限りません。サーバー側の設定が変更されたのにローカルに古い項目が残っていると、再接続を繰り返したり、一部のプロトコルが使えなくなったりすることがあります。クライアントのサブスクリプション更新機能で設定を更新し、選択中の項目が新しい内容になっているか確認します。
アプリがシステムプロキシを迂回する、または古い接続を再利用する
ダウンロードツール、開発ツール、一部のデスクトップアプリには独自のプロキシ設定があるほか、直接接続するものもあります。接続前から起動していたアプリは既存のセッションを保持し、切り替え後の出口が一時的に反映されないことがあります。アプリを完全に終了して再起動するのは、負担が少なく有効な確認方法です。
ブラウザー拡張機能によって出口が異なる
ブラウザーのプロキシ拡張機能はブラウザー自身にしか影響しないため、「ブラウザーでは反映されたが、ほかのアプリは変わらない」という誤解が生じやすくなります。システムクライアントと拡張機能を同時に使うと、最終的な出口が拡張機能のルールで決まる場合もあります。切り分け中は主要なプロキシ経路を1層だけ残し、ほかの設定は段階的に戻してください。
- ✅ 出口IPが接続前後で想定どおり変わる。
- ✅ DNSの経路がクライアントとブラウザーの設定に一致する。
- ✅ 対象アプリの新しいリクエストがクライアントログに表示される。
- ✅ ログで、リクエストに想定したプロキシルールが適用され、直結ルールではないことを確認できる。
- ✅ アプリを再起動しても結果を安定して再現できる。
- ❌ クライアントの色、アイコン、接続時間だけで機能していると判断する。
経路・プロトコルと端末設定のどちらに問題があるか切り分ける
切り分けの基本は、一度にひとつの変数だけを変えることです。まず同じノードとプロトコルを維持し、グローバルモードとルールモードを比較します。グローバルでは出口が変わるのにルールでは変わらないなら、まずルールを確認します。どちらでも出口が変わらないなら、通信を取り込む権限とプロキシ設定を確認します。出口は変わったのに対象アプリだけ失敗するなら、アプリ自身のプロキシ、UDP対応、DNS経路を確認します。
次にクライアントモードを固定したまま、同じ種類のノードを交換して比較します。直結ノードは接続に失敗するのに中継ノードは正常なら、ローカルからノードまでのネットワーク経路が関係している可能性があります。複数のノードでセッションは確立するのに通信を取り込めないなら、端末側の設定に問題がある可能性が高くなります。IEPL専用線の経路特性だけで、システムプロキシの上書きやアプリによる迂回が自動的に直るわけではありません。すべての異常を経路品質のせいにしないでください。
プロトコルの切り替えは、ルーティングと権限を確認した後に行います。Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICには転送方式やクライアント対応の違いがありますが、「接続済みなのに出口が変わらない」問題は、通信を取り込むモードやルール層で起きることが多いです。ログでハンドシェイク失敗や継続的な転送中断が確認できる場合、または特定のネットワークが特定の転送方式を明確に制限している場合に、プロトコル比較を行うと診断に役立ちます。
| テスト結果 | 優先して確認する項目 | 次に行う操作 |
|---|---|---|
| グローバルでは機能するが、ルールモードでは機能しない | ルールによる経路振り分け | 対象ドメインとプロセスに適用されたルールを確認する |
| ブラウザーでは機能するが、ほかのアプリでは機能しない | システムによる取り込みまたはアプリ独自の設定 | TUN、システムプロキシ、アプリ別リストを確認する |
| 出口は変わったが、DNS経路は変わらない | DNSの取り込み | リモート名前解決とブラウザーのセキュアDNSを確認する |
| 複数のノードで出口が変わらない | 端末の権限とプロキシの上書き | システムのネットワーク設定とクライアントのエラーログを確認する |
| 特定のアプリだけ接続記録がない | アプリによる迂回または古い接続の再利用 | アプリを再起動し、アプリ内のプロキシ設定を確認する |
確認が終わったら再現できる記録を残す
テクニカルサポートへ問題を説明する場合は、接続日時、クライアントのプラットフォーム、選択したモード、プロトコル種別、ノード名、接続前後の出口情報、DNS設定の状態、対象アプリのログ断片を残すことをおすすめします。ログにサブスクリプションリンク、認証情報、アクセストークンが含まれている場合は、機密項目を削除してから必要な部分だけを送信してください。
有効な問題報告には、クライアントがセッションを確立したか、出口が変わったか、DNSが設定どおりか、どのアプリで機能しないか、グローバルモードとルールモードに違いがあるかを含めます。これにより、ノード接続、システムによる取り込み、ルール、アプリの動作をすばやく切り分けられ、「つながらない」「効果がない」だけで複数の問題をまとめずに済みます。
日常の利用でも、クライアントの変更、システムのネットワーク権限の更新、ルールの調整後にこの手順を繰り返せます。出口IPの確認で外側の経路を、DNSチェックで名前解決を、アプリ別ログで実際の通信を確認します。3つがそろって初めて、ステータスバーより信頼できる接続判断になります。