DNSリークとは何か

DNSリークとは、端末がドメイン名(例:example.com)をIPアドレスに変換する際のDNS問い合わせが、意図せずVPNを経由せずに行われてしまう状態のことです。DNS問い合わせは、通信相手そのものではないとしても「どのドメインを参照しようとしているか」を示し得ます。そのため、VPNで暗号化された通信だけを守っていても、DNSが別経路で処理されると結果として情報が漏れる可能性が残ります。

仕組み(なぜ起きるのか)

一般的に、DNS問い合わせは次のような流れで行われます。

  • 端末がドメイン名を受け取り、DNSサーバーに問い合わせる
  • DNSサーバーが名前解決結果(IPアドレスなど)を返す
  • 端末が得たIPアドレスへ通常の通信を開始する

VPNを使っていても、DNS問い合わせが「VPNのトンネルの中」ではなく「ローカルネットワーク側」または別経路へ向かうとDNSリークになります。起因は環境次第で、たとえば次のようなケースが考えられます。

  • OSや端末が参照するDNSサーバー設定が、VPN接続前のまま残っている
  • VPNクライアントがDNSを正しくトンネル内に回さない(または設定が不一致)
  • ブラウザ/OSの機能(名前解決の方式やキャッシュ、独自DNS処理)により、想定外の挙動になる
  • VPN接続の切替タイミングで、問い合わせが一時的に別経路へ出る

防ぎ方の基本方針

DNSリーク対策は「DNS問い合わせをVPN経由に寄せる」「VPNが無効になった/切れたときの保護を効かせる」「想定どおりに動いているか確認する」の3点で考えるのが実務的です。ここで重要なのは、DNS対策は“VPNを使っているか”だけで決まらず、“DNSをどう扱う設定になっているか”で結果が変わることです。

1) VPN側のDNS設定を確認する

多くのVPNクライアントでは、DNSに関する設定(自動・VPN提供のDNSへ切替・手動指定など)があります。DNSリーク対策としては、少なくとも以下を確認します。

  • VPN接続時にDNS設定が切り替わるか
  • DNSがVPN経由で処理される前提の構成になっているか
  • 手動でDNSを指定している場合、意図した経路になるか

※“防げる”と断言するより、設定が「VPN経由のDNS処理」を満たしているかをチェックする姿勢が安全です。

2) 接続が不安定なときの挙動に備える

DNSリークが一時的に起きるのは、切断・再接続・ネットワーク切替の瞬間にもあり得ます。そのため、VPNクライアントの保護機能(通信の遮断や復帰待ちなど)が有効になっているかを確認してください。ここでの狙いは「DNS問い合わせが別経路へ漏れる時間を減らす」ことです。