Tanpa menggunakan cache, setiap kita mencari informasi tentang sebuah domain maka server DNS akan sibuk menjawab pertanyaan yang sama berkali-kali. Jika proses ini dilakukan untuk banyak klien akibatnya beban kerja dari DNS server akan berat. Seyogyanya setiap administrator sistem menyiapkan paling tidak sebuah server cache DNS.
dnscache adalah bagian dari paket djbdns. Ia bekerja pada port 53 dengan protokol TCP dan UDP.
Terdapat dua jenis cache yang bisa kita buat, yaitu:
cache internal, dan
cache external.
Cara mensetup cache DNS server seperti ini:
Tambahkan user yang akan menjalankan cachedns
# useradd -d /dev/null -s /dev/null dnscache # useradd -d /dev/null -s /dev/null dnslog |
Konfigurasikan dnscache dengan perintah
# dnscache-conf dnscache dnslog /etc/dnscache/ |
Aktifkan server baru ini dengan daemontools, dengan cara membuat link di direktori service.
# ln -s /etc/dnscache/ /service/ |
Untuk melihat bahwa server dnscache kita sudah berjalan, perintahkan
# netstat -pln|grep dnscache |
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 5038/dnscache udp 0 0 127.0.0.1:53 0.0.0.0:* 5038/dnscache |
Terlihat di sini bahwa dnscache local bekerja di nomor IP 127.0.0.1 port 53 dengan protokol UDP dan TCP.
Untuk membuat server cache DNS external prosesnya sama dengan cache internal hanya ada sedikit perbedaan saat menjalankan program dnscache-conf.
# dnscache-conf dnscache dnslog /etc/dnscachex 192.168.1.192 |
# ln -s /etc/dnscachex /service/ |