Tutorial ini membahas tentang solusi penyelesaian permasalahan (troubleshooting) yang dihadapi ketika membangun server Domain Name System (DNS) menggunakan Berkeley Internet Name Domain (BIND) dengan fitur Chroot pada CentOS 7. Inspirasi dari pembuatan tutorial ini bersumber dari kendala yang dihadapi oleh banyak mahasiswa untuk memperbaiki kesalahan konfigurasi BIND Chroot pada perkuliahan praktikum Manajemen Jaringan yang penulis ampu di STMIK Bumigora Mataram. Meskipun demikian, rekan-rekan lainnya juga dapat memanfaatkan tutorial ini guna proses penyelesaian permasalahan konfigurasi server DNS BIND Chroot.
Untuk mencontohkan proses troubleshooting maka diasumsikan rekan-rekan telah menginstalasi dan mengkonfigurasi CentOS 7 dengan layanan server DNS menggunakan BIND Chroot. Kebetulan penulis mensimulasikan tutorial ini menggunakan CentOS 7 yang diinstalasi pada VMWare Workstation 15. Server CentOS 7 menggunakan hostname “ns1” dengan nama domain “iputuhariyadi.local” dan alamat IP 192.168.169.1/24. Pada file konfigurasi utama dari BIND yaitu “named.conf“, sengaja dibuat agar mengandung satu contoh kesalahan sehingga ketika service named-chroot dari BIND Chroot di start atau di restart akan memunculkan pesan kesalahan seperti berikut:
Informasi terkait kesalahan yang menjadi penyebab kegagalan service named-chroot di start atau di restart dapat diketahui dengan menampilkan status dari service tersebut menggunakan perintah:
Terlihat status dari service named-chroot “failed” yang bermakna BIND gagal dijalankan. Hal ini karena terdapat kesalahan di baris 13 pada file “named.conf” yang terdapat di direktori /var/named/chroot/etc yaitu “missing ';' before '}'
“.
Informasi lengkap dari status dari service named-chroot dapat ditampilkan dengan mengeksekusi perintah “systemctl -l status named-chroot
“.
Berdasarkan output kesalahan yang tampil pada status service named-chroot tersebut maka selanjutnya proses perbaikan diawali dengan membuka file “named.conf” menggunakan editor nano:
# nano /var/named/chroot/etc/named.conf
Terlihat isi dari file named.conf kosong. Padahal sebelumnya file ini telah mengandung konten konfigurasi default dari BIND dan sempat dilakukan beberapa penyesuaian serta tambahan konfigurasi. Tekan CTRL+X untuk keluar dari editor nano.
Selanjutnya dilakukan verifikasi terhadap isi dari direktori /var/named/chroot/etc menggunakan perintah “ll /var/named/chroot/etc
“.
Hasil dari eksekusi perintah tersebut menunjukkan bahwa tidak terdapat file “named.conf“. Hanya file named.conf.backup yang merupakan salinan dari file named.conf yang terlihat. File backup ini dibuat ketika mengikuti tahapan konfigurasi yang telah dijelaskan pada Diktat Praktikum Manajemen Jaringan. Hal ini menguatkan argumen bahwa adalah wajar jika isi dari file tersebut kosong ketika dibuka menggunakan editor nano.
Selain itu verifikasi juga dilakukan terhadap isi dari direktori /var/named/chroot/var/named menggunakan perintah “ll /var/named/chroot/var/named
“.
Hasil dari eksekusi perintah tersebut menunjukkan bahwa isi dari direktori tersebut kosong. Padahal seharusnya direktori tersebut mengandung isi seperti berikut:
Untuk itu diperlukan mekanisme dalam menyelesaikan permasalahan tersebut.
Adapun langkah-langkah melakukan troubleshooting server DNS BIND dengan fitur Chroot pada CentOS 7 adalah sebagai berikut:
- Mengeksekusi ulang perintah setup BIND Chroot pada direktori /var/named/chroot untuk mengembalikan file-file konfigurasi yang hilang di direktori /var/named/chroot/etc dan /var/named/chroot/var/named.
# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
Verifikasi hasil dari eksekusi dari perintah tersebut dengan melihat isi direktori/var/named/chroot/etc
menggunakan perintah “ll
” yang merupakan alias dari perintah “ls -l
“.
Termasuk isi direktori/var/named/chroot/var/named
.
- Memperbaiki konfigurasi pada file “named.conf” yang terdapat di direktori /var/named/chroot/etc menggunakan editor nano.
# nano /var/named/chroot/etc/named.conf
Berdasarkan output dari eksekusi perintah “systemctl status named-chroot
” dapat diketahui lokasi baris yang mengandung kesalahan dan penyebabnya. Sebagai contoh output verifikasi status service named-chroot memperlihatkan informasi bahwa kesalahan terdapat pada baris 13 yaitu tidak terdapatnya tanda “;
” sebelum penutup “}
“. Verifikasi pada baris 13 ternyata memuat parameter “listen on port 53 { 127.0.0.1; 192.168.169.1 };
“. Terlihat diakhir dari nilai 192.168.169.1 tidak ditutup atau diakhiri dengan tanda semicolon sehingga hal ini menyebabkan kesalahan.
Hasil perbaikan terlihat seperti berikut:
Pastikan keseluruhan baris yang mengandung kesalahan telah diperbaiki.
Selanjutnya lakukan penyimpanan perubahan pada file “named.conf
” dengan menekan tombol CTRL+O dan tekan Enter. Untuk keluar dari editor nano, lakukan penekanan tombol CTRL+X. - Memverifikasi sintak pada file konfigurasi “/var/named/chroot/etc/named.conf” menggunakan perintah “named-checkconf“.
Apabila langsung memunculkan prompt terminal maka sintak pada file konfigurasi named.conf telah benar (OK). Sebaliknya jika tampil pesan kesalahan sebelum prompt terminal maka lakukan perbaikan kembali pada file tersebut. Apabila perbaikan telah selesai dilakukan maka lakukan verifikasi kembali menggunakan langkah ini. - Memverifikasi sintak dan integritas dari file konfigurasi forward lookup zone “/var/named/chroot/var/named/iputuhariyadi.local.zone” menggunakan perintah “named-checkzone“.
Apabila tampil pesan OK maka sintak dan integritas pada file-file tersebut sudah benar. Sebaliknya jika tampil pesan kesalahan maka lakukan perbaikan kembali pada file tersebut. Apabila perbaikan telah selesai dilakukan maka lakukan verifikasi kembali menggunakan langkah ini. - Memverifikasi sintak dan integritas dari file konfigurasi reverse lookup zone “/var/named/chroot/var/named/169.168.192.zone” menggunakan perintah “named-checkzone”
Apabila tampil pesan OK maka sintak dan integritas pada file-file tersebut sudah benar. Sebaliknya jika tampil pesan kesalahan maka lakukan perbaikan kembali pada file tersebut. Apabila perbaikan telah selesai dilakukan maka lakukan verifikasi kembali menggunakan langkah ini. - Memverifikasi group kepemilikan dari file forward lookup zone “/var/named/chroot/var/named/iputuhariyadi.local.zone” dan reverse lookup zone “/var/named/chroot/var/named/169.168.192.zone” menggunakan perintah “
ll /var/named/chroot/var/named/*.zone
“. Apabila group kepemilikan dari kedua file zone tersebut masih “root” maka lakukan perubahan agar group kepemilikannya menjadi “named” menggunakan perintah “chgrp named /var/named/chroot/var/named/*.zone
“. Setelah itu lakukan verifikasi kembali menggunakan perintah “ll /var/named/chroot/var/named/*.zone
“, terlihat seperti berikut:
- Menjalankan service named-chroot menggunakan perintah “
systemctl start named-chroot
“.
- Memverifikasi status dari service named-chroot menggunakan perintah “
systemctl status named-chroot
“.
Terlihat status service dari named-chroot telah aktif atau berjalan. - Memverifikasi konfigurasi server DNS dengan melakukan query menggunakan utilitas nslookup.
Terlihat seluruh query berhasil direspon dengan benar oleh server DNS baik pemetaan dari nama domain iputuhariyadi.local ke alamat IP 192.168.169.1 dan sebaliknya serta Canonical Name (CNAME) record meliputi www.iputuhariyadi.local, bali.iputuhariyadi.local, lombok.iputuhariyadi.local, sumbawa.iputuhariyadi.local, bima.iputuhariyadi.local, mail.iputuhariyadi.local, ftp.iputuhariyadi.local. - Memverifikasi konfigurasi server DNS dengan melakukan query terkait Mail Exchanger (MX) untuk nama domain iputuhariyadi.local menggunakan utilitas host.
Terlihat mail routing dari domain iputuhariyadi.local ditangani oleh host ns1.iputuhariyadi.local yang memiliki nilai priority 10. - Memverifikasi konfigurasi server DNS dengan melakukan query “A“ record untuk nama domain iputuhariyadi.local menggunakan utilitas dig.
- Memverifikasi konfigurasi server DNS dengan melakukan query reverse lookup dari alamat IP 192.168.169.1 menggunakan utilitas dig .
Selamat rekan-rekan telah berhasil mengatasi permasalahan terkait server DNS menggunakan BIND dengan fitur Chroot pada CentOS 7. Apabila terdapat pertanyaan, jangan segan mengomentari posting ini atau mengirimkan melalui email di admin[at]iputuhariyadi.net. Semoga bermanfaat. Terimakasih.
untuk yg postfix adakah solusi nya pak.?
Mohon diinformasikan permasalahan yang dihadapi terkait postfixnya dibagian apa ya?
Terimakasih pak, ini sangat mambantu.
Dan kali ini sya mengalami masalah pada systemctl status network. Service yang dimana hasilnya failed.
Kira-kira Titik kesalahan biasanya terjadi dimana ya pak?
Saran saya diverifikasi kembali konfigurasi dari interface jaringan yang terdapat di direktori /etc/sysconfig/network-scripts yaitu file yang diawali dengan prefix “ifcfg-“. Biasanya ada pengaturan yang kurang tepat dibagian parameter atau nilai dari parameter yang terkandung di file konfigurasi interface jaringan yang digunakan. Semoga membantu. Terimakasih