DNS server dengan Slackware (bag 1)

Sumber :
- http://www.layangan.com/asfik/writings/dns-bind.html
- http://antzon.wordpress.com/2006/03/01/konsep-dan-cara-kerja-dns/
- http://tundra.web.id/?p=323
- Lim Afriyadi (http://afriyadilim.blogspot.com)



Lagi belajar DNS,ditelusuri satu persatu manual reference dengan ditemani oleh mbak google(masa ditemenin om ??) dan sedikit petuah dari seorang sahabat,maka diracik dan diramu yang tadi di dapat kan.untuk dibuat manual yang semoga bisa dimengerti orang banyak bukan cuma saya aja.. mari kita mulai.bismillah..


Coba Anda perhatikan alamat-alamat dibawah ini:
216.239.61.104
209.131.36.158
Apakah Anda mengenali alamat-alamat yang tertera di atas itu dan ketika Anda menuliskan alamat berupa angka itu di URL Browser apakah yang akan terjadi, pastinya Anda akan diarahkan ke suatu situs. Jika suatu saat Anda diminta kembali untuk membuka situs tersebut apakah Anda masih mengingat alamatnya?
Jika saya menuliskan alamat-alamat di atas dalam bentuk seperti:
216.239.61.104 = www.google.com
209.131.36.158 = www.yahoo.com
Tentunya Anda akan lebih mudah mengingat situs-situs tersebut dibandingkan harus menghafal alamat berdasarkan IP. Kita tidak perlu mengetahui penamaan asli berbasis angka (alamat IP) tetapi cukup dengan nama atau istilah yang dipahami oleh kita. Anda bisa bayangkan betapa rumitnya jika harus menghafal nama-nama mesin dalam jaringan dalam bentuk angka.


Pada jaringan internet, sebagaimana Anda pahami sampai saat ini, sebetulnya pengalamatan sebuah komputer menggunakan angka yang dikenal sebagai Internet Protocol (IP) Address yang terdiri dari 32 bit bilangan biner. Tentunya akan sukar bagi kita / user untuk mengingat sekian juta komputer di seluruh Internet dengan pengalamatan angka sebagaimana dijelaskan di atas. Untuk itu dikembangkan penamaan mesin yang lebih manusiawi menggunakan konsep Domain Name System (DNS).
DNS adalah salah satu jenis sistem yang melayani permintaan pemetaan IP Address ke FQDN (Fully Qualified Domain Name) dan FQDN ke IP Address. FQDN lebih mudah untuk diingat oleh manusia daripada IP Address. Tidak semua orang bisa menghafalkan 216.239.61.104, dan akan lebih mudah jika menghafalkan www.google.com.
DNS ditemukan oleh Paul Mocapetris pada tahun 1983. Spesifikasi asli muncul di RFC 882 dan 883. Tahun 1987 penerbitan RFC 1034 dan RFC 1035 membuat update terhadap spesifikasi DNS. Tentunya RFC 882 dan RFC 883 tidak berlaku lagi.
Jadi siapa yang memerlukan DNS? Tentunya Anda sebagai pengakses internet, tetapi sebagai pengakses internet tidak perlu membuat DNS Server, karena bisa menggunakan DNS server yang disediakan oleh ISP. Pengguna DNS selanjutnya tentu saja adalah ISP, dan mereka yang mengelola domain dan webserver.
Sebagai contoh, ketika Anda memasukkan alamat http://www.google.com, sebenarnya ada beberapa proses yang dilalui hingga halaman web ditampilkan di Web Browser Anda. Pada saat Anda memasukkan alamat tersebut, terlebih dahulu nama alamat akan dikirimkan ke DNS Server yang menangani host dan domain alamat tersebut untuk mencari berapa sebenarnya alat IP yang digunakan (Anda ingat, semua komputer di internet menggunakan IP Address untuk berkomunikasi dan bukan nama). Setelah menemukan alamat IP barulah kemudian halaman website yang diminta dikirim ke Web Browser.
Pada sistem operasi Linux, 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 (baca: name di). Ia yang akan menjawab query-query dari resolver yang diberikan kepadanya.

Cara kerja DNS

Ketika anda melakukan query (bisa berupa ping, ssh, dig, host, nslookup, email, dan lain sebagainya) ke sebuah host misalnya durmagati.ee.kurowo.edu maka name server akan memeriksa terlebih dahulu apakah ada record host tersebut di cache name server lokal. Jika tidak ada, name serverlokal akan melakukan query kepada root server dan mereferensikan name server untuk TLD .edu , name server lokal kembali melakukan query kepada name server .edu dengan jenis query yang sama dan mereferensikan kurowo.edu . Name server lokal kembali melakukan query ke name server kurowo.edu dan mereferensikan query selanjutnya ke name server lokal yaitu ee.kurowo.edu . Kemudian name server lokal melakukan query kepada name server lokal yaitu ee.kurowo.edu dan akhirnya mendapatkan jawaban address yang diminta. Penamaan host durmagati.ee.kurowo.edu mungkin bisa diartikan nama sebuah komputer (durmagati) pada Electrical Engineering Department (ee) pada Universitas Kurowo (kurowo.edu) , mungkin juga salah :)


