という話題をTwitterで呟いていたところ、素敵なコンテナイメージがあったのでMacで早速テスト。
% docker pull oznu/dns-ad-blocker:aarch64
% docker run -d -p 8053:53/tcp -p 8053:53/udp -e NS1=106.187.2.33 -e NS2=106.187.2.41 oznu/dns-ad-blocker:aarch64
% dig @localhost -p 8053 yahoo.co.jp
<<snip>>
;; QUESTION SECTION:
;yahoo.co.jp. IN A
;; ANSWER SECTION:
yahoo.co.jp. 24 IN A 182.22.25.124
yahoo.co.jp. 24 IN A 182.22.31.252
<<snip>>
% dig @localhost -p 8053 000free.us
<<snip>>
;; QUESTION SECTION:
;000free.us. IN A
<<snip>>
おお、yahooは引けるけど、000free.usは引けない。
これをLAN内に立てて、DHCPサーバでDNSを配布する際にこのネームサーバを指定すれば、LAN内の端末は広告ブロックできるようになりますわ。ナイス過ぎる…。
追記:Pi-holeの方がメジャーという指摘をもらったので見てみたら、確かにこっちの方が機能が豊富で便利かも。