Pi-holeのメモ
目次
はじめに
Pi-holeは簡単に言うと、広告ブロック機能付きのDNSを提供するツールです。
広告を配信するドメインをフィルタリングすることで、広告をブロックします。
Pi-holeをPC、スマホのDNSサーバに設定することでブラウザのプラグイン等なしで広告をブロックできます。
また、DNSクエリーやブロックした割合等の統計情報をダッシュボードで確認することもできます。
Pi-hole
Pi-holeのGitHubにソースコードとインストール方法が公開されています。
今回は、ホストに直接インストールするのではなくコンテナを利用するためこちらを参考にします。
Dockerが入っていない場合は、Dockerインストールを参照ください。
私は、nerdctl・Containerdを利用しています。
コンテナを起動するために下記のdocker-compose.ymlを作成します。
volumesにあるように、/opt/pihole/etc-pihole
と/opt/pihole/etc-dnsmasq.d
をバインドしているので、予め作成します。
私の環境では53番ポートをバインドすることができなかったため、5300番ポートでバインドしています。
ただ、これでは不便なのでiptablesのポートフォーワードを利用して、5300番→53番の経路でDNSを利用しています。
mkdir /opt/pihole/etc-pihole
mkdir /opt/pihole/etc-dnsmasq.d
version: "3"
services:
pihole:
image: pihole/pihole:latest
ports:
- "5300:53/tcp"
- "5300:53/udp"
- "80:80/tcp"
environment:
TZ: 'Asia/Tokyo'
WEBPASSWORD: 'pihole'
volumes:
- type: bind
source: /opt/pihole/etc-pihole
target: /etc/pihole
- type: bind
source: /opt/pihole/etc-dnsmasq.d
target: /etc/dnsmasq.d
piholeコンテナの起動は下記のとおりです
nerdctl compose up