PowerDNS 権威サーバ with Recursor in Ubuntu - ぶやかー

検証でつかうのに、権威サーバとリゾルバ別にするとしんどいので一緒にしちゃう。

PowerDNS Base

sudo apt-get install -y pdns-server pdns-recursor pdns-tools pdns-backend-bind pdns-backend-sqlite3 sqlite3 libsqlite3-dev
sudo vi /etc/powerdns/recursor.conf
local-port=53

forward-zones=mydomain.local=127.0.0.1:50053
sudo vi /etc/powerdns/pdns.conf
local-port=50053

log-dns-details=yes
log-dns-queries=yes
log-timestamp=yes
logging-facility=0

sudo systemctl disable --now systemd-resolved
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
sudo systemctl restart pdns pdns-recursor 

MySQL

cat << EOF | sudo tee /etc/powerdns/pdns.d/pdns.local.gmysql.conf
# MySQL Configuration
#
# Launch gmysql backend
launch+=gmysql
# gmysql parameters
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=pdns
gmysql-dnssec=yes
# gmysql-socket=
EOF
sudo apt install -y  mariadb-server mariadb-client pdns-backend-mysql libmysqlclient-dev

sudo mysql -e "create database pdns;"
sudo mysql -e "grant all privileges on pdns.* TO 'pdns'@'localhost' identified by 'pdns';
flush privileges;
"

sudo mysql -D pdns < /usr/share/pdns-backend-mysql/schema/schema.mysql.sql
sudo mysql -e "show databases;"
sudo mysql -D pdns -e "show tables;"

test

sudo systemctl restart pdns
sudo pdns_server --daemon=no --guardian=no --loglevel=9

Start PDNS

sudo systemctl restart pdns pdns-recursor
sudo ss -alnp4 | grep pdns

Test Zone

sudo pdnsutil create-zone mydomain.local ns1.mydomain.local
sudo pdnsutil clear-zone mydomain.local
sudo pdnsutil add-record mydomain.local . SOA 'ns1.mydomain.local. hostmaster.mydomain.local. 1 10800 3600 604800 3600'
sudo pdnsutil add-record mydomain.local '' MX '25 mail.mydomain.local'
sudo pdnsutil add-record mydomain.local. www A 192.0.2.1
sudo pdnsutil add-record mydomain.local. bbb A 192.0.2.1
sudo pdnsutil add-record mydomain.local. ccc A 192.0.2.2

この記事を書いた人 Wrote this article

kmatsunuma

TOP