Assalammu'alaikum wa rahmatullah wa barakatuh,

      Pada postingan kali ini kita akan melakukan konfigurasi DNS Server menggunakan BIND ( Berkeley Internet Name Domain ) , yaitu sebuah paket pada linux yang umum digunakan ketika membuat sebuah DNS Server. Pada lab ini, saya menggunakan RedHat 7.5.

      Sedikit teori mengenai DNS, yaitu sebuah service yang memungkinkan kita untuk menggunakan penamaan berupa string pada server yang dirujuk tanpa harus menghafal alamat IP yang akan dituju karena manusia umumnya lebih mudah untuk mengingat kombinasi huruf dibandingkan angka.


Wut r we waitin' for ? let's get going !!!!

Tujuan : 
  • Dapat menginstal BIND untuk service DNS Server
  • Dapat mengonfigurasi BIND untuk DNS Server
  • Dapat membuat alias pada domain server 
  • Dapat  konfigurasi DNS Forwarder agar client dapat mengakses internet menggunakan DNS lokal
  • Dapat mengintegrasikan DNS Server slave dengan master
  • Client dapat request untuk resolve domain ke DNS Server slave 



TOPOLOGI



Tahap 1 : Instalasi BIND



      Tahap ini adalah tahap penginstalan paket bind pada server, lakukan lah sesuai dengan sintaks di atas untuk menginstal bind. Paket bind sendiri terdapat banyak depedencies guna membangun sebuah DNS Server, sedangkan paket bind-utils diinstal agar utilitas pengecekan DNS bisa dilakukan ketika DNS Server sudah selesai terkonfigurasi, utilitas ini meliputi nslookup, dig, nsupdate, dan masih ada beberapa lagi, namun utilitas yang sering digunakan nanti dalam pengecekan adalah nslookup dan dig. Tunggu proses penginstalan paket hingga selesai dan pastikan koneksi internetnya stabil ( kecuali jika punya repositori lokal ).

 Tahap 2 : Konfigurasi awal




 Masuk ke dalam file named.conf yang ada pada direktori  /etc dengan perintah vim /etc/named.conf dan edit beberapa baris konfigurasi seperti gambar di bawah ini :


      Pada blok konfigurasi options terdapat konfigurasi yang akan mengatur DNS Server untuk menggunakan port berapa. Cukup dibiarkan saja menggunakan port default DNS yaitu 53, kita hanya perlu menambahkan IP Address server yang kita lakukan konfigurasi DNS Server di dalamnya, disini IP di server yang saya gunakan di lab ini adalah 192.168.100.100. Secara default, DNS hanya terdapat alamat localhost saja, maka dari itu perlu ditambahkan IP Address server yang bisa diakses oleh client. Untuk konfigurasi IPv6 cukup dijadikan komentar saja dengan menambahkan tanda pagar karena tidak digunakan pada lab ini. 

      Lalu pada konfigurasi allow-query tambahkan network IP Address apa yang diperbolehkan mengakses DNS Server. 




      
      Buat 2 buah zone baru yang berfungsi untuk forwarding zone ( nama domain ke IP Address ) dan reversing zone ( IP Address ke nama domain ). Di dalamnya terdapat konfigurasi type master, maksudnya adalah menjadikan IP tersebut menjadi master dari DNS server dan juga akan merujuk pada file yang di dalamnya adalah pendefinisian IP Address dan penamaan server. Secara default file itu terletak pada direktori /var/named/ . Jika sudah, maka simpan konfigurasi lalu keluar teks editor.





       Masuk ke dalam direktori /var/named lalu copy file named.localhost yang nantinya akan menjadi file yang dirujuk oleh zone forwarding yang dibuat tadi dan copy file named.loopback yang akan menjadi file yang dirujuk oleh zone reversing. Disini saya beri nama file tersebut menjadi forward.islamifauzi dan reverse.islamifauzi . Dengan cara copy file ini kita bisa mempunyai file backup yang masih bersifat default seandainya nanti terdapat kesalahan konfigurasi.




 
       Edit file forwarding seperti gambar di atas. Pada konfigurasi ini, terdapat nama master dan slave karena nanti kita akan mengonfigurasi master dan slave dan mail karena pada postingan yang akan datang kita akan belajar bagaimana menginstal mail server menggunakan zimbra, jadi tidak perlu dipusingkan oleh poin ini terlebih dahulu. Simpan konfigurasi lalu keluar dari teks editor.




      Selanjutnya adalah konfigurasi pada file reversing yang fungsinya untuk memetakan IP Address ke nama domain.Pada tahap ini terdapat pembuatan record PTR ( pointer ) untuk sebuah nama host di dalam domain in-addr.arpa yang mewakili sebuah IP Address menerapkan pencarian balik DNS (reverse DNS lookup) untuk alamat tersebut. Simpan konfigurasi dan keluar dari teks editor., kemudian restart service dengan perintah systemctl restart named .




      Langkah ini adalah langkah terakhir dalam pengaktifan service DNS pada server, yaitu menambahkan service yang diizinkan oleh firewall pada server. Secara default, RedHat hanya memperbolehkan service DHCP dan SSH saja pada saat pertama kali instalasi, maka dari itu setiap ada service yang baru perlu ditambahkan secara manual. Pada konfigurasi di atas, terdapat warning karena saya sebelumnya telah menambahkan DNS ke dalam service yang diizinkan oleh firewall. Setiap kali penambahan service, firewall harus di-reload terlebih dahulu untuk menerapkannya pada saat runtime. Jangan lupa untuk menambahkan IP Server ke direktori /etc/resolv.conf .





      Lakukan ping pada setiap domain yang tadi sudah dibuat, jika berhasil maka akan ada reply dari server.



 Tahap 3 : Menambahkan CNAME 

      CNAME ( Canonical Name ) adalah sebuah record yang mengarahkan sub-domain ke dalam bentuk A Record / Alias dan bukan mengarahkan ke IP Address sebagaimana yang dilakukan oleh A Record. Buka file /var/named/forward.islamfiauzi dan berikut adalah konfigurasinya :



      Bisa dilihat gambar di atas, bahwa pada domain www dilakukan perubahan pada yang tadinya merupakan record alias sekarang diganti menjadi CNAME dan merujuk kepada domain master yang merupakan domain alias dari IP Address 192.168.100.100. Disini saya menambahkan domain baru yakni blog yang juga menggunakan CNAME sebagai jenis recordnya. Jika sudah selesai konfigurasi, simpan konfigurasi dan keluar.



      Disini saya menambahkan pointer baru untuk domain blog pada file /var/named/reverse.islamifauzi . Simpan konfigurasi dan keluar dari teks editor. Lalu restart service dan lakukan tes PING seperti gambar di bawah ini :



      Jika berhasil, maka akan ada reply seperti gambar di atas.


