VPNに接続したのに、アクセス先やDNSサーバーに関する情報が通常の回線へ流れている——この状態がDNSリークです。VPNのアイコンが表示されているだけでは、すべての名前解決がトンネル内を通っているとは限りません。さらに、ブラウザのWebRTC機能によってローカルIPアドレスや利用中のネットワーク情報が見える場合もあります。本記事では、VPN接続後に確認しておきたいDNSとWebRTCのチェック方法、リークが起きる原因、キルスイッチやプロトコルの選び方、公共Wi-Fiでの注意点まで、順番に整理します。
DNSリークとは何か:VPN接続中に起きる情報の漏れ
ブラウザでウェブサイトを開くとき、端末はまずドメイン名をIPアドレスへ変換するためにDNSリクエストを送ります。VPNが正常に構成されていれば、このリクエストもVPNトンネル内のDNSへ送られ、利用中のローカル回線事業者や公共Wi-Fiの管理者から、どのドメインを調べたのか見えにくくなります。
しかし、VPNクライアントのDNS設定が不完全だったり、OSのネットワークサービスが元の接続を優先したりすると、ウェブページの通信自体はVPNを通っていても、DNSだけが通常回線から送信されることがあります。これがDNSリークです。外部サイトから見えるIPアドレスがVPN側のものでも、DNSの問い合わせ先や問い合わせ履歴が別経路へ出ていれば、プライバシー保護は不完全です。
DNSリークは必ずしも「VPNがまったく動いていない」ことを意味しません。分割トンネル、IPv6、スリープ復帰後のネットワーク切り替え、複数の仮想アダプター、ブラウザ独自の名前解決など、複数の要因が組み合わさって発生します。そのため、接続ボタンを押した直後だけでなく、回線を変更した後やVPNを再接続した後にも確認することが大切です。
まず確認する:DNSリークとWebRTCのチェック方法
確認は、VPNを切った状態と接続した状態を比較すると分かりやすくなります。最初に通常回線でIPアドレスとDNSサーバーを確認し、次にVPNへ接続して同じページを再読み込みします。VPN接続後に、出口IPが変わり、DNSサーバーもVPN側または設定したリモートDNSとして表示されるかを確認してください。表示されるDNSサーバーが、利用中の自宅回線や公共Wi-Fiの事業者と一致している場合は、リークを疑います。
- VPNを切断する。ブラウザの既存ページを閉じ、DNSチェックページを開いて通常時の結果を確認します。
- VPNへ接続する。接続先を選び、クライアントのステータスが接続済みになってからページを再読み込みします。
- DNSサーバーを比較する。通常時と同じ事業者や同じネットワークのDNSが表示されていないかを見ます。
- WebRTCも確認する。ブラウザのWebRTCテストで、公開IPだけでなくローカルIPや候補アドレスが表示されていないか確認します。
- ネットワークを変えて再確認する。自宅回線、モバイル通信、公共Wi-Fiでは挙動が異なるため、必要な環境ごとにテストします。
WebRTCは、音声通話やビデオ通話をブラウザだけで実現するための標準技術です。接続相手との通信経路を確立する過程で、ブラウザがネットワーク候補を提示することがあります。その結果、VPNの出口IPとは別に、ローカルネットワークのアドレスや別のインターフェース情報がテスト画面に現れることがあります。これはDNSリークとは別の問題なので、DNSだけ問題がなかったからといってWebRTCも安全だと判断してはいけません。
- ✅ VPN接続前後でIPアドレスとDNSサーバーを比較する
- ✅ WebRTCテストでローカルIPや別インターフェースの表示を確認する
- ✅ Wi-Fiからモバイル通信へ切り替えた後はもう一度テストする
- ❌ IPアドレスが変わったことだけで「完全に保護された」と判断しない
原因別に見るDNSリークの発生パターン
DNSリークの原因は一つとは限りません。症状が出たときは、クライアントをすぐ削除して入れ直すより、どの経路がDNSリクエストを送っているのかを切り分ける方が効率的です。
| 原因 | 起きやすい状況 | 確認する設定 | 基本的な対策 |
|---|---|---|---|
| DNSの自動設定 | VPN接続後もOSが元のDNSを保持している | クライアントのDNS保護、リモートDNS | VPN内DNSを有効にし、接続後に再テストする |
| IPv6の迂回 | VPNがIPv4だけを処理し、IPv6通信が別経路へ出る | IPv6対応、IPv6リーク防止 | 対応クライアントを使い、必要に応じてIPv6保護を有効にする |
| 分割トンネル | ブラウザやDNSサービスが直接接続に指定されている | アプリ別・ドメイン別ルール | DNS関連の通信を直接接続の対象から外す |
| 再接続の瞬間 | Wi-Fi変更やスリープ復帰で一時的にVPNが切れる | キルスイッチ、自動再接続 | VPN復旧まで通信を停止する設定を有効にする |
| ブラウザの独自機能 | WebRTCや安全なDNS機能がVPN設定と異なる | ブラウザのWebRTC、DoH設定 | ブラウザ側の動作を確認し、必要に応じて管理する |
特に見落としやすいのがIPv6です。VPNクライアントがIPv4の通信だけをトンネルへ入れ、IPv6を処理しない場合、端末は利用可能なIPv6経路をそのまま使うことがあります。また、分割トンネルを有効にしていると、ローカルプリンターや社内システムを直接接続に残す目的で設定したルールが、DNSリクエストまで直接接続にしてしまう場合があります。
実際に直す:クライアント設定と再テストの手順
ここでは、Windows、macOS、Android、iOS、Linux、そして互換クライアントで共通する考え方を紹介します。メニュー名はクライアントによって異なりますが、「DNS」「漏えい防止」「Kill Switch」「IPv6」「分割トンネル」「自動再接続」に近い項目を探してください。
- 公式クライアントまたは信頼できる互換クライアントを開く。設定を変更する前に、現在の接続先とモードを確認します。
- リモートDNSまたはDNSリーク防止を有効にする。DNSリクエストをVPNトンネルへ送る設定を選びます。
- IPv6の扱いを確認する。クライアントがIPv6を保護できる場合は対応設定を有効にし、対応していない場合はOS側の状態を確認します。
- キルスイッチを有効にする。VPNが切れたときに、通常回線から通信を続けないようにします。
- 分割トンネルを見直す。ブラウザ、DNS関連のサービス、通信を保護したいアプリが直接接続になっていないか確認します。
- VPNを切断してから再接続する。設定変更だけでなく、仮想アダプターとDNS状態を更新するために再接続します。
- DNSとWebRTCをもう一度確認する。自宅回線だけでなく、普段使うネットワークでも結果を比較します。
WindowsやmacOSの公式クライアントでは、設定画面にキルスイッチやDNS保護が用意されていることがあります。AndroidやiOSでは、OSのVPN表示が接続中でも、アプリ単位の除外設定によって一部通信がトンネル外へ出る場合があります。Clash Vergeやsing-boxなどの互換クライアントでは、DNSモード、ルール、IPv6、TUNの設定が互いに影響するため、設定を一度に複数変更せず、一項目ごとに再テストするのが安全です。
サブスクリプションリンクをクライアントへ導入している場合は、古い設定が残っていないかも確認します。更新後に新しいDNS設定やプロトコルが反映されることがあるため、インポート後は現在選択されているプロファイルと実際の接続先が一致しているかを見てください。公式アプリの導入方法や端末別の手順はセットアップガイドで確認できます。
プロトコルと回線の選び方:リーク対策と接続安定性
プロトコルはDNSリークを自動的に解決する魔法の設定ではありません。DNSの処理はクライアントやルールの構成に左右されますが、プロトコルの違いは接続の安定性、切断からの復旧、利用ネットワークとの相性に影響します。
| 方式 | 特徴 | 向いている状況 | 注意点 |
|---|---|---|---|
| WireGuard | 軽量で、対応クライアントでは接続切り替えが比較的スムーズ | 日常利用、モバイル通信、端末を頻繁に移動する環境 | ネットワーク側でUDPが制限されると接続できない場合がある |
| Hysteria2 | UDPベースで、揺れのある経路にも対応しやすい | 混雑やパケットロスが気になる環境 | UDP制限のある公共ネットワークでは不安定になることがある |
| Shadowsocks | 対応クライアントが多く、ルール分岐と組み合わせやすい | 柔軟な分割接続、互換クライアントの利用 | DNSモードとルールを別途確認する必要がある |
| Trojan | TCPベースで、UDPが制限される環境でも候補になる | ホテルや公共Wi-Fiなど接続条件が厳しい場所 | 混雑時は速度よりも接続の継続性を優先する選択になる |
接続できないときは、プロトコルを無闇に何度も変更するのではなく、まずDNS保護とキルスイッチの状態を確認します。UDP系が公共Wi-Fiで使えない場合は、TCP系へ切り替えて比較します。回線の地域やタイプも影響するため、同じプロトコルのまま別の接続先を試す方法も有効です。39VPNでは100以上の国と180以上の回線を利用できるため、接続先を変えて症状が改善するかを比較できます。
公共Wi-Fiで特に注意したいポイント
空港、ホテル、カフェ、会議施設などの公共Wi-Fiでは、接続直後に認証ページが表示されることがあります。この段階ではまだインターネット接続が完成していないため、VPNが接続できないことがあります。まずWi-Fiの利用規約や認証ページを開いて接続を完了し、その後VPNを有効にしてください。
公共Wi-Fiへ接続したままVPNが切断されると、端末は通常回線へ自動的に戻る可能性があります。ここで役立つのがキルスイッチです。再接続するまで通信を止める設定にしておけば、VPNの復旧を待つ間にブラウザやアプリが通常回線を使うリスクを抑えられます。端末をスリープから復帰させたとき、Wi-Fiからモバイル通信へ切り替えたときも、VPNのステータスを確認してください。
- ✅ 公共Wi-Fiの認証を終えてからVPNへ接続する
- ✅ 接続先を変えた後はDNSとWebRTCを再チェックする
- ✅ VPN切断時の通信を止めるキルスイッチを使う
- ❌ 認証前のWi-FiでVPNがつながらないことを故障と決めつけない
- ❌ 接続が不安定なままオンライン決済や重要なログインを続けない
よくある質問
DNSテストで複数のサーバーが表示されても問題ありませんか?
複数表示そのものが直ちにリークを意味するわけではありません。VPN側のDNSサービスが複数のサーバーを使うこともあります。重要なのは、VPN接続前の自宅回線や公共Wi-FiのDNSがそのまま表示されていないか、そして接続先やクライアントの設定と結果が矛盾していないかです。
WebRTCリークはDNSリークと同じですか?
同じではありません。DNSリークはドメイン名の名前解決に関する問題で、WebRTCリークはブラウザが通信候補として提示するIPアドレスやネットワーク情報に関する問題です。両方を別々に確認し、必要ならブラウザのWebRTC設定や権限を見直してください。
キルスイッチを有効にするとインターネットが使えません
キルスイッチはVPNが接続されていない間の通信を止める機能です。Wi-Fiの認証中やVPNサーバーの切り替え中に通信できないのは正常な動作の場合があります。認証を完了し、VPNを接続しても復旧しない場合は、分割トンネル、ファイアウォール、別のVPNアプリが同時に動いていないか確認してください。
どのクライアントでも同じ設定を使えますか?
考え方は共通ですが、設定項目の名前や対応範囲は異なります。公式のWindows、macOS、iOS、Android、Linuxクライアントでは、まずDNS保護とキルスイッチを探してください。Clash Verge、sing-box、Shadowrocketなどでは、DNSモード、ルール、TUN、IPv6を個別に確認し、変更後に必ず再テストします。
DNSリーク対策の要点は、VPNの接続表示だけを信じず、IPアドレス、DNS、WebRTCを分けて確認することです。問題が見つかったら、DNS保護、IPv6、分割トンネル、キルスイッチの順に設定を見直し、最後に別のプロトコルや回線で比較します。安全性を確認したうえで、用途に合う接続先を選ぶことが、日常利用でも公共Wi-Fiでも安定したプライバシー対策につながります。