DNSとは何か
DNS(Domain Name System)は、Webサイトやサービスの「名前(例:example.com)」を「数字の住所(IPアドレス)」に変換する仕組みです。たとえば、ブラウザで名前を入力すると、その名前を扱える宛先にするためにDNSの問い合わせが行われ、返ってきたIPアドレスに接続します。
ポイントは、DNSが「通信の内容そのもの」を暗号化する仕組みではないことです。DNSには、名前と問い合わせ先の情報が関わります。つまり、DNSの経路や問い合わせの行き先次第で、どの名前を引いたかが観測され得ます。
VPNとは何か
VPN(Virtual Private Network)は、端末とVPNサーバーの間に「トンネル」と呼ばれる経路を作り、そのトンネル内で通信を保護・運搬する考え方です。利用者の端末から見ると、インターネットへ出ていく通信がVPN経由に切り替わる形になります。
VPNができることは主に「経路の扱い」です。VPNサーバーを挟むことで、少なくとも端末〜VPNサーバー〜先の経路に関して、送信元・経路の見え方が変わります。一方で、DNSがどのように処理されるか(VPN経由か、別経路か)はVPNの構成やクライアント側の設定に依存します。
DNSとVPNの違い(何を解決し、何を守るのか)
DNSは「名前を見つける係」です。VPNは「通信を運ぶ経路を変える/保護する係」です。役割が違うため、期待できる効果も変わります。
- DNS:名前解決の流れで、問い合わせ先や応答までが関係します。
- VPN:端末からVPNサーバーへの経路を作り、トンネル内の扱いが変わります。
ここで重要なのが、DNSは「VPNの外側」に残る場合があることです。たとえば、端末が名前解決の問い合わせを別の経路(ローカルや既定のDNS設定)に送ってしまうと、DNSの問い合わせがVPNを経由せず観測される可能性が出ます。これが一般に「DNSリーク」と呼ばれる状況です。
DNSリークなどの制限と例外
DNSリークは万能に防げるわけではなく、端末・OS・ブラウザ・アプリ・VPNクライアントの挙動、そしてDNS設定(自動/固定/特定DNSの指定)の組み合わせで起こり得ます。たとえば、VPNを有効にしているつもりでも、DNS問い合わせが意図した経路に流れていないと、名前解決に関する情報が別の場所で観測されることがあります。
また、VPNは「通信経路」を主に扱います。アプリの種類や通信の形によっては、DNS以外の情報(接続先のドメインや通信のタイミング等)が別の形で推測される可能性もゼロではありません。したがって、VPNが目的に対してどの程度適合するかは「守りたい範囲」を切り分けて考える必要があります。
不確実性の扱いとして、DNSやVPNの挙動は環境差が大きいです。 同じ設定でも端末やネットワーク条件で結果が変わることがあります。
