• Tidak ada hasil yang ditemukan

D OMAIN N AME S ERVICE

Dalam dokumen FUNDAMENTAL LINUX SERVER ADMINISTRATOR (Halaman 165-190)

S

UBAB MATERI

Memahami DNS: Zones, Domains, dan Delegasi

Berkeley Internet Name Domain (BIND)

Instalasi BIND

Pembuatan Zona dan File Zona

Key Terms

BIND

Delegasi

Domain

named.conf

Name Server

nslookup

resolv.conf

Zone

Zone Forward

Zone Reverse

165

 Memahami DNS: Zones, Domains, dan Delegasi

DNS (Domain Name Service) 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 dalam jaringan terutama internet, sistem ini akan memetakan nama mesin misal server.net.id 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.

Dengan adanya DNS, informasi host menjadi 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 kebiasaan administratornya.

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 yang disimbolkan dengan titik/dot (.) sedangkan pada sistem berkas UNIX, root disimbolkan dengan 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 bawah menuju ke root (.). Masing-masing nama yang membentuk suatu domain dipisahkan

166 dengan titik/dot (.) dan diakhiri dengan titik yang merupakan nama absolut relatif terhadap root (.). Contoh: raichu.cs.mit.edu.

"." merupakan root domain

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).

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 xxx akan mendaftarkan nama domain xxx.com (komersial), maka xxx diberikan/didelegasikan oleh InterNIC untuk mengelola domain xxx.com yang merupakan sub domain dari com. Indolinux dapat membagi lagi domain indolinux.com ke beberapa sub domain misal coba.xxx.com, lagi.xxx.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.

167 Selain itu tiap host dalam otorisasi suatu domain juga bisa mendapatkan alias dari nama host-nya dalam domain di atasnya. Misal: rere.xxx.com bisa saja mempunyai alias (canonical name) coba.xxx.com, dimana kedua domain tersebut mengacu ke mesin/host yang 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 menyamainya kecuali 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: xxx menginginkan nama mesin/host di bawah domain xxx.com dengan nama coba (coba.xxx.com), sedang xz juga menginginkan nama yang sama untuk salah satu host-nya dengan domain xz.org. Disini tidak akan terjadi konflik karena masing-masing mempunyai domain sendiri-sendiri. xxx mempunyai coba.xxx.com dan xz mempunyai coba.xz.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.

168 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 host mengacu pada suatu host/komputer secara individu. Sedangkan 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 diambil contoh:

Coba.xxx.com adalah subdomain dari xxx.com.

stwn.raichu.domain.net adalah 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 Generik

Terdiri atas 7 domain yaitu

• com

Untuk organisasi komersial. contoh: ibm.com, sun.com.

• net

Untuk organisasi/perusahaan penyedia layanan jaringan/Internet. contoh:

internic.net, nsf.net.

• gov

Untuk lembaga/organisasi pemerintahan. contoh: whitehouse.gov, nasa.gov.

• mil

Untuk badan/organisasi militer. contoh: army.mil.

• org

Untuk organisasi non-komersial. contoh: linux.org.

• edu

Untuk lembaga pendidikan. contoh: mit.edu, berkeley.edu.

• int

Untuk organisasi Internasional. contoh: nato.int.

169 Selain 7 domain di atas ada lagi 7 domain baru dari ICANN (www.icann.org) yaitu:

• aero

Untuk industri atau perusahaan udara.

• biz

Untuk perusahaan atau lembaga bisnis.

• coop

Untuk perusahaan atau lembaga kooperatif

• info

Untuk penggunaan umum.

• museum Untuk museum.

• name

Untuk registrasi bagi penggunaan individual/personal.

• pro

Untuk para profesional seperti: akuntan, dan lain-lain.

2. Domain Negara

Merupakan standar pembagian geografis berdasarkan kode negara. Contoh: id untuk Indonesia, au untuk Australia, uk untuk Inggris, dan lain-lain. Domain negara ini dapat dan umumnya diturunkan lagi ke level-level di bawahnya yang diatur oleh NIC dari masing-masing negara, untuk Indonesia yaitu IDNIC. Contoh level bawah dari id yaitu net.id, co.id, web.id.

3. Domain Arpa

Merupakan 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 dengan zone. Zone ini akan dimuat dari berkas yang disimpannya atau dari server DNS lain. Sebagai contoh domain id bisa dibagi menjadi

170 beberapa zone yaitu ac.id, net.id dan dari zone 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.

Ada dua tipe dari name-server yaitu:

• Primary Master

Primary Master name-server bertanggung jawab terhadap suatu zone dengan memuat informasi dari berkas database pada dirinya sendiri.

