DNSリーク保護とは何か(定義)
DNSリーク保護とは、端末が名前解決(DNS参照)を行うときに、そのDNS要求や応答がVPNの外へ漏れないようにする考え方・設定のことです。DNSリークが起きると、閲覧先のドメインに関する情報が、VPN外の経路から推測される可能性があります。
重要なのは、「VPNの暗号化が常にDNSにも適用される」とは限らず、DNS要求がどの経路で処理されるかが要点になる点です。ここを理解せずに“VPNを接続しているから大丈夫”と判断すると、意図しない挙動が残りやすくなります。
仕組み:DNSがどこで処理されると「漏れ」になるか
一般に、DNSリークは次のような状況で発生します。
- 端末がDNS問い合わせを行う際、VPNトンネルとは別の経路(例:ローカルのDNS設定やネットワーク提供のDNS)へ向かってしまう
- VPN側の名前解決機能が有効でも、端末やOS、特定アプリが別の方法でDNS問い合わせを生成する
VPN設定を最適化する際は、「DNS問い合わせの発生点」と「問い合わせが実際に到達する場所」を揃える意識が必要です。具体的には、VPNが管理するDNS(いわゆるVPN側のDNS解決)を使うように端末側の挙動を寄せ、VPNが切断・切替する瞬間に“空白期間”ができないようにします。
最適化の基本方針:DNS経路を統制する
DNSリーク保護を最大限に近づけるには、次の方針で設定と整合性を取ります。
1) OS側DNS設定の影響を把握する
端末のDNS設定が残っていると、VPNが意図した経路でDNSを扱っていても、OSやアプリがその設定を優先して問い合わせる場合があります。したがって、DNSサーバーがVPN利用時にどうなるか(VPN経由になるのか、ローカルのままなのか)を前提に置く必要があります。
2) VPN側でDNSを「トンネル内で処理する」発想に寄せる
VPNの設定には、DNSをVPN側で扱う/DNSの問い合わせをVPN経由にするための項目が用意されていることがあります。最適化の中心は、端末から出るDNS問い合わせがVPNトンネルの中で処理される状態を作ることです。
3) 接続の切断・再接続でDNSが外へ出ないようにする
DNSリークは、常時ではなく「VPN切断・切替のタイミング」で起きることもあります。ここに対しては、VPNが切れている間の通信を止める機構(いわゆる通信遮断系の考え方)と整合するかが重要になります。タイミング依存のため、設定変更直後やネットワーク切替時に検証を行う価値があります。
差分と限界:万能な設定はない
DNSリーク対策は万能ではありません。特に次の点は、理解しておくべき境界です。
例:アプリや機能によってDNSの扱いが変わる
ブラウザだけでなく、OS機能、端末内の別コンポーネント、一部のアプリが独自のDNS解決方法を使う場合があります。
