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 resolver bagi 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 node dalam sebuah sistem DNS dinotasikan dengan “.” atau “/” pada sistem fileUNIX.
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 wget untuk 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/namedsebagai 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 file named.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 daemon program 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 . Kemudian copy-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 usernamed, 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.confJika 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]: runningUntuk mengaktifkan daemon BIND setiap kali komputer direstar, tambahkan perintah “/usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf” pada filerc.local didistro kesayangan anda. Jika anda menggunakan Redhat file rc.local terdapat pada direktori /etc, misalnya :
[root@wedus named]# echo "/usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf" >> /etc/rc.localKemudian kita set resolver agar menggunakan name server localhost:
[root@wedus named]# echo "nameserver 127.0.0.1" > /etc/resolv.confTesting query menggunakan name server localhost dengan perintah host :
[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.1Atau 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: 93Jika 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.179Anda 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/BINDanda tersebut diinstall
Sampai pada langkah ini anda telah mengkonfigurasi BIND sebagai “caching only name server” yang akan menjawab semua query DNS dan mengingat-ingat record tersebut ketika anda melakukan query pada suatu record DNS yang sama. Hal ini mungkin akan membantu anda memperpendek waktu yang anda butuhkan untuk mengqueri suatu record jika anda berada pada koneksi internet yang pas-pasan (misalnya dialup atau kabel modem).
Jika anda terhubung ke sebuah ISP dan ingin membagi beban querydari client anda yang menuju ke server anda dengan server DNS ISP anda, maka anda bisa menggunakan opsiforwarder. Misalkan DNS 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; };http://danubudi.web.id/membuat-dns-server-pada-jaringan-lokal/http://opensource.telkomspeedy.com/wiki/index.php/Instalasi_BINDhttp://www.layangan.com/asfik/writings/dns-bind.htmlhttp://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
