Setting Up PowerDNS Authoritative Server
PowerDNS is a high-performance, open-source DNS server that supports multiple backends including MySQL, PostgreSQL, and BIND zone files. It is ideal for hosting authoritative DNS on your Breeze.
Installation
Install PowerDNS and the MySQL backend on your server:
sudo apt update
sudo apt install pdns-server pdns-backend-mysql
Database Setup
Create the PowerDNS database and import the schema:
mysql -u root -p -e "CREATE DATABASE powerdns;"
mysql -u root -p -e "GRANT ALL ON powerdns.* TO 'pdns'@'localhost' IDENTIFIED BY 'your_secure_password';"
mysql -u root -p powerdns < /usr/share/doc/pdns-backend-mysql/schema.mysql.sql
Configure the Backend
Edit /etc/powerdns/pdns.conf to use the MySQL backend:
launch=gmysql
gmysql-host=127.0.0.1
gmysql-dbname=powerdns
gmysql-user=pdns
gmysql-password=your_secure_password
Adding a Zone
Use the pdnsutil command to create and populate zones:
pdnsutil create-zone example.com
pdnsutil add-record example.com @ A 3600 203.0.113.10
pdnsutil add-record example.com www A 3600 203.0.113.10
pdnsutil add-record example.com @ MX 3600 "10 mail.example.com"
Start and Verify
sudo systemctl enable --now pdns
dig @127.0.0.1 example.com A
PowerDNS provides a robust REST API for programmatic zone management, making it an excellent choice for automated DNS infrastructure on your Breeze.