Konsep dan Gambaran DNS

download Konsep dan Gambaran DNS

of 10

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.