インターネットを使う時、私たちは「google.com」のような分かりやすいアドレスを入力しますよね。
でも、コンピュータの世界では、これを「192.168.1.1」のようなIPアドレスに変換する必要があります。その変換作業を担当しているのがDNS(Domain Name System)です。
ところが、この重要なDNS通信、実は長年「暗号化されていない」という問題を抱えていました。そこで登場したのがDNS over TLS(DoT)という技術。
「DNS over TLSって何?」「普通のDNSと何が違うの?」「どうやって使うの?」
この記事では、DNS over TLSの仕組みから設定方法まで、初心者の方にも分かるように丁寧に解説していきます。
インターネットのプライバシーを守る重要な技術、一緒に見ていきましょう!
DNS over TLSとは?基本を理解しよう

DNSのおさらい
まず、DNSについて簡単に説明しますね。
DNS(Domain Name System)は、インターネット上の「電話帳」のような役割を果たすシステム。
人間が覚えやすい「www.example.com」というドメイン名を、コンピュータが理解できるIPアドレス「203.0.113.1」に変換してくれます。
DNSがないと:
- すべてのサイトをIPアドレスで覚える必要がある
- 「192.168.1.1」のような数字を毎回入力しなければならない
- インターネットが非常に使いにくくなる
つまり、DNSは現代のインターネットに不可欠な存在なんです。
従来のDNSの問題点
しかし、長年使われてきた従来のDNSには、深刻な問題がありました。
問題:DNS通信が暗号化されていない
通常のDNS通信は、平文(暗号化されていない状態)でやり取りされます。
これは、郵便でいえば「ハガキで送る」ようなもの。誰でも内容を読めてしまうんです。
何が問題なのか:
- 盗聴される:あなたがどのサイトにアクセスしようとしているか見られる
- 改ざんされる:偽のIPアドレスを返されて、偽サイトに誘導される
- プライバシーが守られない:閲覧履歴が筒抜けになる
HTTPSで通信内容を暗号化しても、DNS通信が暗号化されていなければ、アクセス先は丸見えなんです。
DNS over TLSの登場
この問題を解決するために開発されたのがDNS over TLS(DoT)。
DNS over TLSは、DNS通信をTLS(Transport Layer Security)という暗号化技術で保護する仕組みです。
TLSとは:
HTTPSでも使われている、インターネット通信を暗号化する標準的な技術。「鍵をかけた封筒で手紙を送る」ようなイメージですね。
DNS通信をTLSで暗号化することで、第三者による盗聴や改ざんを防げるようになったんです。
DNS over TLSの仕組み
技術的な部分を、できるだけ分かりやすく説明します。
通信の流れ
従来のDNS(ポート53番):
- ブラウザが「example.comのIPアドレスは?」とDNSサーバーに問い合わせ
- 通信は暗号化されていない
- DNSサーバーが「203.0.113.1です」と返答
- この通信は誰でも傍受できる
DNS over TLS(ポート853番):
- ブラウザが「example.comのIPアドレスは?」と問い合わせ
- TLSで暗号化されたトンネルを確立
- 暗号化されたトンネル内でDNS通信を実施
- DNSサーバーが暗号化された返答を送る
- 第三者は通信内容を読めない
ポート番号が異なる点も重要。従来のDNSは53番、DNS over TLSは853番を使います。
暗号化の効果
DNS over TLSで暗号化されると、以下の情報が保護されます。
保護される情報:
- 問い合わせたドメイン名(どのサイトにアクセスしようとしているか)
- 返答されたIPアドレス
- DNSレコードの種類や内容
保護されない情報:
- 接続先DNSサーバーのIPアドレス
- 通信のタイミングや量
完璧ではありませんが、大幅にプライバシーが向上するんです。
認証機能
DNS over TLSのもう一つの重要な機能が、サーバー認証。
TLS接続時に、DNSサーバーの証明書を検証することで、「本物のDNSサーバーと通信している」ことを確認できます。
これにより、DNSスプーフィング(偽のDNS応答を返す攻撃)を防げるんですね。
DNS over HTTPSとの違い