• Secondary Master (Slave)

Secondary Master name-server memuat informasi zone dari server lain yang otoritatif pada suatu zone yang disebut Master Server. Secondary Master akan melakukan zone-transfer dari Master Server untuk mendapatkan data/informasi pada suatu zone yang dikelolanya.

171 Untuk dapat bekerja name-server membutuhkan resource-record untuk domain yang dikelola. Resource-record adalah data yang mengacu/menunjukkan pada informasi mengenai host pada 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:

• Resolver

Resolver yaitu suatu rutin pustaka yang akan membuat suatu permintaan/query dan mengirimkannya lewat jaringan ke sebuah name-server. Program tersebut berjalan pada host yang menginginkan informasi mengenai suatu host di Internet. Resolver juga menginterpretasikan respon dari name-server apakah informasi yang diminta merupakan record ataupun kesalahan.

• 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 kepada pemintanya.

172

• Caching

Caching yaitu suatu rutin yang akan menyimpan hasil pencarian domain dalam database dari name-server yang pernah diminta. Time To Live (TTL) merupakan batas waktu dimana server DNS dapat menyimpan/caching infomasi yang pernah dicari.

Pengelola dari sistem DNS terdiri dari tiga komponen:

• DNS resolver, sebuah program klien yang berjalan di komputer pengguna, yang membuat permintaan DNS dari program aplikasi.

• recursive DNS server, yang melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada para resolver tersebut;

authoritative DNS server yang memberikan jawaban terhadap permintaan dari recursor, baik dalam bentuk sebuah jawaban, maupun dalam bentuk delegasi (misalkan:

mereferensikan ke authoritative DNS server lainnya)

Sebuah contoh dari teori rekursif DNS

Sebuah contoh mungkin dapat memperjelas proses ini. Andaikan ada aplikasi yang memerlukan pencarian alamat IP dari www.wikipedia.org. Aplikasi tersebut bertanya ke DNS recursor lokal.

1. Sebelum dimulai, recursor harus mengetahui dimana dapat menemukan root nameserver; administrator dari recursive DNS server secara manual mengatur (dan melakukan update secara berkala) sebuah file dengan nama root hints zone (panduan akar DNS) yang menyatakan alamat-alamt IP dari para server tersebut.

173 2. Proses dimulai oleh recursor yang bertanya kepada para root server tersebut - misalkan:

server dengan alamat IP "198.41.0.4" - pertanyaan "apakah alamat IP dari www.xxx.org?"

3. Root server menjawab dengan sebuah delegasi, arti kasarnya: "Saya tidak tahu alamat IP dari www.xxx.org, tapi saya "tahu" bahwa server DNS di 204.74.112.1 memiliki informasi tentang domain org."

4. Recursor DNS lokal kemudian bertanya kepada server DNS (yaitu: 204.74.112.1) pertanyaan yang sama seperti yang diberikan kepada root server. "apa alamat IP dari www.xxx.org?". (umumnya) akan didapatkan jawaban yang sejenis, "saya tidak tahu alamat dari www.xxx.org, tapi saya "tahu" bahwa server 207.142.131.234 memiliki informasi dari domain xxx.org."

5. Akhirnya, pertanyaan beralih kepada server DNS ketiga (207.142.131.234), yang menjawab dengan alamat IP yang dibutuhkan.

Proses ini menggunakan pencarian rekursif (recursion / recursive searching).

Istilah-istilah Pada DNS

• RR atau Resource Records adalah kumpulan sumber informasi yang berhubungan dengan nama-nama domain.

• Namespace adalah struktur dari seluruh DNS yang berbentuk pohon terbalik

• Nameserver adalah program-program yang menyimpan informasi tentang namespace domain.

• TLD or Top-Level Domain adalah level domain paling atas dibawah root (“.”).

Contoh dari TLD adalah .com, .net, .org, dan sebagainya.

• Delegation atau delegasi adalah memberikan sbuah tanggung jawab kepada sebuah subdomain untuk mengatur dirinya sendiri.

• Registry adalah sebuah organisasi yang bertanggung jawab untuk menjaga file-file data di TLD dan mendelegasikannya ke setiap subdomain dari TLD itu. Contoh Verisign untuk mengelola TLD .com dan .net.

174

• Registrar adalah sebuah organisasi yang bertindak sebagai antar muka (interface) antara pelanggan dan registry atau lebih dikenal dengan nama ISP. Contohnya idwebhost.

• Registration adalah proses dimana pelanggan memberitahukan ke sebuah registrar untuk mendelegasikan sebuah subdomain kepadanya.

