[CentOS 7] [6.3] Konfigurasi DNS Master & Slave

Konfigurasi DNS Master dan Slave Menggunakan CentOS 7



Konsep Dasar :


DNS Master Slave fungsinya untuk membackup DNS master, sehingga saat DNS master down maka, DNS slave akan mengantinya. Konsep dari DNS master dan DNS slave adalah saling bertukar IP agar bisa terkoneksi satu sama lain.



Jadi gini gan, Server itu kan bisa aja overload/down, dikarenakan setiap server ada batasannya. Misalkan gini, ada suatu website, terus ada 500 client yang mengakses server master tersebut, padahal kapabilitas sever master tersebut cuma 400 client, ya jadinya bakalan nge-down dah server masternya.
Kalo udah down gitu gimana dong?, nah maka dari itu terdapatnya DNS slave ini berfungsi untuk membackup server master yang down tersebut, cara kerjanya domain akan mengarahkan request client yang tadinya ke server master, akan di arahkan ke server slave, intinya si slave ini akan benar-benar menggantikan peran dari server master.

Topology


Oke, langsung saja kita mulai konfigurasinya seperti apa

Konfigurasi Server Master

1) Pertama, sudah pasti install bind nya dulu untuk konfigurasi dns
yum install bind bind-utils -y

2) Edit file named.conf di directory /etc/. disini saya edit menggunakan aplikasi vim, jika kalian ingin menggunakan aplikasi lain seperti nano, gedit, dll, gapapa, terserah kalian aja


3) Atur ip untuk dns master, slave, dan ip network client untuk lebih jelasnyalihat gambar dibawah ini

Penjelasan tambahan :

  • Disitu terdapat syntak baru, yaitu allow-transfer, apa fungsi syntak tersebut? syntak tersebut berfungi agar si master mengizinkan, menyetujui pengiriman terhadap service dns yang telah di buat nya kepada ip yang sudah di tentukan


4) masih di file named.conf, scrool kebawah, cari syntak zone blablabla, setelah itu tambahkan syntak yang sudah saya tandai warna hijau dan warna biru seperti gambar di bawah ini.

Penjelasan tambahan :

  • Terdapat syntak baru lagi, yaitu allow-update, jika kalian bertanya apa fungsi syntak tersebut, yang saya tahu syntak tersebut berfungsi apakah konfigurasi yang terdapat pada master dns boleh di edit atau tidak oleh server lain. contohnya seperti tadi, pada tahap 3, pada syntak allow-tansfer saya arahkan ke ip 192.168.1.151 yang dimana ip tersebut adalah ip server slave saya. nah ketika file konfigurasi tersebut berhasil terkirim ke ip yang sudah di tentukan, maka akan otomatis server yang memakai ip tersebut akan mempunyai file konfigurasi dns master yang sama persis dengan si server master. Langsung saja ke pointnya, jadi kalo misalkan allow-update nya kita atur menjadi none, maka si server slave tidak bisa mengedit file yang sudah di kirim oleh server master tersebut.
nah seperti itulah penjelasan saya tentang allow-update, jika ada masukan atau apa gitu, silahkan sampaikan, maka nanti akan kita dikusikan secara bersama di kolom komentar


5) Buat serta edit file untuk zona forward dari domain tersebut, namanya sesuaikan ya dengan apa yang sudah di konfigurasi pada file named.conf. Karena pada file named.conf tadi zona forwardnya saya ke arahkan ke /var/named/forward.tkj, maka saya pun akan membuat zona forward tersebut degan directory serta nama yang sama yaitu di /var/named/forward.tkj
 nano /var/named/forward.tkj

6) Masukan script seperti gambar dibawah ini, untuk penjelasan masing-masing syntak tersebut, bisa kalian lihat di http://masihkayakemaren.blogspot.co.id/2016/10/centos-7-konfigurasi-domain-name-server.html


7) Begitupula untuk zona reversenya, buat serta edit zona reverse untuk domain tersebut
nano /var/named/reverse.tkj

8) Masukan script sepeti gambar dibawah ini, untuk penjelasan masing masing syntaknya, bisa kalian lihat di link yang sudah saya cantumkan pada point no.6


