DNSとVPNが担う役割を整理する

DNS(Domain Name System)は、Webサイト名(例:example.com)をIPアドレスに変換する仕組みです。アクセス先の名前を解決する過程で、DNS問い合わせが発生します。この問い合わせの「どこに送られるか」は、結果として第三者が観測できる情報に影響します。

VPN(Virtual Private Network)は、端末からVPNサーバまでの通信に暗号化されたトンネルを作り、経路上の盗聴や改ざんリスクを下げるために使われます。重要なのは、VPNが守るのは主に「トンネルの中に入る通信」であり、DNS問い合わせもその扱いが適切でないと、意図しない経路に流れてしまう可能性がある点です。

つまり「安全性」と「匿名性に近い状態」は、(1) 暗号化による通信保護、(2) DNS問い合わせの経路制御、(3) 端末やアプリ側の振る舞い、の組み合わせで現実的に左右されます。

簡単なモデル:通信の流れで何が見えるか

イメージとして、次の2種類の情報が観測され得ます。

  1. あなたのアクセス先(名前やIP)
  • DNSで「どの名前を解決したか」が見える場合があります。
  • HTTP/HTTPS自体は暗号化されていても、接続先の情報やタイミングは状況により推測材料になります。
  1. あなたの通信経路や中継点
  • VPNが効いていれば、少なくとも端末〜VPNまでの経路で盗聴されにくくなります。
  • ただしVPN先やアプリが扱う情報がゼロになるわけではありません。

このモデルで鍵になるのが、DNS問い合わせがVPNトンネルを経由しているか、そしてOSやブラウザが別経路でDNSを解決していないかです。ここがうまくいかないと、DNSリークと呼ばれる状態になり、プライバシー上の不利につながり得ます。

DNSリークとは何で、なぜ起きるのか

DNSリークは一般に、VPN使用中にDNS問い合わせが意図した経路(VPN経由など)ではなく、別の経路から外部に送られてしまう状況を指します。原因は環境によって異なりますが、典型的には次のようなパターンが考えられます。

  • OS側のDNS設定がVPNと整合していない OSが参照するリゾルバ(DNSサーバ)が、VPN経由にならない設定のままの場合があります。
  • アプリが独自にDNS解決を行う ブラウザや各種アプリが独自の方式で名前解決することで、DNS問い合わせの経路が変わることがあります。
  • 通信がトンネルに入る/入らないが混在する VPNの対象にならない通信があると、その通信に関連するDNSも別経路に出ることがあります。

このため、VPN=自動的にDNSも安全になる、とは限りません。VPN利用時は「通信だけでなくDNSの経路」もセットで考える必要があります。