Ubuntu 26.04 で PowerDNS Authoritative Server を使うと、権威 DNS サーバーを構築できます。
この記事では MySQL backend を使う前提で、パッケージ導入、データベース準備、pdns.conf、API/Web UI、サービス確認までを整理します。
PowerDNS の役割
- 権威 DNS サーバーとしてゾーンを提供する
- MySQL backend にゾーン情報を保存する
- DNSSEC を扱う
- API や Web UI で状態を確認する
インストールする
sudo apt update
sudo apt install -y pdns-server pdns-backend-mysql pdns-toolsデータベースを準備する
MySQL backend を使う場合は、MariaDB 側に PowerDNS 用のデータベースとユーザーを用意し、PowerDNS の schema を投入します。認証情報は設定ファイルに残るため、ファイル権限を絞ります。
sudo mariadb
# pdns 用のデータベース、ユーザー、権限を準備します。
# その後、schema.mysql.sql を対象データベースへ投入します。設定ファイルの例
launch=gmysql
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=CHANGE_ME
gmysql-dnssec=yes
local-address=127.0.0.1,::1,192.0.2.10,2001:db8::10
api=yes
api-key=CHANGE_ME
webserver=yes
webserver-address=0.0.0.0
webserver-port=8081
webserver-allow-from=127.0.0.1,192.0.2.0/24権限とサービスを確認する
sudo chown root:pdns /etc/powerdns/pdns.conf
sudo chmod 640 /etc/powerdns/pdns.conf
sudo systemctl enable --now pdns
systemctl status pdns --no-pager動作確認する
pdnsutil list-zones
dig @127.0.0.1 SOA example.local
journalctl -u pdns --since "1 hour ago" --no-pagerまとめ
PowerDNS は DNS、MariaDB、API 認証、DNSSEC が絡むため、設定ファイルの権限と backend の接続確認を丁寧に見ることが重要です。
Ubuntu 26.04 PowerDNS の基本設定