Tahap 4 : Konfigurasi DNS Forwarder

       DNS Forwarder adalah suatu cara yang dilakukan oleh DNS server dalam mengubah arah pencarian dari request DNS query yang ada pada server namun server itu tidak bisa menjawabnya karena tidak ada di query nya. Jika kita menugaskan sebuah DNS server sebagai DNS forwarder, maka semua permintaan dan pertanyaan perihal DNS akan dikirim ke DNS forwarder terlebih dahulu. Disini kita akan memakai DNS google agar kita bisa melakukan request DNS query yang jauh lebih banyak dibanding jika mengandalkan DNS lokal saja. Buka file /etc/named.conf , berikut adalah konfigurasinya :



     Pada konfigurasi di atas terdapat konfigurasi untuk dnssec-enable dan dnssec-validation, secara default 2 konfigurasi ini memiliki value yes . Namun pada kali ini kita akan menggantinya dengan no, karena jika dibiarkan yes maka tidak bisa me-resolve DNS query yang ada pada google, saya belum tahu bagaimana caranya agar tetap bisa request DNS query pada google tanpa mengubahnya menjadi no dan saya tidak tahu apakah aman atau tidak jika dinonaktifkan fitur yang berkaitan dengan sekuritas ini. Bagi yang tahu silakan komen yoooo hehehe.

     Selanjutnya buat blok konfigurasi bernama forwarders yang di dalamnya adalah 2 DNS google. Simpan konfigurasi dan keluar. Lalu lakukan PING dari sisi client.

Sebelum dikonfigurasi DNS Forwarder

Sesudah dikonfigurasi DNS Forwarder

 Tahap 5 : Konfigurasi Master-Slave DNS


      Sekarang kita akan konfigurasi Master-Slave DNS. Metode ini digunakan untuk failover ketika DNS Server utama (master) mengalami status down, maka DNS Server backup (slave) yang akan menggantinya. Pertama buka file /etc/named.conf pada server master (redhat1) dan lakukan konfigurasi seperti gambar di bawah ini :

      Di bawah blok konfigurasi forwarders tambahkan blok konfigurasi allow-transfer yang berfungsi untuk replikasi file forwarding dan reversing dari master terhadap slave, maka IP Address yang diisikan adalah IP Address slave.Simpan konfigurasi dan keluar.



      Selanjutnya kita beralih ke server yang berlaku sebagai server slave (redhat3). Buka file pada direktori /etc/named.conf dan lakukan konfigurasi seperti di atas. Pada konfigurasi listern-on biarkan pada port default, kita cukup menambahkan IP Address dari server slave dan pada blok konfigurasi allow-query tambahkan network IP Address yang diperkenankan untuk mengakses ke DNS server slave.



      Pada tahap ini sama konfigurasinya seperti konfigurasi DNS Forwarder yang sebelumnya sudah dilakukan, hanya saja ada penambahan IP Address dari server master pada blok konfigurasi forwarders.



     Selanjutnya adalah membuat zone baru sama seperti yang ada pada slave, namun ada perbedaan pada type dan file yang ada pada blok konfigurasi zone. Pada sisi slave type disini menggunakan mode slave karena server ini berlaku sebagai slave dan file disini merujuk pada file konfigurasi yang nantinya akan otomatis ada ketika terjadi sinkronisasi antara server master dengan server slave. File ini berada pada sisi server slave dan di direktori /etc/var/slaves dengan nama file yang sama yaitu forward.islamifauzi dan reverse.islamifauzi , jika konfigurasi berhasil maka akan ada 2 file tersebut seperti pada gambar di bawah ini :

Fileforwarding dan reversing sudah ada pada slave


     Jika 2 file tersebut sudah ada pada slave, maka kita coba untuk mengganti DNS pada sisi client untuk melakukan testing apakah slave sudah synchronized kepada server master atau belum.

Ganti nameserver ke DNS Slave


Hasil test google.com (public)





Hasil test www.islamifauzi.com (local)

     Berdasarkan gambar di atas bahwa client sudah bisa melakukan request terhadap server slave. Maka dengan demikian selesai sudah lab kita kali ini dalam mengonfigurasi DNS Server pada RHEL 7.5 ini. Pada postingan yang akan datang kita akan lanjut belajar bagaimana membangun sebuah mail server menggunakan zimbra. Sekian dan terimakasih, semoga bermanfaat.

Wassalammu'alaikum wa rahmatullah wa barakatuh.

Post a Comment

Previous Post Next Post