DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolverbagi client-client yang berhubungan ataupun menggunakannya.
Struktur dari database DNS bisa diibaratkan dengan dengan struktur file dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam treetersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatif rerhadap puncaknya (parent).Ini bisa diibaratkan dengan relative pathname pada sistem file UNIX,seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root nodedalam sebuah sistem DNS dinotasikan dengan ”.” atau ”/” pada sistem file UNIX.
BIND (Berkeley Internet Name Domain) adalah sebuah implementasi dari protokol DNS dan menyediakan implementasi referensi didistribusikan secara terbuka komponen utama dari Domain Name System, termasuk:
- Domain Name System server
- Domain Name System resolver library
- Tools for managing and verifying the proper operation of the DNS server
Instalasi BIND
Anda bisa mendapatkan softare BIND yang paling baru dari website resmi ISC dengan alamat http://www.isc.org/products/BIND.
Diasumsikan anda terhubung ke internet dan terdapat utilitas wgetuntuk mendowload software dari ISC, jika anda telah mempunyai source BIND anda bisa melewati langkah berikut ini :
[root@wedus asfik]# wget ftp://ftp.isc.org/isc/bind9/9.2.2rc1/bind-9.2.2rc1.tar.gz
Kemudian kita mekarkan file source, melakukan kompilasi dan menambah user yang akan menjalakan BIND, pada proses make install akan terbentuk direktori /usr/local/named sebagai direktori utama dimana software ini disimpan :
[root@wedus asfik]# tar -xzvf bind-9.2.2rc1.tar.gz
[root@wedus asfik]# cd bind-9.2.2rc1
[root@wedus bind-9.2.2rc1]# ./configure –prefix=/usr/local/named
[root@wedus bind-9.2.2rc1]# make
[root@wedus bind-9.2.2rc1]# make install
[root@wedus bind-9.2.2rc1]# adduser -d /var/named -s /bin/false named
Ganti direktori ke home direktori user named serta mendownload filenamed.root yang berisi tentang informasi dari root-servers :
[root@wedus bind-9.2.2rc1]# cd /var/named
[root@wedus named]# wget ftp://internic.net/domain/named.root
Kemudian buat file untuk reverse PTR localhost (anda bisa menggunakan editor favorit anda, disini kita menggunakan vi) :
[root@wedus named]# vi db.127.0.0
Isi file db.127.0.0 adalah :
$TTL 86400
@ IN SOA localhost. root.localhost. (
2003021500 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ) ; minimum
IN NS localhost.
1 IN PTR localhost.
Kemudian salin file db.127.0.0 ke alamat network IP anda (bisa IP intranet atau IP yang anda dapatkan dari ISP anda), disini dimisalkan network yang akan kita reverse adalah 10.126.24.0/24 dan IP 10.126.24.1 adalah IP dimana software BIND akan kita install :
[root@wedus named]# cp db.127.0.0 db.10.126.24
Kemudian buat file yang berisi tentang zone dari localhost :
[root@wedus named]# vi db.localhost
Isi dari file db.localhost adalah :
$TTL 86400
$ORIGIN localhost.
@ IN SOA localhost. root.localhost. (
2003021500 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ) ; minimum
IN NS localhost.
IN A 127.0.0.1
Buat sebuah direktori untuk menyimpan file konfigurasi dari daemonprogram BIND :
[root@wedus named]# mkdir /usr/local/named/etc
Buat file /usr/local/named/etc/named.conf yang akan dijadikan sebagai file konfigurasi dari program BIND :
[root@wedus named]# vi /usr/local/named/etc/named.conf
Isi dari file /usr/local/named/etc/named.conf adalah :
options {
directory “/var/named”;
allow-transfer { 10.126.24.2/32; };
pid-file “/var/named/named.pid”;
};
logging {
category lame-servers { null; };
};
zone “.” IN {
type hint;
file “named.root”;
};
zone “localhost” IN {
type master;
file “db.localhost”;
allow-update { none; };
};
zone “0.0.127.in-addr.arpa” IN {
type master;
file “db.127.0.0″;
allow-update { none; };
};
zone “24.126.10.in-addr.arpa” IN {
type master;
file “db.10.126.24″;
};
Kemudian meng-generate file konfigurasi yang akan digunakan oleh program rndc, ingat hasil dari perintah rndc-confgen bisa jadi berbeda dengan apa yang ditampilkan disini :
[root@wedus named]# /usr/local/named/sbin/rndc-confgen
Kemudian copy-paste dari hasil perintah tersebut diatas mulai dari baris“# Start of rndc.conf” sampai dengan baris “# End of rndc.conf”, simpan dengan nama file /usr/local/named/etc/rndc.conf . Kemudiancopy-paste lagi dengan menghilangkan tanda “#”, mulai dari baris “# key “rndc-key”…” sampai dengan baris yang hampir paling bawah diatas baris “# End of named.conf “ yaitu sampai dengan baris “};”kemudian tambahkan pada file /usr/local/named/etc/named.conf . Sebagai contohnya adalah sebagai berikut ini, isi dari file/usr/local/named/etc/rndc.confmisalnya :
# Start of rndc.conf
key “rndc-key” {
algorithm hmac-md5;
secret “2LCJImnMimOwc1odWR6jfg==”;
};
options {
default-key “rndc-key”;
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
Sedangkan pada file /usr/local/named/etc/named.conf ditambahkan sebagai berikut :
key “rndc-key” {
algorithm hmac-md5;
secret “2LCJImnMimOwc1odWR6jfg==”;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { “rndc-key”; };
};
Kemudian langkah selanjutnya adalah mengubah kepemilikan home direktori dari user named, kemudian menjalankan daemon dari program BIND :
[root@wedus named]# chown -R named.named /var/named
[root@wedus named]# /usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf
Jika sukses anda bisa melihat pada file /var/log/messages pesan-pesan sebagai berikut :
[root@wedus named]# tail -f /var/log/messages
Feb 15 12:54:18 wedus named[25139]: starting BIND 9.2.2rc1 -u named -c /usr/local/named/etc/named.conf
Feb 15 12:54:18 wedus named[25139]: using 1 CPU
Feb 15 12:54:18 wedus named[25139]: loading configuration from ‘/usr/local/named/etc/named.conf’
Feb 15 12:54:18 wedus named[25139]: no IPv6 interfaces found
Feb 15 12:54:18 wedus named[25139]: listening on IPv4 interface lo, 127.0.0.1#53
Feb 15 12:54:18 wedus named[25139]: listening on IPv4 interface eth0, 10.126.24.1#53
Feb 15 12:54:18 wedus named[25139]: command channel listening on 127.0.0.1#953
Feb 15 12:54:18 wedus named[25139]: zone 24.126.10.in-addr.arpa/IN: loaded serial 2003021500
Feb 15 12:54:18 wedus named[25139]: zone 0.0.127.in-addr.arpa/IN: loaded serial 2003021500
Feb 15 12:54:18 wedus named[25139]: zone localhost/IN: loaded serial 2003021500
Feb 15 12:54:18 wedus named[25139]: running
Untuk mengaktifkan daemon BIND setiap kali komputer direstar, tambahkan perintah “/usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf” pada file rc.local didistro kesayangan anda. Jika anda menggunakan Redhat file rc.localterdapat pada direktori /etc, misalnya :
[root@wedus named]# echo “/usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf” >> /etc/rc.local
Kemudian kita set resolver agar menggunakan name server localhost:
[root@wedus named]# echo “nameserver 127.0.0.1″ > /etc/resolv.conf
Testing query menggunakan name server localhost dengan perintahhost :
[root@wedus named]# host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
[root@wedus named]# host localhost
localhost has address 127.0.0.1
Atau dengan menggunakan perintah dig :
[root@wedus named]# dig -x 127.0.0.1
; <<>> DiG 9.2.2rc1 <<>> -x 127.0.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64212
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 86400 IN PTR localhost.
;; AUTHORITY SECTION:
0.0.127.in-addr.arpa. 86400 IN NS localhost.
;; ADDITIONAL SECTION:
localhost. 86400 IN A 127.0.0.1
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Feb 15 13:58:48 2003
;; MSG SIZE rcvd: 93
Jika anda tersambung ke internet anda bisa mencoba untuk query ke suatu host misalnya :
[root@wedus named]# host www.its-sby.edu
www.its-sby.edu is an alias for ns2.its-sby.edu.
ns2.its-sby.edu has address 202.155.84.179
Anda juga bisa mengeset client anda untuk menggunakan name server yang baru saja anda konfigurasi untuk melayani query. Untuk sistem operasi Windows 2000 Server ™ adalah sebagai berikut : klik kanan pada “My Network Places” pilih “Properties”, klik kanan pada “Local Area Connection” pilih “Properties”, pilih pada “Internet Protocol (TCP/IP)” klik “Properties”, klik radio button pada “Use the following DNS server addresses”, isikan pada “Preferred DNS server”alamat IP dimana server DNS/BIND anda tersebut diinstall, disini diumpamakan IPnya adalah 10.126.24.1 . Untuk sistem operasi Windows98 ™ adalah : dari menu “Start” klik “Settings”, klik pada“Control Panel”, klik pada “Network” klik pada “TCP/IP” pilih“Properties”, pilih pada tabulasi “DNS Configuration” pilih pada“Enable DNS”, kemudian pada “DNS Server Search Order” isikan alamat IP dimana server DNS/BIND anda tersebut diinstall
Sampai pada langkah ini anda telah mengkonfigurasi BIND sebagai“caching only name server” yang akan menjawab semua query DNSdan mengingat-ingat record tersebut ketika anda melakukan querypada suatu record DNS yang sama. Hal ini mungkin akan membantu anda memperpendek waktu yang anda butuhkan untuk mengquerisuatu record jika anda berada pada koneksi internet yang pas-pasan
(misalnya dialup atau kabel modem).
Jika anda terhubung ke sebuah ISP dan ingin membagi bebanquerydari client anda yang menuju ke server anda dengan server DNSISP anda, maka anda bisa menggunakan opsi forwarder. MisalkanDNS server ISP anda mempunyai IP 10.11.12.1 dan 10.11.12.2 maka di file named.confpada seksi options, bisa anda tambahkan :
forward first;
forwarders {
10.11.12.1;
10.11.12.2;
};
Sumber :
http://translate.googleusercontent.com/translate_c?hl=id&sl=en&u=http://www.bind9.net/&prev=/search%3Fq%3Dbind9%2B(dns%2Bserver)%26hl%3Did%26sa%3DX&rurl=translate.google.co.id&usg=ALkJrhgdJW5PJxbR5b5LL9Yw6UB5d470lQ