Caching DNS dengan PDNSD
BIND sebagai DNS server memang bisa juga difungsikan sebagai DNS cache only, dimana fungsi ini hanyalah untuk memforward domain request client ke DNS server lain dan kemudian menyimpannya (caching) untuk sementara kedalam memory resource sampai dengan kapasitas tertentu. Hal ini tentunya kurang menguntungkan bagi server-server yang tidak up terus menerus karena ketika server restart cache akan mulai lagi dari awal.
Sebagai alternatif, kita dapat menggunakan pdnsd untuk kepentingan tersebut, keuntungannya yaitu tidak seperti BIND yang menyimpan cache nya di memory akan tetapi cache akan tersimpan dalam disk yaitu dalam file pdnsd.cache . Jadi cache akan tetap tersimpan meski server kita restart.
berikut yang saya coba :
1. Install pdnsd via ports
#> cd /usr/ports/dns/pdnsd
#> make install clean
2. Konfigurasi pdnsd ( /usr/local/etc/pdnsd.conf )
File configurasi pdnsd saya yg diedit dari /usr/local/etc/pdnsd.conf.sample
#> cat /usr/local/etc/pdnsd.conf
// $Id: pdnsd.conf.in,v 1.4 2000/11/11 20:32:58 thomas Exp $
global {
perm_cache=4096;
cache_dir="/var/db/pdnsd";
max_ttl=604800;
run_as="nobody";
paranoid=off;
proc_limit=200;
procq_limit=250;
server_port=53;
server_ip="192.168.0.254";
status_ctl=on;
}
server {
ip="203.130.208.18";
ip="202.134.0.62";
ip="202.155.0.20";
ip="202.134.0.62";
ip="203.130.196.5";
ip="202.134.0.155";
ip="202.134.2.5";
ip="203.130.196.6";
timeout=30;
interval=30;
uptest=ping;
ping_timeout=50;
purge_cache=off;
}
source {
ttl=86400;
owner="localhost.";
# serve_aliases=on;
file="/etc/hosts";
}
*keterangan
global section :
perm_cache= besar file cache (kilobyte)
server_port= port pdnsd akan listen
server_ip= IP pdnsd akan run
status_ctl= memonitor pdnsd dgn pdnsd-ctl
server section :
ip= ip dns server kemana kita akan forward dns request
penjelasan selengkapnya ada di man pdnsd.conf , man pdnsd , man pdnsd-ctl
startup pdnsd juga akan otomatis terinstall pada /usr/local/etc/rc.d/pdnsd.sh
BIND sebagai DNS server memang bisa juga difungsikan sebagai DNS cache only, dimana fungsi ini hanyalah untuk memforward domain request client ke DNS server lain dan kemudian menyimpannya (caching) untuk sementara kedalam memory resource sampai dengan kapasitas tertentu. Hal ini tentunya kurang menguntungkan bagi server-server yang tidak up terus menerus karena ketika server restart cache akan mulai lagi dari awal.
Sebagai alternatif, kita dapat menggunakan pdnsd untuk kepentingan tersebut, keuntungannya yaitu tidak seperti BIND yang menyimpan cache nya di memory akan tetapi cache akan tersimpan dalam disk yaitu dalam file pdnsd.cache . Jadi cache akan tetap tersimpan meski server kita restart.
berikut yang saya coba :
1. Install pdnsd via ports
#> cd /usr/ports/dns/pdnsd
#> make install clean
2. Konfigurasi pdnsd ( /usr/local/etc/pdnsd.conf )
File configurasi pdnsd saya yg diedit dari /usr/local/etc/pdnsd.conf.sample
#> cat /usr/local/etc/pdnsd.conf
// $Id: pdnsd.conf.in,v 1.4 2000/11/11 20:32:58 thomas Exp $
global {
perm_cache=4096;
cache_dir="/var/db/pdnsd";
max_ttl=604800;
run_as="nobody";
paranoid=off;
proc_limit=200;
procq_limit=250;
server_port=53;
server_ip="192.168.0.254";
status_ctl=on;
}
server {
ip="203.130.208.18";
ip="202.134.0.62";
ip="202.155.0.20";
ip="202.134.0.62";
ip="203.130.196.5";
ip="202.134.0.155";
ip="202.134.2.5";
ip="203.130.196.6";
timeout=30;
interval=30;
uptest=ping;
ping_timeout=50;
purge_cache=off;
}
source {
ttl=86400;
owner="localhost.";
# serve_aliases=on;
file="/etc/hosts";
}
*keterangan
global section :
perm_cache= besar file cache (kilobyte)
server_port= port pdnsd akan listen
server_ip= IP pdnsd akan run
status_ctl= memonitor pdnsd dgn pdnsd-ctl
server section :
ip= ip dns server kemana kita akan forward dns request
penjelasan selengkapnya ada di man pdnsd.conf , man pdnsd , man pdnsd-ctl
startup pdnsd juga akan otomatis terinstall pada /usr/local/etc/rc.d/pdnsd.sh

0 Comments:
Post a Comment
<< Home