Dasar Dasar DNS Panduan Linux Ubuntu

442 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu yang yang dikenal dengan nama Domain Name System DNS. Domain Name System berhasil memecahkan masalah yang dihadapi dengan penggunaan file HOSTS.TXT, dimana DNS bisa membuat administrasi data secara lokal bisa tersedia secara global, penggunaan sistem hierarki dalam penamaan sehingga sangat tidak mungkin ada nama domain yang sama, dengan desentralisasi administrasi menghindari terjadinya bottle-neck pada server yang menyediakan service ini, memudahkan didalam melakukan management data karena dilakukan secara lokal tidak terpusat seperti halnya HOSTS.TXT. Domain Name System merupakan sebuah database terdistribusi dengan format penamaan yang memiliki hierarki yang terlihat seperti tree. Pada level paling atas disebut dengan root node yang ditandai dengan . titik. Pada level yang selanjutnya disebut dengan Top Level Domain TLDs, level yang berada dibawah TLDs disebut dengan Second Level Domains SLDs, dan begitu seterusnya yang dipisahkan oleh sebuah . titik. TLDs sendiri terbagi dua yaitu: Generic Top Level Domains gTLDs, gTLDs di atur oleh ICANN Internet Corporation for Assigned Numbers and Names. gTLDs yang tersedia sampai saat ini adalah .arpa, .com, .edu, .gov, .int, .mil, .net, .org, .aero, .biz, .coop, .info, .museum, .name, .pro Country Code Top Level Domains ccTLD, domain ini menggunakan dua huruf yang didefenisikan pada ISO 3166 sebagai singkatan sebuah negara, contohnya .id untuk Indonesia. Domain ini juga di atur oleh ICANN. Domain itu sendiri adalah sebuah node yang ada pada hierarki dari DNS beserta dengan node yang berada dibawahnya. Domain name merupakan gabungan dari SLDs dan TLDs yang dibaca dari kiri ke kanan dari level paling rendah ke level paling tinggi, contohnya capoex.net. Sebuah domain yang di tulis lengkap dengan nama hostnya disebut dengan Full Qualified Domain Name FQDN, contohnya www.capoex.net. FQDN selalu diakhiri dengan tanda titik, meskipun pada saat kita mengetikkan pada browser tidak harus memberikan tanda titik setelah TLDs, dimana www disini mengacu kepada host name. DNS Server 443 Domain Authority merupakan suatu organisasiorang yang bertanggung jawab dalam memanajemen dan menjalankan sebuah titiknode yang ada pada hierarki nama domain system. Server yang didelegasikan untuk node ini disebut authoritative terhadap node yang ditanganinya. ICANN Internet Corporation for Assigned Number and Names merupakan organisasi yang memiliki authority untuk root domain. Authority dari node bisa melakukan desentralisasi beberapa bagian authority tersebut untuk level yang lebih rendah pada hierarki DNS tree, yang disebut dengan delegasi. Untuk melihat delegasi ini, kita bisa membaca domain name dari kiri ke kanan dari level terendah ke tertinggi. Bagian dari delegasi ini disebut dengan zona pada Domain Name System. Sebagai contoh perhatikan domain .com yang terbagi kedalam banyak zona seperti google.com, yahoo.com dan sebagainya. Registry Operator merupakan operator yang memiliki kontrak dengan ICANN untuk menjalankan authoritatuve gTLDs DNS server. Hanya ada satu registry operator untuk setiap gTLDs. Accredited Registrar merupakan suatu organisasi yang diberikan delegasi tanggung jawab secara terbatas oleh ICANN untuk menjual dan administrasi bagian dari hierarki penamaan domain. Name server yaitu rserver yang menjalankan program DNS. Resolver merupakan program atau library pada client yang melakukan query pada name server. DNS memiliki struktur dan implementasi yang sama seperti pendelegasian dari domain name. Dimana ada name server pada setiap level delegasi yang dijalankan oleh organisasi yang authoritative terhadap domain tersebut. Root name server merupakan resource yang paling penting, dimana name server lain diseluruh dunia akan melakukan query pada Root name server untuk domain name yang tidak diketahuinya. Saat ini ada 13 root name server yang tersebar diseluruh dunia, yang diberi nama a.root-name-server.net sampai m.root-name-server.net. Untuk DNS TLDs dijalankan oleh berbagai jenis organisai dibawah persetujuan ICANN. User Domain DNS yang diberikan delegasi untuk memiliki authority terhadap domain name tersebut bertanggung jawab didalam menjalankan name server. 444 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Gambar 18.1 DNS tree User domain DNS ini bisa berupa ISP, perusahaan web hosting, dimana minimal harus ada dua name server untuk sebuah domain name. Pada saat sebuah name server tidak bisa menjawab request dari resolver, maka name server ini akan menghubungi root name server, dimana nanti nya akan memberikan referral untuk TLD yang sesuai. Perhatikan contoh berikut, jika kita ingin menghubungi google.com, maka proses nya adalah: 1. client mengetikkan pada browser www.google.com, selanjutnya resolver akan menghubungi name server yang diberikan pada settingan networking dari system tersebut. Ketika name server meneriman permintaan ini, name server akan membaca secara terbalik mulai dari level tertinggi www.google.com memiliki FQDN www.google.com. memiliki tanda titik setelah com, untuk itu name server akan menghubungi root name server untuk menanyakan TLDs dari domain ini yaitu com, root name DNS Server 445 server akan memberikan alamat IP name server yang memiliki authority untuk com, selanjutnya dengan informasi tersebut name server akan menghubungi name server com untuk menanyakan informasi mengenai SLDs yaitu google. 2. Name server com akan memberikan alamat IP untuk domain google.com, kemudian name server akan kembali menghubungi name server domain google.com untuk menanyakan alamat IP dari host www.googl.com. Ketika name server memperoleh alamat IP ini selanjutnya IP tersebut dikembalikan pada browser yang melakukan permintaan www.google.com. Selanjutnya browser akan menghubungi alamat IP yang diberikan oleh name server tadi. Alamat IP yang telah di ketahui tadi akan disimpan pada cache oleh name server, sehingga jika ditanyakan kembali maka name server akan mengambil informasi tersebut dari cache nya tidak menanyakan lagi kepada root name server. Cache pada name server memiliki jangka waktu tertentu, jika jangka waktu ini expire, dan client kembali menanyakan alamat www.google.com prosesnya akan kembali seperti awal tadi. Komponen-komponen pada Domain Name System Zona files, yaitu data yang mendeskripsikan sebuah domain. Sebuah name server bisa memiliki authority untuk nol atau lebih domain. Data untuk setiap domain atau zona memberikan deskripsi mengenai domain dan host serta service yang ada pada domain tersebut. Data ini disediakan dalam bentuk teks yang disebut dengan Resource Records RR. Jadi zona bisa dikatakan suatu node pada delegasi domain yang memiliki resource records. Domain yang yang memilik RR ini bisa sekaligus menjadi zona. Name Server program. Sebuah name server akan membaca file zona dari sebuah domain yang menjadi tanggung jawabnya. Bisa dikonfigurasi untuk menjadi authority name server, caching, dan forwarding name server. Resolver program atau library. Resolver terdapat pada setiap host yang akan melakukan query pada DNS server. 446 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Zona file menterjemahkan domain name kedalam kesatuan operasional seperti hosts, mail server dan karakteristik lain yang digunakan oleh DNS server. Pada zona file terdapat Resource Records RR yang memberikan deskripsi mengenai domain dan subdomain, resources records yang terdapat pada sebuah zona files terdiri atas: Start of Authority Resource Records SOA RR, merupakan data yang mendeskripsikan zona authority. RR ini wajib ada pada seluruh zona file. Address Resource Records A RR, untuk mendefenisikan host yang ada pada zona Data yang mendeskripsikan informasi umum sebuah zona seperti Mail Exchanger Resource Records MX RR untuk mail server bagi domain tersebut serta Name Server Resource Records NS RR untuk mendeskripsikan name server yang bertanggung jawab pada domain tersebut. NS RR untuk name server yang bertanggung jawab terhadap suatu subdomain jika melakukan delegasi untuk subdomain. Data yang berisikan informasi agar name server dapat menjangkau subdomain name server yang berupa Address Resources Record A RR. Record ini disebut juga dengan glue record. Bentuk umum penulisan dari sebuah zona file adalah: Comments: Semua komentar pada zone file diawali oleh tanda ; titik koma Directives: Directive selalu diawali dengan tanda yang digunakan untuk mengontrol proses pada zona file Resource Records: Records yang digunakan untuk mendefenisikan karakteritik, properties atau kesatuan yang terdapat dalam sebuah domain. RR selalu didefenisikan dalam satu baris kecuali untuk entry yang berada pada tanda kurung bisa di tulisa dalam beberapa baris. Contoh dari zona file ; baris ini akan dianggap sebagai komentar DNS Server 447 TTL 86400 ; baris direktif TTL ORIGIN scorvia.or.id. ; baris direktif origin IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. 2007111800 ; serial number 12h ; refresh 15m ; retry 3w ; expiry 2h ; minimum ; name server RR untuk domain scorvia.or.id IN NS ns1.scorvia.or.id. ; sekunder name server IN NS ns2.scorvia.or.id. ; mail server RR 3w IN MX 10 mail.scorvia.or.id. ;domain hosts dan NS serta MX records IN A 192.168.0.253 ns1 IN A 192.168.0.253 ns2 IN A 192.168.0.252 mail IN A 192.168.0.251 ftp IN A 192.168.0.250 www IN CNAME ns1.scorvia.or.id. Format waktu yang digunakan pada zona file pada RFC 1035 menggunakan detik, akan tetapi kita bisa menggunakan format menit, jam, hari, minggu, tahun yang digunakan oleh BIND. Untuk mengatur spasi pada zona file biasanya digunakan TAB. Isi dari sebuah zona file adalah: TTL direktif Time To Live, merupakan nilai untuk zona atau domain, waktu yang terdapat pada direktif ini akan menjadi lama 448 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu waktu yang akan digunakan untuk meng-cache RR domain tersebut oleh DNS server yang lain. Direktif ini harus ada pada sebuah zona file. Format: TTL waktu Nilai waktu ini bisa dalam detik, jam, hari, atau minggu. Direktif ini menentukan karakteristik operasional sebuah DNS server seperti Access load , semakin kecil TTL, maka semakin tinggi access loadnya, Change propagation , nilai TTL ini merepresentasikan waktu maksimum yang dibutuhkan agar sebuah setiap perubahan pada zona file dari suatu name server akan tersebar kepada seluruh user. TTL direktif harus ditulis sebelum RR yang lain. ORIGIN direktif, untuk domain name dari zona yang didefenisikan, bersifat opsional. Format: ORIGIN domain_name Domain name harus ditulis dalam FQDN yang diakhiri dengan tanda titik, contoh ORIGIN scorvia.or.id. Start of Authority SOA RR. Merupakan RR yang harus menjadi RR pertama dari sebuah zona file. SOA RR ini bersifat wajib pada zone file, yang mendeskripsikan karakteristik global dari zona atau domain. Hanya boleh ada satu SOA RR pada zona file. Format: name ttl class rr name_server email serial_number refresh retry expiry minimum RR ini bisa ditulis dalam satu baris atau multiple line, jika ditulis multiple line harus menggunakan tanda kurung. Contoh penulisan satu baris IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. 2007111800 12h 15m 3w 2h Contoh penulisan multiple line IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. 2007111800 ; serial number 12h ; refresh 15m ; retry 3w ; expiry DNS Server 449 2h ; minimum Catatan: Pada penulisan diatas baris “ IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. “ seperti ditulis dalam dua baris karena keterbatasan lebar buku ini, pada penulisan yang sebenarnya harus ditulis dalam satu baris. digunakan untuk menggantikan dari domain untuk zona yang bersangkutan. Pada contoh diatas digunakan untuk menggantikan domain scorvia.or.id., jika ingin ditulis akan menjadi scorvia.or.id. IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. 2007111800 12h 15m 3w 2h ttl , karena tidak didefenisikan akan menggunakan nilai yang ada pada direktif dari TTL class disini digunakan IN untuk Internet. name_server mendefenisikan primary master dari name server untuk zona tersebut. Pada contoh adalah ns1.scorvia.or.id. , dimana ns1 adalah nama host tempat name server ini dijalankan. email , untuk alamat administrasi email dari zona. Biasanya digunakan hostmaster, root. Pada contoh ditulis hostmaster.scorvia.or.id. serial_number , digunakan pada saat transfer zona. Serial number ini harus di update setiap kali ada perubahan pada domain, agar slave name server bisa mengetahui perubahan yang terjadi dan melakukan transfer zona file. Format umum nya adalah YYYYMMDDSS YYYY untuk tahun, MM untuk bulan, DD untuk tanggal, SS untuk nomor urut sebuah zona file dirubah, bisa juga menggunakan nilai jam refresh , waktu yang digunakan oleh slave name server untuk mencoba membaca SOA RR pada master name server. retry , selang waktu yang digunakan oleh slave server untuk menghubungi master name server jika pada waktu refresh yang ditentukan slave server gagal menghubungi master name server. expiry , jangka waktu yang menentukan sebuah zona records menjadi tidak valid 450 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu minimumnegativE ttl , digunakan untuk negative respons bisa di cache oleh slave. Name Server NS RR. Mendefenisikan name server yang authoritative untuk zona atau domain. Harus terdapat dua atau lebih NS RR untuk sebuah domain pada zona file. Merupakan RR yang harus ada. Formatnya: name ttl class rr name Contoh IN NS ns1.scorvia.or.id. IN NS ns2.scorvia.or.id. Pada contoh diatas, field untuk name kosong, yang berarti akan digantikan oleh nilai dari name field dari nilai saat ini, disini merupakan nilai dari SOA RR. Jika ingin ditulis lengkap bisa seperti ini scorvia.or.id. IN NS ns1.scorvia.or.id. scorvia.or.id. IN NS ns2.scorvia.or.id. ttl karena tidak didefenisikan akan menggunakan nilai dari direktif TTL class , disini menggunakan IN untuk internet name , untuk name server yang authoritative untuk domain tersebut. Harus menggunakan format FQDN jika tidak menggunakan direktif ORIGIN. Mail Exchanger MX RR. Mendefenisikan mail server yang digunakan oleh zona. Berisfat opsional, jadi bisa ada nol atau lebih MX RR pada sebuah zona file. Formatnya: name ttl class rr preference name Contoh penulisannya 3w IN MX 10 mail.scorvia.or.id. name , karena tidak didefenisikan akan digantikan oleh scorvia.or.id. ttl , disini diberikan nilai 3w untuk 3 minggu class , disini menggunakan IN untuk Internet. DNS Server 451 preference , pada contoh diberi nilai 10. Preference berkaitan dengan prioritas dari sebuah mail server. Semakin kecil nilai preferences akan semakin tinggi prioritasnya. name , mendefenisikan mail server untuk domain yang bersangkutan. Address A RR. Untuk mendefenisikan IPv4 address dari semua host atau services yang terdapat pada sebuah zona. Bersifat opsional. Untuk IPv6 gunakan AAAA RR. Format: name ttl class rr ipv4 Contohnya ns2 IN A 192.168.0.252 name , bisa menggunakan FQDN atau nama host, pada contoh diatas bisa ditulis ns2.scorvia.or.id. IN A 192.168.0.252 ttl , karena tidak didefenisikan akan menggunakan direktif TTL class , menggunakan IN untuk Internet ipv4 , IP address dari host, disini IP address dari host ns2 yaitu 192.168.0.252 Nama yang didefenisikan pada records NS dan MX RR harus memiliki korespondensi dengan A RR, pada contoh paling atas adalah ns1, ns2 dan mail harus memiliki A RR. CNAME RR. Mendefenisikan alias RR, sehingga satu host atau service bisa didefenisikan untuk menjadi nama alias bagi host yang lain. Bersifat opsional. Format: name ttl class rr canonical-name Contohnya www IN CNAME ns1.scorvia.or.id. name , bisa menggunakan FQDN atau non FQDN, seperti www ttl , karena tidak didefenisikan akan menggunakan nilai dari TTL class , menggunakan IN untuk Internet rr , untuk resource record disini menggunakan CNAME canonical-name , mendefenisikan bahwa www.scorvia.or.id merupakan alias untuk host ns1.scorvia.or.id. 452 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Aturan dalam penggunaan CNAME adalah, jika nama tersebut sudah disebutkan pada bagian kanan dari RR MX dan NS, maka tidak boleh disebutkan lagi pada bagian kiri dari CNAME RR. Contoh berikut merupakan penulisan CNAME yang salah pada zona file dari DNS IN NS ns1.scorvia.or.id. ns1 IN CNAME www.scorvia.or.id. www IN A 192.168.0.253 Contoh yang benar adalah IN NS ns1.scorvia.or.id. ns1 IN A 192.168.0.253 www IN CNAME ns1.scorvia.or.id. Pointer PTR RR, digunakan hanya untuk reverse-mapping zona. Untuk menterjemahkan IPv4 kedalam sebuah nama. Format: name ttl class rr name Contohnya 253 IN PTR ns1.scorvia.or.id. 252 IN PTR ns2.scorvia.or.id. name , berupa angka untuk alamat IP, disini ditulis 253 dalam bentuk non FQDN, jika ingin ditulis dalam format FQDN format akan menjadi 253.0.168.192.IN-ADDR.ARPA. ttl , karena tidak didefenisikan, akan menggunakan nilai dari TTL class , menggunakan IN untuk Internet rr , menggunakan adalah PTR pointer name , mendefenisikan nama dari alamat IP. Jika ada query untuk 192.168.0.253, akan memberikan alamat ns1.scorvia.or.id. Nama yang ditulis harus dalam bentuk FQDN Hanya boleh satu IPv4 yang dimapping kedalam host name menggunakan PTR RR. Contohnya, dari zona file DNS Server 453 ns1 IN A 192.168.0.253 www IN CNAME ns1.scorvia.or.id. atau ns1 IN A 192.168.0.253 www IN A 192.168.0.253 hanya boleh ditulis salah satu dari host tersebut untuk alamat IP nya pada PTR, berikut ini merupakan contoh penulisan yang salah 253 IN PTR ns1.scorvia.or.id. 253 IN PTR www.scorvia.or.id. Penulisan yang benar adalah 253 IN PTR ns1.scorvia.or.id. atau 253 IN PTR www.scorvia.or.id. Penulisan PTR ini harus diperhatikan terutama untuk mail server. Jika host yang digunakan untuk mail server juga digunakan untuk web server dengan menggunakan CNAME, maka pada PTR RR yang harus didefenisikan adalah mail server bukan CNAME nya. Contoh nya mail IN A 192.168.0.253 www IN CNAME mail.scorvia.or.id. atau mail IN A 192.168.0.253 www IN A 192.168.0.253 Maka pada PTR RR, harus ditulis 253 IN PTR mail.scorvia.or.id. Text TXT RR, untuk mendefenisikan text yang pada zona file. scorvia.or.id IN TXT Domain scorvia GuiLd NSEC, RRSIG, DS, DNSKEY, KEY Resource Records, digunakan untuk konfigurasi secure DNS DNSSEC 454 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Service SRV RR, digunakan untuk menterjemahkan service kedalam host. DNS secara default menggunakan port 53 port ini bisa diganti pada konfigurasi dari program name server yang digunakan, dengan block size dibatasi hingga 512 bytes untuk querynya menggunakan port UDP 53. Sedangkan port TCP 53 biasanya digunakan untuk zona maintenance. Jenis-jenis query pada DNS: Recursive queries. Pada query ini name server akan melakukan seluruh operasi yang diperlukan untuk mengembalikan jawaban secara lengkap untuk client. Menjawab query secara recursive melibatkan banyak name server. Sebuah name server tidak harus mendukung model query ini. Cara kerja query ini kurang lebih terlihat seperti berikut ini. Client menggunakan aplikasi seperti browser untuk membuka alamat www.google.com, request ini dikirimkan oleh browser pada resolver yang terdapat pada client. Selanjutnya resolver akan mengirimkan query pada DNS server lokal yang tercantum pada settingan jaringan dari system yang digunakan oleh client bisa DNS server LAN atau DNS server dari ISP yang anda gunakan. DNS server lokal akan melihat pada cachenya, jika tidak ada pada cache, DNS server lokal akan mengirimkan query pada root name server untuk menanyakan alamat IP dari www.google.com. Kita tahu root name server ada 13, bagaimana DNS server lokal menentukan root name server mana yang akan dihubungi? Jika ada lebih dari satu name server yang tersedia, maka name server akan dihubungi menggunakan metode round-trip time RTT yang menyimpan waktu respon untuk query dari setiap name server. Name server dengan RTT terendahlah yang akan dipilih oleh DNS server lokal. Root name server hanya akan memberikan daftar alamat name server yang authoritative untuk gTLD .com Root name server hanya mensupport query iterative. Selanjutnya DNS server lokal akan memilih salah satu alamat dari daftar gTLD yang diberikan, dan mengirimkan query untuk www.google.com pada alamat yang dipilih. gTLDs name server sama seperti root name server hanya mensupport query iterative dan akan memberikan daftar alamat DNS DNS Server 455 server yang authoritative untuk google.com. DNS server lokal selanjutnya akan mengirimkan query pada DNS server dari google.com untuk menanyakan alamat www.google.com DNS server authoritative dari google.com akan melihat pada zona file untuk alamat IP dari www.google.com, dan memberikan alamat IP dari www.google.com sebagai jawaban dari query oleh DNS server lokal tadi. DNS server lokal akan mengirimkan jawaban ini kepada client yang melakukan request. Selanjutnya resolver akan mengirimkan www.google.com=64.233.167.99 pada browser client, dan browser akan mengirimkan request pada 64.233.167.99 untuk membukan web page dari www.google.com Iterative Non Recursive queries. Pada query ini, jika name server memperoleh suatu query dari client, jawaban akan diberikan jika name server tersebut sudah memiliki jawabannya. Jika name server tidak memiliki jawaban terhadap query ini maka akan mengembalikan informasi yang memberitahukan kepada client. Name server pada iterative mode tidak akan membuat request kepada name server lain untuk mendapatkan jawaban yang dibutuhkan. Proses dari query iterative kurang lebih seperti ini: Client mengetikkan alamat www.google.com pada browser, selanjutnya resolver pada client akan mengirimkan query pada DNS server lokal. DNS lokal akan melihat pada cache, jika tidak tidak ditemukan maka DNS server lokal akan memberikan daftar root name server yang bisa dihubungi DNS server lokal tidak akan menghubungi root name server, hanya akan memberikan referral saja pada client. Resolver pada client akan mengirimkan query pada root name server untuk menanyakan alamat IP dari www.google.com. Root name server akan memberikan daftar alamat name server yang authoritative untuk gTLD .com. Resolver akan memilih salah satu dari daftar yang diberikan oleh root name server, dan melakukan query. gTLD akan memberikan alamat name server yang authoritative untuk google.com Dari daftar yang diberikan oleh gTLD name server, resolver akan melakukan query pada name server google.com untuk menanyakan alamat dari IP www.google.com 456 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Name server yang authoritative untuk google.com kemudian akan memberikan alamat IP dari www.google.com, resolver kemudian akan mengirimkan www.google.com=64.233.167.99 pada browser. Selanjutnya browser akan melakukan request pada 64.233.167.99. Dari proses diatas terlihat bahwa untuk query recursive akan dilakukan oleh DNS server sampai dia mendapatkan jawaban yang lengkap, berbeda dengan query iterative dimana DNS server hanya akan memberikan referral untuk alamat root name server, dan mempersilahkan resolver untuk menghubungi sendiri alamat tersebut untuk memperoleh jawaban. Reverse Mapping Reverse mapping yaitu pemetaan alamat IP kedalam sebuah nama, seperti melakukan trace terhadap sebuah IP spammer, cracker. Dan juga mail system menggunakan reverse mapping didalam menyediakan authentication yang sederhana menggunakan DNS lookup untuk mengkonfirmasi bahwa IP tersebut memang merepresentasikan host yang bersangkutan. Query DNS reverse mapping dilakukan dengan cara recursive atau iterative query menggunakan spesial domain name yang disebut dengan IN- ADDR.ARPA gTLD nya adalah .ARPA dan SLD .IN-ADDR, disini ARPA singkatan dari Address and Routing Parameter Area. Seperti yang telah diketahui, domain ditulis dari kiri ke kanan dari yang terendah sampai yang tertinggi www.scorvia.or.id. Pada potongan zona file sebelumnya, kita sudah mengetahui IP dari www.scorvia.or.id adalah 192.168.0.253, agar IP ini bisa digunakan operasi query DNS maka harus di rubah kedalam nama. 192.168.0.253 Berbeda dengan domain name, untuk IP level tertinggi nya adalah bagian kiri dan level terendah ada di bagian kanan. Pada contoh ini level tertinggi adalah 192, dengan nomor host 253. Untuk bisa merubah IP ini jadi sebuah nama, maka kita harus membuat domain name dengan menggunakan urutan yang terbalik reverse dan DNS Server 457 membuat hierarkinya pada IN-ADDR.ARPA. lebih jelasnya bisa dilihat seperti ini IPv4 address = 192.168.0.253 Class C Network base = 192.168.0 Ingat yang digunakan adalah alamat network, sehingga nomor host tidak dimasukkan Reversed Class C Network base = 0.168.192 Buat domain untuk IN-ADDR.ARPA = 0.168.192.IN-ADDR.ARPA. Yang perlu diketahui adalah untuk reverse mapping, kita membalik penulisan IP addres untuk digunakan pada IN-ADDR.ARPA. Selanjutnya buat zona file yang mendeskripsikan semua host pada reverse mapp menggunakan PTR RR, lihat contoh yang sudah diberikan pada penjelasan mengenai PTR RR. Gambar 18.2 Reverse Mapping 458 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Type-Type DNS Master Name Server Dikenal juga dengan nama Primary Name Server. DNS yang dikonfigurasi menjadi master name server mengandung satu atau lebih zona file dimana DNS ini menjadi authoritative untuk zona tersebut. File konfigurasi ini dibaca oleh name server dari lokal file system. File konfigurasi zona untuk master name server berada pada lokal system dimana name server tersebut berjalan. Pada BIND menggunakan keyword master didalam menentukan apakah name server tersebut akan menjadi master atau tidak, yang dideklarasikan pada named.conf atau named.conf.local pada Ubuntu, contohnya zone scorvia.or.id in { type master ; file etcbinddb.scorvia.or.id ; allow-transfer { 192.168.0.252 ; } ; allow-update { none ; } ; } ; Pada potongan diatas juga terlihat bahwa name server ini hanya mengizinkan transfer zona kepada IP 192.168.0.252 yang menjadi slave name server. Suatu name server yang dikonfigurasi sebagai master untuk zona authoritative nya apabila menerima query untuk zona dimana dia tidak menjadi master atau slave, name server ini akan melakukan tindakan sesuai dengan konfigurasi dari name server tersebut,yaitu  Jika konfigurasi caching diaktifkan dan recursive query diizinkan, name server ini akan memberikan jawaban yang lengkap kepada user yang melakukan request.  Jika caching diaktifkan dan iterative, name server ini akan memberikan jawaban yang lengkap jika terdapat dalam cache nya, jika tidak hanya akan memberikan refereal  Jika caching tidak diizinkan, server akan memberikan referral pada user yang melakukan request. DNS Server 459 Slave Name Server Seperti yang telah diketahui, DNS mengharuskan setiap domain yang terhubung dengan internet untuk memiliki minimal dua name server. Slave name server menggunakan zona transfer untuk melakukan update terhadap master name server. Informasi mengenai zona pada slave name server berasal dari master name server, dan akan bertindak sebagai DNS authoritative terhadap zona tersebut. bagi user, tidak akan bisa mengetahui apakah sebuah name server menjadi master atau slave. BIND menggunakan keyword slave untuk mendefenisikan name server tersebut bertindak sebagai slave. zone scorvia.or.id in { type slave ; file etcbindzonesdb.slave.scorvia.or.id ; masters {192.168.0.253 ; } ; } ; keyword masters diatas menentukan dari name server mana zona file akan ditransfer. Caching Name Server Pada caching name server akan menjawab query dari user dengan melihat isi dari cache yang dimilikinya. Cache pada sebuah name server memiliki TTL sesuai dengan TTL pada name server yang authoritative terhadap zona yang ditanyakan oleh caching name server. Perhatikan hasil nslookup dibawah ini, dimana name server ini mengambil data dari cache nya yang ditandai dengan Non- authoritative answer: nslookup www.google.com Server: 192.168.0.253 Address: 192.168.0.25353 Non-authoritative answer: www.google.com canonical name = www.l.google.com. Name: www.l.google.com 460 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Address: 66.249.89.99 Name: www.l.google.com Address: 66.249.89.104 Name: www.l.google.com Address: 66.249.89.147 Jika data yang direquest tidak ada pada cache maka caching name server akan melakukan request secara langsung pada DNS authoritative untuk domain tersebut, dimana outputnya tidak terdapat Non-authoritative answer. Jika user melakukan request lagi untuk yang kedua dan seterusnya sampai TTL dari cache tersebut expire, caching name server akan mengambil jawaban dari cache nya yang ditandai dengan Non-authoritative answer. BIND defaultnya akan meng-cache RR, karena options recursion aktif secara default, jika kita tidak mendeklarasikannya secara spesifik pada named.conf Forwarding Name Server Forwarding atau Proxy name server akan memforward seluruh query dari client kepada DNS lain yang di sebutkan pada file konfigurasi dari name server ini. BIND menggunakan keyword forwarders untuk forwarding name server forwarders { 202.134.0.155; 202.134.2.5; }; Stealth Name Server Merupakan name server yang tidak kelihatan pada NS RR yang terlihat oleh publik untuk domain tersebut. Authoritative Only Name Server Name server ini hanya memberikan jawaban yang authoritative dan tidak melakukan caching. Umum digunakan pada name server seperti root name server. DNS ini tidak mensupport query secara recursive. DNS Server 461 Zona Maintenance proses zona maintenance dapat berupa transfer zona file dimana satu zona file digunakan untuk mengupdate banyak server. Fitur-fitur yang digunakan dalam zona maintenance adalah Full Zona Transfer AXFR Proses full zona transfer kan dilakukan oleh slave name server SOA RR serial number pada master name server lebih besar daripada SOA RR serial number pada slave name server. Jika ini terjadi, slave name server akan melakukan request untuk full zona transfer. Hal ini bisa dilihat dari file log name server baik itu log dari master name server atau slave name server. AXFR menggunakan TCP port 53 dalam proses transfernya. Log dibawah merupakan log pada master name server Nov 18 13:18:22 ns1 named[4117]: client 192.168.0.25254251: transfer of scorvia.or.idIN: AXFR started Nov 18 13:18:22 ns1 named[4117]: client 192.168.0.25254251: transfer of scorvia.or.idIN: AXFR ended Berikut ini adalah log pada slave name server Nov 18 13:18:29 ns2 named[4421]: zone scorvia.or.idIN: Transfer started. Nov 18 13:18:29 ns2 named[4421]: transfer of scorvia.or.idIN from 192.168.0.25353: connected using 192.168.0.25260883 Nov 18 13:18:29 ns2 named[4421]: zone scorvia.or.idIN: transferred serial 2007111813 Nov 18 13:18:29 ns2 named[4421]: transfer of scorvia.or.idIN from 192.168.0.25353: end of transfer Incremental Zona Transfer IXFR Incremental zona transfer hanya akan melakukan transfer antara master dan slave untuk records yang mengalami perubahan saja. Jika name server master dan slave mendukung mode IXFR maka proses ini 462 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu akan dilakukan, jika tidak maka proses AXFR yang akan dilakukan. IXFR menggunakan port TCP 53. NOTIFY Fitur ini digunakan oleh master name server untuk memberitahu slave name server jika terjadi perubahan dari file zona pada master name server. Pada saat slave name server menerima notify, maka slave name server akan meminta SOA RR dari master name server, jika serial number dari SOA RR lebih besar dari yang dimiliki oleh slave, proses transfer akan dilakukan bisa dengan AXFR atau IXFR. Dynamic Update Dengan metode ini zona records bisa di update dari satu atau lebih sumber eksternal, akan tetapi domain baru atau zona tidak bisa ditambah atau didelete secara dynamic, karena SOA RR sangat essensial dalam penambahan atau penghapusan zona. Dynamic update pada BIND menggunakan keyword allow-update.

