プライベートDNSとは?仕組みと設定方法を徹底解説

プライベートDNSとは?
プライベートDNSとは、デバイスとDNSサーバー間のDNSクエリを暗号化し、第三者にどのウェブサイトにアクセスしているかを見られないようにする機能です。DNS over TLS(DoT)やDNS over HTTPS(DoH)などのプロトコルを使用して、クエリを暗号化トンネルで包みます。
プライベートDNSが無効の場合、ブラウザに入力するすべてのドメイン名はインターネット上を平文で送信されます。ISP、同じWi-Fiネットワーク上の誰でも、ネットワーク経路上の中間装置がそのクエリを読み取ったり、改ざんすることさえ可能です。プライベートDNSは、デバイスとDNSリゾルバ間の接続を暗号化することでこれを防ぎます。
'プライベートDNS'という用語は、Android 9 Pie(2018年)で導入されたAndroidの設定として最もよく知られていますが、基盤技術である暗号化DNSは、iOS、Windows、macOS、Linuxを含むすべての主要プラットフォームで利用可能です。
通常のDNSの仕組み(なぜ問題なのか)
従来のDNSは1987年以来、平文でクエリを送信してきました。ブラウザにドメイン名を入力すると、デバイスはUDPポート53経由でDNSリゾルバ(通常はISPのサーバー)にDNSクエリを送信します。リゾルバがIPアドレスで応答しますが、すべてが完全に暗号化されていません。
つまり、ネットワーク経路上の誰でもあなたが訪問するすべてのドメインを見ることができます。ISPは完全な閲覧プロファイルを構築できます。公衆Wi-Fi上の攻撃者はクエリを傍受できます。一部のISPはDNSレスポンスをハイジャックして、自社の検索ページや広告ページにリダイレクトすることさえあります。
また、DNSは攻撃者が偽のレスポンスを送信してユーザーを悪意のあるウェブサイトにリダイレクトするキャッシュポイズニングやスプーフィング攻撃にも脆弱です。従来のDNSには、レスポンスが本物のDNSサーバーから来たことを検証する仕組みが組み込まれていません。
プライベートDNSの仕組み
プライベートDNSは、DNSクエリを暗号化された接続の中に包みます。UDPポート53で平文クエリを送信する代わりに、デバイスはまずDNSリゾルバとの暗号化セッションを確立し、その安全なトンネルを通じてクエリを送信します。
DNSリゾルバはクエリを復号し、ドメイン名をIPアドレスに解決し、レスポンスを暗号化して返送します。やり取り全体がネットワークを監視している誰にも見えません。DNSサーバーと通信していることは分かりますが、どのドメインをクエリしているかは見ることができません。
現在使用されている暗号化DNSプロトコルは3つあります:DNS over TLS(DoT)、DNS over HTTPS(DoH)、DNS over QUIC(DoQ)。それぞれが同じ基礎となるDNSクエリを暗号化するために異なるアプローチを取ります。
DNS over TLS vs DNS over HTTPS vs DNS over QUIC
DoTは、システムレベルのプライベートDNS(Android、Linux)で最も一般的に使用されるプロトコルです。専用ポート(853)を使用するため、ネットワーク管理者が識別してブロックするのが容易です。
DoHは、通常のHTTPSトラフィックとポート443で混在するため、ウェブブラウザに好まれています。Web全体を壊さない限りブロックすることはほぼ不可能です。Chrome、Firefox、EdgeはすべてDoHをネイティブサポートしています。
DoQは最新のプロトコル(2022年)であり、最も高速です。TLS 1.3暗号化を内蔵したQUICトランスポートを使用し、ゼロラウンドトリップ(0-RTT)で接続を確立できます。Android 13以降がDoQをサポートしており、AdGuardなどのプロバイダーはDoQをデフォルトプロトコルにする予定です。
| 項目 | DNS over TLS (DoT) | DNS over HTTPS (DoH) | DNS over QUIC (DoQ) |
|---|---|---|---|
| RFC | RFC 7858 (2016) | RFC 8484 (2018) | RFC 9250 (2022) |
| ポート | TCP 853(専用) | TCP 443(HTTPSと共有) | UDP 853 |
| トランスポート | TLS over TCP | HTTP/2またはHTTP/3 over TLS | QUIC(TLS 1.3内蔵) |
| ブロック可能? | 簡単 — ポート853をブロックするだけ | 非常に困難 — すべてのHTTPSと同じポート | 中程度 — UDP 853 |
| レイテンシ | 低い | やや高い(HTTPオーバーヘッド) | 最も低い(0-RTT可能) |
| 使用場所 | AndroidプライベートDNS、システムレベル | ブラウザ(Chrome、Firefox、Edge) | AdGuard、NextDNS、Cloudflare |
| 普及度 | 広く普及 | 広く普及 | 拡大中 |
AndroidでプライベートDNSを有効にする方法
Android 9 Pie(2018年)以降、AndroidにはプライベートDNSのサポートが組み込まれています。DNS over TLSを使用し、すべてのアプリにシステム全体で適用されます。
手順1: 設定 > ネットワークとインターネット(Samsungの場合は接続)を開く
手順2: プライベートDNSをタップ(先に'詳細設定'や'その他の接続設定'のタップが必要な場合があります)
手順3: プライベートDNSプロバイダのホスト名を選択
手順4: DoTホスト名を入力。例:
1dot1dot1dot1.cloudflare-dns.com(Cloudflare)、dns.google(Google)、dns.quad9.net(Quad9)、dns.adguard-dns.com(AdGuard)手順5: 保存をタップ。Androidが接続を検証し、失敗するとエラーが表示されます
iPhoneとiPadでプライベートDNSを有効にする方法
Appleには、Androidのようなシンプルなトグルがありません。iOSで暗号化DNSを使用するには、構成プロファイルのインストールまたはDNSアプリの使用が必要です。
方法1:DNSアプリ — App Storeから1.1.1.1(Cloudflare)、NextDNS、またはAdGuardアプリをインストールし、アプリを開いて暗号化DNSを有効にします。設定 > 一般 > VPN、DNS、およびデバイス管理に表示されます。
方法2:構成プロファイル — 信頼できるソース(
paulmillr/encrypted-dnsGitHubリポジトリなど)から.mobileconfigファイルをダウンロードします。設定 > 一般 > VPN、DNS、およびデバイス管理で、ダウンロードしたプロファイルを選択し、インストールをタップします。方法3:ネットワークごとのDNS — 設定 > Wi-Fiで、ネットワーク横の(i)をタップし、DNSを構成をタップ、手動を選択してDNSサーバーIP(例:1.1.1.1、1.0.0.1)を追加します。注意:これはDNSを暗号化しません。リゾルバが変わるだけです。
Windows 11でDNS over HTTPSを有効にする方法
Windows 11はDNS over HTTPSをネイティブサポートしています。Cloudflare、Google、Quad9を含む認識済みDoHプロバイダーのリストが同梱されています。
手順1: 設定 > ネットワークとインターネット > Wi-Fi(またはイーサネット)を開く
手順2: 接続のハードウェアのプロパティをクリック
手順3: DNSサーバーの割り当ての横にある編集をクリック
手順4: 手動を選択し、IPv4を有効化
手順5: プライマリDNSサーバーを入力(例:
1.1.1.1)、DNS over HTTPSをオン(自動テンプレート)に設定手順6: セカンダリDNSサーバーを入力(例:
1.0.0.1)、DoHもオンに設定手順7: 保存をクリック。DNSエントリに暗号化済みラベルが表示されるはずです
# View pre-configured DoH providers in Windows 11
netsh dns show encryption
# Add a custom DoH provider via PowerShell
Add-DnsClientDohServerAddress -ServerAddress '1.1.1.1' -DohTemplate 'https://cloudflare-dns.com/dns-query' -AllowFallbackToUdp $False -AutoUpgrade $TruemacOSでプライベートDNSを有効にする方法
macOSは、構成プロファイル(iOSと同じ)またはDNSアプリを通じて暗号化DNSをサポートしています。
方法1:DNSアプリ — Cloudflare 1.1.1.1アプリ(または同様のアプリ)をインストールして有効にします。アプリがシステムレベルでDoHまたはDoTを構成します。
方法2:構成プロファイル —
.mobileconfigファイルをダウンロードし、ダブルクリックしてインストールした後、システム設定 > プライバシーとセキュリティ > プロファイルで承認します。方法3:ターミナル(上級者向け) —
networksetupでDNSサーバーを変更できますが、コマンドラインでのDNS変更だけでは暗号化は有効になりません。暗号化DNSにはプロファイルまたはアプリが必要です。
おすすめプライベートDNSプロバイダー(2026年版)
Cloudflare 1.1.1.1は最速のパブリックDNSリゾルバであり、3つの暗号化プロトコル(DoT、DoH、DoQ)すべてをサポートしています。ファミリーセーフバリアントも提供されています:security.cloudflare-dns.com(マルウェアブロック)とfamily.cloudflare-dns.com(マルウェア+アダルトコンテンツブロック)。CloudflareはIPアドレスを記録しないことを約束し、年次監査を受けています。
Google Public DNSは最も広く使用されているパブリックリゾルバです。DoTとDoHをサポートしていますが、匿名化する前に24〜48時間の一時データを記録します。絶対的なプライバシーが最優先の場合は、CloudflareまたはQuad9がより良い選択です。
Quad9はスイスの管轄下で運営され、厳格なIPノーログポリシーを持っています。25以上のサイバーセキュリティ企業からの脅威インテリジェンスを使用して、既知の悪意のあるドメインを自動的にブロックします。セキュリティ重視のユーザーに最適な選択です。
AdGuard DNSはDNSレベルで広告とトラッカーをブロックするため、広告ブロッカーをインストールしなくてもデバイス全体で広告がブロックされます。DNS over QUICの早期採用者であり、DoQをデフォルトプロトコルにする予定です。
NextDNSは最も細かい制御が可能です。カスタムホスト名、設定可能なブロックリスト、デバイスごとの分析、ペアレンタルコントロール、何がブロックされているかを正確に確認できるダッシュボードが用意されています。無料プランでは月間30万クエリが含まれます。
| プロバイダー | DoTホスト名 | IPv4 | 最適な用途 |
|---|---|---|---|
| Cloudflare | 1dot1dot1dot1.cloudflare-dns.com | 1.1.1.1 / 1.0.0.1 | 速度 — 世界最速のパブリックリゾルバ(平均約5ms) |
| dns.google | 8.8.8.8 / 8.8.4.4 | 信頼性 — 大規模なグローバルインフラ | |
| Quad9 | dns.quad9.net | 9.9.9.9 / 149.112.112.112 | セキュリティ — 25以上の脅威インテリジェンスフィードで悪意のあるドメインをブロック |
| AdGuard | dns.adguard-dns.com | 94.140.14.14 / 94.140.15.15 | 広告ブロック — DNSレベルで広告とトラッカーをブロック |
| NextDNS | <YOUR-ID>.dns.nextdns.io | Custom | カスタマイズ — 完全に設定可能なブロックリストと分析 |
プライベートDNSを使用するメリット
デバイスでプライベートDNSを有効にすると、セキュリティとプライバシーが即座に向上します。
ISPの監視を阻止 — ISPはあなたがどのドメインをクエリしているか確認したり、DNSトラフィックから閲覧プロファイルを構築したりできなくなります
DNSスプーフィングを防止 — TLS認証により、攻撃者ではなく本物のDNSサーバーと通信していることを検証します
公衆Wi-Fiでの保護 — 同じネットワーク上の他のユーザーがDNSクエリを傍受することができなくなります
DNSハイジャックをブロック — 侵害されたルーターや悪意のあるネットワークによるクエリの無断リダイレクトを防ぎます
透過DNSプロキシを回避 — 一部のISPはサードパーティサーバーを使用していてもポート53のDNSを傍受します。暗号化DNSは別のポートを使用するため、これらのプロキシを回避します
オプションの広告・マルウェアブロック — AdGuard、NextDNS、Quad9などのプロバイダーは、DNSレベルで広告、トラッカー、悪意のあるドメインをブロックできます
システム全体に適用 — 一度有効にすると、プライベートDNSはブラウザだけでなく、デバイス上のすべてのアプリを保護します
プライベートDNSのデメリットと注意点
プライベートDNSは万能ではありません。知っておくべきトレードオフを紹介します。
初回クエリにわずかな遅延 — TLSハンドシェイクにより、最初のDNSクエリに約15〜35msの遅延が追加されます。その後は接続が再利用され、後続のクエリは通常のDNSと同等の速度です。
キャプティブポータルが動作しない場合がある — ホテル、空港、カフェなどのログインページが必要なWi-Fiネットワークでは、リダイレクトに非暗号化DNSが必要な場合があります。プライベートDNSによりこれらのポータルが読み込めなくなることがあります。
企業ネットワークがブロックする場合がある — IT部門はセキュリティ監視のためにDNSの可視性が必要です。多くの企業ネットワークは、外部リゾルバへの暗号化DNSを意図的にブロックしています。
集中化の懸念 — 暗号化DNSにより、少数の大手リゾルバ(Cloudflare、Google)の利用が促進され、DNSトラフィックがより少ない企業に集中します。
すべてを暗号化するわけではない — プライベートDNSはドメインクエリを暗号化しますが、ISPはTLSハンドシェイクのSNIを通じて接続先のIPアドレスを引き続き確認できます(ECHも使用している場合を除く)。
スプリットホライズンDNSの問題 — 内部と外部で異なるDNSを使用している組織では、デバイスが内部リゾルバをバイパスすると問題が発生する場合があります。
'このネットワークは暗号化されたDNSトラフィックをブロックしています'の意味
iPhoneやMacでこの警告が表示された場合、接続しているネットワークが暗号化DNSクエリの到達を妨げていることを意味します。DNSクエリは平文で送信されており、ネットワーク上の誰でもあなたが訪問するドメインを見ることができます。
この警告は、企業ネットワーク、学校のWi-Fi、キャプティブポータルのあるホテルや空港のネットワーク、暗号化DNSをサポートしていない古いファームウェアのルーターで一般的に表示されます。
デバイスとルーターを再起動する — ネットワークプロセスがリセットされ、一時的な問題が解決することが多いです
Wi-Fiネットワークを削除して再接続する — Wi-Fi設定でネットワークを削除し、再度接続します
ルーターのファームウェアを更新する — 古いファームウェアは暗号化DNSトラフィックを正しく処理できない場合があります
VPNを使用する — VPNはDNSを含むすべてのトラフィックを暗号化し、ネットワークレベルのDNSブロックを回避します
管理されたネットワークでは受け入れる — 企業や学校のネットワークでは、暗号化DNSのブロックはセキュリティ監視のために意図的に行われていることが多いです。回避できない場合があります
プライベートDNSが機能しているか確認する方法
プライベートDNSを有効にした後、クエリが実際に暗号化され、選択したプロバイダーを通じてルーティングされていることを確認しましょう。
Cloudflare診断ページ — 1.1.1.1/helpにアクセスして、DoH、DoT、または平文DNSのどれを使用しているか、どのリゾルバがクエリを処理しているかを確認できます
DNSリークテスト — dnsleaktest.comにアクセスして拡張テストを実行します。選択したプロバイダーのサーバーのみが表示され、ISPのサーバーが表示されなければ、暗号化DNSは正しく動作しています
DNS Robotの DNS Lookupツールを使う — DNS RobotのDNS Lookupで特定のDNSサーバーにクエリを送信し、期待通りに応答しているか確認できます
ブラウザリークテスト — browserleaks.com/dnsにアクセスして、ブラウザがどのDNSサーバーを使用しているか確認できます
# Test DNS over TLS with kdig
kdig -d @1.1.1.1 +tls-ca +tls-host=cloudflare-dns.com example.com
# Check which resolver is responding
dig whoami.cloudflare.com TXT @1.1.1.1
# Test DNS over HTTPS with curl
curl -s -H 'accept: application/dns-json' \
'https://cloudflare-dns.com/dns-query?name=example.com&type=A'DNSの設定を確認する
DNS RobotのDNS Lookupツールを使って、DNS設定の確認、応答しているネームサーバーの確認、DNSの問題のトラブルシューティングができます。
Try DNS LookupFrequently Asked Questions
AndroidのプライベートDNSは、Android 9以降に搭載されたDNS over TLSを使用してDNSクエリを暗号化する機能です。有効にすると、デバイス上のすべてのアプリが暗号化トンネルを通じてDNSクエリを送信し、ISPやネットワーク管理者が訪問先のウェブサイトを見ることを防ぎます。