Jadi dianalogikan seperti ini, mudah- mudahan lebih mudah dimengerti
si DNS itu di ibarat kan Petugas Pelayanan Umum,yang fungsi nya memberikan penjelasan dan mencari apa saja yang dibutuhkan masyarakat.


Misal: Datang si Amir, seorang pencari kerja di Kota yang datang dari kampung,dan dia hanya berbekal Nama saudara nya saja,lalu ia bertanya ke petugas (DNS)


contoh:forward
Amir :”Mas mas permisi, tau alamat nya Karjo ndak,?yang tinggal di KebayoranLama.”
Petugas:”Sebentar ya mas,nanti saya cari dulu”
Petugas:”Ada nih alamat nya karjo di Rt.15/05 no 38”
Amir:”Oh makasih ya mas
contoh diatas mencari dengan hostname
ex: nslookup karjo


contoh : reverse
Amir:”Pagi Mas,Anu mas,Maaf mau nanya lagi nih,ndak apa apa kan mas?klo no KTP 12456789 punya siapa ya mas”nslookup (ip)
Petugas:”Oalah Mas,mas, keJakarta kok cuma bawa nomor KTP.”
Petugas:”Bentar,saya cariin.ada nih ternyata milik si Ponijan alamat nya di Serpong”
contoh diatas mencari dengan IP
ex: nslookup 123456789


tehnical nya gini:
bash-3.1$ nslookup google.com (dns akan mencari ip dengan hostname google)
bash-3.1$ nslookup 202.154.63.2 (dns akan mencari hostname dengan ip 202.154.63.2 )


baik lanjut kan kebagian konfigurasi.

lanjutkan Baca Selengkapnya..




Contoh kasus kita akan membuat DNS dengan nama Kuragurun.org dengan

  • Hostname : ns1


  • Nama Domain : kuragurun.org

  • Nama DNS Server : ns1. kuragurun.org

  • IP DNS : 192.168.2.1
  • Nama Mail Server : mail. kuragurun.org
  • IP Email: 192.168.2.2
A. Ada beberapa file yang akan kita config :
  1. /etc/resolv.conf
    Berisi alamat Domain atau alamat IP dari name server.

  1. /etc/named.conf
    Berisi keterangan letak dan jenis databases yang dibutuhkan oleh BIND

  1. /etc/hosts
    Berisi data hostname si mesin

B. File Zone yang akan kita buat
1. ns1.192.168.2 (reverse)
2. ns1.kura2gurun.org (forward)






##########################################



A.configurasi
bash-3.1# vim /etc/named.conf



