DNS (Domain Name System) adalah salah satu jenis sistem yang melayani permintaan pemetaan IP Address ke FQDN ( Fully Qualified Domain Name ) dan dari FQDN ke IP Address. FQDN lebih mudah untuk diingat oleh manusia daripada IP Address. Sebagai contoh, sebuah komputer memiliki IP Address 167.205.22.114 dan memiliki FQDN “nic.itb.ac.id”. Nama “nic.itb.ac.id” tentunya lebih mudah diingat daripada nomor IP Address di atas. Apalagi setelah lahirnya konsep IP Version 6 yang memiliki 6 segment untuk setiap komputer sehingga nomor IP Address menjadi semakin panjang dan lebih sulit untuk diingat. Selain itu, DNS juga menyediakan layanan mail routing, informasi mengenai hardware, sistem operasi yang dijalankan, dan aplikasi jaringan yang ditangani oleh host tersebut.
Pada sistem operasi UNIX, DNS diimplementasikan dengan menggunakan software Berkeley Internet Name Domain (BIND). BIND ini memiliki dua sisi, yaitu sisi client dan sisi server. Sisi client disebut resolver. Resolver ini bertugas membangkitkan pertanyaan mengenai informasi domain name yang dikirimkan kepada sisi server. Sisi server BIND ini adalah sebuah daemon yang disebut named. Ia yang akan menjawab query-query dari resolver yang diberikan kepadanya.
Pada saat BIND dijalankan, ia memiliki 4 modus operasi, yaitu :
Resolver-only
Komputer hanya membangkitkan query informasi domain name kepada sebuah DNS server dan tidak menjalankan fungsi DNS server.
Caching-only
Komputer menjalankan fungsi name server tetapi tidak memiliki database DNS server. Ia hanya mempelajari jawaban-jawaban query yang diberikan oleh remote DNS server dan menyimpannya dalam memory. Data-data dalam memory tersebut akan digunakan untuk menjawab query selanjutnya yang diberikan kepadanya.
Primary server
Komputer menjalankan fungsi name server berdasarkan database yang dimilikinya. Database ini dibangun oleh administrator DNS. Server ini menjadi authoritative source bagi domain tertentu.
Secondary server
Komputer menjalankan fungsi name server berdasarkan database yang diambil dari primary server. Proses pengambilan file database ini sering disebut zone file transfer. Ia juga menjadi authoritative source bagi domain tersebut.
Berikut saya jelaskan bagaimana membuat DNS Server di Ubuntu. Disini saya menggunakan Ubuntu 10.04, IP 10.0.2.15 untuk IP DNS.
Masuk Terminal -> masuk root ( sudo -i) dan ikuti langkah-langkah berikut ini:
1. Instalkan paket bind9 dan dnsutils terlebih dahulu
sudo apt-get install bind9
sudo apt-get install dnsutils
sudo nano /etc/network/interfaces, isikan seperti ini :
iface eth0 inet static
3. Konfigurasi Domain IP Forwarders
sudo nano /etc/bind/named.conf.options
hilangkan tanda double slash (//) pada forwarders, berfunsi untuk mengaktifkan.
address 10.0.2.15
netmask 255.0.0.0
gateway 10.0.2.13. Konfigurasi Domain IP Forwarders
sudo nano /etc/bind/named.conf.options
hilangkan tanda double slash (//) pada forwarders, berfunsi untuk mengaktifkan.
options {
nano /etc/bind/named.conf.local, isikan seperti ini :
zone "rasyid.com" {
5. salin isi file db.local ke db.rasyid.com dan db.127 ke db.192
directory “/var/cache/bind”;
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0′s placeholder.
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0′s placeholder.
forwarders {
10.0.2.15; //alamat IP yang kita buat
};
10.0.2.15; //alamat IP yang kita buat
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
4. edit file /etc/bind/named.conf.locallisten-on-v6 { any; };
};
nano /etc/bind/named.conf.local, isikan seperti ini :
zone "rasyid.com" {
type master;
file "/etc/bind/db.rasyid.com";
};
zone "2.0.10.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};5. salin isi file db.local ke db.rasyid.com dan db.127 ke db.192
sudo cp /etc/bind/db.local /etc/bind/db.rasyid.com (pengacuan name ke ip address)
sudo cp /etc/bind/db.127 /etc/bind/db.192
6. Edit db.rasyid.com
nano /etc/bind/db.rasyid.com, isikan seperti ini :
$TTL 604800
@ IN SOA rasyid.com. root.rasyid.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS rasyid.com.
@ IN AAAA ::1
IN A 10.0.2.15
www IN A 10.0.2.15
ftp IN CNAME rasyid.com.
mail IN A 10.0.2.15
7. Edit db.192
nano /etc/bind/db.192, isikan seperti ini :
$TTL 604800
@ IN SOA rasyid.com. root.rasyid.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS rasyid.com.
2 IN PTR www.rasyid.com.
2 IN PTR mail.rasyid.com.
8. Edit resolv.conf
nano /etc/resolv.conf, isikan seperti ini :
search rasyid.com.
9. Edit hosts
nano /etc/hosts, isikan seperti ini :
127.0.0.1 localhost
$TTL 604800
@ IN SOA rasyid.com. root.rasyid.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS rasyid.com.
@ IN AAAA ::1
IN A 10.0.2.15
www IN A 10.0.2.15
ftp IN CNAME rasyid.com.
mail IN A 10.0.2.15
7. Edit db.192
nano /etc/bind/db.192, isikan seperti ini :
$TTL 604800
@ IN SOA rasyid.com. root.rasyid.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS rasyid.com.
2 IN PTR www.rasyid.com.
2 IN PTR mail.rasyid.com.
8. Edit resolv.conf
nano /etc/resolv.conf, isikan seperti ini :
search rasyid.com.
nameserver 10.0.2.15
9. Edit hosts
nano /etc/hosts, isikan seperti ini :
127.0.0.1 localhost
10.0.2.15 rasyid.com.
127.0.1.1 rasyid-notebookSELESAI !!!!
Restart network interface dan bind9
sudo /etc/init.d/networking restart
sudo /etc/init.d/bind9 restart
Test : nslookup rasyid.com
sudo /etc/init.d/networking restart
sudo /etc/init.d/bind9 restart
Test : nslookup rasyid.com