今回は、DNSを設定して広告を非表示にする方法についてのお話です。
ウェブサイトを利用していると、様々なサイトで広告が表示されていますよね。
このブログでも、指定した場所に広告が表示されるような設定がされています。
しかし、配信される広告内容は広告配信業者側によってコントロールされており、中には不快な広告も混ざっているような状態です。
そういった広告はある程度サイト側でブロックしていますが、数が多く制限しきれないのが現状です…
そこで今回は、広告のダウンロードを防いでくれる【パブリックAdGuard DNS】の利用を例に、DNSを手動設定する方法についてご紹介します。
【AdGuard】DNSを設定して広告をブロックする方法 (Windows用)
DNS ブロックとは
DNSの簡単な説明
DNS(Domain Name System)とは、IPアドレスとドメイン名の対応を管理する仕組みのことを言います。
まず前提として、インターネット上のコンピュータ同士が通信を行う際は、 [160.251.71.23]といった「IPアドレス」で通信相手を特定しています。もちろん、ウェブサイトにもIPアドレスが存在しています。そのため、利用しているパソコンがウェブサイトとの通信を行うには、まずウェブサイトのIPアドレスを知る必要があります。
しかし皆さんは、普段ウェブサイトを利用する際、サイト側のIPアドレスをいちいち調べないですよね。人間がサイトごとにIPアドレスを覚えるのは不便ですから、普段は「pc-gamers.info」といった文字列からなるドメイン名を利用し、それをDNSにIPアドレスへと変換してもらっているのです。
簡単にまとめると、ドメイン名とIPアドレスを対応づける仕組みがDNS(Domain Name System)というわけです。
もっと詳細な情報を知りたい方は、『一般社団法人 日本ネットワークインフォメーションセンター(JPNIC)』によるDNS解説ページのリンクを載せておきますので、そちらをご参照ください!
DNS側で広告をブロックできる?
普段、意識せずとも利用しているDNSですが、実はDNSを提供しているプロパイダは沢山あります。
その中には、DNS側で広告をブロックしてくれるDNSサーバーも存在します。
広告配信に関するDNSリクエストをブロックすることで、広告のダウンロードを事前に防いでくれる仕組みのようです。
このようなDNSサーバーを利用することで、不快な広告を目にする機会が格段に少なくなります。
ただし、DNS側での広告ブロックは利点ばかりではありません。これから紹介するDNSブロックのメリット・デメリットを踏まえた上で、利用をご検討ください!
DNSブロックのメリット・デメリット
メリット1:端末側の負担が少ない
前述した「DNS側で広告をブロックできる?」の通り、ブロック処理を行ってくれるのはDNSサーバー側です。そのため、PCやスマートフォンへの負担は少ないようです。また、広告のダウンロードを事前に防いでくれるため、データ通信量も抑えられます。
メリット2:偽装トラッカー(CNAME クローキング)も防げる
近年、プライバシー保護の観点から、AppleやGoogleはサードパーティ製クッキーの利用に対する規制を強めています。一方で、その規制を回避するべく、偽装トラッカー(CNAME クローキング)を利用するサイトが増えているようです。
サードパーティ製クッキーへの制限は、ユーザーの特定ができてしまう技術に対する規制の一環ですから、抜け穴も含めて制限されたほうがユーザーにとっては安心ですよね。
CNAMEレコードを使用すると、外部のトラッキングサーバー(追跡元サーバー)を、ブラウザが信頼しているウェブサイトのサブドメインに偽装することができ、トラッキングクッキーは“ファーストパーティ”のものとしてブラウザに受け入れられてしまいます。
追跡主第三者は、ユーザーの名前や連絡先から、ユーザーのセッションを識別してWebサイトにログインし続けるための認証クッキーまで、あらゆる種類のデータを受け取ることができてしまいます。
AdGuard、偽装トラッカー見つけ出すためウェブをすみずみまでスキャンしました(CNAME追跡対策)
この「外部のトラッキングサーバー」自体をDNS側で弾いてくれるため、偽装トラッカーによる追跡を防ぐことができるようです。
メリット3:ブラウザ以外でも広告を弾いてくれる
ブラウザの拡張機能で広告ブロックを行っている場合、そのブロック機能が有効なのはブラウザのみに限られます。
しかしDNSブロックでは、ブラウザに限らず、他アプリケーション内の広告も含めて弾いてくれます。例えば、スマホ向けの「ニコニコ動画」や「マンガ系アプリ」では、広告が表示されなくなるようです。
※後ほどデメリットでも挙げますが、すべてのアプリで広告ブロックができる訳ではありません。具体的には、ブラウザ版の「Youtube」では広告が表示されなくなりましたが、同じDNSサーバーを経由してもスマホアプリ版の「Youtube」では広告が表示されました。
デメリット1:ブロックの融通が効かない
DNSブロック単体だと、同じドメインでホストされているファーストパーティ製の広告は、ブロックできないことが多いようです。
例えば下記掲載のバナーはAmazonのアフィリエイト広告が載っていますが、DNSブロックを有効にした状態でも相変わらず表示されっぱなしになっているかと思います。
この広告をDNSで防いでしまうと、Amazonそのものが利用できなくなってしまうため、あえてブロックしない設定になっているようです。
逆に、ブロックしてほしくないサイトまでブロックされてしまっているケースもあります。こういったサイトにアクセスするためには、有料版のアプリを利用してブロックするサイトを細かく調整するか、DNS設定を一時的にデフォルトへ戻す必要があります。
また、DNSで広告のダウンロードを防げても、サイト上の広告枠までは消してくれません。レイアウトまで含めてスッキリさせたい場合には、ブラウザの広告ブロック拡張機能と併用することをおすすめします。
デメリット2:通信速度が遅くなる場合がある
DNSサーバーの応答速度や安定性は、契約しているインターネットサービスプロバイダーや物理的な距離に依存している部分があるため、場合によっては「ページの表示が遅くなった」と感じるケースがあるようです。そういった場合には、他のDNSサーバーに切り替えるか、一旦デフォルトに戻して様子を見ましょう。
余談ですが、今回紹介する【パブリックAdGuard DNS】は、日本国内にもDNSサーバーが設置されています。
デメリット3:切り替えがめんどくさい
DNSブロックを利用中、サイトへのアクセスに不具合が生じた場合、DNSの設定を一時的に戻す必要があります。いちいちPCのネットワーク設定を開いて、DNSを設定し直すのは結構めんどうです。
その作業が多少はマシになる、DNS切替用バッチについても後ほどご紹介しますので、是非ご活用ください!
DNSの設定方法
Windowsの[ネットワークとインターネット]から設定する
【Windows 11】を利用している場合、Windowsの[ネットワークとインターネット]からDNSを設定できます。
まずは[Windows & I]キーを同時に押して、Windowsの設定画面を開きましょう。
左側の[ネットワークとインターネット]を開き、有線接続の場合は[イーサネット]を、Wi-Fi接続の場合は[Wi-Fi]の中にある[Wi-Fi名 プロパティ]を選びます。
[DNSサーバの割り当て]の[編集]を押し、[DNS設定の編集]を[手動]に変更のうえ、IPv4/IPv6の優先DNS/代替DNSにそれぞれ下記のIPアドレスを入力すれば完了です!
なおDNSサーバーのIPアドレスは、下記の公式サイトにも掲載されています。
今後、IPアドレスが変更になる場合もございますので、その際は公式サイトをご確認ください。
コントロールパネルから設定する
コントロールパネルの[ネットワークとインターネット]を開き、[ネットワークと共有センター]を選択します。その後、[接続]に表示されているネットワーク情報をクリックし、[プロパティ]を開きましょう。
[インターネット プロトコル バージョン 4 (TCP/IPv4)]と[インターネット プロトコル バージョン 6 (TCP/IPv6)]それぞれの[プロパティ]を開き、優先DNS/代替DNSを変更すれば設定完了です!
DNS切替用バッチを作成する
DNSブロックを利用中、サイトへのアクセスに不具合が生じた場合、DNSの設定を一時的に戻す必要があります。
前述した設定項目から元に戻すのもいいのですが、地味に手間が掛かりますよね。
その手間を軽減できる、DNS設定を切り替えるためのバッチファイルについてもご紹介します!
手順①:[メモ帳]アプリを立ち上げ、その中に下記のコードをコピペする。
@echo off
chcp 65001
echo 1:"自動"
echo 2:"広告やトラッカーをブロック"
echo.
choice /C:12 /M:"設定する番号を選択してください"
echo.
set NAME=イーサネット
if %ERRORLEVEL% equ 1 (
netsh interface ipv4 set address "%NAME%" dhcp
netsh interface ipv4 set dns "%NAME%" dhcp
netsh interface ipv6 set dns "%NAME%" dhcp
echo 自動に変更しました!
) else if %ERRORLEVEL% equ 2 (
netsh interface ipv4 set address "%NAME%" dhcp
netsh interface ipv4 set dns "%NAME%" static 94.140.14.14 primary validate=no
netsh interface ipv4 add dns "%NAME%" 94.140.15.15 validate=no
netsh interface ipv6 set dns "%NAME%" static 2a10:50c0::ad1:ff primary validate=no
netsh interface ipv6 add dns "%NAME%" 2a10:50c0::ad2:ff validate=no
echo 広告やトラッカーをブロックしました!
)
ipconfig /flushdns
pause
手順②:10行目の[set NAME=]を、ご自身のネットワーク環境に合わせて変更する。
[set NAME=]には、コントロールパネルの[ネットワーク接続]に表示されているイーサネット名を指定しましょう。
ここがローカルエリア接続になっている場合は[set NAME=ローカルエリア接続]に、Wi-Fiになっている場合は[set NAME=Wi-Fi]に変更します。
手順③:[名前をつけて保存]を開き、拡張子を.batにして保存する。
最後に[名前をつけて保存]を開き、[DNS設定変更.bat]といったように拡張子を.bat形式で保存すれば完成です。
DNS切替用バッチの使い方
DNS切替用バッチを利用する際は、[管理者として実行]でバッチを起動します。
コマンドプロンプト(Windows 11では”ターミナル”)が立ち上がるので、その後、設定する番号を選びましょう。今回ご紹介した内容では、1がデフォルトの自動設定・2がパブリックAdGuard DNSの設定になっています。
もし、他のDNSも追加したい場合には、選択肢3以降を追記してみてください!
最後に
今回は、DNSを設定して広告を非表示にする方法についてご紹介しました。
冒頭でも述べた通り、配信される広告内容は広告配信業者側によってコントロールされており、中には不快な広告も混ざっているような状態です。
見たくもない広告をわざわざ見る必要はなく、「見てもいいよ/気にしないよ」といったユーザーにのみ表示されるのが正直ベストだと思います。
近頃は、適切な広告配信がなされているとは言い難い状態ですから、是非必要に応じて自衛なさってください。
それでは!
コメント