導入

以前の記事 で、DNS over HTTPSをやりました。

その後、私は暗号化されたDNSを使い続けていますが、DNSプロバイダを広告やトラッカーを除去してくれるAdGuardを利用しています。

設定方法

設定方法は、以前の設定ファイルでCloudflareを指定した server_names を次のように設定します。

server_names = ['adguard-dns','adguard-dns-ipv6']

IPv6を使える方はipv6も指定しましょう。

DNS leak test.com というサイトでDNSの接続テストを行うと、ISPがDatacamp Limitedになっていれば、AdGuardになっています。

DNS leaktest.comの結果

他のDNSサーバと暗号化した通信を行う

dnscryptのサーバリストページ に利用できるサービスが一覧になっています。

リストのName欄を設定ファイルにコピペすれば動きます。

最近はNextDNSに興味があります。

DoT、DoH、DNScryptの違い

DNS-over-TLS(DoT)

DNSトラフィックをTLSで暗号化したものになります。

通信ポートは853番を利用するため、場所によってはブロックされていることもあります。 また、ネットワークに詳しい人に監視されている場合、ポート番号が固有なため、DoTで通信していることがバレてしまいます。

DNS-over-HTTPS(DoH)

DNSトラフィックをTLSで暗号化して、通信経路にHTTPSを用います。 これによって、443番ポートでの通信となるため、ネットワーク管理者もDoHを利用していることがわかりにくくなります。

また、443番ポートを塞がれることはほとんど無いため、通信しやすいというメリットもあります。

欠点は、HTTPSベースの通信であるため、 ユーザエージェント情報から個人を識別することが可能かも…? という指摘もあります。

DNSCrypt

DNSCryptはHTTPSと同じ443番ポートで利用され、DoHのようにHTTPSではなく、専用のサーバで運用されています。 これによって、DoH利用時のユーザエージェント情報から個人を特定することは難しくなっています。

DNSサーバを信頼する方法にも違いがあります。

DoHは基本Webサービスですので、認証局の証明書を信頼することによってDNSサーバを利用できますが、DNSCryptはサービス提供者の公開鍵をそれぞれで信頼する事によって利用できます。

DoHなどはRFCやIETFなどで標準化されていますが、DNSCryptは提出もされていません。

まとめ

最近は主要ブラウザからDoHの設定ができるため、手軽さの観点から考察するとDoHで十分だと思います。

私は以前からDNSCryptを利用しているので、こちらを使い続けます。