dnscache dan local dnsroot

Seperti yang telah kita ketahui, bahwa setiap permintaan DNS akan selalu melakukan query ke root server (di Bind adalah file named.root) untuk mencari nameserver yang sesuai dengan delegasi dari query tsb. Misalkan ada permintaan ke alamat www.postfix.or.id maka nameserver akan lookup ke root server, kemudian didapatkan data bahwa yang mengurusi TLD .id adalah nameserver dengan IP misalnya: 202.155.30.227 (ns1.id), 202.12.28.140 (sec3.apnic.net), 202.154.1.2 (ns1.rad.net.id) dan 202.159.32.2 (ns1.indo.net.id.). Baru kemudian nameserver melakukan query lagi ke salah satu server tersebut untuk mendapatkan data (RR) www.postfix.or.id (203.84.155.189).

Nah, kalau nameserver Anda adalah nameserver yang sibuk bagaimana pasti querynya juga banyak akhirnya menggunakan bandwidth. Bagaimana kalau kita bikin root nameserver di lokal saja untuk mengurangi query ke root server? Wah, boleh juga. Saratnya apa saja? Pastinya sudah ada dnscache dan tinydns yang terinstall. Lho kok masih butuh tinydns? Iya, buat mengelola data dns root lokal yang akan digunakan. Kalau begitu butuh IP satu lagi dong buat tinydns? Lha iya, tapi bisa pakai IP private kok, misalnya disini menggunakan IP: 127.53.0.1 . Jika semua siap kemudian buat sebuah file yang berisi script berikut ini :

#!/bin/sh
#
# Query semua delegasi root server setiap hari
# Email : [email protected]

cd /tmp
/usr/local/bin/tcpclient f.root-servers.net 53 \
/usr/local/bin/axfr-get . /tmp/root.orsc \
/tmp/root.orsc.tmp
cat /tmp/root.orsc | /usr/sbin/cleanup > /tmp/data
mv -f /tmp/data /etc/tinydns/root/
cd /etc/tinydns/root/
make > /dev/null 2>&1

Kemudian :

  • Asumsi tinydns sudah listen di IP 127.53.0.1 dan root data berada didirektori /etc/tinydns/root/
  • Jalankan script diatas, kalau OK, Anda akan mendapatkan data di file /etc/tinydns/root/data
  • Ubah alamat root nameserver yang digunakan oleh dnscache (biasanya di file /service/dnscache/root/servers/@) untuk menggunakan local dns root (127.53.0.1)
  • Selesai

Semoga bermanfaat. Amin

4 Replies

  • Assalamu’alaikum_
    salam kenal saudara asfihani…
    Saya telah membaca tulisan anda mengenai “KOnsep DNS dan Tutorial Instalasi BIND”. Sebelumnya terima kasih, karena atas tulisan anda saya jadi lebih mengerti seperti apa konsep dns itu. Tapi masalahnya, sistem operasi yang saya gunakan adalah openbsd 4.4. Sedangkan tulisan anda menyebutkan menggunakakan redhat 7. Apakah tulisan saudara masih bisa sesuai dengan sistem operasi yg saya pakai???Apakah anda mempunyai tutorial terbaru mangenai setting bind???Katakanlah yang sesuai dengan sistem operasi yang sesuai dengan openbsd 4.4???

    Saya tunggu balasan dari anda…
    Terima kasih.

  • Mas Gilardi,

    Kalau tutorial buat OpenBSD saya ndak punya mas, maklum saya cuman ngerti Linux dikit-dikit. Btw, kalau secara konsep Insya Alloh tidak ada yang berbeda mas mau itu dipasang OS apapun asal masih tetap pakai BIND.

    Btw lagi, ini ada beberapa alternatif selain BIND untuk authoritive only DNS (buat kelola zone, bukan buat resolver): mydns-ng, nsd, tiny-dns. Sedangkan untuk rekursif query (a.k.a resolver) bisa coba: unbound atau dnscache.

  • kalo untuk manage dns via web interface mas asfik menyarankan menggunakan apa? saya menggunakan tinydns dan nsd. kalo tinydns saya biasa pakai vegadns, belum tahu yang lain. bisa minta sarannya mas?

  • Alternatif lain bisa pakai mydns untuk authoritive DNS. Sudah support MySQL, tinggal bikin frontend sendiri atau menggunakan tool yang telah ada seperti misalnya MyDNSconfig.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.