Episode ini membahas toolkit diagnosis DNS: penggunaan dig +trace, +short, +dnssec, dan +nssearch, perbandingan drill dan kdig, validasi zone dengan pdnsutil check-zone, membaca log lewat pdns_control dan journalctl, serta memakai tcpdump pada port 53.

Server DNS yang sehat suatu hari akan bermasalah: jawaban salah, propagation lambat, atau sekadar "DNS not resolving". Kemampuan yang membedakan engineer biasa dan handal bukan pada mencegah semua masalah, melainkan menemukan akar masalah dengan cepat.
Episode 8 membangun toolkit diagnosis kalian. Kita akan menguasai dig dalam berbagai mode, mengenal drill dan kdig, memakai pdns_control untuk mengintip daemon dari dalam, dan akhirnya membedah paket DNS mentah dengan tcpdump.
dig adalah alat paling serbaguna. Kombinasi flag +noall dan +answer menampilkan hanya jawaban tanpa header yang bising:
dig @127.0.0.1 example.com A +noall +answer
dig @127.0.0.1 example.com MX +shortdig +short menampilkan nilai record tanpa nama dan TTL — cocok untuk script dan cek cepat. Untuk debugging mendalam, hilangkan flag tersebut agar header dan timing muncul.
Tiga mode khusus menyelesaikan tiga masalah berbeda:
dig +trace example.com
dig +nssearch example.com
dig +dnssec example.com SOA +noall +answerdig +trace example.com: menelusuri resolution dari root servers sampai jawaban akhir, baris per baris. Sempurna untuk menemukan di level mana resolution macet.dig +nssearch example.com: menanyakan setiap authoritative name server dan membandingkan SOA mereka. Memperlihatkan server mana yang tidak sinkron.dig +dnssec example.com: menampilkan record DNSKEY, RRSIG, dan DS — bahan investigasi DNSSEC yang akan kita pakai di episode 13-14.Tidak semua sistem punya dig. kdig (dari knot-dnsutils) adalah pengganti modern yang nyaman, dan drill (dari ldns) unggul untuk validasi DNSSEC:
kdig @127.0.0.1 example.com A
drill -S example.comdrill -S example.com menjalankan validasi DNSSEC dari trust anchor dan melaporkan apakah rantai tanda tangan valid — fitur yang tidak dimiliki dig polos. kdig@127.0.0.1 example.com setara dengan query dig biasa, dengan output yang lebih rapi.
Sebelum menyalahkan jaringan, periksa kebenaran data:
pdnsutil check-zone example.com
pdnsutil check-all-zonespdnsutil check-zone memvalidasi satu zone; check-all-zones melakukannya untuk semua zone yang dikelola. Kesalahan umum seperti CNAME ganda atau NS hilang langsung terdeteksi di sini.
Kedua daemon menyediakan kontrol runtime:
pdns_control ping
pdns_control list-zones
rec_control ping
rec_control get uptimepdns_control ping memastikan Authoritative masih hidup dan merespons. rec_control get uptime menunjukkan berapa lama Recursor berjalan tanpa restart — angka uptime rendah bisa menjadi petunjuk crash berulang.
Ketika jawaban dan log terlihat normal tetapi masalah tetap ada, lihat paket mentahnya:
sudo tcpdump -i any port 53 -n -vvSambil tcpdump berjalan, jalankan dig @127.0.0.1 example.com A di terminal lain. Kalian akan melihat query keluar dan jawaban masuk beserta port sumber, alamat, dan ukuran paket. Untuk analisis lebih dalam, tshark menampilkan field per field:
sudo tshark -i any -f "port 53" -Y "dns.flags.response == 1"tshark -Y "dns.flags.response == 1" memfilter hanya paket berjenis respons, memudahkan melihat jawaban yang dikirim server kalian.
Saat masalah muncul, ikuti urutan ini alih-alih menebak:
1. status service dan log (journalctl)
2. pdns_control ping / rec_control ping
3. pdnsutil check-zone / check-all-zones
4. dig @127.0.0.1 +noall +answer
5. dig +trace untuk melacak level kegagalan
6. tcpdump port 53 jika masih buntuDengan urutan ini, kalian bergerak dari "apakah daemon hidup" menuju "apa isi paket yang sebenarnya", dan kebanyakan masalah terkuak sebelum langkah kelima.
Episode 8 melengkapi kalian dengan senjata diagnosis: dig dalam mode +trace, +short, +dnssec, dan +nssearch, alternatif drill dan kdig, validasi internal lewat pdnsutil dan pdns_control, serta pembedahan paket dengan tcpdump dan tshark.
Inti yang harus dibawa pulang:
dig +short untuk cek cepat, dig +trace untuk menemukan level kegagalan resolution.dig +nssearch membandingkan SOA semua authoritative dan menemukan yang tidak sinkron.drill -S memvalidasi DNSSEC; kdig adalah alternatif modern pengganti dig.pdnsutil check-zone memvalidasi data sebelum menyalahkan jaringan.tcpdump port 53 menunjukkan fakta mentah yang tidak terlihat di log.Di episode 9 selanjutnya kita akan membahas primary dan secondary server — konsep master-slave dengan SOA serial sebagai penanda versi zone, alur NOTIFY menuju AXFR dan IXFR, serta implementasinya di PowerDNS Authoritative dengan primary=yes, allow-axfr-ips, dan also-notify.