BINDのカスタマイズ
目次
AdGuardHomeの代替
家の中では、内向きDNSにAdGuard Homeを使っていた。
ただ最近動作がもっさりしてきたり、そもそも思った通りの動作にならなかったりしていた。
そこで、動作原理は知っていたので、同じことがBindでもできないかなと調べていたら、見つけた。
早速、自分の家用に構築してみる。
構築
仕組みを見てみると、有志が作っている広告サイトの一覧をゾーン定義ファイルやiptablesのルールとして提供している。
それをBindやiptablesに適用して、広告サイトのIPアドレスを0.0.0.0で返答させたり、パケットをREJECTさせたりする。
よく考えられてる。
さて、準備をしていく。前提としてDebianのBind 9に適用していく。
まずゾーン定義ファイルをインクルードするところを。
下記ファイルの最終行にこれを追記。
/etc/bind/named.conf.local
//for ad-block list |
次に広告サイトのIPを0.0.0.0で返すゾーンファイルを作る。
これを全ての広告サイトのゾーンファイルとすることになる。
NSレコードは適宜変更する必要がある。
/etc/bind/null.zone.file
86400 ;one day |
さてここからが本番。
ゾーン定義ファイルをダウンロードするスクリプトを作成する。
こちらはGoogle Analyticsを使っているので、そこは除外することにする。
update_adserver_list_for_bind9.sh
|
これを実行してみる。
$ sudo update_adserver_list_for_bind9.sh |
早速結果を確認する。
$ dig +short valuecommerce.com |
うまくいっているようだ。