18.2 Menginstall dan Konfigurasi BIND

BIND atau Berkeley Internet Name Daemon merupakan program name server yang umum digunakan. Pada buku ini akan menjelaskan cara menginstall BIND 9 pada Ubuntu yang akan digunakan untuk caching dan forwarding name server, master dan slave name server. Untuk menginstall BIND 9 pada Ubuntu bisa menggunakan APT atau synaptic sudo apt-get install bind9 The following NEW packages will be installed: bind9 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0B254kB of archives. After unpacking 799kB of additional disk space will be used. DNS Server 463 Setting up bind9 1:9.4.1-P1-3 ... Adding group `bind GID 111 ... Done. Adding system user `bind UID 104 ... Adding new user `bind UID 104 with group `bind ... Not creating home directory `varcachebind. wrote key file etcbindrndc.key Starting domain name service... bind [ OK ] BIND yang terinstall secara default sudah bisa digunakan sebagai caching only name server. Sebelum kita melakukan konfigurasi pada BIND, matikan terlebih dahulu daemon dari BIND dengan perintah berikut sudo etcinit.dbind9 stop Stopping domain name service... bind [ OK ] Pada Ubuntu, file-file konfigurasi dari BIND ada pada direktori etcbind,direktori ini berisikan file-file berikut: named.conf merupakan file konfigurasi utama dari BIND pada Ubuntu, file ini bisa dikatakan tidak perlu untuk dimodifikasi. File named.conf akan meload beberapa file lain yang terdapat pada direktori etcbind, yaitu: etcbinddb.0: File ini berisikan informasi untuk reverse lookup brodcast address 0. etcbinddb.127: Berisikan informasi reverse lookup loopback address 127. etcbinddb.255: Berisikan informasi reverse lookup untuk broadcast address 255. etcbinddb.empty: Berisikan informasi yang digunakan untuk nonroutable IP address berdasarkan RFC 1918 etcbinddb.local: Berisikan data hostname ke dalam IP address untuk loopback address 127.0.0.1