❎
自宅ネットワークに広告ブロック機能を導入したくて試行錯誤中
先に結論
自宅サーバーのProxmox上にAdGuard Home用のLXCコンテナを2つ立ち上げてDNSサーバーを並列化し、同期用ツールとしてadguardhome-syncをProxmox上にDockerコンテナとして立ち上げてDNSサーバーを同期させる構成に落ち着きました。
やりたいこと
- 自宅ネットワークにDNSベースの広告ブロック機能を導入したい
- ローカルDNSサーバーを立てることになるので、自宅ネットワーク用のDNSとしても使いたい
変遷
- 有名どころでPi-holeを自宅ProxmoxのLXCコンテナ上に導入してみた
- 自宅ルーターのDHCPサーバー設定を変更した(DNSのプライマリをPi-hole、セカンダリをCloudflareのパブリックDNSサーバー1.1.1.1に設定)
- ローカルの名前解決に失敗したり、広告ブロックが効いてないことがある
- DNS設定のプライマリとセカンダリは主従関係(プライマリがNGだったらセカンダリを使う)ではなく並列(複数あるからどっち使ってもいいよ)らしい、ということがわかった
- Pi-holeを並列化するのがよさそうだ
- Pi-hole単体では並列化したサーバー間の設定同期はできなくてサードパーティ製の同期ツールを使う必要があるけど、一番有名なgravity-syncはDockerコンテナでの起動をサポートしておらず使い勝手が悪そう
- サードパーティ製だけどDockerコンテナで起動できる同期ツールがあるAdGuardHomeを試してみる
- 想定どおりに動いてるので、自宅Proxmox上にLXCコンテナを2つ作って並列化して同期ツールはDockerホスト上で実行 ← いまここ
課題
- 並列化したAdGuard Homeがいずれも同じ物理サーバー上で動いてる。並列化とは……
- なので、物理サーバーとして使ってるNUCが落ちると家族全員がインターネット使えなくなってしまう(致命的)
広告が出なくなったのは快適ですが、課題のほうが致命的すぎてこのままでは常用できない…… #逸般の誤家庭の皆さんはどうやって解決しておられるのでしょう……
ちなみにこれは思わぬ副産物でしたが、Pi-holeでは大変だったワイルドカードDNSの設定がAdGuard HomeではGUIで簡単に設定できるのはうれしいところです。
Discussion