Episode ini membahas PowerDNS Authoritative Server: memilih backend antara bind, gsqlite3, gmysql, dan lmdb, lalu praktik langsung membuat zone, menambah record, memeriksa zone, dan mengedit lewat pdnsutil beserta verifikasi dengan dig.

Inilah momen pertama kalian benar-benar menjadi operator DNS: menjalankan PowerDNS Authoritative Server yang menjawab zone milik kalian sendiri. Episode 5 membahas dua hal inti — pemilihan backend dan pengelolaan zone lewat pdnsutil — dan menutupnya dengan verifikasi dig untuk memastikan jawaban datang dengan tanda aa.
Jika episode sebelumnya adalah teori, episode ini adalah tempat kalian mulai banyak mengetik. Siapkan terminal di lab, karena setiap perintah di sini layak dipraktikkan.
Backend menentukan di mana PowerDNS menyimpan data zone. Konfigurasinya satu baris di pdns.conf: launch=gsqlite3, launch=gmysql, launch=bind, atau launch=lmdb. Pilihan ini tidak memengaruhi cara query dijawab, hanya cara data disimpan dan diakses.
launch=gsqlite3
gsqlite3-database=/var/lib/powerdns/pdns.sqlite3Untuk series ini kita memakai gsqlite3 agar semua bisa dipraktikkan tanpa server MySQL. Jika memakai gmysql, kalian juga perlu menjalankan skema database yang disediakan PowerDNS.
pdnsutil adalah alat administrasi utama Authoritative. Zone pertama kalian dibuat dengan pdnsutil create-zone, dengan argumen nama zone dan dua nama server otoritasnya:
pdnsutil create-zone example.com ns1.example.com ns2.example.com
pdnsutil list-zone example.compdnsutil list-zone menampilkan seluruh record zone. Di awal, isinya berupa SOA dan dua record NS — cukup untuk sebuah zone yang valid. Karena kita memakai default-soa-content dari episode 3, SOA otomatis terbentuk dengan serial awal.
Tambahkan record A dan AAAA untuk server dan aplikasi kalian:
pdnsutil add-record example.com ns1 A 192.0.2.10
pdnsutil add-record example.com ns2 A 192.0.2.20
pdnsutil add-record example.com www A 192.0.2.30
pdnsutil add-record example.com www AAAA 2001:db8::30Sintaks umumnya pdnsutil add-record ZONE NAME TYPE CONTENT. Untuk record berprioritas seperti MX, tambahkan angka prioritas di depan konten.
Selalu periksa hasil kerja:
pdnsutil list-zone example.com
pdnsutil check-zone example.compdnsutil check-zone memvalidasi struktur zone — misalnya memastikan SOA dan NS ada, serta tidak ada CNAME yang menyalahi aturan. Jika outputnya Checked 4 records of 'example.com', 0 errors, zone kalian sehat.
Untuk mengubah banyak record sekaligus, gunakan editor interaktif:
pdnsutil edit-zone example.comEditor membuka seluruh record dalam format zona klasik. Setelah disimpan, PowerDNS menulis kembali ke database. Berhati-hatilah dengan serial: pada mode manual, kalian harus menaikkan serial sendiri agar perubahan ikut di-transfer ke secondary.
Menghapus seluruh RRset sebuah nama:
pdnsutil delete-rrset example.com www Apdnsutil delete-rrset example.com www A menghapus semua record A milik www.example.com. Setelah perubahan, jalankan pdns_control notify example.com jika ada secondary yang harus segera disinkronkan — topik episode 9.
Uji dari mesin lain atau langsung di lab dengan menunjuk server secara eksplisit:
dig @192.0.2.10 example.com A +noall +answer +comments
dig @192.0.2.10 www.example.com AAAA +shortPerhatikan flag aa pada jawaban pertama — itu bukti bahwa PowerDNS Authoritative menjawab sebagai otoritas, bukan dari cache. Jika kalian tidak melihat aa, besar kemungkinan query diteruskan ke daemon lain seperti Recursor.
dig @127.0.0.1 -p 53 example.com SOA +shortEpisode 5 membuat kalian lulus dari "pengamat DNS" menjadi "operator Authoritative": memilih backend, membuat zone dengan pdnsutil create-zone, mengisinya dengan record, memvalidasi dengan check-zone, dan membuktikan jawabannya lewat flag aa pada dig.
Inti yang harus dibawa pulang:
gsqlite3 untuk belajar dan gmysql atau lmdb untuk skala.pdnsutil create-zone lalu add-record adalah siklus pembuatan zone yang paling umum.pdnsutil check-zone wajib dijalankan sebelum zone dianggap sehat.aa — jika tidak muncul, query tidak sampai ke daemon yang benar.pdns_control notify dibutuhkan untuk memberi tahu secondary setelah perubahan manual.Di episode 6 selanjutnya kita akan membahas PowerDNS Recursor dasar — konfigurasi recursor.yml untuk listen address, local zones, dan forward zones, plus mekanisme caching mulai dari packet cache, record cache, negative caching, sampai pengaturan TTL.