DNS over TLSとよく似た技術に、DNS over HTTPS(DoH)があります。
DNS over HTTPS(DoH)とは
DoHは、DNS通信をHTTPS通信に乗せて暗号化する方式。
見た目は普通のウェブ通信と同じなので、DNSだと気づかれにくいんです。
主な違い
使用するポート:
- DoT:専用ポート853番
- DoH:HTTPSと同じ443番
見た目:
- DoT:DNSとして識別しやすい
- DoH:通常のHTTPS通信に見える
ファイアウォールとの関係:
- DoT:ポート853をブロックされるとアウト
- DoH:通常のHTTPSなのでブロックされにくい
標準化:
- DoT:RFC 7858で標準化(2016年)
- DoH:RFC 8484で標準化(2018年)
どちらを使うべき?
DoTが向いているケース:
- 企業ネットワークでの集中管理
- ネットワークレベルでDNS通信を制御したい
- 明示的にDNSを識別できた方が良い
DoHが向いているケース:
- 厳しいファイアウォール環境
- DNSブロッキングを回避したい
- ブラウザレベルで暗号化したい
どちらも暗号化という目的は同じ。環境や用途に応じて選びましょう。
DNS over TLSのメリット
DNS over TLSを使うことで、どんな利点があるのでしょうか。
1. プライバシーの保護
最大のメリットは、閲覧履歴の保護です。
ISP(インターネットサービスプロバイダー)や、公共Wi-Fiの管理者に、あなたがどのサイトにアクセスしているか見られなくなります。
カフェや空港のフリーWi-Fiでも、安心してインターネットを使えるんです。
2. DNSスプーフィング対策
暗号化とサーバー認証により、偽のDNS応答を防げます。
フィッシングサイトへの誘導など、DNS改ざん攻撃のリスクが大幅に減るんですね。
3. 検閲の回避
一部の国や組織では、DNSレベルでのフィルタリングが行われています。
DNS over TLSを使えば、こうした検閲を回避できる可能性があります。
4. 中間者攻撃の防止
暗号化により、通信経路上の誰かが内容を見たり書き換えたりすることを防げます。
特に、信頼できないネットワークでの安全性が向上するんです。
5. データの完全性保証
通信が改ざんされていないことが保証されます。
受け取ったDNS応答が、確実にDNSサーバーから送られたものだと確認できるんです。
DNS over TLSのデメリットと注意点
メリットが多い一方で、いくつか注意すべき点もあります。
1. 処理速度の低下
暗号化処理により、わずかにDNS解決が遅くなる可能性があります。
ただし、キャッシュ機能などで、実用上はほとんど気にならないレベルです。
2. 対応していないDNSサーバーがある
すべてのDNSサーバーがDNS over TLSに対応しているわけではありません。
使いたいDNSサーバーが対応していない場合、利用できないんです。
3. ファイアウォールで止められる可能性
ポート853番がブロックされている環境では使えません。
企業や学校のネットワークでは、制限されているケースもあります。
4. 完全な匿名性は得られない
DNS通信は暗号化されても、その後の実際のサイトアクセスは別です。
IPアドレスや接続タイミングから、ある程度の情報は推測される可能性があります。
5. DNSサーバーには内容が見える
暗号化されるのは、あなたとDNSサーバーの間だけ。
DNSサーバー自体には、問い合わせ内容が見えています。信頼できるDNSサーバーを選ぶことが重要です。
DNS over TLS対応のパブリックDNSサーバー
DNS over TLSを使うには、対応しているDNSサーバーが必要です。
Cloudflare DNS
アドレス:
- 1.1.1.1
- 1.0.0.1
TLSホスト名:
- cloudflare-dns.com
- one.one.one.one
特徴:
- 高速で信頼性が高い
- プライバシー重視の方針
- 無料で利用可能
Google Public DNS
アドレス:
- 8.8.8.8
- 8.8.4.4
TLSホスト名:
- dns.google
特徴:
- Googleが運営する信頼性の高いサービス
- グローバルに分散したサーバー
- 無料で利用可能
Quad9
アドレス:
- 9.9.9.9
TLSホスト名:
- dns.quad9.net
特徴:
- セキュリティ重視
- マルウェアサイトをブロック
- 非営利組織が運営
AdGuard DNS
アドレス:
- 94.140.14.14
- 94.140.15.15
TLSホスト名:
- dns.adguard.com
特徴:
- 広告ブロック機能付き
- プライバシー保護
- 家族向けフィルタリングオプションあり
DNS over TLSの設定方法
それでは、実際にDNS over TLSを設定する方法を見ていきましょう。
Android(9以降)の設定
Android 9以降では、OS標準でDNS over TLSがサポートされています。
手順:
- 設定アプリを開く
- 「ネットワークとインターネット」をタップ
- 「プライベートDNS」をタップ
- 「プライベートDNSプロバイダのホスト名」を選択
- ホスト名を入力(例:cloudflare-dns.com)
- 「保存」をタップ
これで、すべてのアプリのDNS通信がDNS over TLSで暗号化されます。
iOS(14以降)の設定
iOSでは、構成プロファイルを使って設定します。
手順:
- DNS over TLS対応アプリをインストール(DNSecure、1.1.1.1アプリなど)
- アプリの指示に従って構成プロファイルをインストール
- 設定→一般→VPNとデバイス管理で有効化
Linux(systemd-resolved)の設定
多くの現代的なLinuxディストリビューションで使えます。
設定ファイル編集:
sudo nano /etc/systemd/resolved.conf以下を追記:
[Resolve]
DNS=1.1.1.1#cloudflare-dns.com
DNSOverTLS=yesサービス再起動:
sudo systemctl restart systemd-resolvedStubbyを使う方法(Linux、macOS)
Stubbyは、DNS over TLS専用のローカルプロキシです。
インストール(Ubuntu/Debian):
sudo apt install stubby設定ファイル編集:
sudo nano /etc/stubby/stubby.ymlCloudflareを使う場合の設定例:
upstream_recursive_servers:
  - address_data: 1.1.1.1
    tls_auth_name: "cloudflare-dns.com"
  - address_data: 1.0.0.1
    tls_auth_name: "cloudflare-dns.com"起動:
