最近、様々な広告の表示のさせ方がやばい
最近はニュースサイトなどネットサーフィンしていると広告が表示され、えげつないものになるとスマートフォンの画面半分以上が埋め尽くされるものも珍しくありません。無料で運営している場合やサービス提供といった面である程度仕方ない気がしなくもないですが、意図せず巧妙にクリックorタップさせる仕組みや誤操作を誘引させる広告にアクセスさせるやり口はどうも気になります。
こういったものは悪意あるサイト上ではフィッシング詐欺やマルウェア被害となることもありますね。スマートフォンだと、データ通信料を削減したくても広告の通信だけでかなり浪費しているのではないかと。
私の環境ではこういった広告をブロックするため、PCやスマートフォンにVPNクライアントやブロックしてくれる拡張機能をインストールしていますが、接続台数に制限があり、ライセンスの追加等懸念しているところです。いっそのことデバイスごとに設定が不要になれたらなとも。
あれこれ探していたらPi-holeなるものがあったのですが、私はUbuntu ServerにAdGuard Homeをインストールして試してみることにしました。無料で利用でき、検索エンジンのセーフサーチ含むアダルトコンテンツやYouTubeなど各種ストリーミングサイト、各種ゲームプラットフォームなどをブロックすることもできます。もちろんスケジュール機能付きで。子供がいる家庭でも重宝しそうですが、この辺は民生品のルーターなどでも同機能が提供されているものもありますね。
AdGuard Homeをインストール
いたって簡単。ベアメタルを用意してもいいのですが、実運用に耐えるかはわからなかったので、私はハイパーバイザー上にUbuntu Serverを展開し、AdGuard Homeを導入しました。これはフィルタリング機能を持たせたDNSサーバです。正確にはフィルタにマッチしなかったクリーンなリクエストをアップストリームサーバに受け渡す、DNSフォワーダーですかね。
sudo snap install adguard-home
公式のGitHubでは、Curlを用いたインストール方法が示されていますが、私は手っ取り早く上記の方法で導入。詳細は画像載せようと思ったのですが、簡単だったので要望があった時に検討することにします。いや、どっちかというと公式に載っているのCurlの方が簡単ですね。お好みでどうぞ。
インストール終了したら、http://(サーバーのIPアドレス):3000 にアクセスし、セットアップを行います。ブラウザアクセス用のポート(標準では80番)やDNS問い合わせのポート(53番)を設定。たぶん、初期状態のUbuntu Serverでは53番は競合してて、53番のまま使用したい場合はサーバー側で設定が必要になりますが、これも割愛。
セットアップが完了したら、http://(サーバーのIPアドレス):(設定したアクセス用のポート)にアクセス。
少ししか運用していませんが、使えそうです。行った設定は以下。
- アクセス設定でAdGurad Homeに参照できるネットワークを指定
- DNSブロックリストに豆腐フィルタを指定
※アクセスしたURLがリストにあるルールにマッチするか走査するため、ブロックリストを追加しすぎると、おそらくネットサーフィンのレスポンスが悪くなっていくと思う。


こんな感じで削除してくれます。Ubuntu ServerのFWにブラウザアクセスポートとDNSポートのallowをお忘れなく。
現在ではなぜかDeepLの何かをブロックしてくれています。拡張機能を入れているからかと思いますが、DeepLよ、お前何しているんだ…。
運用していての体感としては、たまに画面遷移までのもっさり間があります。キャッシュがたまればある程度解決することと、VMに割り当てたリソースが最低限(しかもHDD)というところもあるかも。
最後に
チューニングのさせ方次第ではありますが、LAN内全部の通信をAdGurard Homeを通すのは、少し様子見しようと思います。アクセスの際にブロックリストを走査するため、少なからず遅延が発生するため、オンラインゲームなどで影響があるかも。
まぁ、デバイスのDNS設定でAdGuard Homeに向けるか、バイパスするかは自由だし、なんならVLAN毎に運用を変更してもいいし、やり方はいくらでもありそうです。
ちなみにVPNを利用すればスマートフォンなど、外出先からでもAdGuard Homeを通し、広告ブロックが可能になります。さてさて、デバイス事にインストールしているアプリなどを置き換えられるようになるかどうか。なればサブスクリプション料の削減ができそうです。
追記
AdGuard Homeに似た広告ブロックツールにNextDNSなるものがあります。

AdGuard Homeはサーバーにインストールするアプリケーションに対し、NextDNSはDNS+広告ブロックなどの機能を提供してくれるサービスです。AdGuard Homeよりも優れている点はAIを利用した驚異の検知機能をはじめとしたセキュリティ機能が豊富。有名サイトやサービスおよびアプリのほか、アダルトサイトなどの有害サイトブロッキングがトグルにより簡単にブロッキングできるところ。スケジュール運用もできるため、ファミリー向けにはお勧めできそうです。月に300,000クエリまで無料。超えた場合は、ただのDNSと化すが、制限クエリ数はだいぶガバガバとかどっかで見た。月250円、年間2500円のサブスクリプションで無制限のクエリ。お手頃・高性能に広告ブロックおよびブロッキング機能をファミリーを包括的にカバーできるのでサブスクリプションする価値はあるかも。デメリットは、豆腐フィルタなどのカスタムリストを自由に追加できないこと。ある程度のメジャーリスト(AdGuardのリスト含む)は内部的に用意されているようだが、豆腐フィルタと比べてどう有用かわからん。
AdGuard Homeもスケジュール運用や有名・有害サイトのブロッキングできますが、ややNextDNSに比べ見劣りはするものの有名どころはカバーできています。ネックはベアメタルにせよ、VMにせよサーバーが必要になる点ですね。
NextDNSに似たサービスがAdGuardにもありますが、後者はぱっと見広告ブロック機能に重きを置いている感じがしました。こちらは月360円、年間2900円です。

ぶっちゃけ速度はどちらが早いかはわからないですが、それを求めるならパブリックDNSにしておいたほうが無難です。NextDNSについては、そのうち記事にするかも。
ちなみ私はAdGuard HomeのアップストリームにNextDNSを指定して少し運用してみましたが、二重フィルタリングは時に応答速度を遅くしてしまいそうな点と1日のクエリが3万を超えていて、無料枠がすぐ頭打ちしそうだったのでNextDNSは外しました。AdGuard Homeのみの場合は1日3万クエリいかないんだけど、何が違うんでしょうかねぇ。


コメント