#options {
# directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
#};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "/var/named/caching-example/named.root";
};




zone "localhost" IN {
type master;
file "/var/named/caching-example/localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "/var/named/caching-example/named.local";
allow-update { none; };
};

zone "kuragurun.org" IN {
        type master;
        file "/var/named/ns1.kuragurun.org";
        allow-update { none; };
};

#reverse zone
zone "2.168.192.in-addr.arpa" IN{
       type master;
       file "ns1.192.168.2";
       allow-update { none; };
};





1. Blok Pertama
options {
directory “/var/named”;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
Blok ini merupakan global seting dari bind, direktory “/var/named” adalah direktori kerja dari bind, di direktori tersebut ditempatkan file-file konfigurasi domain yang biasa disebut zone (Perintah zone digunakan untuk menunjukkan domain yang dilayani oleh name server). Baris ini memberitahukan kepada Server BIND dimana file-file zona disimpan.
Pada contoh diatas,saya me-remark options ini,karena penunjukan database zone nya,saya menggunakan Absolute Path langsung ke /var/named/


2. Blok Kedua
zone “.” IN {
type hint;
file “/var/named/caching-example/named.root”;
};
Blok ini merupakan blok root zone atau kasarnya alamat-alamat dari domain-domain international. Kita membutuhkan blok root zone ini.
3. Blok Ketiga
zone “localhost” IN {
type master;
file “/var/named/caching-example/localhost.zone”;
allow-update { none; };
};
Blok ini adalah forward localhost, dalam artian jika dns server mendapatkan perintah untuk mengetahui alamat ip dari localhost maka bagian blok ini yang mengurusnya. Dengan kata lain yang berhak mengontrol server named adalah localhost.
4. Blok Keempat adalah Blok Tambahan
zone “0.0.127.in-addr.arpa” IN {
type master;
file “/var/named/caching-example/named.local”;
allow-update { none; };
};
Baris-baris dibawah ini menyatakan bahwa kita akan mendefinisikan DNS server sebagai Primary Name Server untuk domain kuragurun.org dan file-file forward adalah nama file yang merupakan zona file dari domain kuragurun.org Ini nama domain Anda yang di daftarkan di /etc/named.conf.
#Baris diatas untuk menterjemahkan FQDN ke IP Address (Forward Zone) dengan domain 
 
zone “kuragurun.org” IN {
type master;
file “/var/named/ns1.kuragurun.org ”;
allow-update { none; };
};
Baris-baris dibawah ini adalah berisi reverse DNS Zone. Ini diperlukan agar DNS Server Anda dapat menterjemahkan dari nomor IP Address ke mana host pemilik IP Address dalam jaringan.
#Baris untuk menterjemahkan IP Address ke FQDN
#reverse Zone
zone “2.168.192.in-addr.arpa” IN {
type master;
file “/var/named/ns1.192.168.2″;
allow-update { none; };
};
#Setelah konfigurasi file named.conf jangan lupa untuk melakukan konfigurasi file zone.





Sebelumnya kita akan merubah hostname mesin yang akan dijadikan DNS server
bash-3.1# vim /etc/hosts
#
# hosts This file describes a number of hostname-to-address
# mappings for the TCP/IP subsystem. It is mostly
# used at boot time, when no name servers are running.
# On small systems, this file can be used instead of a
# "named" name server. Just add the names, addresses
# and any aliases to this file...
#
# By the way, Arnt Gulbrandsen says that 127.0.0.1
# should NEVER be named with the name of the machine. It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)
#





# For loopbacking.
127.0.0.1 localhost
192.168.2.1 ns1.kuragurun.org ns1
# End of hosts.









Rubah Alamat Domain atau IP server
bash-3.1# vim /etc/resolv.conf
search kuragurun.org
nameserver 192.168.2.1




atau bisa dilakukan dengan cara mudah dengan jalan kan ini:
bash-3.1# netconfig







BERSAMBUNG

Comments