Perancangan dan Implementasi Sistem DNS Server sebagai DNS ...
Konsep dan Gambaran DNS
Transcript of Konsep dan Gambaran DNS
-
8/14/2019 Konsep dan Gambaran DNS
1/10
Konsep dan Gambaran DNS/BIND
Ketika kita menggunakan komputer yang terhubung ke Internet dan ingin mengakses suatu domain
secara tidak langsung kita telah menggunakan fasilitas DNS. Apakah DNS itu? Apa hubungan DNS
dan BIND? Artikel ini akan memperkenalkan anda pada DNS dan salah satu implementasinya yaitu
BIND.
Domain Name System (DNS)
Sebelum berkenalan dengan BIND, kita harus tahu mengenai DNS. DNS merupakan
sistem berbentuk database terdistribusi yang akan memetakan/mengkonversikan
nama host/mesin/domain ke alamat IP (Internet Protocol) dan sebaliknya dari
alamat IP ke nama host yang disebut dengan reverse-mapping. DNS sangat
berguna sekali dalam jaringan terutama Internet, sistem ini akan memetakan nama
mesin misal pikachu.indolinux.com ke alamat IP misal 202.123.45.6 selain itu juga
penggunaannya sangat luas misal, untuk routing e-mail, telnet, ftp, web, dan lain-
lain.
-
8/14/2019 Konsep dan Gambaran DNS
2/10
Bagaimana jika tidak ada DNS, kepala kita bisa pecah jika harus mengingat ratusan,
ribuan, bahkan jutaan alamat IP di Internet. Kita manusia lebih mudah untuk
mengingat nama daripada alamat IP dengan panjang 32 bit itu. Komputer
menggunakan alamat IP untuk berkomunikasi dan berinteraksi. Bagaimana
menjembataninya? Disitulah gunanya Domain Name System (DNS).
Dengan adanya DNS, informasi hostmenjadi mungkin untuk diakses oleh komputer
di jaringan maupun Internet. Implementasi DNS pada sistem operasi Linux yang
sering digunakan adalah BIND meskipun ada juga salah satu implementasi yang
cukup baru dan juga banyak dipakai yaitu djbdns.
Walaupun banyak sejarah mengenai isu keamanan dan vulnerability-nya, banyak
server DNS di dunia masih menggunakan BIND. Alasan yang mungkin adalah
kebanyakkan para administrator server DNS tersebut lebih familiar dengan BIND
daripada server DNS lain. Seperti halnya dengan penggunaan sendmail yang
notabene merupakan server-mail yang punya konfigurasi cryptic daripada server-
mail lain tetapi masih tetap digunakan dengan alasan familiar dan kebiasaanadministratornya. Pandangan mengenai hal ini saya kembalikan pada administrator
masing-masing lembaga atau perusahaan.
Sejarah DNS
Sebelum adanya DNS, pertama kali tepatnya tahun 1970-an dalam jaringan
ARPAnet (cikal bakal jaringan Internet yang ada sekarang) digunakan pemetaan
dengan bentuk tabel hostpada berkas HOSTS.TXT.
Jaringan dengan HOSTS.TXT pada tiap host-nya
Berkas ini berisi nama host dan alamat IP serta pemetaannya dari seluruh
mesin/komputer yang terhubung dalam jaringan. Ketika ada komputer lain yang
terhubung ke jaringan ARPAnet maka masing-masing komputer dalam jaringan
tersebut harus memperbaharui berkas HOSTS.TXT-nya. Pada saat itu cara meng-
update berkas HOSTS.TXTdengan menggunakan ftp setiap satu atau dua minggu
-
8/14/2019 Konsep dan Gambaran DNS
3/10
sekali. Masalah muncul ketika jaringan ARPAnet yang tadinya kecil tersebut
kemudian menjadi Internet yang semakin hari semakin besar. Kesulitan meng-
update isi berkas HOSTS.TXT karena jumlah nama mesin/komputer yang harus
dituliskan ke berkas tersebut sudah terlalu besar dan tidak efisien.
Lalu muncul ide untuk membuat sistem database terdistribusi yang mempunyaidata mengenai pemetaan nama hostke alamat IP dan sebaliknya. Dengan adanya
pendistribusian database nama host dan alamat IP, maka tiap organisasi yang
memiliki jaringan di dalam domain tertentu hanya bertanggung jawab terhadap
database informasi pemetaan nama hostdan alamat IP pada jaringannya saja yang
biasa disebut zone. Administrasi domain tersebut dilakukan secara lokal tetapi
informasi itu dapat diakses oleh semua komputer di Internet.
Karena sifat database yang terdistribusi ini, maka dibutuhkan suatu mekanisme
pengaksesan informasi bagi host lain pada database yang terdistribusi untuk
menemukan informasi hostatau jaringan yang dipunyai oleh suatu organisasi.Dan
pada tahun 1984, Paul Mockapetris mengusulkan sistem database terdistribusi inidengan Domain Name System (DNS) yang dideskripsikan dalam RFC 882 dan 883.
Sistem ini digunakan sampai sekarang pada jaringan khususnya Internet.
Sistem DNS yang terdistribusi
Struktur dan Cara Kerja DNS
Struktur database DNS sangat mirip dengan sistem-berkas/filesystem UNIX yaitu
berbentuk hierarki atau pohon. Tingkat teratas pada DNS adalah root yangdisimbolkan dengan titik/dot(.) sedangkan pada system berkas UNIX,rootdisimbol
kandengan slash(/).Setiap titik cabang mempunyai label yang
mengidentifikasikannya relatif terhadap root (.). Tiap titik cabang merupakan root
bagi sub-tree/tingkat bawahnya. Tiap sub-tree merupakan domain dan dibawah
domain terdapat sub-tree lagi bernama subdomain. Setiap domain mempunyai
nama yang unik dan menunjukkan posisinya pada pohon DNS,
pengurutan/penyebutan nama domain secara penuh dimulai dari domain paling
-
8/14/2019 Konsep dan Gambaran DNS
4/10
bawah menuju ke root (.). Masing-masing nama yang membentuk suatu domain
dipisahkan dengan titik/dot (.) dan diakhiri dengan titik yang merupakan nama
absolut relatif terhadap root(.).
o Contoh : raichu.cs.mit.edu.
"." merupakan rootdomain
"edu" merupakan Top Level Domain
"mit" merupakan Second Level Domain
"cs" merupakan Third Level Domain
raichu merupakan nama komputer/mesin yang bersangkutan Sistem penulisan nama secara
absolut dan lengkap ini disebut FQDN (Fully Qualified Domain Name).
Hierarki/pohon DNS dan sistem berkas UNIX
Tiap organisasi yang telah mendaftar ke Network Information Center(NIC) akan
mendapatkan nama domain sesuai dengan organisasi tersebut. Nama domain
tersebut bisa dibagi lagi menjadi subdomain sesuai dengan kebutuhan organisasi
tersebut sesuai dengan otorisasi domain. Contoh: InterNIC mempunyai semua Top
Level Domain termasuk com, perusahaan indolinux akan mendaftarkan nama
domain indolinux.com (komersial), maka indolinux diberikan/didelegasikan oleh
InterNIC untuk mengelola domain indolinux.com yang merupakan sub domain daricom. Indolinux dapat membagi lagi domain indolinux.com ke beberapa sub domain
misal pikachu.indolinux.com, raichu.indolinux.com .
Setiap server DNS pada suatu jaringan mempunyai informasi tentang host-host
dalam jaringan tersebut yaitu alamat IP, routing email, server ftp, server web, dsb.
Selain itu tiap hostdalam otorisasi suatu domain juga bisa mendapatkan alias dari
nama host-nya dalam domain di atasnya. misal: iwan.indolinux.com bisa saja
-
8/14/2019 Konsep dan Gambaran DNS
5/10
mempunyai alias (canonical name) pikachu.indolinux.com, dimana kedua domain
tersebut mengacu ke mesin/hostyang sama.
Dengan adanya sistem berbentuk hierarki/pohon ini maka tidak ada nama host
yang sama pada domain/subdomain yang sama, karena masing-masing dari
node/titik-cabang mempunyai nama unik dan tidak boleh ada yang menyamainyakecuali berbeda sub-tree/sub pohon. Tidak akan ada konflik antar organisasi karena
masing-masing organisasi mempunyai domain yang berbeda-beda dan ini diatur
oleh InterNIC untuk TLD.
Misal: indolinux menginginkan nama mesin/host di bawah domain indolinux.com
dengan nama pikachu (pikachu.indolinux.com), sedang 5leaps Software juga
menginginkan nama yang sama untuk salah satu host-nya dengan domain
5leaps.org. Disini tidak akan terjadi konflik karena masing-masing mempunyai
domain sendiri-sendiri. Indolinux mempunyai pikachu.indolinux.com dan 5leaps
Software mempunyaipikachu.5leaps.org.
Seperti dijelaskan di atas, tidak boleh suatu nama/label sama yang berada dalam
domain sama atau mempunyai parent atau sub-tree atas yang sama karena ini
akan membuat konflik pada penamaan domain. Coba bayangkan jika orang tua
yang sama mempunyai dua orang anak dengan nama yang sama. Bagaimana
mereka memanggil satu dari dua anak tersebut? anda pasti tahu jawabannya. Ini
sangat menyulitkan.
Konflik domain
Kedalaman pohon dibatasi sampai level 127, akankah anda menembus batas ini
untuk domain anda? Sepertinya tidak.
Sebuah nama domain adalah nama sub-tree dari domain name-space. Suatu host
diwakili dengan nama domain yang full/penuh termasuk nama mesin/komputer
tersebut, dan hostmengacu pada suatu host/komputer secara individu. Sedangkan
-
8/14/2019 Konsep dan Gambaran DNS
6/10
domain berisi semua host yang berada dibawahnya. Individual host yang berada
pada suatu domain menunjukkan informasi mengenai alamat jaringan, perangkat
keras, routing mail, dsb.
Untuk membedakan nama domain dan subdomain kita ambil contoh:
pikachu.indolinux.com adalah subdomain dari indolinux.com.
stwn.raichu.domain.netadalah subdomain dari raichu.domain.net.
dst.
Top Level Domain (TLD)
Top Level Domain adalah domain pada level teratas di bawah root(.).
Ada tiga pengelompokkan Top Level Domain:
1. Domain GenerikTerdiri atas 7 domain yaitu
1. comUntuk organisasi komersial. contoh: ibm.com,sun.com.
2. net
Untuk organisasi/perusahaan penyedia layanan jaringan/Internet. contoh:internic.net, nsf.net.
3. govUntuk lembaga/organisasi pemerintahan. contoh: whitehouse.gov, nasa.gov.
4. mil
Untuk badan/organisasi militer. contoh: army.mil.5. org
Untuk organisasi non-komersial. contoh: linux.org.
6. eduUntuk lembaga pendidikan. contoh: mit.edu, berkeley.edu.
7. int
Untuk organisasi Internasional. contoh: nato.int.
Selain 7 domain di atas ada lagi 7 domain baru dari ICANN (www.icann.org) yaitu:
8. aeroUntuk industri atau perusahaan udara.
9. biz
Untuk perusahaan atau lembaga bisnis.
10.coopUntuk perusahaan atau lembaga kooperatif
11.infoUntuk penggunaan umum.
12.museum
Untuk museum.13.name
Untuk registrasi bagi penggunaan individual/personal.
-
8/14/2019 Konsep dan Gambaran DNS
7/10
14.pro
Untuk para profesional seperti: akuntan, dan lain-lain.2. Domain Negara
Merupakan standar pembagian geografis berdasarkan kode negara. Contoh: iduntuk
Indonesia, au untuk Australia, ukuntuk Inggris, dan lain-lain.
Domain negara ini dapat dan umumnya diturunkan lagi ke level-level di bawahnya yangdiatur oleh NIC dari masing-masing negara, untuk Indonesia yaitu IDNIC. Contoh level
bawah dari idyaitu net.id, co.id, web.id.
3. Domain ArpaMerupakan domain untuk jaringan ARPAnet. Tiap domain yang tergabung ke Internet
berhak memiliki name-space .in-addr.arpa sesuai dengan alamat IP-nya.
Name-Server dan Zone
Name-server adalah program server yang memiliki informasi mengenai host di
bawah domain tertentu. Name-server mempunyai bagian-bagian informasi
mengenai domain name-space yang dikenal denganzone.Zone ini akan dimuat dariberkas yang disimpannya atau dari server DNS lain. Sebagai contoh domain idbisa
dibagi menjadi beberapazone yaitu ac.id, net.iddan darizone tersebut bisa dibagi
lagi menjadi zone-zone yang lebih kecil misal undip.ac.id, dst. Disini yang
bertanggung jawab ialah organisasi/lembaga yang memiliki domain tersebut.
Pembagian zone
Ada dua tipe dari name-serveryaitu:
1. Primary Master
Primary Mastername-serverbertanggung jawab terhadap suatuzone dengan memuat
informasi dari berkas database pada dirinya sendiri.
-
8/14/2019 Konsep dan Gambaran DNS
8/10
2. Secondary Master (Slave)
Secondary Mastername-servermemuat informasizone dari server lain yang otoritatif
pada suatuzone yang disebut Master Server. Secondary Master akan melakukanzone-
transferdari Master Serveruntuk mendapatkan data/informasi pada suatuzone yang
dikelolanya.
Primary Master dan Secondary Master server DNS
Untuk dapat bekerja name-server membutuhkan resource-record untuk domain
yang dikelola. Resource-record adalah data yang mengacu/menunjukkan pada
informasi mengenai hostpada jaringan atau domain tertentu.
Komponen DNS
DNS sebenarnya merupakan suatu sistem server-client, jadi ada suatu mekanisme
dari client untuk meminta informasi dari server yang akan memberikan informasi
yang diminta sang client. Seperti yang disebutkan di atas program pada server
tersebut sering disebut dengan name-server. Pada client sering disebut dengan
resolver.
DNS mempunyai beberapa komponen yaitu:
1. Resolver
Resolver yaitu suatu rutin pustaka yang akan membuat suatu permintaan/query dan
mengirimkannya lewat jaringan ke sebuah name-server. Program tersebut berjalan padahost yang menginginkan informasi mengenai suatu host di Internet. Resolver juga
menginterpretasikan respon dari name-serverapakah informasi yang diminta merupakanrecordataupun kesalahan.
2. Resolution
Resolution yaitu proses pencarian name-server yang mempunyai tanggung jawab
terhadap suatu domain yang akan diminta. Setelah name-server yang dicari ditemukan
maka server akan memberikan informasi name-server yang bersangkutan kepadapemintanya.
3. CachingCachingyaitu suatu rutin yang akan menyimpan hasil pencarian domain dalam databasedari name-server yang pernah diminta. Time To Live (TTL) merupakan batas waktu
dimana server DNS dapat menyimpan/cachinginfomasi yang pernah dicari.
-
8/14/2019 Konsep dan Gambaran DNS
9/10
Resolver, caching, dan resolution
BIND (Berkeley Internet Name Domain)
BIND merupakan salah satu implementasi dari DNS yang paling banyak digunakan
pada server di Internet. Implementasi DNS pertama adalah JEEVES buatan Paul
Mockapetris. BIND dibuat untuk sistem operasi BSD UNIX 4.3 oleh Kevin Dunlap, tapi
kemudian banyak di-porting ke banyak turunan UNIX termasuk Linux.
BIND sampai sekarang masih dikoordinasi oleh Internet Software Consortium.
Program utama dari BIND adalah bernama named yaitu sebuah daemon yang bila
dijalankan akan menunggu koneksi pada port 53 (default). Koneksi pada port 53 ini
adalah koneksi permintaan informasi pemetaan dari nama domain/mesin ke alamat
IP dan sebaliknya. Jika sebuah server DNS mempunyai otorisasi terhadap suatu
domain maka si server DNS tersebut akan memberikan informasi mengenai nama-
nama mesin/domain yang berada di bawah domain yang dipegangnya.
Misal: server DNS penulis mempunyai otorisasi terhadap domain indolinux.com,
maka ketika ada sebuah komputer dari Internet ingin mengakses
pikachu.indolinux.com, maka sang komputer itu akan menghubungi server DNSpenulis untuk mengetahui informasi alamat IP dari pikachu.indolinux.com. Sang
server DNS akan menjawab permintaan/query dari komputer peminta tersebut
dengan alamat IP yang sesuai kemudian komputer tersebut dapat mengakses
pikachu.indolinux.com melalui alamat IP yang diberikan oleh name-servertersebut.
-
8/14/2019 Konsep dan Gambaran DNS
10/10
Pencarian host pikachu.indolinux.com
Versi terakhir pada saat artikel ini dibuat adalah BIND versi 9.2.1. Sebagian besar distribusi
Linux menyertakan paket BIND. Jadi anda tinggal konfigurasi dan aktifkan saja jika sudahterinstal.
BIND secara umum terdiri dari beberapa berkas yang mendukung yaitu:
1. /etc/resolv.conf
Berkas konfigurasi berisi domain atau alamat IP name-serveryang pertama dicari olehresolverketika sebuah domain/nama mesin diminta untuk dipetakan ke alamat IP.
2. /etc/nsswitch.conf
Berkas konfigurasi sistem untuk melakukan mekanismeswitch sistem database danname-service. Switch dapat melalui berkas, name-server, atau NIS server.
3. /etc/named.conf
Berkas konfigurasi dari BIND yang utama, berisi informasi mengenai bagaimana klienDNS mengakses port 53, letak dan jenis berkas database yang diperlukan. Umumnya
berisi letak berkas konfigurasi name-serverroot, domain, localhost/loopback, danreverse-mapping.
4. /var/named/named.ca
Berkas database name-serverrootyang bertanggung jawab terhadap Top Level Domain
di Internet. Digunakan untuk mencari domain di luar domain lokal. Nama berkas ini bisa
anda definisikan sendiri tetapi tetap harus mengacu ke named.confsebagai berkaskonfigurasi utama dari BIND.
5. /var/named/named.local
Berkas database name-serveruntuk alamat loopback/hostlokal/alamat diri sendiri. Namaberkas ini bisa anda definisikan sendiri tetapi tetap harus mengacu ke named.confsebagai
berkas konfigurasi utama dari BIND.
6. /var/named/db.domain-kita.com
Berkas database name-serveruntuk domain domain-kita.com yang berisi resource record,
informasi nama hostdan alamat IP yang berada di bawah domain domain-kita.com.
Berkas ini bisa lebih dari satu tergantung jumlah domain yang kita kelola. Nama berkas
ini bisa anda definisikan sendiri tetapi tetap harus mengacu ke named.confsebagai berkaskonfigurasi utama dari BIND.
7. /etc/rndc.conf
Berkas konfigurasi program rndc yaitu suatu program untuk administrasi dan kontrol
operasi name-serverBIND.