VPSにAdguard Homeをインストールして、広告ブロックできるDNSサーバを作る話です。
DHCPサーバ設定でこのDNSサーバを指定すれば、ネットに繋ぐだけで自動的にドメインベースで広告ブロックされます、動作も高速なため、非常に快適です。(cosmetic filterは使えないのでブラウザには別途広告ブロックを設定したほうが良いです。)
ただ公開DNSサーバはセキュリティの問題が大きいので、玄人さんに協力してもらう必要がありそうです。私自身これを書くのに1ヶ月間お勉強しましたが、まだ不完全と思っています。
インストール方法
下記を参考にしてください。
VPS · AdguardTeam/AdGuardHome Wiki · GitHub
https://qiita.com/huru555/items/b9fe790c0ea49e48993e
セキュリティについて
意図しない公開DNSサーバ(オープンリゾルバ)は推奨されていません。オープンリゾルバはDDoS攻撃の踏み台として利用されてしまうリスクがあるので注意が必要です。私を含め一般ユーザが公開DNSサーバを立てるのはやめておいた方が良いと思います。
下記のサーバですが、ipsetとiptablesを利用し携帯電話ネットワーク以外からはアクセス出来ないようにしています。さらにhashlimitやtcで速度制限をかけています。その他基本的なセキュリティの設定をしたつもりです。
これらの勉強、設定に多くの時間がかかりました。踏み台になる可能性は低いと思いますがこれでも対策は不十分と考えていますので、下記サーバは突然非公開にするかもしれません。
試験的にサーバ公開してみます。
#2020年12月にサーバー停止しました。利用者も減ったのと維持作業が大変だったためです。
携帯電話ネットワークからのみアクセス可能です。ip範囲がわかっているdocomo, softbank, au, uq, ymobile, mineo, iijmioを許可しています。それ以外のMVNOは非対応です。
想定しているのは、モバイルルータのDNSに設定する事です。
スマホにこのDNSを設定した場合、モバイル回線では動作しますが、スマホをwifi接続すると名前解決できなくなります。
DNSを指定できるモバイルルータについて
Speed Wi-Fi NEXT W04/W05, FS030W, 303ZT/304ZT/305ZTなどがDNSサーバを指定できます。
おすすめモバイル通信
上記のルータのどれかにsofbank法人回線の再販業者(fuji wifiやw/wifiのデータsim)を入れるのがおすすめです。MNO回線ですので高速ですし、50-100GB/月が約3000円/月で利用できます。
unboundによる広告ブロックDNSサーバ
理想は、アクセスを日本国内IPからに限定した、unboundなどを使用した高性能な公開DNSサーバー(280blocker-domainで広告ブロック)と考えています。ただ現在の私の技術力では、パフォーマンスが良く、セキュリティに十分な配慮したDNSサーバを公開するのは難しそうです。
DNSブロッキングで無駄な広告表示を減らそう – Speaker Deck
とも ちゃ日記(Tomo cha) – 元大学生のOL日記-
家庭内 DNS リゾルバで広告をブロックする | Unknown Unko