• Zone atau zona adalah sebuah daerah yang mencakup sebuah domain utuh atau hanya sebagian saja.

 Berkeley Internet Name Domain (BIND)

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.

BIND secara umum terdiri dari beberapa berkas yang mendukung yaitu:

1. /etc/resolv.conf

Berkas konfigurasi berisi domain atau alamat IP name-server yang pertama dicari oleh resolver ketika sebuah domain/nama mesin diminta untuk dipetakan ke alamat IP.

175 2. /etc/nsswitch.conf

Berkas konfigurasi sistem untuk melakukan mekanisme switch sistem database dan name-service. Switch dapat melalui berkas, name-server, atau NIS server.

3. /etc/named.conf

Berkas konfigurasi dari BIND yang utama, berisi informasi mengenai bagaimana klien DNS mengakses port 53, letak dan jenis berkas database yang diperlukan.

Umumnya berisi letak berkas konfigurasi name-server root, domain, localhost/loopback, dan reverse-mapping.

4. /var/named/named.ca

Berkas database name-server root yang 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.conf sebagai berkas konfigurasi utama dari BIND.

5. /var/named/named.local

Berkas database name-server untuk alamat loopback/host lokal/alamat diri sendiri.

Nama berkas ini bisa anda definisikan sendiri tetapi tetap harus mengacu ke named.conf sebagai berkas konfigurasi utama dari BIND.

6. /var/named/db.domain-kita.com

Berkas database name-server untuk domain domain-kita.com yang berisi resource record, informasi nama host dan 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.conf sebagai berkas konfigurasi utama dari BIND.

7. /etc/rndc.conf

Berkas konfigurasi program rndc yaitu suatu program untuk administrasi dan kontrol operasi name-server BIND.

176

 Installasi BIND

Install package bind dan cache-nameserver dengan mengetikan perintah:

Pada terminal linux CentOS, akan tampak seperti gambar di bawah ini.

 Pembuatan Zona dan File Zona

Untuk membuat DNS, kita perlu melakukan beberapa langkah konfigurasi seperti berikut:

1. Edit konfigurasi named.conf yang terletak pada directory /etc dengan membuatkan zone forward dan zone reverse dengan mengetikkan perintah :

kemudian isikan konfigurasi seperti berikut :

[root@server ~]# yum install bind bind-utils cache-nameserver

[root@server ~]# nano /etc/named.conf

177

178 2. Membuat zone forward untuk domain comlabs.net.id dengan nama file comlabs.net.id dan letakkan file tersebut sesuai dengan konfigurasi named.conf di atas, yaitu di /etc/named/. Isi dari konfigurasi file tersebut adalah :

Kemudian save konfigurasi tersebut dengan nama comlabs.net.id pada direktori /etc/named, seperti gambar di bawah ini.

$TTL 86400

@ IN SOA comlabs.net.id. root.comlabs.net.id.(

2014101001 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL )

@ IN NS ns1.comlabs.net.id.

@ IN NS ns2.comlabs.net.id.

@ IN A 167.205.79.215 ns1 IN A 167.205.79.215 ns2 IN A 167.205.79.215

@ IN MX 10 mail.comlabs.net.id.

www IN A 167.205.79.215 mail IN A 167.205.79.215 ezine IN A 167.205.79.215

179 3. Setelah itu membuat zone reverse domain dengan tujuan mentranslasikan ip address dari server ke alamat domain yang merupakan kebalikan dari zone forward. Untuk zone reverse nama file dan lokasi file harus disesuaikan dengan nama dan lokasi yang telah ditentukan pada konfigurasi named.conf. Pada konfigurasi di atas nama reverse zone adalah 79.205.167.rev (IP Address server yang dibalik) dan diletakan dalam directory /etc/named/. Isikan konfigurasi reverse zone seperti berikut :

180 Lalu save konfigurasi file tersebut dengan nama 79.205.167.rev, seperti gambar berikut ini.

Keterangan:

o SOA (Start Of Authority) untuk mengidentifikasikan otoritas name-server pada zone data atau informasi nama host domain.

o

TTL (Time To Live) merupakan waktu yang diperlukan server DNS untuk menyimpan hasil resolving ke cache-nya.

