dnscache use djbdns on FreeBSD
September 24, 2008 FreeBSD No Commentslong time no write blog…..au sepertinya disibukan dgn kegiatan yg ngak jelas ditambah penyakit malesnya kambuh lagi
Ok…seperti yg kita ketahui, manfaat dnscache itu banyak sekali membantu dalam penghematan bandwidth yang cukup paspasan, karena dengan adanya dnscache kita sedikit menghemat waktu pencarian domain yang memang sudah pernah kita kunjungi/cari, jadinya ngak selalu nanya ke authoritative dns.
Sebelumnya, kenapa musti djbdns kan banyak dnscache yg lain? named misal?
Nah, pertanyaan itu ngak bisa ku jawab secara teoritis, tapi yg jelas untuk urusan security, performace dan stabilitas djb lebih unggul dari named (karena gw termasuk pemakan named yang pindah ke djbdns
) itu pun kata para pakar dan ahli DNS sih, tapi bener….kerasa banget!
Terlalu banyak cuap-cuap nih kayanya….lama, langsuuuung
1. Install djbdns via port
# cd /usr/ports/dns/djbdns # make install clean
2. config
# pw groupadd nofiles -g 800 # pw useradd dnslog -g nofiles -u 810 -d /nonexistent -s /sbin/nologin # pw useradd dnscache -g nofiles -u 811 -d /nonexistent -s /sbin/nologin # dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1 # ln -s /etc/dnscache /var/service # echo "nameserver 127.0.0.1" > /etc/resolv.conf
Perintah di atas hanya membuat dns cache untuk localhost saja agar bisa di pakai oleh network tambahkan perintah berikut :
# dnscache-conf dnscache dnslog /etc/dnscache 192.168.0.222 # touch /etc/dnscache/root/ip/192.168.0 # ln -s /etc/dnscache /var/service
Sekarang setiap pc di LAN dengan network 192.168.1.0/24 bisa menggunakan dns cache server ini
Tambahkan baris berikut di file /etc/rc.conf:
svscan_enable=”YES”
Untuk menjalankan secara manual, dengan perintah :
# /usr/local/etc/rc.d/svscan.sh start
Cek apakah service dnscahe sudah jalan atau belum :
# svstat /etc/dnscache /etc/dnscache: up (pid 16562) 89652 seconds
Cek juga apakah query dari client bisa di terima dan di teruskan :
# tail -f /etc/dnscache/log/main/current
000000048d8ef9a2512b70c tx 0 1 www.download.windowsupdate.com. . cb8e52de
@4000000048d8ef9a2875141c rr cb8e52de 20 1 a26.ms.akamai.net. caa92e36
@4000000048d8ef9a287769c4 rr cb8e52de 20 1 a26.ms.akamai.net. caa92e37
@4000000048d8ef9a28777964 rr cb8e52de 61 cname intl.dl.wu.akadns.net. dl.wu.ms.geo.akadns.net.
@4000000048d8ef9a2877851c rr cb8e52de 61 cname main.dl.wu.akadns.net. intl.dl.wu.akadns.net.
@4000000048d8ef9a287794bc rr cb8e52de 3361 cname dl.wu.ms.geo.akadns.net. a26.ms.akamai.net.
@4000000048d8ef9a2877a45c rr cb8e52de 2579 cname www.download.windowsupdate.com. www.download.windowsupdate.nsatc.net.
@4000000048d8ef9a2877b014 rr cb8e52de 80 cname www.download.windowsupdate.nsatc.net. main.dl.wu.akadns.net.
@4000000048d8ef9a287834e4 cached cname www.download.windowsupdate.nsatc.net. main.dl.wu.akadns.net.
@4000000048d8ef9a2878409c cached cname main.dl.wu.akadns.net. intl.dl.wu.akadns.net.
@4000000048d8ef9a2878503c cached cname intl.dl.wu.akadns.net. dl.wu.ms.geo.akadns.net.
@4000000048d8ef9a2878580c cached cname dl.wu.ms.geo.akadns.net. a26.ms.akamai.net.
@4000000048d8ef9a287863c4 cached 1 a26.ms.akamai.net.
@4000000048d8ef9a2879714c sent 2697 236
Set Forward Only
Jika kita mau buat dnscache kita forward only, maka ada beberapa config yg harus dirubah dan stepnya adalah sebagai berikut
# echo "203.142.82.222\n203.142.84.222" > /etc/dnscache/root/servers/@ # echo 1 > /etc/dnscache/env/FORWARDONLY # svc -t /etc/dnscache
kita asumsikan dnscache forwarder adalah 203.142.82.222 dan 203.142.84.222
Set Forward zone
Set forward zone adalah memforward beberapa zone yang dianggap berbeda dengan yang lain, ini biasanya khusus dns local yang memang tidak terdaftar di internet sehingga domain tsb hanya di kenal di dns authoritative nya saja, atau mungkin ada beberapa kasus zone tsb memang harus di fordward ke dns authoritative yang lain.
Kita asumsikan dns yang akan di forward itu hanya domain nr.or.id dan yang lainnya di set ke root server, dan domain nr.or.id authoritative nya ada di 202.169.33.220
# echo "202.169.33.220" > /etc/dnscache/root/servers/nr.or.id # svc -t /etc/dnscache
Ok…sementara segitu dulu, karena baru sampe sini ilmunye
semoga bermanfaat……..
NB: Sebaiknya dnscahe ini tidak banyak perubahan config ataupun restart service, karena jika koneksi sudah banyak yang access ke server tsb, maka cache akan lebih banyak dan traffic akan lebih hemat, jadi kalo kita restart service maka cache akan hilang dan akan query ke luar dengan traffic yang cukup besar. Oh ya, katanya djbdns ini bisa sanggup lebih dari 5000 query/second dan “bebas” dari dnscache poisoning attack
“bebas” terbebas jika di attack dengan traffic yang kurang dari 1G, kalo lebih?
katanya sih jebol juga….hehehehe
Command:
Kadang command ini suka lupa, tapi sangat bermanfaat ![]()
# svc -t /service/dns < restart service, service akan down jika semua permintaan sudah di penuhi jadi ada kemungkinan tidak langsung down and up
# svc -d /service/dns < mematikan service jika semua permintaan sudah selesai, maka service down
# svc -u /service/dns < menghidupkan service
# svc -k /service/dns < membunuh service, memaksa service down
# svstat /service/dns < check status running
Referensi:
1. P.Y Adi P
2. http://tunggul.staff.uns.ac.id/2008/08/23/cara-mudah-install-dns-cache-dengan-djbdns/
3. http://www.net.cmu.edu/docs/services/ip/local-dns.html
Thanks,
ɹ ʎʞƃuɐ















