1. DNS リークとは何か(Mac で起きやすい理由)
VPN 接続中、Web 閲覧やアプリ通信の IP アドレスはトンネル経由に見えても、ドメイン名を IP に変換する DNS 問い合わせだけがローカル回線(自宅 ISP や公共 Wi‑Fi のリゾルバ)へ流れてしまう状態を、一般に DNS リークと呼びます。Mac では、システム設定の DNS、VPN プロファイルが注入する DNS、iCloud プライベートリレーやサードパーティのフィルタ DNS、複数ネットワークインターフェース(Wi‑Fi と有線 Ethernet の同時接続)が重なり、どのリゾルバが優先されるかが Windows より読みにくいことがあります。
DNS リークが起きると、接続先サイトの IP は隠れていても「どのホスト名を解決しようとしたか」が回線事業者側のログに残る可能性があります。プライバシー保護を VPN の主目的にしている場合、出口 IP だけ確認して満足するのは不十分で、DNS 経路もセットで点検する必要があります。なお、DNS リークを防ぐことと「完全匿名」は別問題であり、本稿は設定と切り分けの実務に留めます。
2. 接続前後で DNS リークを確認する手順
まず VPN をオフにし、ブラウザで DNS リークテスト用のページ(複数のテストドメインへ問い合わせ、表示されたリゾルバ IP や ISP 名を確認できるもの)を開き、結果をスクリーンショットまたはメモします。次に VPN をオンにして同じテストを繰り返し、表示される DNS サーバーが VPN 側または期待する第三者リゾルバに変わっているかを見ます。VPN 接続中なのに、オフ時と同じ ISP 名や自宅回線の DNS IP が出続ける場合は、リークの疑いが強まります。
ターミナルで確認する場合は、VPN オン/オフそれぞれで scutil --dns を実行し、resolver # ブロックに並ぶ nameserver の順序とインターフェース(utun 系など VPN 用仮想 IF)を比較する方法もあります。macOS Ventura 以降は「システム設定」→「ネットワーク」→ 利用中のサービス →「詳細」→「DNS」でも一覧を確認できます。ストリーミング再生時に DNS が絡む症状の切り分けはNetflix 再生トラブルの VPN 切り分け(2026)も参照すると、DNS 以外の要因と混同しにくくなります。
3. macOS システム側の DNS 設定(Ventura / Sonoma / Sequoia 共通の考え方)
「システム設定」→「ネットワーク」で、現在アクティブなインターフェース(Wi‑Fi または Ethernet)を選び、「詳細」→「DNS」タブを開きます。ここに手動で ISP やルーター由来の DNS が並んでいると、VPN 接続時にもそれが残存し、競合の原因になることがあります。VPN 利用を主目的にする期間は、手動 DNS エントリを空にするか、VPN ベンダが推奨するリゾルバだけを残す運用を検討してください。ルーターから DHCP で DNS が配布されている場合、Mac 側を空にしても再起動後に再注入されるため、ルーター管理画面側の DNS 設定も合わせて見直すと再発を防ぎやすいです。
複数のネットワークサービス(例:Wi‑Fi と USB Ethernet)が同時に有効だと、macOS はサービス順序に従ってデフォルトルートと DNS を選びます。「ネットワーク」画面左下の「…」→「サービス順序」で、常用の IF を上に、使わない IF を下げるか無効化すると、意図しない DNS 経路を減らせます。プロキシ設定(「詳細」→「プロキシ」)が残っていると、DNS とは別レイヤーで通信経路が分岐し、テスト結果の解釈が難しくなるため、不要な自動プロキシ設定(PAC)や手動プロキシはオフにしてから VPN テストを行うのが無難です。
macOS の「限定 IP アドレス処理」(iCloud+ のプライベートリレー関連)や、MDM 管理下の端末では、システム DNS をユーザーが自由に書き換えられない場合があります。個人 Mac でも Apple ID でサインインしていると iCloud 機能が DNS 解決に介入することがあるため、次章の競合機能とあわせて確認してください。
4. VPN クライアント内の DNS オプション(押さえるべき項目)
商用 VPN クライアントの macOS 版では、設定画面に「DNS リーク防止」「VPN DNS を使用」「カスタム DNS」などのトグルや、接続時にシステム DNS を上書きするオプションが用意されていることが多いです。基本方針は、(1) 接続中はすべての DNS クエリをトンネル内のリゾルバへ送る、(2) 切断時に以前の DNS 設定へ確実に戻す、(3) IPv6 も同様にトンネル側へ誘導する、の三点を満たす構成に近づけることです。名称は製品ごとに異なりますが、「リーク防止」「Kill Switch とセットで有効化」系の項目は優先的にオンにします。
カスタム DNS(Cloudflare 1.1.1.1、Quad9 など)を指定できる製品では、VPN プロバイダ既定の DNS と第三者 DNS のどちらを信頼するかを選べます。プライバシーポリシー上、VPN 事業者のリゾルバを使う方が問い合わせログの扱いが一本化される場合もあれば、DoH/DoT 対応の公共リゾルバを明示的に指定したい場合もあります。いずれにせよ、システム設定側の手動 DNS と二重指定しないよう、どちらか一方を主と決めてください。Mac へのクライアント導入そのものはWindows 11 向け VPN 導入ガイド(2026)と対比すると、macOS は Gatekeeper 署名とネットワーク拡張の許可ダイアログが追加ステップになる点が異なりますが、DNS オプションの考え方は共通です。
スプリットトンネリング(特定アプリやサブネットだけ VPN 外)を有効にしていると、分割されたトラフィック用に別 DNS が使われ、テストページ上は「部分的リーク」のように見えることがあります。厳密な DNS 統一を優先する期間はスプリットをオフにし、全トラフィック VPN 経由で再テストします。接続直後数秒は古い DNS キャッシュが残るため、テスト前に sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder でキャッシュを flush すると、結果が安定しやすくなります(管理者パスワードが必要です)。
5. iCloud プライベートリレー・フィルタ DNS との競合
iCloud プライベートリレー(iCloud+)は Safari など Apple 系トラフィックの IP 秘匿を目的とした仕組みで、VPN と同時に有効だと、どちらが DNS/経路を握るかが複雑になります。VPN 利用中に DNS リークテストで結果がぶれる場合、一時的に「システム設定」→ Apple ID → iCloud →「プライベートリレー」をオフにし、VPN 単体で再確認すると原因の切り分けがしやすくなります。常時オフにする必要はありませんが、設定変更のたびにテストを一度走らせる習慣があると安心です。
NextDNS、AdGuard、Little Snitch などのフィルタリング製品も、独自の DNS プロキシやネットワーク拡張を注入します。これらは広告ブロックやトラッキング防止に有効ですが、VPN の DNS 上書きと順序が競合すると、意図しないリゾルバが使われることがあります。トラブル時はフィルタアプリを一時停止し、VPN の DNS リーク防止だけを有効にした状態でテストしてください。企業向け ZTNA クライアントと個人用 VPN を同時常駐させる環境でも、同様の競合が報告例として存在します。
6. IPv6 と mDNS:Mac 特有の漏れ経路
IPv4 だけ VPN トンネルに載せ、IPv6 はローカル回線のまま通す構成では、IPv6 経由の DNS(ポート 53 または IPv6 向け DoH)が VPN 外に出る「IPv6 リーク」が起き得ます。macOS の「ネットワーク」→「詳細」→「TCP/IP」で IPv6 設定を確認し、VPN クライアントに「IPv6 リーク防止」「IPv6 をトンネル内で処理」相当のオプションがあれば有効化を検討します。自宅ルーターが IPv6 を配布している環境ほど、オフ時テストとオン時テストの差分が出やすいです。
ローカルネットワーク向けの mDNS(.local 名前解決)は VPN とは別経路で動くのが通常で、インターネット向け DNS リークとは区別して理解してください。社内プリンターや NAS へ .local でアクセスする用途では、mDNS を殺す設定は副作用が大きいです。インターネット向け FQDN の解決だけ VPN 側に統一できているかを、テストツールの「標準的な公開ドメイン」結果で判断するのが実務的です。
7. スリープ復帰・Wi‑Fi 切替・Hotspot 時の DNS 挙動
MacBook をスリープから復帰した直後、または Wi‑Fi から iPhone テザリングへ切り替えた直後は、VPN が再接続完了する前に短いウィンドウで旧 DNS が使われることがあります。クライアントに「ネットワーク変更時に自動再接続」「信頼できるネットワークを除外しない(常時 VPN)」系の設定があれば、移動利用では有効化を検討します。カフェなど公共 Wi‑Fi では、キャプティブポータル(利用規約同意ページ)を VPN 接続前に完了させる必要があり、ポータル認証中だけ一時的にローカル DNS が見えるのは正常な挙動です。認証後に VPN をオンにし、再度リークテストを実行してください。
メニューバーに VPN 状態が「接続済み」と出ていても、実際の DNS が追随していないケースは、VPN プロセスの再起動や Mac の再起動で解消することがあります。長期スリープ後は、一度 VPN をオフ→オンする習慣を付けると、ゾンビ接続を減らせます。AI チャットやクラウドツール利用時の経路全体の見方はChatGPT エラー時のネットワーク切り分け(2026)でも触れていますが、DNS リークがあるとタイムアウトの原因が IP レイヤーではなく名前解決側にある場合もあります。
8. 設定後もリークが続くときの切り分け
クライアント設定とシステム DNS を揃えても改善しない場合、次を順に確認します。(1) 古い VPN プロファイルや別ベンダのネットワーク拡張が残っていないか(「システム設定」→「一般」→「ログイン項目と拡張機能」→「ネットワーク拡張」)。(2) /etc/resolv.conf がシンボリックリンクとして macOS により管理されているか(手動編集の残骸がないか)。(3) ホストファイル /etc/hosts にテストドメイン向けの固定行がないか。(4) ブラウザ独自の Secure DNS(Chrome の「セキュリティ」設定など)が OS 設定を上書きしていないか。
それでも解決しない場合は、VPN クライアントを最新版に更新し、一度アンインストールして公式サイトから再インストールすると、ネットワーク拡張の再登録で直る例があります。サポートへ問い合わせる際は、macOS バージョン、VPN クライアント版、scutil --dns の該当部分(個人情報を除く)、リークテストの結果スクショを添えると、側の再現がしやすくなります。
9. 実務チェックリスト(接続のたびに見る項目)
日常運用では、次の短いチェックリストで十分なことが多いです。VPN 接続前:システム DNS に不要な手動エントリがないか、競合する iCloud/フィルタ DNS を把握しているか。接続直後:リークテストでリゾルバが VPN 側に変わったか、Kill Switch(切断時に通信を止める)が有効か。ネットワーク変更後:Wi‑Fi 切替・スリープ復帰のあと再テストしたか。切断後:通常ブラウジング用 DNS が意図どおり戻ったか(社内 DNS が必要な環境では特に重要)。この習慣があると、設定変更や macOS アップデート後の退行に早く気づけます。
10. まとめ:システムとクライアントをセットで揃える
ブラウザ拡張だけ、または macOS 標準の「システム設定」内 VPN(L2TP 等のレガシー構成)だけに頼る方法は、DNS 上書きの一貫性やクライアント更新の観点で、長期運用には向かないことがあります。ネイティブ macOS クライアントで DNS リーク防止オプションが明示され、接続状態がメニューバーとアプリ内で一致する構成の方が、本稿の手順を再現しやすいです。ClashVPN は macOS を含む主要プラットフォーム向けクライアントを提供し、新規登録後にすぐ試せる無料トラフィック枠で全ノードを同一条件で利用できるため、まず DNS リークテストを接続前後で走らせ、設定変更の効果を短時間で確かめられます。クレジットカードを前提としない入口で挙動を確認してから、必要に応じて料金プランでトラフィックを増やす判断がしやすくなります。ダウンロードページから Mac 向けクライアントを入手し、システム DNS とアプリ内オプションを揃えて試してみてください。