Skip to main content
  1. Posts/

Configure Forwarders in PowerDNS

·2 mins·
pdns pdns
Table of Contents

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-recursor

Scenario 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=yes

Edit /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:5300

Ganti 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.txt

Buat dan edit file /etc/pdns-recursor/list.txt seperti berikut

puteran.local=127.0.0.1:5300
muterin.local=127.0.0.1:5300

Restart service pdns dan pdns recursor

systemctl restart pdns pdns-recursor

Test dengan perintah dig.

dig +short example.com @IP-pdns

Scenario 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=yes

Edit /etc/pdns-recursor/recursor.conf sesuaikan seperti berikut.

local-address=127.0.0.1
local-port=5301
trace=on

Install 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 dnsdist

Selanjutnya tambahkan server DNS dan buat rule dengan NetmaskGroupRule.

cp -p /etc/dnsdist/dnsdist.conf /etc/dnsdist/dnsdist.conf.ori
setLocal('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.conf

Terakhir test dengan perintah dig.

dig +short example.com @IP-pdns

Related

Install PowerDNS and PowerAdmin
·6 mins
pdns pdns
Kubernetes External DNS with PowerDNS
·2 mins
kubernetes pdns kubernetes
Install MinIO di Docker
·2 mins
minio docker minio
HTTP Benchmarking dengan wrk
·1 min
linux linux
Unable to Extend C Volume in Windows VM
·1 min
windows windows
Error PHP - move_uploaded_file() Unable to move file from tmp to dir
·1 min
php php