DNSブロックについて の変更点


#include(キャッチフレーズ,notitle)

ここでは、AdGuardのDNSブロックについて解説します。初心者にも分かるように、DNSとは何かというところから、メリット・デメリットを含めて、丁寧に説明します。また、DNSブロックを使う場合のオプションについても説明します。

----------
#region(【目次】)
#contents
#endregion


*DNSとは? [#xfcce902]
DNSとは何かを正確に説明すると非常に難しくなってしまうため、ここでは初心者にも理解できるように''イメージだけ''をできるだけ分かりやすくお伝えします。もっと正確に知りたい方はWikipediaなどの記事を読んでみてください。

まず、例としてGoogleのウェブサイトにアクセスするときのことを考えてください。大抵の人は、

>http://www.google.com/

などとブラウザ(Chromeなど)のアドレス欄に入力するはずです((httpsやgoogle.co.jpなどもありますが、DNSの説明とは無関係なので省略しています。))。それでは、

>http://216.58.199.228/

と入力しても全く同じウェブサイトにアクセスできるのをご存知でしょうか。実は、Googleに限らず、あらゆるウェブサイトには、原則としてこのような2通りのアドレスが存在しています((なお、稀にドメイン名が存在しないウェブサイトもあります。また、IPアドレスは必ず存在しますが、IPアドレスではアクセスできないようにしているウェブサイトもあります。))。「www.google.com」のように英数字((英数字だけでなく日本語の文字などが使えるドメイン名もあります。))を使ったものをドメイン名、「216.58.199.228」のように数字だけを使ったものをIPアドレスと呼びます。

どうして、2つのアドレスがあるのでしょうか。それは、人間にとっては英数字のほうが扱いやすいけれど、機械にとっては数字だけのほうが扱いやすいからです。人間と機械との間の橋渡しをするために、''ドメイン名とIPアドレスを相互に変換してくれるシステムがDNS(ドメイン・ネーム・システム)''です。

実は、普段インターネットを利用するときにも、知らず知らずのうちに裏でDNSが使用されています。例として、Googleのウェブサイトにアクセスする際にどのようにDNSが使われるのかを簡単に見てみます。

+ユーザーがスマートフォンのブラウザのアドレス欄に「http://www.google.com/」と入力する
+スマートフォンが自動的に「www.google.comをIPアドレスに変換してください」とインターネット上のDNSサーバーにリクエストする
+インターネット上のDNSサーバーが「www.google.comは216.58.199.228ですよ」とスマートフォンに回答する
+スマートフォンが自動的に「http://216.58.199.228/」にアクセスする
+Googleのウェブサイトが表示される

このように、ユーザーはドメイン名を入力しただけですが、機械の内部ではインターネット上のDNSを使ってIPアドレスに変換し、IPアドレスを使ってウェブサイトにアクセスしているのです。
*DNSブロックとは? [#e35d5dec]
AdGuardのDNSブロックとは、広告等(広告のほかにウイルスなどの有害コンテンツも含む)を配信するサーバーに関するDNSリクエストをブロックすることで、広告等のダウンロードを阻止する技術です((なお、DNSCloakやDNS66など、DNSブロック機能だけを持つ広告ブロックアプリも存在します。))。

先程のDNSの説明を思い出してください。スマホの内部では、ウェブサイトにアクセスする前に、DNSを使ってドメイン名をIPアドレスに変換していました。広告等へのアクセスでもこの原理は変わりません。そこで、IPアドレスへの変換自体をブロックしてしまえば、広告等をブロックできるということになります。

AdGuardのDNSブロックが架空のアプリ「アフィカスアプリ」のアプリ内広告をブロックする様子を簡単に見てみます。

+アフィカスアプリが広告をダウンロードするために「http://afikasu.afi/koukoku/」へ接続しようとする
+スマートフォンが自動的に「afikasu.afiをIPアドレスに変換してください」とインターネット上のDNSサーバーにリクエストする
+AdGuardアプリがDNSサーバーに代わって「afikasu.afiのIPアドレスは見つかりませんでした((正確にはこれを「NXDOMAIN」と言います。なお、以前のバージョンのAdGuardでは、「afikasu.afiは127.0.0.1ですよ」と嘘の回答をする仕様でした。127.0.0.1は自分自身を表す特別なIPアドレスで、当然このIPアドレスでは広告をダウンロードすることはできません。))」と回答する
+IPアドレスが分からないのでアフィカスアプリは広告をダウンロードできない

このように、''広告等にアクセスする前のDNSリクエスト自体をブロック''してしまい、広告等のダウンロードを阻止するのがDNSブロックというわけです。
*DNSブロックのメリット [#y0bf2aaa]
DNSブロックには''2つのメリット''があります。一つは''省電力化・高速化''、もう一つは''無料版でのアプリ内広告ブロック''です。

**省電力化・高速化 [#dea1f0a2]
DNSブロックには、省電力化と高速化の効果があります。この効果は、同じ広告等サーバーに何度も繰り返してアクセスしようとするアプリやウェブサイトに対して大きな効果があります。

例えば、アフィカスアプリは、広告のダウンロードに失敗したら1秒後にまた広告のダウンロードを試みるという仕様だったとします((実際にこのように再アクセスを繰り返すアプリはたくさんあります。))。DNSブロックを使わないで通常の通信ブロック機能でアフィカスアプリ内の広告をブロックする場合には、アフィカスアプリが広告のダウンロードを試みてそれをAdGuardがブロックするという同じ動作を1秒置きに繰り返すことになります。これでは無駄にバッテリーを消耗してしまいますし、動作が重くなる原因にもなります。同じサーバーの広告をたくさん貼っているウェブサイトでも同じことが言えます。

一方、DNSブロックではこれらの心配はありません。なぜなら、DNSリクエストに対する「見つかりませんでした」という結果は一定時間保存されているからです((これをネガティブキャッシュと言います。保存される時間は、環境によって異なります。))。一度「afikasu.afiのIPアドレスは見つかりませんでした」と回答してしまえば、この結果が保存され、AdGuardが何もしなくても一定時間ブロックの効果が続くというわけです。
**無料版でのアプリ内広告ブロック [#z2b35b2b]
DNSブロックは、本来は省電力化と高速化のために作られた機能です。しかし、副次的効果として、DNSブロックを使えば、無料版AdGuardでも多くのアプリ内広告をブロックすることができます。AdGuardのアプリ内広告ブロックはプレミアム版限定機能ですが、お金を払わずに似たようなことができるというわけです。

どうして無料版でもアプリ内広告のブロックができるのでしょうか。それは、DNSリクエストの時点では、afikasu.afiにアクセスしようとしているのがブラウザーなのかアフィカスアプリなのかが分からないためです。無料版AdGuardは、本来ブラウザーでの広告ブロック機能しかありませんが、DNSブロックではブラウザー内広告とアプリ内広告が区別できないので、両方ブロックする仕様になっています。

*DNSブロックのデメリット [#c2b3cf18]
DNSブロックの欠点として、''きめ細かいブロックができない''ということが挙げられます。

例えば、「http://afikasu.afi/koukoku/」で広告が配信されている一方で、「http://afikasu.afi/yakyuu/」で野球情報が配信されているとしたらどうでしょう。DNSブロックでafikasu.afiをIPアドレスに変換できないようにしてしまうと、野球情報も見られなくなってしまいます。

このように、広告等とまともなコンテンツが同じサーバーで配信されている場合には、このサーバーをDNSブロックの対象外とするか、思い切ってまともなコンテンツごとDNSブロックしてしまうか、二者択一となります((このようなサーバーの代表的な例として、graph.facebook.comがあります。このサーバーをDNSブロックすると、多くのアプリ内広告が消せる一方で、一部のFacebook連携アプリが機能しなくなります。ブロックすべきかどうかは、各自の使用アプリなどによって変わってくることになります。graph.facebook.comのブロックについては、[[AdGuard導入法(応用編)]]の無料版ユーザー向け厳罰化ルールをご覧ください。))。DNSブロック機能のみの広告ブロックアプリ((DNSCloakやDNS66などがあります。))ならば非常に悩ましい問題となりますが、AdGuardはDNSブロックと通常の通信ブロックと両方の機能を搭載しているため、2つの機能の使い分けで解決できます。すなわち、まともなコンテンツのない広告等専用サーバーだけをDNSブロック機能でブロックし、その他のサーバーは通常の通信ブロック機能を使ってきめ細かく広告等だけを選別してブロックします((また、本文中では同じサーバーでまともなコンテンツも配信している場合を取り上げましたが、例えば、広告しか配信していないサーバーであってもその広告をブロックすると一部のウェブサイトで不具合が発生するというような場合も、通常の通信ブロック機能で対応していくことになります。))。

ただし、通常の広告通信ブロック機能でアプリ内広告をブロックするのはプレミアム版限定機能なので、無料版では、まともなコンテンツと同じサーバーから配信されているアプリ内広告はブロックできないことになります。
*DNSブロックのオン・オフのまとめ [#k1ac102a]
''&color(Red){プレミアム版ユーザーは};''、''&color(Red){不具合を抑えたい場合はオン};''にしましょう。
 
''&color(Blue){無料版ユーザーは};''、アプリ内広告をブロックするために''DNSブロックを&color(Red){オン};''にしましょう。稀にマイナーなウェブサイト・アプリで不具合が出ることがあるかも知れませんが、それについては当Wikiへの報告によって、なんJ改修フィルターで修正していくことができます。
*DNSサーバーの選び方 [#e7a01c0c]
DNSブロックは、[[AdGuard導入法]]で解説しているように、DNS画面からオンを選択するだけで利用することができます。この他、おまけ機能として、DNS画面からDNSサーバーを選択することもできます。

DNSサーバーの選択によって、ウェブサイトへのアクセスを高速化することもできます。また、広告ブロックやセキュリティー対策の機能がついたDNSサーバーもあります。ここでは、代表的なDNSサーバーを簡単に説明します。どのDNSサーバーを使うかは、好みによっても変わってくるので、説明を読んだ上で各自判断してください。

>参考サイト:ハルパス氏のブログ
[[''&color(Navy){無料で安全なDNSサービスの一覧};''>https://blog.halpas.com/archives/2938]] 
[[''&color(Navy){DNS over HTTPS(DoH)対応のDNSサービスの一覧};''>https://blog.halpas.com/archives/13503]]
**システム・デフォルト [#c8c675f9]
初期状態では、これが選択されています。特に不満がなければこのままの設定で構いません。

システム・デフォルトでは、スマートフォンに設定されているデフォルトのDNSサーバーを使用します。例えば、docomoのスマートフォンを利用している場合には、docomo社のDNSサーバーが使用されます。

システム・デフォルトのDNSサーバーの利点は、日本国内の多くのユーザーが利用しているため、国内の主要なドメイン名を超高速でIPアドレスに変換できるということです((サーバーキャッシュと言って、DNSサーバーに他のユーザーたちの変換履歴が残っているためです。))。

また、認証画面での認証などが必要な一部のWi-Fiについては、システムの既定のDNSサーバーでないと使用できないことがあります((認証用サーバーへのアクセスにも当然DNSを利用しますが、認証前にアクセスできるDNSサーバーがデフォルトのDNSに限定されている場合にこの問題が発生します。なお、他のDNSサーバーでも問題なく使用できるWi-Fiもあります。))。このようなWi-Fiを常用している場合には、システム・デフォルトを選択しましょう。
**Google Public DNS [#ha8ffa7e]
検索エンジン世界最大手のGoogle社が提供しているDNSサーバーです。このDNSサーバーの利点は、世界中のマイナーなウェブサイトも含めて、あらゆるドメイン名を高速でIPアドレスに変換できるということです((サーバーキャッシュが極めて充実しているためです。))。マイナーなサイトによくアクセスする人は、Google Public DNSを検討しましょう。
ホームページ:https://developers.google.com/speed/public-dns/
**Cisco OpenDNS [#b6cd96a3]
ネットワーク機器世界最大手のCisco社が提供しているDNSサーバーです。ウイルスなどの危険サイトのドメイン名はIPアドレスに変換しないようにしているため、DNSのついでに危険サイトのブロックもできます。AdGuardも危険サイトの一部をブロックしてくれますが、Cisco OpenDNSはより充実したセキュリティが実現できるようです。また、ドメイン名のタイプミスなどを自動修正してくれる機能もあるようです。

**AdGuard DNS [#l6a9ab2b]
AdGuard社が提供しているDNSサーバーです。このDNSサーバーは、DNSのついでに広告等のブロックもできます。つまり、ユーザーのスマートフォンのAdGuardアプリではなく、DNSサーバーの側でDNSブロックをしてくれるということです。これにより、さらなる省電力化が期待できます。

このDNSサーバーを使う場合は、「DNSリクエストによるブロック」のオプションをオフにすることをおすすめします。なぜならば、DNSサーバーの側でDNSブロックをしてくれるので、わざわざユーザーのスマホで重ねてDNSブロックをする必要がないからです。

AdGuard DNSのデメリットとしては、DNSサーバーの側でブロックが行われるので、なんJ改修フィルターによる不具合修正ができないことが挙げられます。
ホームページ:https://adguard.com/ja/adguard-dns/overview.html
**AdGuard DNS Family Protection [#qfddb1bf]
AdGuard DNSの広告等ブロック機能に加えて、アダルトサイトのブロック機能が追加されています。

AdGuard DNSと同様に「DNSリクエストによるブロック」のオプションをオフにすることをおすすめします。また、なんJ改修フィルターによる不具合修正ができないデメリットも同様です。

アダルトサイトが嫌いな人や子供のスマホなどに利用するといいでしょう。

アダルトサイトが嫌いな人や子どものスマホなどに利用するといいでしょう。
**Alternate DNS [#n827869b]
広告ブロック機能を持つDNSサーバーです。
AdGuardとは別のデータベースを使用しているため、AdGuardのDNSフィルターに起因する不具合を回避できる場合がありますが、このDNSサーバーに起因する不具合が発生する可能性もあります。
ホームページ:https://alternate-dns.com/
**280blocker DNS [#d9d1fdee]
//&color(Red){2020年5月17日現在、[[''負荷増大に伴いDoH,DoTサーバーの公開停止が計画''>https://280blocker.net/blog/20200517/2263/]]されています。[[DoH,DoTサーバー>https://280blocker.net/blog/20190520/2056/]]を使用してる方は可能な限り他のサーバーに切り替えることをおすすめします。};


280blockerの作者(通称280さん)が提供しているDNSサーバーです。DNSのついでに広告ブロックもしてくれます。

このDNSサーバーは、280blockerのドメインリストのブロックを行うようです。使用を検討している方は、280さんのウェブサイトの説明も参照してください。
https://280blocker.net/blog/20181203/1329/
https://280blocker.net/blog/20190520/2056/

280さんは日本国内で長年広告ブロック活動をしているだけに、このDNSサーバーは国内の広告ブロックに最適化されているものと思われます。したがって、このDNSサーバーを利用すれば、AdGuard DNSの日本での不具合を気にすることなく広告ブロックができるものと思われます。

デメリットとしては、大企業ではなく280さん個人が運営しているものなので、何らかの障害((DNSサーバーがアフィカスによって違法な攻撃を受けた場合など。なお、過去に280さんのウェブサイトを攻撃しようとしたアフィカスがいます。))が発生した場合の対応が280さん次第になるということがあります。

なお、AdGuard DNSと同様に「DNSリクエストによるブロック」のオプションをオフにすることをおすすめします。

使用するには、自分で280blocker DNSを追加する必要があります。「カスタムサーバー」をタップして、DNSサーバー名に「280blocker DNS」、一次サーバーに「104.238.151.127」、二次サーバーに「139.180.138.221」を入力してください。
**1.1.1.1 [#b8dbfe88]

CloudflareがAPNICと提携して維持、運営を行っている無料のDNSサービスです。

2018年4月1日にリリースされた比較的新しいDNSで、プライバシーを優先した消費者向けのDNSサービスとしては、インターネット上最速であることを売りにしています。
1.1.1.1公式サイトの速度比較グラフでは、殆どの場合Google Public DNSを上回る結果を出しています。

このサービスはDNSキャッシュサーバーとして機能します。
DNS-over-HTTPSとDNS-over-TLSに対応しています。

(1) ホームページ
- 1.1.1.1:https://1.1.1.1/ja-JP/
- Cloudflare:https://www.cloudflare.com/ja-jp/

(2) DNSアドレス
- IPv4
優先サーバー:1.1.1.1
代替サーバー:1.0.0.1
- IPv6
優先サーバー:2606:4700:4700::1111
代替サーバー:2606:4700:4700::1001

(3) 家庭用無線LANルーター(Google Wi-Fi等)に1.1.1.1を導入する
- 長所
環境依存ですが、応答速度やセキュリティの向上が見込めます。
- 短所
製造メーカーによって設定手順に、かなりの差があります。
ルーターで不具合が起きた場合、その影響は接続されている全ての端末に及びます(Webに全く接続できなくなる等)。
ルーターを初期化して再起動させる方法を、必ず確認した上で設定を行って下さい。
**IIJ Public DNS [#h4c87300]
IIJが試験的に提供しているDNSサーバーです。
IIJ、IIJmioのユーザーでなくても利用できます。

ICSAが定める基準に則り、児童ポルノ対策のためのDNSブロッキングが実施されます。
アクセスに関わる(DNSリクエスト及びレスポンス)データ保存が行われます。
https://public.dns.iij.jp

**DNSサーバー選択のまとめ [#q2a4689a]
DNSサーバーごとに様々な特徴があります。''自分に合ったもの''を選びましょう。''よく分からなければデフォルト''で構いません。

----
#pcomment(,4,noname,reply)