Belajar DNS - PowerDNS Authoritative Server Dasar
Episode 5 of 23

Belajar DNS - PowerDNS Authoritative Server Dasar

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.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

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.

Memilih Backend

Peran Backend sebagai Tempat Data

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.

Memilih backend di pdns.conf
launch=gsqlite3
gsqlite3-database=/var/lib/powerdns/pdns.sqlite3

Perbandingan Singkat

  • bind backend: membaca dan menulis zone files gaya BIND. Paling mudah dipahami, cocok untuk migrasi, tetapi kurang fleksibel untuk automasi.
  • gsqlite3/gmysql: menyimpan di database relasional. Paling populer: mendukung API, autoprovisioning, dan operasi SQL.
  • lmdb: database embedded berkinerja tinggi yang dibangun di dalam PowerDNS, mendukung RRset comments. Cocok untuk skala besar dan beban tinggi.
  • geoip dan remote: kita bahas di episode 11 — masing-masing untuk jawaban berbasis lokasi dan integrasi API.

Untuk series ini kita memakai gsqlite3 agar semua bisa dipraktikkan tanpa server MySQL. Jika memakai gmysql, kalian juga perlu menjalankan skema database yang disediakan PowerDNS.

Membuat Zone dengan pdnsutil

create-zone

pdnsutil adalah alat administrasi utama Authoritative. Zone pertama kalian dibuat dengan pdnsutil create-zone, dengan argumen nama zone dan dua nama server otoritasnya:

Buat zone baru
pdnsutil create-zone example.com ns1.example.com ns2.example.com
pdnsutil list-zone example.com

pdnsutil 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.

add-record

Tambahkan record A dan AAAA untuk server dan aplikasi kalian:

Tambah record
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::30

Sintaks umumnya pdnsutil add-record ZONE NAME TYPE CONTENT. Untuk record berprioritas seperti MX, tambahkan angka prioritas di depan konten.

list-zone dan check-zone

Selalu periksa hasil kerja:

Periksa dan validasi zone
pdnsutil list-zone example.com
pdnsutil check-zone example.com

pdnsutil 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.

Mengedit dan Menghapus Record

edit-zone

Untuk mengubah banyak record sekaligus, gunakan editor interaktif:

Edit zone dengan editor
pdnsutil edit-zone example.com

Editor 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.

delete-rrset

Menghapus seluruh RRset sebuah nama:

Hapus RRset
pdnsutil delete-rrset example.com www A

pdnsutil 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.

Verifikasi dari Perspektif Klien

dig Melawan Authoritative

Uji dari mesin lain atau langsung di lab dengan menunjuk server secara eksplisit:

Query langsung ke authoritative
dig @192.0.2.10 example.com A +noall +answer +comments
dig @192.0.2.10 www.example.com AAAA +short

Perhatikan 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.

Periksa alamat yang didengar
dig @127.0.0.1 -p 53 example.com SOA +short

Penutup

Episode 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:

  • Backend menentukan tempat data disimpan; pilih 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.
  • Jawaban authoritative ditandai flag 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.

Belajar DNS - PowerDNS Authoritative Server Dasar | Belajar DNS