sudo systemctl enable --now stubbyルーターでの設定
一部の高機能ルーターは、DNS over TLSに対応しています。
対応ルーターの例:
- ASUS(AsusWRT)
- OpenWrt搭載ルーター
- pfSense
ルーター側で設定すれば、家庭内のすべてのデバイスが自動的にDNS over TLSを使えるようになります。
DNS over TLSの動作確認方法

正しく設定できたか、確認する方法を紹介します。
1. DNSリークテスト
以下のサイトで、DNSリークがないか確認できます。
- dnsleaktest.com
- ipleak.net
使用しているDNSサーバーが表示されるので、設定したサーバーになっているか確認しましょう。
2. コマンドラインでの確認
Linuxの場合:
# systemd-resolvedの状態確認
resolvectl status
# DNSOverTLSが有効か確認
grep DNSOverTLS /etc/systemd/resolved.conftcpdumpでの確認:
# ポート853番の通信を監視
sudo tcpdump -i any port 853DNS over TLSが動作していれば、ポート853への通信が見えます。
3. ブラウザでの確認
Cloudflareの診断ページ:
https://1.1.1.1/helpここにアクセスすると、DNS over TLSが有効かどうか表示されます。
セキュリティのベストプラクティス
DNS over TLSを安全に使うためのポイントをまとめます。
1. 信頼できるDNSサーバーを選ぶ
DNSサーバー自体には、問い合わせ内容が見えています。
プライバシーポリシーが明確で、信頼できるプロバイダーを選びましょう。
2. DNSSEC(DNS Security Extensions)も併用
可能であれば、DNSSEC対応のDNSサーバーを使いましょう。
DNS over TLSと組み合わせることで、より強固なセキュリティが得られます。
3. 定期的な設定確認
ソフトウェアの更新や設定変更で、DNS over TLSが無効になっていないか定期的に確認しましょう。
4. VPNとの併用も検討
さらに高いプライバシーが必要なら、VPNとDNS over TLSを併用する方法もあります。
多層防御で、より安全な通信が実現できるんです。
まとめ:DNS over TLSでプライバシーを守ろう
DNS over TLSについて、ここまで詳しく見てきました。最後に要点を整理しておきましょう。
DNS over TLSの重要ポイント:
- DNS通信をTLSで暗号化する技術
- ポート853番を使用
- プライバシー保護とセキュリティ向上が目的
- RFC 7858で標準化されている
- DNS over HTTPSとは異なる方式
主なメリット:
- 閲覧履歴の保護
- DNSスプーフィング対策
- 中間者攻撃の防止
- 検閲回避の可能性
- データの完全性保証
設定のポイント:
- Android 9以降は標準サポート
- Linuxはsystemd-resolvedやStubbyで対応
- 信頼できるパブリックDNSを選ぶ
- 動作確認も忘れずに
 
  
  
  
   
               
               
               
               
              

コメント