9) lakukan pengecekan pada setiap file yang sudah dikonfigurasi tersebut, pastikan outpunya seperti gambar dibawah ini, yang menandakan konfigurasi tersebut sudah benar, tidak ada yang typo, dan semacemnya
named-checkconf /etc/named.conf
named-checkzone dimasmantep.net /var/named/forward.tkj
named-checkzone dimasmantep.net /var/named/forward.tkj  

10) Enable named agar otomatis berjalan ketika pc direstart, kemudian start named untuk menjalankan named
systemctl enable named
systemctl start named 

11) Kemudian jangan lupa untuk menambahkan port 53 pada firewall untuk memberikan akses service dns kepada client
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp 

12) Jika sudah reload firewall agar konfigurasi pada point no.11 berjalan dengan baik


13) Atur, permission(perizinan), ownership(kepemilikan), serta restore keamanan selinux terhadap file konfigurasi dns tersebut
chgrp named -R /var/named/
chown -v root:named /etc/named.conf
restorecon -rv /var/named/
restorecon /var/named 

14) lakukan perintah dig pada domain tersebut, maka outputnya akan seperti gambar dibawah ini
dig master.dimasmantep.net

15) Kemudian lakukan perintah nslookup, maka outputnya akan seperti gambar dibawah ini
nslookup dimasmantep.net

Konfigurasi Server Slave

1) Begitupun pada, server slave, kita harus menginstall paket bind terlebih dahulu
yum install bind bind-utils -y

2) kemudian edit file named.conf pada directory /etc/
nano /etc/named.conf

3) Atur Ip untuk dns slave, dan ip untuk network client, untuk lebih jelasnya lihat gambar dibawah ini


4) Masih di file named.conf, scrool kebawah kemudian tambahkan script yang sudah saya tandai warna biru dan warna hijau seperti gambar dibawah ini, untuk type nya disini kita atur menjadi slave karna ya memang server yang satu ini kita bakalan gunain sebagai dns slavenya
Penjelasan tambahan :
  • Akan terdapat syntak baru lagi, yaitu masters, syntak ini berfungsi sebagai pendefininisian siapa dalang dari dns ini :v, ehh maksudnya siapa master dari dns ini

5) Jika sudah, enable dan start named untuk menjalankan service dns tersebut
systemctl enable named
systemctl start named 

6) Coba cek isi dari directory /var/named/slaves/, maka di situ akan terdapat 2 file, yaitu file zona forward serta zona reverse yang dikirimkan oleh si master kepada si slave


7) Kemudian Tambahkan port 53 pada firewall untuk memberikan akses service dns kepada client, jika sudah reload agar konfigurasi yang baru tersebut dapat berjalan
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload 

8) Atur, permission(perizinan), ownership(kepemilikan), serta restore keamanan selinux terhadap file konfigurasi dns tersebut
chgrp named -R /var/named/
chown -v root:named /etc/named.conf
restorecon -rv /var/named/
restorecon /var/named 

System loging DNS


1) Loging digunakan untuk mencatat semua aktifitas yang terdapat di server, mulai dari request client sampai kesalahan yang terjadi saat client melakukan request. secara default system log dns tidak aktif, maka untuk mengaktifkannya lakukan perintah berikut
rndc querylog

2) Jika sudah, untuk melihatnya kita bisa menggunakan perintah
tail -f /var/log/messages

Note : Lakukan hal yang sama pada server slave kalian

Pengetesan Hasil Log Pada Client

1) Atur Ip, Netmask, dan Gatewaynya, jika sudah pada preffered dns server arahkan ke ip dns master kalian, dan untuk alternate dns server arahkan ke ip server slave kalian


2) Lakukan perintah nslookup untuk master.dimasmantep.net, slave.dimasmantep.net, dan client.dimasmantep.net. dan lihat apakah terdapat log pada server master atau server slave kalian.



Pada gambar diatas, dapat dilihat lognya muncul di server

