
VPNリーク解説:DNS・WebRTC・IPv6リークの本当のテスト方法
VPNリークを徹底解説:DNS・WebRTC・IPv6リークの仕組みと、本当に効くテスト方法
VPNアプリには接続済みと表示されています。この一語はまるで保証のように感じられますが、実際には、お使いのデバイスがVPNサーバーとの暗号化トンネルを確立した、という意味でしかありません。身元を特定し得るすべての通信が本当にそのトンネルを通っているかどうかについては、何も語っていないのです。よくある3つの障害パターン — DNSリーク、WebRTCリーク、IPv6リーク — は、アプリが安心感を与える緑のチェックマークを表示している間にも、それぞれがあなたの本当のIPアドレスや閲覧履歴を露出させてしまう可能性があります。
本ガイドは、単一のリークだけを扱い「このVPNを買え」と勧めるだけのページが決してやらない3つのことを行います。第一に、それぞれのリークの背後にある実際の仕組みを解説し、接続済みのVPNがなぜなお裏切り得るのかを理由から理解できるようにします。第二に、ベンダーを信用する必要のない無料の独立系ツールを使った自己テストの手順を案内します。第三に、OS・ブラウザ・ルーターごとの正確な対処法と、その修正が持続していることを確認するための再テストの習慣をお伝えします。ブランドの宣伝もアフィリエイトリンクもなく、あるのは仕組みだけです。
VPNリークとは実際のところ何なのか
リークとは、本来は暗号化トンネルを通るべきなのに、代わりに通常のインターネット接続経由で外へ出てしまい、VPNが隠すはずだった情報を露出させてしまう通信のことです。本ガイドで扱う3つのリークは、2種類の異なる情報を露出させます。DNSリークは、あなたが名前解決したウェブサイトをISP(あるいは、うっかり使ってしまっているリゾルバの運営者)に明かしてしまいます。WebRTCリークとIPv6リークは、あなたの本当のIPアドレス — オンライン上での実際の所在地と身元 — を、訪問先のウェブサイトに直接さらしてしまう可能性があります。
最初に理解しておくべき最も重要なことは、これらがそれぞれ別の原因を持ち、別の対処を要する別個の問題だという点です。競合サイトはこれを覆い隠します。なぜなら、ワンクリックで解決という売り文句にとって都合が悪いからです。しかし、これこそがすべての核心です。DNSリークをふさいでも、WebRTC経由でIPを漏らし続けることはあり得ます。ブラウザのWebRTCを固めても、IPv6経由で漏らすことはあり得ます。一つをふさいだからといって、残り二つについては何も保証されません。だからこそ、本物のリークテストは毎回、3つすべてをチェックするのです。
それぞれのリークはどう起きるのか(仕組み)
DNSリーク:トンネルから逃げ出す名前解決
デバイスがexample.comを読み込む前に、その名前をIPアドレスに変換するようDNSリゾルバへ問い合わせます。VPNが正しく設定されていれば、このDNSクエリはトンネル内を通り、VPNが管理するリゾルバへ届きます。DNSリークは、このクエリが代わりにISPのリゾルバ(またはルーターが押し付けてくるリゾルバ)へ、暗号化されていない接続経由で送られてしまったときに起こります。たとえページの中身はトンネルを通っていても、名前解決そのものが、あなたの訪れるすべてのドメインを第三者に明かし — しかもそれをあなたの本当のIPと結び付けてしまうのです。
よくある原因は、VPNのDNS設定を無視するオペレーティングシステム、トンネルを迂回してしまうハードコードされたリゾルバ(手動で設定した8.8.8.8や1.1.1.1など)、あるいはDNSをVPNの外へ流すスプリットトンネル(分割トンネリング)のルールです。特にWindowsにはスマートマルチホーム名前解決という機能があり、すべてのネットワークインターフェースから同時にDNSクエリを発射し、最初に応答したものを採用してしまいます — その応答者はしばしばあなたのISPなのです。
WebRTCリーク:あなたのIPを差し出すブラウザ
WebRTC(Web Real-Time Communication)は、ページ内のビデオ通話、音声チャット、ピアツーピアのファイル転送を支えるブラウザ技術です。2つのピアを直接つなぐために、WebRTCはデバイス自身のIPアドレスを把握する必要があります。これにはSTUNサーバーを使い、サーバーが見たパブリックIPをブラウザへ返してもらうほか、ローカルネットワークアドレスも列挙します。ウェブページはこれらのICE候補をJavaScript APIを通じて読み取れます — 許可を求めるダイアログもなく、あなたが何かをクリックすることもなしに。
動作しているVPNがあってもWebRTCが危険である理由が、まさにここにあります。この把握処理は、ブラウザが通常のページ読み込みに使うプロキシ経路の外側で起こり得るのです。その結果、ページはオペレーティングシステムが本物とみなしているパブリックIP — それはVPNのものではなく、あなたの本当のアドレスかもしれません — を見てしまうことになります。WebRTCリークはブラウザの問題です。VPNのDNS設定やキルスイッチで直るものではありません。だからこそ、DNSリークを直した人が、IPがまだ表示されているのを見て愕然とするわけです。
IPv6リーク:トンネルが舗装していない道を走る通信
多くのVPNトンネルはIPv4の通信しか運びません。もしあなたのISPや自宅ネットワークがIPv6接続も提供しているなら — これは年々標準になりつつあります — IPv6対応の宛先への要求はすべて、IPv4専用トンネルの完全に外側を、ネイティブのIPv6接続経由で走り得ます。ウェブサイトはあなたの本当のIPv6アドレスを見てしまいます。VPNはその通信に一切触れておらず、IPv4側しか見張っていなかったため、その存在に気づきすらしないことがよくあります。
IPv6リークがこれほど静かに蔓延している理由がこれです。何も壊れず、何もおかしく見えず、VPNは成功を報告します。対処法は、デバイスやネットワークでIPv6を無効化するか、IPv6を明示的にトンネリングするか接続中はブロックするVPNを使うか、のいずれかです。プロバイダが黙って処理してくれることを期待するのは戦略ではありません — 自分でテストするのです。
テストを実行する:無料ツールとその読み方
VPNプロバイダが見せてくる「あなたのIPは隠されています」というページではなく、独立した第三者のツールを使いましょう — ベンダーには成功と報告するあらゆる動機があります。すべてのテストはVPNを接続した状態で、実際に使っているのと同じブラウザ・同じデバイスで行ってください。基準値として、まずVPNを切った状態で一度実行し、自分の本当のIPとISPがどう見えるかを把握しておくとよいでしょう。その上でVPNをオンにし、それらの値が消えることを確認します。
ステップ1 — DNSリークテスト
dnsleaktest.comを開き、Extended test(拡張テスト)を実行します。一連のユニークなホスト名を読み込み、どのDNSサーバーがそれらを解決したかを報告します。クリーンな結果では、VPNプロバイダ(またはVPNが使うプライバシー重視のリゾルバ)に属するリゾルバが表示され、そして決定的に重要なのは、別の場所のサーバーに接続した場合にあなたのISP名や自国が載らないことです。漏れている結果では、あなたのISPのリゾルバや、想定していなかった本当の所在地のサーバーが表示されます。ipleak.netは同じDNS情報をIPと並べて表示してくれるので、相互確認に便利です。
ステップ2 — WebRTCリークテスト
browserleaks.com/webrtcを開きます。WebRTC経由で把握されたPublic IP Address(パブリックIPアドレス)を見てください。クリーンな結果では、パブリックIPが何も出ないか、VPNサーバーのIPだけが表示されます。漏れている結果では、ページ上部のヘッダー(通常のHTTPリクエストを使う部分)はVPNのIPを示しているのに、WebRTCのセクションにあなたの本当のパブリックIPが表示されます — この不一致こそ、WebRTCリークの典型的な兆候です。10.x、172.16〜31.x、192.168.x、または.local(mDNS)の範囲のローカルアドレスは概ね無害です。本当に危険なのは、あなたの本物のパブリックIPが現れることです。
ステップ3 — IPv6および総合的なIPテスト
ipleak.netを開きます。IPv4アドレス、IPv6アドレス(あれば)、そしてDNSサーバーが1ページにまとめて表示されます。クリーンな結果では、VPNのIP(選んだ国に一致)だけが表示され、IPv6アドレスが無いか、表示されてもVPNに属するIPv6になっています。漏れている結果では、あなたのISPのIPv6アドレスが表示されたり、2つの異なる場所を指すIPv4とIPv6の組み合わせが現れたりします。VPNのIPv4と並んで本物のIPv6が見えたら、それは教科書どおりのIPv6リークです。
IPv4を隠してもIPv6を露出させてしまうVPNは、半分だけ守ってくれているわけではありません — IPv6を認識するあらゆるサイトから見れば、あなたはそもそもVPNをまったく使っていないのと同じなのです。
OS・ブラウザ・ルーターごとの正確な対処法
DNSリークを直す
VPNアプリで:「VPNのDNSのみを使用」「DNSリーク保護」「VPN以外のDNSをブロック」といったオプションをすべて有効にします。多くのアプリでは既定でオンになっていますが、サードパーティのOpenVPN/WireGuard設定ではそうでないことがよくあります。
Windows: DNSを各インターフェースにばらまくスマートマルチホーム名前解決を無効にします。Windows Proではグループポリシーの「スマート マルチホーム名前解決をオフにする」を「有効」に設定できます。それ以外の場合は、DNSを設定し他のリゾルバをブロックするVPNクライアントを使うのが望ましいです。テスト中は、アダプターに手動設定したパブリックDNS(8.8.8.8、1.1.1.1)をすべて削除してください。
macOS / Linux: ネットワーク設定や
/etc/resolv.confに、トンネルを迂回するリゾルバがハードコードされていないことを確認し、DNSはVPNクライアントに管理させます。systemd-resolvedを使うLinuxでは、クエリがVPNのリゾルバへ向かうよう、VPNがドメインルートを設定していることを確認してください。ルーター: ルーター上でVPNを動かしている場合は、ルーターのDNSをVPNのリゾルバに設定し、ISP割り当てのDNSをすべて無効にします。また、DNSを傍受・転送するルーター機能(一部の「ペアレンタルコントロール」や「DNSリバインド保護」設定)も無効にしてください。
WebRTCリークを直す(ブラウザのみ)
Firefox: アドレスバーに
about:configと入力し、警告に同意してmedia.peerconnection.enabledを検索し、falseに設定します。これでWebRTCが完全に無効になります。通話でWebRTCが必要な場合は、オンのままにしつつ、把握されたIPを隠すVPN/拡張機能に頼り、再テストしてください。Chrome / Edge: WebRTCを完全に無効化する組み込みのスイッチはありません。uBlock Originにかつてあった「Prevent WebRTC from leaking local IP addresses(WebRTCによるローカルIPアドレスの漏えいを防ぐ)」オプションは、2021年にデスクトップ拡張から削除された点に注意してください。しかもそれが存在していた当時でさえ、隠していたのはローカル/LANアドレスだけで、実際にあなたを露出させるパブリックIPの開示は決して止められませんでした — つまり、人々が思い込んでいたような対処法では元々なかったのです。最近のChromiumはmDNSを使ってローカルIPをすでに難読化しています(
chrome://flagsの「Anonymize local IPs exposed by WebRTC」フラグで確認できます)。パブリックIPの露出を制御するには、専用のWebRTC制御拡張機能を使い、その上でリークテストで検証してください。拡張機能によってブロックの徹底度は異なるためです。Safari: WebRTCの露出は既定でより限定的ですが、それでもテストしましょう。必要なければ、Developメニューの実験的/WebRTC機能から無効にできます。
現実的な注意点: WebRTCを無効にすると、Google Meet、ブラウザ版Discord、Jitsiなどのツールが動かなくなることがあります。それらが必要なら、現実的な道は、WebRTCを丸ごと殺すのではなく、VPNのIPだけを差し出すブラウザ/拡張機能を使うことです — 再テストで確認しましょう。
IPv6リークを直す
最良の選択肢: IPv6リーク保護を明示的に提供するVPN(接続中はIPv6をブロックまたはトンネリングします)を使います。その設定をオンにして再テストしてください。
Windows: アクティブなアダプターでIPv6を無効にする(ネットワークアダプターのプロパティでインターネット プロトコル バージョン 6のチェックを外す)か、VPNのIPv6ブロック機能を使います。IPv6を扱えないVPNの使用をやめたら、再度有効に戻してください。
macOS: VPNがIPv6をトンネリングできない場合は、システム設定でネットワークサービスのIPv6の構成をリンクローカルのみに設定します(またはコマンドラインでオフに)。
Linux: トンネルがIPv4専用なら、
sysctlでインターフェースごとまたはシステム全体のIPv6を無効にします(例:net.ipv6.conf.all.disable_ipv6=1)。ルーター: ルーターでVPNを動かしている場合は、ルーターのIPv6/WAN IPv6を無効にし、ネットワーク上のどのデバイスもIPv6経由で漏らせないようにします。これは家庭全体にとって最もきれいな対処法です。
なぜ「接続済み」のVPNでもなお漏れるのか
3つのテストすべてを一度通過したあとでも、その保護は永続的ではありません — それは静かに壊れ得る「状態」なのです。「接続済み」のVPNが密かに漏らし始める瞬間とは、次のようなものです。
ネットワークの変化: Wi-FiからEthernetへの切り替え、アクセスポイントの変更、スマホがWi-Fiと携帯回線の間を行き来する、といった際に、VPNがルールを再確立する前の一瞬、通信がトンネルの外を通ってしまうことがあります。
スリープと復帰: ノートPCがスリープから復帰すると、VPNが再接続する前にネットワークが戻ってくることがよくあります。数秒間、通信は生の接続を使います — バックグラウンドのアプリがあなたの本当のIPで外部と通信するには十分な長さです。
再接続と切断: トンネルが切れて再ダイヤルするたびに、キルスイッチがブロックしない限り、通信が逃げ出し得る窓が生じます。
キャプティブポータル: ホテル、空港、カフェのWi-Fiは、インターネットが使えるようになる前にログインページを読み込ませます。そのページは仕様上VPNの外で読み込まれ、構成によってはあとで手動で再接続するまで漏れ続けることがあります。
スプリットトンネリング: 特定のアプリ — あるいはDNS — をVPNから除外している場合、その除外設定は構成上のリークそのものです。DNSがこっそり「バイパス」リストに入っていないか、よく確認してください。
IPv6の復活: OSのアップデートやネットワークのリセットによって、以前無効にしたIPv6が静かに再有効化され、警告もなくその経路が再び開いてしまうことがあります。
キルスイッチとリーク保護設定 — そしてそれらが静かに失敗する仕組み
キルスイッチは、切断・再接続問題に対する安全網です。トンネルが落ちると、VPNが戻るまですべてのインターネット通信をブロックし、その隙間で何も逃げ出さないようにします。組み込みのリーク保護(DNSリーク保護、IPv6ブロック、ネットワークロック機能)は、DNSとIPv6が常にトンネルだけを使うよう強制します。両方をオンにしましょう — これらは、あなたが手動で見張れない障害の窓を処理してくれます。
ただし、それらが静かに失敗するパターンを理解しておいてください。キルスイッチが作動するのは、アプリがトンネルの停止を検知したときだけです。トンネルは技術的には生きているのにDNSやIPv6がその周りで漏れている場合、キルスイッチは問題を認識せず、何もしません。アプリレベルのキルスイッチは、VPNアプリ自身の通信しか保護せず、システム全体は守りません。一部のキルスイッチは、スリープ/復帰の窓や、起動時のログイン前には作動しません。さらに、オフ時に通信を完全に遮断する「ファイアウォール型」キルスイッチは、インターネットの不通と勘違いされ、無効にしたくなる誘惑を生みます。教訓はこうです:キルスイッチはリスクを減らしますが、テストの代わりにはなりません。設定が機能している唯一の証拠は、テストに合格することです。
無害な結果か、本物のプライバシー障害か
リークテストのページに見慣れない項目があるからといって、すべてが大惨事というわけではありません。その違いを知っておけば、幻を追いかけることも、本物の露出を見逃すこともなくなります。
無害: WebRTCがローカル/プライベートアドレス(10.x、172.16〜31.x、192.168.x)やmDNSの
.localホスト名だけを表示している場合。これらはウェブサイトに対してあなたを特定しません。無害: VPNプロバイダや、それが使うプライバシー重視のリゾルバに属するDNSリゾルバ。たとえそれらがVPNサーバーとは別の都市にあっても問題ありません — プロバイダはリゾルバ群を運用しているからです。
無害: IPv6を無効にしたときに、IPv6アドレスがまったく表示されないこと。これは失敗ではなく、目指していた状態そのものです。
本物の障害: 意図的に別の場所へ接続したのに、あなたの本当のパブリックIP(IPv4またはIPv6)、本当の都市/ISP、または自国を示すテスト結果。
本物の障害: あなたの実際のISP名を挙げるDNS結果、または2つの異なる場所に解決されるIPv4とIPv6。
本物の障害: ページのヘッダーがVPNのIPを示しているのに、WebRTCのセクションがあなたの本物のIPを示していること — その不一致こそがリークです。
目安として:パブリックIPやあなたのISP名が、本来あってはならない場所に現れたら、それは本物の障害です。プライベート/ローカルアドレスやプロバイダ所有のリゾルバは、単なるノイズです。
再テストの習慣:あなたを本当に守ってくれる習慣
リークテストはスナップショットであって、証明書ではありません。保護の状態は、ネットワークの変化、スリープ、再接続、キャプティブポータルで壊れるため、テストはそのとき確認した条件についてしか意味を持ちません。次の習慣を身につけましょう。
修正をするたびに再テストする — 設定を一つ変えたら、次へ進む前にその特定のリークが閉じたことを確認します。3つを一度に直して一度だけテストすると、どの変更が効いたのかが分からなくなります。
ネットワークが変わるたびに再テストする — 新しいWi-Fi、携帯回線への切り替え、Ethernetの接続、またはキャプティブポータルのログイン後など。
スリープからの復帰後とVPNの再接続後に再テストする。これらが最もリスクの高い窓だからです。
OSやアプリのアップデート後に再テストする。これらは静かにIPv6を再有効化したり、DNSの挙動をリセットしたりすることがあります。
毎回3つのテストをまとめて実行する — DNS、WebRTC、IPv6は互いに独立しており、一つがクリーンでも、他の二つについては何も分かりません。
実践的な要点
「接続済み」は出発点であって、プライバシーの証明ではありません。3つのリークすべてを独立したツールでテストしましょう — DNSにはdnsleaktest.com、WebRTCにはbrowserleaks.com/webrtc、IPv6と総合的なIPにはipleak.netです。これらを別々の問題として扱ってください:OSまたはルーターでVPNのDNSを強制し、ブラウザでWebRTCを無力化し、IPv6をブロックするかトンネリングします。手動で見張れない隙間に備えてキルスイッチと組み込みのリーク保護をオンにしつつ、それらを盲信しないこと。そして、修正のたび、ネットワークが変わるたびに再テストします。10分のテストは、どんなプロバイダのマーケティングページよりも、あなたの本当の露出について多くを教えてくれます。
よくある質問
VPNリークテストとは何で、どうやって実行するのですか?
VPNリークテストとは、VPNが接続されている間に、暗号化トンネルから逃げ出して本当のIPアドレスやDNSの名前解決を露出させている通信がないかを確認するものです。実行するには、VPNを接続してから、dnsleaktest.com、browserleaks.com/webrtc、ipleak.netといった独立系ツールにアクセスします。そのいずれかがあなたの本当のパブリックIP、ISP、または自宅の所在地を表示したら、リークが起きています。
DNSリークテストはどう機能し、何が合格とみなされますか?
DNSリークテストは、ユニークなホスト名を読み込み、どのDNSサーバーがそれらを解決したかを報告します。リゾルバがVPNプロバイダに属し、自分のISPが載っていなければ合格です。あなたのISPのリゾルバが現れたり、別の場所に接続したのに本当の所在地のサーバーが出たりしたら不合格です。
DNSリークはどうやって直しますか?
まずVPNアプリで「DNSリーク保護」または「VPNのDNSのみを使用」を有効にします。Windowsでは、さらにスマートマルチホーム名前解決を無効にし、アダプターから8.8.8.8のような手動設定のパブリックDNSをすべて削除してください。VPNを動かしているルーターでは、ルーターのDNSをVPNのリゾルバに向け、ISP割り当てのDNSを無効にしてから再テストします。
WebRTCリークとは何で、私のVPNはそれを止めてくれますか?
WebRTCリークとは、VPNが接続されていてもなお、ブラウザのリアルタイム通信機能があなたの本当のIPアドレスを把握してウェブページに露出させてしまうことです。これはネットワークの挙動ではなくブラウザの挙動なので、ほとんどのVPNはこれを止めません。Firefoxではabout:configでmedia.peerconnection.enabledをfalseに設定して直します。ChromeとEdgeにはWebRTCを無効化する組み込みのスイッチがないため、専用のWebRTC制御拡張機能を使って再テストしてください — uBlock Originの古いローカルIP切り替えに頼ってはいけません。それはデスクトップ拡張から削除されており、そもそもパブリックIPの露出は決してブロックしませんでした。
IPv6リークとは何で、VPNでどう防げばよいですか?
IPv6リークは、IPv4専用のVPNトンネルがIPv6通信を無視し、それがISP接続を経由して走り、あなたの本当のIPv6アドレスを露出させてしまうときに起こります。防ぐには、VPNでIPv6リーク保護を有効にするか、デバイスやルーターでIPv6を無効にします。設定を変えたら、ipleak.netでISPのIPv6アドレスが表示されないことを確認してください。
キルスイッチはDNSリークやWebRTCリークを防ぎますか?
確実には防ぎません。キルスイッチが通信をブロックするのは、トンネルが落ちたことを検知したときだけなので、トンネルがまだ生きている間に起こるDNSリークやWebRTCリークには何もしません。別途、DNSリーク保護とブラウザ側のWebRTC強化が必要で、キルスイッチは再接続や切断に対する最後の砦として使います。
VPNリークテストはどのくらいの頻度で実行すべきですか?
設定を変更するたびにテストし、さらにネットワークの変化、スリープ/復帰のたび、VPNの再接続、キャプティブポータルのログイン、OSやアプリの大きなアップデートのたびに再テストしてください。これらの瞬間はどれも、静かにリークを再び開いてしまうことがあります。DNS、WebRTC、IPv6は独立した問題なので、常に3つのテストをまとめて実行しましょう。



