これまでの簡単な経緯
DNSとは、通信時にドメイン名(Yahoo.co.jp)をIPアドレス(182.22.59.229)へ変換して実際のサーバーへアクセスできるようにするものです。
インターネット上にはDNSサーバがあり、この役割を果たしています。
広告系のドメインを存在しないアドレス(NXDOMAIN)へ変換することで広告サーバーへの通信をブロックするのが、DNSを使用した広告ブロックとなります。
端末内部での処理で広告サーバードメインをNXDOMAINへ変換してブロックを実現するのが、iOSのAdguardPro、Futuremind Adblock、DNScloak、Androidのdns66 blokadaなどになります。
DNSサーバー側の処理で広告サーバーをブロックするのが、Adguard DNSなどになります。
世の中には公開されているDNSサーバーは多数あり、malwareに感染する危険なサイトをブロックしてくれるDNSサーバーやアダルトコンテンツをブロックしてくれるDNSサーバーなどがあります。
DNSサーバーと端末との通信はこれまで暗号化されてきませんでしたが、世の中のWebがhttpではなくhtttpsを使用して暗号化通信する事が普通になったように、DNSサーバーも暗号化のサポートが広まりまじめています。
その中でも普及が進んでいるのがDoTとDoHという形式のDNS暗号化です。
iOS14では設定ファイルをダウンロードして簡単な設定をするだけで、DoHやDoTを使用したDNSサーバに切り替えられるようになりました。ただ、この設定ファイルは、証明書を付けて安全なファイルに見せかける事が容易にできるので、安易に信用してはいけません。フィッシングサイトや悪意のあるサイトに自動的につながってしまう悪意のあるDNSサーバーを設定してしまうリスクがあります。
参考)Apple、iOS 14およびmacOS Big Surに暗号化されたDNSのサポートを追加 | 酔いどれオヤジのブログwp
How To Set Up Cloudflare DNS over TLS (Secure DNS) : MacOSBeta
iOS 構成プロファイルの署名 – Qiita
DNSを利用した広告ブロック
DNSを利用した広告ブロックの大きなメリットは端末の処理が軽い事です。デメリットとしては一部の通信だけ除外ができないため細かなブロックができない事です。不具合は起こりますし消えない広告がどうしても残りますし、広告を消した後の空白も残ります。DNSによる広告ブロックは、簡単であるけれども単純で簡易的な方法と考えるのが良いと思います。
端末内部でのDNSブロックについては他の広告ブロック方法に比べて比較的安全性が高いと考えられます。
DNSサーバを利用したブロックは、端末内部のものに比べるとセキュリティが劣るため信頼できないDNSサーバは使用すべきではありません。例えば正しくURLを入力してもそれをフィッシングサイトへ誘導する事が可能です。
またDNSサーバーに処理が集中しますので、なかなか個人で気軽に広告ブロックDNSサーバーは公開できないのが現状かと思います。
iOS14の状況
Adguardは以前より、広告ブロックできる暗号化をサポートしたDNSサーバーが公開されていて、iOS14でそれを容易に利用できる設定ファイルが公開されました。
参考)iOS 14でAdGuard DNSを使う方法
280blockerではver6に簡単に暗号化DNSが利用できるプロファイルがダウンロードできるようになりました。有名な暗号化サポートDNSサーバーをいくつかリストにして切り替えられるようにしています。
それに合わせて280blockerでもiOS14専用で簡単なDoHサーバーを試しに作ってみました。一般公開はせずアプリユーザ限定の公開にしていますが、おそらく多数のユーザの負荷には耐えられないと思います。転送量の上限が来たら停止すると思います。サーバーが止まるとそのDNSサーバを設定している端末では通信ができなくなるため、他のDNSサーバーに切り替えてください。
このような状況ですので基本的にはDNSCloakやAdguardPro、futuremind Adblockを利用した広告ブロックを使っていただく方がいいかなと思ってます。それらに比べて設定が簡単な事以上のメリットはないように思います。