BAB VII. INSTALLASI DAN KONFIGURASI DNS SERVER 7.1. Prerequisites Installasi dan Konfigurasi DNS Server DNS atau Domain Name Server adalah service server yang akan kita bahas selanjutnya pada tulisan penulis kali ini. Selain dua service server yang sudah penulis bahas pada pembahasan diatas, service DNS server ini juga salah satu service server yang paling penting. Mengapa bisa penting ?, nanti kita akan bahas pada pembahsan dasar teori DNS Server. Untuk melakukan installasi dan konfigurasi DNS Server ini anda harus memenuhi beberapa syarat berikut ini : VM Linux Debian sudah dilakukan update dengan repository terbaru. VM Linux Debian terhubung dengan jaringan Internet VM Linux Debian terhubung dengan komputer client VM Linux Debian sudah dilakukan konfigurasi IP Address VM Linux sudah dilakukan installasi web server. Syarat yang terakhir bersifat optional, mengapa demikian karena tanpa web serverpun service debian akan dapat berjalan dengan sangat baik. Karena service DNS Server tidak bergantung dengan service web server. Hanya saja untuk ujicoba kita bisa memanfaatkan web server yang sudah dilakukan konfigurasi sebelumnya.
7.2. Dasar Teori Installasi dan Konfigurasi DNS Server DNS (Domain Named Server) merupakan sebuah service server yang berjalan pada Application Layer paling banyak digunakan dan dimanfaatkan dalam sebuah service server. Apa fungsi dan definisi dari service DNS menurut beberapa literatur yang ada di internet ?. 1. A DNS server is a computer server that contains a database of public IP addresses and their associated hostnames, and in most cases, serves to resolve, or translate, those common names to IP addresses as requested. DNS servers run special software and communicate with each other using special protocols. In more easy to understand terms: a DNS server on the internet is the device that translates that www.lifewire.com you type in your browser to the 151.101.129.121 IP address that it really is.
109
Note: Other names for a DNS server include name server, nameserver, and domain name system server. 2. A DNS server is a major part of the DNS (domain name system) infrastructure. It’s where all IP addresses and their hostnames are stored and they’re used to resolve any calls by users to access a specific website, device or any other networked system that uses an IP address. DNS servers are also known as nameservers, although they are both the same thing and you may find your hosting company/provider interchanges between the two. 3. A DNS server is a computer server that consist of database of public IP addresses and their correlated host names. Domain name system (DNS) server that is used to translate human-memorable domain names like xyz and host names like support.xyz into the corresponding numeric Internet Protocol (IP) addresses as well as to recognize and discover computer systems and resources on the Internet. 4. A DNS server is a type of name server that manages, maintains and processes Internet domain names and their associated records. In other words, a DNS server is the primary component that implements the DNS (Domain Name System) protocol and provisions domain name resolution services to Web hosts and clients on an IP-based network. 5. The Domain Name System (DNS) is a hierarchical decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols. By providing a worldwide, distributed directory service, the Domain Name System is an essential component of the functionality on the Internet, that has been in use since 1985. Dari beberapa definisi DNS Server diatas, menurut anda apakah DNS Server itu dan bagaimana cara kerjanya ?. Secara mudah penulis dapat sampaikan bahwa DNS Server adalah Sebuah service server yang berfungsi untuk menerjemahkan sebuah nama domain (facebook.com) menjadi IP Address (31.13.78.35), atau juga sebaliknya.
110
Penting ! Jaringan komputer berkomunikasi dengan menggunakan IP Address, bukan berdasarkan sebuah nama domain. Sehingga sebenarnya ketika anda mengakses facebook.com domain tersebut akan terlebih dahulu diterjemahkan oleh DNS Server sebelum dikirim ke jaringan internet. dalam kehidupan nyata sebuah DNS Server dapat kita analogikan sebagai nomor dan nama semua kontak yang anda simpan dalam sebuah smart phone milik anda.
Gambar 7.1. Ilustrasi Kontak pada smartphone (kompasiana.com) Pernahkah anda setiap melakukan panggilan dengan smartphone milik anda memasukkan nomor telphone yang akan anda hubungi ?. Dapat saya pastikan anda akan mengguankan Nama Contak yang tersimpan daftar kontak pada smartphone milik anda. Manusia pada dasarnya memang kesulitan dalam menghafalkan sebuah nomor atau angkat. Manusia lebih familiar dengan sebuah kata. Sehingga diciptakan sebuah service pada sebuah server yang dinamanakan dengan Domain Name Server. Domain pada jaringan komputer terbagi menjadi tiga jenis antara lain : 1. Top Level Domain (TLD) Top Level Domain adlaah deretan kata dibelakang nama domain misalnya adalah :
.com (Komersial)
.net (Network)
.org (Organisasi)
.edu (pendidikan)
111
.gov (pemerintahan)
.mil (military)
.info (informasi)
dll
Ada dua macam Top Level Domain, yaitu Global Top Level Domain (gTLD) dan Country Code Top Level Domain (ccTLD). gTLD adalah seperti yang pada di list diatas dan ccTLD adalah TLD yang diperuntukkan untuk masing-masing negara, seperti Indonesia dengan kode ID (co.id, net.id, or.id, web.id dst) atau Malaysia dengan kode MY (com.my, net.my, dst). 2. Second Level Domain (SLD) adalah nama domain yang anda daftarkan. Misalnya nama domain yang anda daftarkan adalah domainku.com, maka domainku adalah SLD dan .comnya adalah TLD. 3. Third Level Domain adalah nama setelah Second Level Domain . Misalnya nama domain yang anda miliki adalah domainku.com, maka anda dapat menambahkan nama lain sebelum domainku, yaitu mail.domainku.com atau estrex.domainku.com. Pertanyaanya apakah domain seperti itu, dapat kita buat secara gratis. Jawabnya adalah tidak. Semua domain yang anda inginkan harus anda beli, dengan rentang wantu 1 tahun. Pada tanggal 16 September 2014, pemeritah melalui keputusa Menteri Komunikasi dan Informatika Republik Indonesia No 86 Tahun 2014 menetapkan PANDI sebagao Registri Nama Domain Tingkat Tinggi Indonesia. Namun, untuk membeli sebuah domain yang anda inginkan anda dapat menggunakan beberapa jasa dari beberapa perusahaan : 1. https://idwebhost.com/ 2. https://www.rumahweb.com/ 3. https://www.niagahoster.co.id/ 4. https://www.domainesia.com/ 5. https://idcloudhost.com/ 6. https://www.jagoanhosting.com/ 7. dll Untuk mengetahui berapa harga sewa sebuah domain silahkan anda kunjugi dimasing – masing alamat diatas. Tentunya masih banyak perusahaan yang menyediakan pembelian domain dan tidak dapat penulis sebutkan disini. Karena harga tiap perusahaan dengan nama domain yang sama biasanya berbeda. Namun, terkadang juga
112
ada pula yang sama. Jadi jika anda ingin membuat sebuah website anda akan membutuhkan sebuah domain dan server hosting. Dimana nanti akan penulis bahas dibab tersendiri tentunya. Selanjutnya setelah kita mengenal jenis – jenis domain, dan apa itu Domain Name server. Bagaimana sebuah DNS bekerja ?. Penulis mengambilkan contoh dari situs https://www.verisign.com DNS bekerja dengan 6 tahapan : 1. Pada tahapan awal ini anda (Client) mengetikkan sebuah alamat domain di URL Web browser kesayangan anda. Maka browser mengirimkan sebuah pertanyaan yang ditujukan kepada (ISP) untuk mendapatkan sebuah IP Address dari domain yang sesuai dengan permintaan client.
Gambar 7.2. Tahapan 1 cara kerja DNS Server
113
2. The first of dns server the recursive resolver talks to is called a ROOT server. The Root server are running all over the world and each one knows DNS Information about Top Level Domain such as .com. To begin answering your query, the recursive resolver ask a root server for DNS information about .com
Gambar 7.3. Cara Kerja DNS Server Tahap 2 There are thousands of servers supporting the root, located strategically according to where the most internet activity occurs. The DNS ensures your query will be sent to a server that isn't too far away.
Gambar 7.4. Global Server Location Map
114
3. Each Top Level Domain (TLD) DNS Name server stores the address for second level domain. Within the top level domain (.com). When your query reaches the TLD Server, the TLD server answers with the IP Address of the domain's name server, which will provide the next piece of the puzzle.
Gambar 7.5. Cara Kerja DNS Tahpaan ke 3 4. Next (we're almost done !) the recursive resolver sends the quey to the domain's name server. This DNS Server nows the IP Address for the full domain, adn that answer is returned the recursive resolver.
Gambar 7.6. Cara Kerja DNS Tahapan ke 4
115
5. Now that the recursive resolver knows the IP Address for the domain name in your query, the recursive resolver tells the browser what the IP Address is. Finally, your browser can send a request to the website to retrieve the website's content, using the IP Address just learned.
Gambar 7.7.Cara kerja DNS Tahapan ke 5 6. Isi konten dari domain yang anda inginka akan ditampilkan ke web browser yang anda gunakan.
Gambar 7.8. Cara Kerja DNS Tahapan ke 6. Dari pembahasan diatas ada beberapa komponen penting dalam sebuah DNS Server. Dimana jika salah satu komponen ini mati atau tidak berfungsi maka service DNS yang ada di server juga tidak akan dapat digunakan dengan baik. File penting tersebut bernama zone reverse dan zone forward. Untuk lebih jelasnya silahkan anda pahami pembahasan berikut ini. Zone Reverse File ini nantinya akan digunakan atau berfugsi untuk mengkoversi sebuah IP Address menjadi sebuah domain. Nama untuk file ini biasanya berisikan angka dari IP Address namun hanya di ambil di bagian paling awal (db.192). Dan untuk menyimpannya secara default ada di /var/cache/bind/.
116
Zone Forward File ini nantinya akan digunakan atau berfungsi untuk mengkonversi sebuah doamin menjadi IP Address. Nama file ini biasanya berisikan perwakilan nama domain (db.donat). File ini secara default disimpan di /var/cache/bind/. Penulis ingatkan sekali lagi bahwa pembuatan domain ini hanya bisa dilakukan untuk jaringan local. Karena jika untuk jaringan internet ada badan sendiri yang bertugas untuk mengkonfigurasikan domain yang anda inginakan. Pada linux debian 9 paket aplikasi yang digunakan untuk membangun sebuah DNS Server sendiri adalah Bind9 (Berkeley Internet Name Domain versi 9). Untuk melakukan installasinya silahkan anda menggunakan perintah apt install bind9 dnsutils Perintah dnsutils adalah untuk melakukan installasi paket aplikasi dns yaitu (nslookup). Setelah anda lakukan installasi maka tahapan selanjutnya adalah melakukan konfigurasi. Ada 4 buah file yang harus anda lakukan disini : 1. /etc/bind/named.conf 2. File forward (membuat baru dengan cara mengcopy template). 3. File referse (membuat baru dengan cara mengcopy kan template) 4. /etc/resolv.conf Sepertinya cukup sulit memang namun hal ini akan sangat mudah jika anda melakukan praktikum langsung dengan hati – hati dan sunguh – sungguh. Seperti bab – bab terdahulu setelah kita membahas dasar teori maka tahapan selanjutnya adalah melakukan implementasi dari dasar teori yang kita dapatkan ke sistem linux debian yang kita bangun diatas VM Oracle VirtualBox.
7.3. Proses Installasi dan Konfigurasi DNS Server Kembali penulis mengingatkan tahapan ini adalah tahapan yang sangat penting dari proses server. Dan service server ini juga hanya digunakan untuk administrasi server secara lokal. Jika anda ingin menggunakan sebuah domain yang dapat diakses dari internet silahkan anda mendaftar pada perusahaan yang menyediakan jasa penjual domain (sudah penulis jelaskan diatas). Sebelum masuk kedalam praktikum pastikan anda sudah memahami dan mempersiapkan prerequisites yang dituliskan oleh penulis. Jika semua sudah terpenuhi maka silahkan anda ikuti tahapan – tahapan konfigurasi berikut ini :
117
1. Tahapan awal selalu sama dengan bab – bab sebelumnya. Silahkan anda lakukan update repository yang terbaru dengan menggunakan sambungan internet dan lakukan login kedalam sistem dengan menggunakan mode super user (user root).
Gambar 7.9. Login kedalam super user mode di terminal 2. Lakukan paket installasi bind9 dengan menggunakan perintah apt install bind9. Tekan tombol Enter untuk melakukan installasi.
Gambar 7.10. Perintah installasi paket aplikasi bind9 3. Sistem akan meminta konfirmasi kepada anda, apakah yakin akan melakukan installasi paket aplikasi bind9 di linux debian ?. Untuk melanjutkan dan menyetujuinya tekan tombol Enter untuk melanjutkan keproses download dan installasi.
Gambar 7.11. Konfirmasi installasi paket aplikasi bind9
118
4. Selanjutya silahkan anda tunggu hingga sistem melakukan download aplikasi dan installasi secara otomatis.
Gambar 7.12. Proses installasi dan download aplikasi bind9 5. Jika semua paket dan file pendukung yang kita minta sudah dilakukan download dan installasi maka kita juga akan melakukan installasi satu paket tambahan. Gunakan perintah apt install dnsutils, tekan Enter untuk melanjutkan ketahapan installasi. Paket ini berisikan tools nslookup yang nantinya kita akan gunakan untuk melakukan pengujian dns server melalui mode teks.
Gambar 7.13. Proses download dan installasi paket aplikasi dnsutils
119
6. Tahapan selanjutnya kita akan membuat sebuah file zone forward, seperti sudah dibahas diatas fungsinya adalah untuk mengkonversikan DNS ke IP Address. Pada saat installasi kita diberikan template untuk membuat file zone forward ini dengan nama db.local. sekarang kita copykan file template tadi di tempat yang baru dengan nama db.endrif sebagai contoh (dapat diganti sesuai keinginan). Gunakan perintah cp /etc/bind/db.local /var/cache/bind/db.endrif dan tekan tombol Enter untuk melanjutkan ketahapan selanjutnya.
Gambar 7.14. Copy template zone forward ke file baru 7. Selanjutnya langsung kita lakukan konfigurasi file zone forward yang baru saja kita lakukan copy. Gunakan perintah nano /var/cache/bind/db.endrif dan tekan tombol Enter untuk melanjutkan proses editing.
Gambar 7.15. Melakukan editing zone forward baru 8. Sebelum dilakukan editing tampilan dari zone forward yang baru kita copykan dari template adalah sebagai berikut ini.
Gambar 7.16. Tampilan defaul zone forward baru
120
9. Silahkan anda lakukan editing sehingga tampak seperti tampilan berikut ini. Ubah Localhost dengan nama domain yang anda inginkan. Selanjutnya IP Address 127.0.0.1 dengan IP Address server DNS milik anda. Terakhir hapus konfigurasi (@ IN AAA ::1)karena kita belum membutuhkannya. Jika sudah lakukan penyimpanan file (Ctrl + X, Y, Enter).
Gambar 7.17. Tampilan zone forward setelah dilakukan konfigurasi 10. Selanjutnya kita juga perlu membuat file untuk zone reverse. Dimana zone ini akan berfungsi untuk mengubah IP Address menjadi sebuah Domain. Zone ini juga memiliki file default bernama db.127. Kita akan gunakan file tersebut untuk membuat konfigurasi zone baru. Gunakan perintah cp /etc/bind/db.127 /var/cache/bind/db.192.168 (ubah angka 192.168 sesuaikan dengan 2 oktet ip address server anda). Tekan Enter untuk melanjutkan ketahapan selanjutnya
Gambar 7.18. Perintah copy template untuk zone reverse baru
121
11. Setelah dilakukan pengcopyan langkah selanjutnya adalah melakukan konfigurasi
terhadap
file
tersebut.
Gunaka
perintah
nano
/var/cache/bind/db.192.168. Lalu tekan tombol Enter untuk melanjutkan ketahapan selanjutnya.
Gambar 7.19. Perintah membuka file zone reverse baru 12. Tampilan default dari zone reverse sebelum dilakukan editing akan tampak seperti pada gambar dibawah ini. Ada hal yang unik di konfigurasi ini nantinya.
Gambar 7.20. Tampilan default file konfigurasi zone reverse 13. Lakukan hal yang sama dengan zone forward, ubah localhost dengan nama domain yang anda iginkan. Selanjutnya perhatikan konfigurasi (1.0.0 IN PTR localhost) angka 1.0.0 adalah perwakilan IP Address milik anda. Tuliskan 2 oktet IP Address milik anda namun penulisannya di balik. Misal jika IP Address penulis adalah 192.168.1.1 maka yang penulis ketikkan adalah 1.1. Jika IP Address penulis misalnya adalah 192.168.100.1 maka penulis akan mengetikkan 1.100. Jika sudah dilakukan simpan konfigurasi yang anda lakukan (Ctrl + , Y, Enter).
122
Gambar 7.21. Hasil konfigurasi file zone reverse baru. 14. Selanjutnya kita tinggal mendefinisikan file zone forward dan zone reverse pada
file
konfiurasi
utama
DNS
server.
Gunakan
perintah
nano
/etc/bind/named.conf dan tekan tombol Enter untuk melanjutkan konfigurasi.
Gambar 7.22. Perintah untuk melakukan editing file named.conf 15. Tambahkan konfigurasi baru dibagian paling bawah dari file named.conf dengan format ..................................................................... ..................................................................... Zone “nama_domain_anda” { Type master; File “nama_file_zone_forward”; }; Zone “dua_ip_depan_dibalik.in-addr.arpa” { Type master; File “nama_file_zone_reverse”; };
123
Gambar 7.23. Hasil konfigurasi file utama DNS Server 16. Selanjutnya kita konfigurasi file resolv.conf 15.dengan menggunakan perintah nano /etc/resolv.conf dan tekan tombol Enter untuk melanjutkan.
Gambar 7.24. Perintah konfigurasi resolv.conf 17. Selanjutnya silahkan anda tambahkan konfigurasi seperti pada tampilan dibawah ini. Jika sudah silahkan anda simpan konfigurasinya (Ctrl + X, Y, enter).
Gambar 7.25. Menambahkan rule baru di file resolv.conf
15
File resolv.conf adalah file konfigurasi utama bagi name resolver, yang berfugsi untuk mengenali nama – nama sites yang ada dia dinternet
124
18. Tahapan akhir dari keseluruhan konfigurasi ini adalah melakukan restart service bind9 agar semua konfigurasi yang kita lakukan dapat diterima oleh sistem. Gunakan perintah service bind9 restart. Dan tekan tombol Enter untuk melanjutkan. Pastikan tidak ada pesan error sama sekali yang ditampilkan oleh sistem.
Gambar 7.26. Perintah Restart service bind9 19. Tahapan selanjutnya adalah melakukan ujicoba secara teks terlebih dahulu. Gunakan perintah nslookup 192.168.1.1. Jika benar anda akan mendapatkan nama domain anda tampil disini. Jika gagal silahkan anda periksa pada konfigurasi named.conf dan db.192.168.
Gambar 7.27. Perintah cek konfigurasi zone reverse 20. Selanjutya silahkan anda lakukan pengecekan untuk zone forward dengan mengetikkan nslookup endrifsupriadi.com. Pastikan tidak ada pesan kesalahan yang ditampilkan.
Gambar 7.28. Perintah cek konfigurasi zone forward.
125
7.4. Uji Coba DNS Server pada Komputer Client Setelah kita lakukan konfiguasi dan dilakukan pengujian dengan menggunakan teks tidak ada masalah maka tahapan selanjunya adalah menguji dengan menggunakan client. Sebelum melakukan konfigurasi client maka pastikan komputer linux debian dan windows 7 (sistem operasi client) sudah terhubung dan yang paling penting pastikan client sudah menerima konfigurasi IP Address dari service DHCP Server yang berjalan. Jika sudah silahkan anda ikuti tahapan berikut ini untuk melakukan uji coba DNS Server dari client. Pada skenario kali ini kita akan membuka web server (http://192.168.1.1) dengan menggunakan nama domain (http://endrifsupriadi.com). Jika konfigurai anda benar maka tidak akan ada masalah yang berarti disini. 1. Silahkan anda buka web browser kesayangan anda dan ketikkan nama domain anda. Sebagai contoh disini penulis mengetikkan endrifsupriadi.com di kolom url.
Gambar7.30. Akses web server dengan domain 2. Sekarang kita coba untuk akses www.endrifsupriadi.com apakah masih dapat diakses ?. Jika anda ditampilkan gambaran seperti pada gambar berikut ini, anda tidak salah. Hal ini terjadi karena kita belum melakukan kofigurasi file virtualhost yang ada di konfigurasi apache.
126
Gambar 7.31. Tampilan ketika akses www.endrifsupriadi.com 3. Agar domain kita juga dapat diakes dengan www maka kita akan menambahkan beberapa konfigurasi. Silahkan anda akses kembali file konfigurasi zone forward milik anda. Disini penulis menggunakan perintah nano /var/cache/bind/db.endrif selanjutnya silahkan anda tekan tombol Enter untuk melanjutkan ketahapan selanjutya.
Gambar 7.32. Perintah untuk masuk ke konfigurasi zone forward 4. Tambahkan subdomain www di bagian bawah konfigurasi dan tentukan akan diarahkan ke IP Berapa subdomain tersebut. Simpan konfigurasi jika sudah (Ctrl + X, Y, Enter).
Gambar 7.33. Menambahkan rule baru di zone forward 127
5. Agar tidak terlupakan, karena kita baru saja melakuka penambahan rule baru di zone forward maka tahapan selanjutnya adalah melakukan restart service bind9. Agar rule yang baru saja kita lakukan konfigurasi langsung ditetapkan oleh sistem.
Gambar 7.34. Restart Service Bind9. 6. Selanjutnya kita akan melakukan konfigurasi terhadap file virtualhost
16yang
dimiliki oleh apache. Gunakan perintah nano /etc/apache2/sites-available/000default.conf dan tekan tombol Enter untuk melanjutkan ketahapan selanjutnya.
Gambar 7.35. Melakukan konfigurasi file Virtualhost default 7. Secara default tampilan dari konfigurasi file virtualhost akan tampak seperti pada gambar dibawah ini.
Gambar 7.36. Tampilan file virtualhost yang belum dilakukan konfigurasi 16
File Virtualhost berfungsi untuk mewakili konfigurasi untuk setiap website yang akan kita buat.
128
8. Tambahkan sebuah rule seperti yang diberikan kolom oleh penulis pada gambar dibawah ini. Lebih lengkap akan penulis bahas pada bab tersendiri. Jika sudah silahkan anda lakukan penyimpanan file konfigurasi (Ctrl + X, Y, Enter).
Gambar 7.37. VirtualHost sudah dilakukan konfigurasi 9. Jika sudah silahkan anda restart service apache dari server anda, agar rule yang baru saja kita masukkan dapat diterima oleh siste. Gunakan perintah service apache2 restart. Tekan Enter untuk melanjutkan.
Gambar 7.38. Perintah service web server
129
10. Jika tidak ada kendala dalam konfigurasi yang anda lakuka sekarang coba anda panggil www.endrifsupriadi.com di URL browser yang anda gunakan.
Gambar 7.39. Tampilan www.endrifsupriadi.com
Sampai pada tahapan ini anda sudah selesai melakukan konfigurasi Domain Name server, jika anda mengalami kesulitan silahkan anda baca kembali setiap perintah dengan teliti. Jangan sampai anda salah mengetikkan perintah. Jika memang sudah sesuai namun masih ada gangguan anda dapat menghubungi penulis pada kontak yang disediakan oleh penulis.
130