Pi-holeは、ネットワークレベルで広告をブロックするDNSシンクホールです。 広告を配信しているドメインへのアクセス時に、意図的にDNSでの名前解決を失敗させることで、Pi-hileをDNSとして利用しているネットワーク全体で広告をブロックすることが可能です。
このページでは、Pi-holeをSynology NAS DS224+上で実行する方法を紹介します。
前提
- Dockerコンテナ上で実行します
- Macvlanモードでコンテナを作成します
- SynologyにContainer Managerは導入済み
はじめに
まず、Synology NAS上に下記のフォルダを作成します。File Stationを利用して作成してください。
- /docker/projects/pihole-compose
- /docker/pihole
- /docker/pihole/dnsmasq.d
- /docker/pihole/pihole
プロジェクトの作成
DSM上でContainer Managerを起動し、「プロジェクト」タブをクリックし「作成」ボタンを押します。
作成ウィンドウが現れたら下記の値を入れます。
- プロジェクト名:pihole-pj(任意)
- パス:/docker/projects/pihole-compose
- ソース:docker-compose.ymlを作成

docker-compose.ymlは下記を指定します。
|
|
- 11行目のパスワードはPi-holeの設定画面にログインするときに必要になります。
- 15,21行目は、Pi-holeコンテナに割り振るIPアドレスを指定します。同じ値を入力してください。
ウェブポータルの設定
ここは何もチェックを入れないでOKです。

最後に確認画面が出るので、確認して完了してください。 最初はイメージのダウンロードが実行されるので多少時間がかかります。
Pi-holeへの接続
コンテナが起動したら、http//192.168.1.XX:8000/admin/login.php
にアクセスしてみましょう。
(192.168.1.XXXは、docker-composeで指定したIPアドレスです。)
アクセスできたらPi-holeの実行は完了です。
最後に
Pi-holeコンテナの起動まで出来たら、あとは各端末が利用するDNSサーバーをPi-holeのIPアドレスに変更してください。 または、ルーターのDHCP側で利用するDNSサーバーを変えられる場合は、DHCP側で設定を変更したほうが簡単かもしれません。
Pi-holeのトップ画面で、どの程度広告がブロックされたかを見ることができるかと思います。