3) Sekarang coba lakukan ping terhadap domain-domain tersebut, dan lihat apakah terdapat log pada server master atau server slave kalian, pada gambar di bawah ini lognya semua muncul di master




4) Coba sekarang matikan service dnsnya
systemctl disable named
 systemctl stop named

5) Jika udah dimatiin service dnsnya, sekarang coba lagi lakukan perintah tail -f /var/log/messages di server master kalian untuk melihat aktifitas lognya, setelah itu coba lakukan perintah ping lagi kepada domain master.dimasmantep.net, slave.dimasmantep.net, dan client.dimasmantep.net.


Maka hasilnya? ya udah begitu doang gabakal ada aktifitas apa-apa, karenakan service dns nya tadi dimatiin

6) Begitupun pada di server slave, tidak akan ada log apa-apa


7)  Sekarang coba nslookup, maka proses yang terjadi adalah, pada saat si client meminta informasi tentang domain tersebut, tidak ada server yang merespon, hal ini dikarenakan service dns nya dimatikan tadi pada si master. Lognya pun tak kunjung muncul di master ataupun di slave




8) Tapi tenang, hal ini bisa diatasi dengan cara menukar balikan ip si master dengan si slave. Jadi pada preferred dns server arahkah ke ip slave kalian, dan alternate dns server arahkan ke ip master kalian.


9) Jika sudah ditukar, sekarang coba lakukan perintah nslookup lagi, maka lognya akan muncul di slave


10) Setelah itu coba ping ke domain-domain tersebut, pada contoh ini saya ngeping si master, kemudian lihat lognya akan muncul di slave


11) Coba dah liat si master, maka bakalan tetep gaada log apa-apa, karena service dnsnya dimatikan, jadinya lognya gaada


Menambahkan Domain Baru


Konfigurasi Server Master

1) Edit file zona forward yang sudah di buat pada tahap sebelumnya
nano /var/named/forward.tkj

2) Tambahkan Name Server (NS) untuk domain tersebut, disini saya membuatnya dengan nama trihandika.dimasmantep.net, dan untuk ip nya, samakan dengan ip si master


3) Edit pula zona reversenya
nano /var/named/reverse.tkj

4) Kemudian edit filenya, sebagai contoh lihat gambar dibawah ini



5) Jika sudah, sekarang check konfigurasi zona forward dan reversenya untuk memastikan apakah terdapat eror atau tidak
named-checkzone dimasmantep.net /var/named/forward.tkj
named-checkzone dimasmantep.net /var/named

6) Tadi kan sebelumnya service dnsnya di matiin, sekarang coba jalankan/hidupkan kembali
systemctl enable named
systemctl start named
Jika sudah jangan lupa lakukan perintah untuk melihat hasil log
tail -f /var/log/messages 
7) Lakukan perintah dig untuk domain baru tersebut pada server master dan server slave kalian 
dig trihandika.dimasmantep.net


8) Lakukan ping ke domain tersebut
ping trihandika.dimasmantep.net
Bisa kalian lihat pada gambar dibawah ini, saat ngeping domain baru tersebut kadang yang jawab si master.dimasmantep.net, kadang yang jawab trihandika.dimasmantep.net.
Mengapa demikian? hal ini dikarenakan ip domain baru tersebut kan nebeng sama ip si master.

Contohnya gini aja deh, misalkan ada telfon rumah nih, kan kadang bisa aja yang ngangkat si entong, bisa aja si babeh, bisa juga enya, jadi tergantung aja siapa yang mau ngejawab


Pengetesan Hasil Log Pada Client

1) Tadi kan ip nya dibalik, sekarang coba atur lagi seperti semula, jadi preferrednya arahkan ke ip master, dan alternatenya arahkan ke ip slave


2) Coba sekarang lakukan perintah nslookup pada domain tersebut, maka lognya akan muncul di slave


Selesai..

Kesimpulannya? saya rasa kesimpulannya ya gabeda sama definisi dari Dns Master Slave, intinya ketika server master down, maka si slave yang bakalan nge-cover

Yaudah, saya tutup
Sekian, semoga bermanfaat

Wassalamu'alaikum Wr Wb

Comments