o Serial merupakan nomor seri database-cache domain my-server.com. Jika ada perubahan data pada berkas zone comlabs.net.id, misalnya menambahkan domain blog.comlabs.net.id, maka harus mengubah/menambah nomor serinya. Sebaiknya digunakan format tahun-bulan-tanggal-jam untuk nomor serialnya. Pada berkas database untuk zone domain comlabs.net.id tersebut terakhir di-update tanggal 10 Oktober 2014 hanya saja untuk 2 digit terakhirnya bukan format jam, melainkan angka 01 itu mendakan bahwa file tersebut telah diedit sebanyak 1 kali. Fungsi dari serial ini adalah untuk memberitahukan kepada secondary-master name-server untuk meng-update database-cache-nya jika ada perubahan pada primary-master name-server yaitu dengan melakukan pengecekan nomor serial. Jika nomor serial berubah/bertambah maka secondary-master name-server akan segera melakukan zone-transfer dari primary-master name-server.

o

Refresh adalah selang waktu yang diperlukan (dalam detik) secondary-master name-server untuk melakukan pengecekan perubahan database-cache pada primary-master name-server.

o Retry adalah waktu (dalam detik) yang digunakan secondary-master name-server untuk menunggu pengulangan cek berkas zone jika pada saat proses refresh primary-master name-server tidak memberikan respon.

o Expire adalah waktu (dalam detik) yang digunakan secondary-master name-server untuk mempertahankan berkas zone jika tidak dapat melakukan zone-refresh. Jika setelah waktu expire telah habis tapi secondary-master name-server tidak dapat melakukan zone-refresh maka berkas zone pada secondary-master name-server akan dihapus.

181 o Minimum adalah nilai waktu (TTL) default untuk semua resource-record yang ada

dalam berkas zone.

o @ menunjukkan bahwa zone yang bersangkutan adalah zone domain yang ditunjukkan berkas named.conf ke berkas database-cache tersebut atau origin zone o IN adalah singkatan dari Internet. Semua informasi Internet digunakan IN dan untuk

informasi non-Internet digunakan kode lain.

o

A menyatakan Address Internet atau alamat IP dari mesin yang ditangani oleh DNS ini proses penerjemahan namanya.

o NS menyatakan Name Server.

o

NS Record merupakan daftar name-server yang otoritatif untuk zone bersangkutan.

Pada database domain comlabs.net.id name-servernya adalah ns1.comlabs.net.id dan ns2.comlabs.net.id. NS Record ini yang nantinya akan diserahkan kepada pengelola domain TLD (Top Leve Domain) agar terdaftar dalam registar domain.

o MX (Mail Exchanger) merupakan record routing email, untuk domain comlabs.net.id dalam hal ini akan diarahkan ke mail.comlabs.net.id. Sebagai host yang ditunjuk sebagai mail exchanger akan memproses atau meneruskan mail untuk domain comlabs.net.id.

o Angka 10 pada MX 10 mail.comlabs.net.id merupakan nilai preferensi (preference value) untuk menunjukkan tingkat prioritas mail exchanger yang digunakan untuk memproses atau meneruskan mail yang menuju domain my-server.com.

o Kata mail dan ezine pada bagian

berfungsi sebagai pengalamatan subdomain padadomaincomlabs.net.idsebagai mail.

comlabs.net.iddan ezine. comlabs.net.id nantinya.

o CNAME (Canonical Name) fungsinya untuk alias, jadi suatu host dapat mempunyai nama lebih dari satu.

mail IN A 103.28.149.76 ezine IN A 103.28.149.76

182 o PTR (POINTER) menyatakan pemetaan alamat IP ke domain comlabs.net.id yang merupakan reversed-address. Reverse Address ini sangat diperlukan jika kita membuat mail server karena dengan adanya reverse IP Address ke alamat domain kita. Maka proses sent/receive protocol SMPT pada mesin mail server kita dapat berjalan normal. Tanpa adanya reverse Address, IP kita dianggap sebagai spammer oleh mesin smtp mail server lain karena tidak dikenal.

4. Selanjutnya restart service bind dengan mengetikkan perintah :

Pastikan service bind/named running OK, seperti gambar di bawah ini

Jika saat merestart service bind/named, terdapat kasus proses generating file rndc.key tidak kunjung selesai, seperti berikut :

Maka solusinya adalah cancel terlebih dahulu proses tersebut, kemudian buatkan file

rndc.key nya secara manual dengan mengetikkan perintah :

Pada terminal linux pastikan file rndc.key nya sudah terbuat, lalu restart kembali service named/bind seperti cara sebelumnya.

5. Kemudian atur search hostname dan nameserver menjadi comlabs.net.id dan 127.0.0.1 dengan mengedit file /etc/resolv.conf kemudian save, seperti gambar di

5. Kemudian atur search hostname dan nameserver menjadi comlabs.net.id dan 127.0.0.1 dengan mengedit file /etc/resolv.conf kemudian save, seperti gambar di

Dalam dokumen FUNDAMENTAL LINUX SERVER ADMINISTRATOR (Halaman 165-190)