Panduan singkat untuk konfigurasi DNS resolver di PowerDNS dengan PDNS Recursor. DNS resolver ini memungkinkan server DNS Anda dapat memforward query DNS ke tujuan public DNS google (8.8.8.8) atau public DNS lain sehingga menjadikan PC/Device dapat terhubung ke internet dan dapat dimanfaatkan untuk membuat private DNS pada lingkungan development.
Install #
Install PDNS Recursor
yum -y install pdns-recursorScenario 1: Authoritative Server as Recursor with private zones #
Edit /etc/pdns/pdns.conf sesuaikan seperti berikut.
local-address=127.0.0.1
local-port=5300
loglevel=10
log-dns-queries=yesEdit /etc/pdns-recursor/recursor.conf sesuaikan seperti berikut.
local-address=0.0.0.0
local-port=53
trace=on
forward-zones=example.com=127.0.0.1:5300Ganti domain pada forward-zones dengan private zone Anda
Apabila ingin menambahkan beberapa domain, uncomment forward-zones-file pada recursor.conf
forward-zones-file=/etc/pdns-recursor/list.txtBuat dan edit file /etc/pdns-recursor/list.txt seperti berikut
puteran.local=127.0.0.1:5300
muterin.local=127.0.0.1:5300Restart service pdns dan pdns recursor
systemctl restart pdns pdns-recursorTest dengan perintah dig.
dig +short example.com @IP-pdnsScenario 2: Authoritative Server as Recursor for clients and serving public domains #
Edit /etc/pdns/pdns.conf sesuaikan seperti berikut.
local-address=127.0.0.1
local-port=5300
loglevel=10
log-dns-queries=yesEdit /etc/pdns-recursor/recursor.conf sesuaikan seperti berikut.
local-address=127.0.0.1
local-port=5301
trace=onInstall dnsdist.
dnf install epel-release &&
curl -o /etc/yum.repos.d/powerdns-dnsdist-18.repo https://repo.powerdns.com/repo-files/el-dnsdist-18.repo &&
dnf install dnsdistSelanjutnya tambahkan server DNS dan buat rule dengan NetmaskGroupRule.
cp -p /etc/dnsdist/dnsdist.conf /etc/dnsdist/dnsdist.conf.orisetLocal('0.0.0.0:53')
addLocal('0::0:64')
setACL({'0.0.0.0/0', '::/0'}) -- Allow all IPs access
newServer({address='127.0.0.1:5300', pool='auth'})
newServer({address='127.0.0.1:5300', pool='reverse'})
newServer({address='127.0.0.1:5301', pool='recursor'})
newServer({address='127.0.0.1:5302', pool='blackhole'})
recursive_ips = newNMG()
recursive_ips:addMask('192.168.11.23')
recursive_ips:addMask('<my IPv6 network>')
addAction({"typeform.com."}, PoolAction("blackhole"))
addAction(NetmaskGroupRule(recursive_ips), PoolAction('recursor'))
addAction(AllRule(), PoolAction('auth'))Konfigurasi tersebut akan membuat IP 192.168.11.23 akan diarahkan ke Recursor sedangkan IP lain akan diarahkan ke Authoritative Server. Untuk typeform.com. merupakan contoh
abuse domain yang dapat Anda ubah.
Jalankan dnsdist.
dnsdist -C /etc/dnsdist/dnsdist.confTerakhir test dengan perintah dig.
dig +short example.com @IP-pdns