地方在住IT系ニート

bkds

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
にほんブログ村 IT技術ブログ IT技術メモへPVアクセスランキング にほんブログ村