Unboundをソースコードからビルドして広告ブロックを導入する<!-- --> | <!-- -->zyun's web
zyun's web

Unboundをソースコードからビルドして広告ブロックを導入する

/

概要

Unboundをソースコードからビルドして、広告ブロックを設定するまでの流れです。

環境

  • Ubuntu 20.04 LTS
  • Unbound 1.15.0

手順

ビルドは公式のドキュメントに従い実施します。ドキュメントに記載のビルドに必要なパッケージだといくつか足りないものが有ったので、追加しています。

# 必要なパッケージのダウンロード
sudo apt install build-essential libssl-dev libexpat1-dev bison \
 flex libsystemd-dev libudev-dev libreadline-dev pkg-config libevent-dev

# ソースコードの取得
wget https://nlnetlabs.nl/downloads/unbound/unbound-1.15.0.tar.gz
tar xzf unbound-1.15.0.tar.gz
cd unbound-1.15.0/

# ビルド
./configure --enable-systemd --with-libevent
make
sudo make install

# ユーザーの追加
sudo groupadd unbound
sudo useradd -g unbound -d /usr/local/etc/unbound -s /bin/false unbound

# systemdの設定
sudo cp contrib/unbound.service /usr/lib/systemd/system
# ProtectProc行は削除する

# systemd-resolvedを無効化。ローカルアドレスでリッスンできないので。
systemctl stop systemd-resolved
systemctl disable systemd-resolved
rm /etc/resolv.conf

# ローカルで実行するUnboundを指定する
cat <<EOF > /etc/resolv.conf
nameserver 127.0.0.1
search example.com
options trust-ad
EOF

# Unboundの設定
cat <<EOF > /usr/local/etc/unbound/unbound.conf
server:
        verbosity: 1
        interface: 0.0.0.0
        interface: ::

        access-control: 0.0.0.0/0 refuse
        access-control: 127.0.0.0/8 allow
        access-control: 192.168.0.0/16 allow

        module-config: "respip validator iterator"

rpz:
    name: "rpz.txt"
    url: https://block.energized.pro/bluGo/formats/rpz.txt
EOF

sudo systemctl enable unbound
sudo systemctl start unbound

参考にした記事