Wednesday, September 19, 2007
DNS Server Master & Slave FreeBSD
Untuk domain ini child nameserver yang saya assign adalah ns1.mbalelo.info untuk ip 124.81.224.211 dan ns2.mbalelo.info 124.81.224.210. Sebenarnya sangat tidak dianjurkan untuk meletakkan nameserver pada blok ip yang sama dan alokasi yang sama. Lebih baik lagi apabila salah satu nameserver diletakkan ditempat lain dengan geografis beda misalkan diluar negeri, sehingga apabila ada gangguan atau bencana domain tidak akan mati. Karena keterbatasan tempat dan tidak ada server ditempat lain cukuplah 2 server yang ada saya pakai sebagai sarana ujicoba/experimen.
Untuk server saya menggunakan FreeBSD 6.1 dengan Bind 9.3.2 dan FreeBSD 5.4 dengan Bind 9.3.1 yang sudah bulit in didalamnya. Untuk mengaktifkan bind setiap kali startup tambahkan parameter pada rc.conf
# ee /etc/rc.conf
named_enable="YES"
named_flags="-u bind"
Pada Bind versi 9 terdapat utility yang digunakan utntuk mengontrol bind yaitu "rndc". Agar rndc bisa digunakan setidaknya ada 2 file yang harus kita buat yaitu "rncd.conf" dan "rndc.key" yang diletakkan pada direktori "/etc/named". Untuk membuat file tersebut dipakai command rndc-confgen
# rndc-confgen
# Start of rndc.conf
key “rndc-key” {
algorithm hmac-md5;
secret “8EQdlGbpeIO2/I7yLJP5CQ==”;
};
options {
default-key “rndc-key”;
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
#key “rndc-key” {
# algorithm hmac-md5;
# secret “8EQdlGbpeIO2/I7yLJP5CQ==”;
#};
#
#controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { “rndc-key”; };
#};
# End of named.conf
Ok setelah itu kita pisahkan masing2 konfigurasi berdasarkan letaknya pada file masing2
# ee /etc/named/rndc.conf
key “rndc-key” {
algorithm hmac-md5;
secret “8EQdlGbpeIO2/I7yLJP5CQ==”;
};
options {
default-key “rndc-key”;
default-server 127.0.0.1;
default-port 953;
};
# ee /etc/namedb/rndc.key
key “rndc-key” {
algorithm hmac-md5;
secret “8EQdlGbpeIO2/I7yLJP5CQ==”;
};
Lakukan langkah yang sama pada pembuatan file rndc.conf dan rndc.key pada DNS server Slave.
Berikutnya akan kita bahas file named.conf yang berisi konfigurasi bind. Kita bagi pembahasan file named.conf ini, untuk file named.conf pada DNS server master dan named.conf untuk DNS server slave.
# ee /etc/namedb/named.conf (pada DNS server master)
acl slave {
124.81.224.210/32;
124.81.252.55/32;
};
options {
directory “/etc/namedb”;
pid-file “/var/run/named/pid”;
dump-file “/var/dump/named_dump.db”;
statistics-file “/var/stats/named.stats”;
allow-transfer { slave; };
recursion no;
notify yes;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { “rndc-key”; };
};
key “rndc-key” {
algorithm hmac-md5;
secret “8EQdlGbpeIO2/I7yLJP5CQ==”;
};
zone “.” {
type hint;
file “named.root”;
};
zone “0.0.127.IN-ADDR.ARPA” {
type master;
allow-update { none; };
file “master/db.127.0.0.1”;
};
zone “localhost” {
type master;
allow-update { none; };
file “master/db.localhost”;
};
zone “mbalelo.info” {
type master;
allow-update { none; };
file “master/db.mbalelo.info”;
};
# ee /etc/namedb/master/db.127.0.0.1
$TTL 86400
@ IN SOA localhost. root.localhost. (
2006081613 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ) ; minimum
IN NS localhost.
1 IN PTR localhost.
# ee /etc/namedb/master/db.localhost
$TTL 86400
$ORIGIN localhost.
@ IN SOA localhost. root.localhost. (
2006081613 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ) ; minimum
IN NS localhost.
IN A 127.0.0.1
# ee /etc/namedb/master/db.mbalelo.info
$TTL 86400
@ IN SOA ns1.mbalelo.info. info.mbalelo.info. (
2007012602 ; Serial (YYYYMMDDnn)
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
IN NS ns1.mbalelo.info.
IN NS ns2.mbalelo.info.
IN MX 10 mail.mbalelo.info.
IN A 124.81.224.211
ns1 IN A 124.81.224.211
ns2 IN A 124.81.224.210
mail IN A 124.81.224.211
www IN CNAME mbalelo.info.
ftp IN CNAME mbalelo.info.
download IN CNAME mbalelo.info.
Standart format serial untuk zone adalah (YYYYMMDDnn) "nn" adalah revisi zone. Setiap kali ada perubahan zone sebaliknya merubah serial zone. Misalkan kita dalam sehari melakukan beberapa kali update zone revisi sebaliknya berybah seperti 01 atau 02 sebanyak revisi yang kita lakukan. Secara tidak langsung juga untuk memberitahukan DNS Server Slave untuk mengupdate zonenya. SPF secara record disini berfungsi untuk mencegah spammer menggunakan domain untuk tujuan spam. Lebih jelasnnya lihat websitenya tentang format penulisan atau memanfaatkan wizard yang ada.
Berikut adalah file konfigurasi DNS Server Slave yang hampir sama dengan file konfigurasi server master. Untuk pembuatan file rndc.conf dan rndc.key sama dengan langkah yang dijelaskan diatas. Kita langsung saja pada file konfigurasi Bindnya.
# ee /etc/namedb/named.conf (Pada DNS Server Slave)
options {
directory “/etc/namedb”;
pid-file “/var/run/named/pid”;
dump-file “/var/dump/named_dump.db”;
statistics-file “/var/stats/named.stats”;
recursion no;
notify no;
};
key “rndc-key” {
algorithm hmac-md5;
secret “reseHZh2qBABma1zjrT3/A==”;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { “rndc-key”; };
};
zone “.” {
type hint;
file “named.root”;
};
zone “0.0.127.IN-ADDR.ARPA” {
type master;
file “master/db.127.0.0.1”;
};
zone “localhost” {
type master;
file “master/db.localhost”;
};
zone “mbalelo.info” {
type slave;
file “slave/db.mbalelo.info”;
masters {
124.81.224.211;
};
};
Server Master:
#cd /etc/namedb/master
#chown bind* db.*
Server Slave:
#cd /etc/namedb/slave
#chown bind* db.*
Setelah konfigurasi selesai maka berikutnya adalan menjalankan DNS server.Jalankan terlebih dahulu server master baru kemudian server slave.
#/usr/sbin/named -u bind
Cek pesan server ketika bind dijalankan:
# tail -f /var/log/messages
Bila sukses pesan yang ditampilkan adalah sebagai berikut:
Jan 23 10:35:31 ns1 named[28558]: starting BIND 9.3.2 -u bind
Jan 23 10:35:31 ns1 named[28558]: command channel listening on 127.0.0.1#953
Jan 23 10:35:31 ns1 named[28558]: running
Kemudian jalankan DNS Server Slave dan cek apakah file database zone telah ditransfer ke dalam direktori /etc/namedb/slave.Jika sudah maka proses testing server sudah selesai dan anda telah berhasil membuat DNS Server Master dan Slave.Jika file database zone belum ditransfer maka kita bisa secara manual mengkopi file database untuk zone tersebut ke server slave.Kemudian kita jalankan command rndc reload atau rndc reconfig untuk mereload konfigurasi atau zone yang baru.
Ok setelah semua konfigurasi selesai coba cek domain yang anda buat dengan DNS tools yang banyak di internet seperti DNS Report atau Checkdns.
Salam Buat "satujamsaja.org"
........................ Semoga Bermanfaat ......................