Apa itu DNS?
DNS (Domain Name Server) adalah layanan atau sistem pada Linux yang digunakan untuk mengubah cara akses pada server. Jika awalnya menggunakan IP address, maka dengan DNS sebuah server dapat diakses dengan nama yang lebih mudah diingat. Sebagai contoh, ketika kita mengakses google.com pada browser sebenarnya kita mengakses IP address dari server google.
BIND9
Salah satu layanan yang paling populer digunakan di internet sebagai server DNS pada sistem operasi linux adalah BIND9. Maka, kita akan belajar bagaimana menggunakan BIND9 sebagai DNS Server.
Cara Menggunakan BIND9
Pada artikel ini, server menggunakan Ubuntu sebagai DNS Server. Jika menggunakan distro linux lain, command yang digunakan dapat disesuaikan.
Langkah 1. Instalasi BIND9
Remote server yang telah disiapkan kemudian lakukan instalasi BIND9
apt install bind9 -y
Pastikan service Bind9 sudah terinstal dan berjalan
Langkah 2. Konfigurasi BIND9
Setelah instalasi berhasil selanjutnya kita konfigurasi file BIND9 pada /etc/bind.
Copy file forward zone db. local dan file reverse zone db.127 yang nantinya akan digunakan sebagai record domain. Sebagai contoh saya akan menamai db.local menjadi db.amar dan db.127 menjadi db.10
cp db.local db.amar; cp db.127 db.10
Buka file forward zone db.amar dan konfigurasi seperti di bawah ini:
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA amar-idnacademy.id. root.amar-idnacademy.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS amar-idnacademy.id.
@ IN A 10.23.1.209
www IN A 10.23.1.209
srv IN A 10.23.1.209
Pada contoh ini, saya ingin membuat domain saya menjadi amar-idnacademy.id dengan IP server saya 10.23.1.209. Saya menambahkan 2 sub domain yang dapat digunakan juga untuk mengakses server tersebut.Maka nantinya server tersebut dapat diakses menggunakan 3 domain, yaitu :
Kemudian, buka file reverse zone db.10 dan konfigurasi seperti di bawah ini:
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA amar-idnacademy.id. root.amar-idnacademy.id. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS amar-idnacademy.id.
209 IN PTR amar-idnacademy.id.
209 pada konfigurasi tersebut merupakan oktet terakhir dari IP server 10.23.1.209. Jadi sesuaikan dengan IP server yang digunakan.
Buka juga file konfigurasi named.conf.default-zones yang berada di dalam /etc/bind/ dan konfigurasi seperti di bawah ini:
zone "amar-idnacademy.id" {
type master;
file "/etc/bind/db.amar";
};
zone "1.23.10.in-addr.arpa" {
type master;
file "/etc/bind/db.10";
1.23.10.in-addr.arpa merupakan kebalikan dari IP server 10.23.1.209 tanpa oktet terakhir. Pada bagian ini disesuaikan pula dengan IP server.
Langkah terakhir konfigurasi resolv.conf untuk mengarahkan DNS yang digunakan dan masukan IP server yang digunakan seperti di bawah ini.
# instal resolvconf
apt install resolvconf
#buka konfigurasi resolvconf file head
sudo vim /etc/resolvconf/resolv.conf.d/head
Tuliskan IP address server DNS yang digunakan.
Kemudian jalankan perintah update konfigurasi resolvconf agar mengenali DNS yang digunakan.
sudo resolvconf -u
Langkah 3. Pengujian Domain BIND9
Setelah selesai melakukan instalasi dan konfigurasi BIND9 kita lakukan beberapa pengujian untuk memastikan apakah sudah berfungsi normal.
- Menggunakan NSLOOKUPNslookup merupakan alat sederhana untuk melakukan query ke server DNS dan memetakan domain menjadi IP address atau sebaliknya. Nslookup dapat digunakan untuk memeriksa, apakah koneksi jaringan yang kita gunakan sudah membaca record DNS pada server yang terhubung. Langkah-langkah pengujian menggunakan nslookup sebagai berikut.
nslookup 10.23.1.209
nslookup amar-idnacademy.id
Jika muncul informasi seperti di atas ketika nslookup menggunakan IP address server dan domain yang dibuat, maka konfigurasi BIND9 sudah berhasil. - Menggunakan PINGPing yang sudah familiar digunakan untuk mengetahui status koneksi server atau host bisa juga digunakan untuk melakukan pengecekan DNS. Langkah-langkah pengujian menggunakan ping sebagai berikut.
ping amar-idnacademy.id
Jika status reply dan terdapat IP address server yang sesuai, maka BIND9 sudah berjalan dengan normal dan dapat digunakan.
Master-Slave DNS Server
Setelah DNS server berjalan dengan baik mungkin akan ada kondisi server mengalami kendala dan akibatnya domain tidak dapat digunakan. Untuk mengatasinya kita dapat membuat server kedua untuk DNS Server. Sehingga terdapat dua server, yaitu DNS Master dan DNS Slave (Backup).
Langkah 1. Konfigurasi DNS Master
Buka file named.conf.default-zones yang berada di dalam /etc/bind/ lalu tambahkan konfigurasi allow-transfer dan allow-notify
zone "amar-idnacademy.id" {
type master;
file "/etc/bind/db.amar";
allow-transfer {10.23.1.218;};
also-notify {10.23.1.218;};
};
zone "1.23.10.in-addr.arpa" {
type master;
file "/etc/bind/db.10";
allow-transfer {10.23.1.218;};
also-notify {10.23.1.218;};
allow-transer berfungsi untuk mengijinkan transfer record ke server cadangan. Kemudian allow-notify berfungsi untuk mengijinkan pemberitahuan ke server cadangan jika ada perubahan zona.
Kemudian buka konfigurasi file forward zone dan tambahkan subdomain dan IP address yang digunakan oleh server slave.
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA amar-idnacademy.id. root.amar-idnacademy.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS amar-idnacademy.id.
IN NS ns1.amar-idnacademy.id.
IN NS ns2.amar-idnacademy.id.
@ IN A 10.23.1.209
www IN A 10.23.1.209
ns1 IN A 10.23.1.209
ns2 IN A 10.23.1.218
Pada konfigurasi di atas kita menambahkan subdomain ns2 dengan dipetakan ke IP address server slave 10.23.1.218. Selain itu, kita juga menambahkan record nameserver baru ns2.amar-idnacademy.id
Kemudian buka juga konfigurasi file reverse zone dan tambahkan konfigurasi seperti di bawah ini.
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA amar-idnacademy.id. root.amar-idnacademy.id. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS amar-idnacademy.id.
209 IN PTR amar-idnacademy.id.
209 IN PTR ns1.amar-idnacademy.id.
218 IN PTR ns2.amar-idnacademy.id.
Setelah itu, tambahkan juga IP server slave ke dalam resolvconf seperti di bawah ini.
sudo vim /etc/resolvconf/resolv.conf.d/head
sudo resolvconf -u
Langkah terakhir restart layanan bind9 untuk memperbarui jalannya konfigurasi.
sudo systemctl restart bind9.service
Jika dilihat status dari bind9 maka akan gagal saat sampai pada langkah ini.
Hiraukan terlebih dahulu, karena jika sudah dikonfigurasi kemudian terhubung dan saling mengenal dengan server slave maka akan berjalan normal.
Langkah 2. Instal dan Konfigurasi DNS Slave
Pada artikel ini, server DNS Slave memiliki IP 10.23.1.218. Pertama-tama, instal layanan bind9 terlebih dahulu.
sudo apt install bind9 -y
Kemudian seperti server master, copy file forward zone pada /etc/bind9 dan buka untuk menambahkan konfigurasi seperti di bawah ini. Record domain samakan dengan yang didaftarkan pada DNS Master. Kemudian tambahkan record IP DNS Slave.
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA amar-idnacademy.id. root.amar-idnacademy.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS amar-idnacademy.id.
@ IN A 10.23.1.218
Setelah itu, buka file named.conf.default-zones dan tambahkan konfigurasi seperti di bawah ini untuk mengenalkan dengan server DNS Master.
zone "amar-idnacademy.id" {
type slave;
file "db.amar";
masters {10.23.1.209;};
};
type diubah menjadi slave, namakan file untuk menyimpan cache record zone yang diambil dari master, dan tambahkan masters {IP DNS Slave}; untuk menghubungkan dengan DNS Master.
Lalu restart layanan Bind9 untuk memperbarui konfigurasi
sudo systemctl restart bind9.service
Yang terakhir coba untuk melihat status dari layanan pada kedua server (Master dan Slave).
Langkah 3. Pengujian
Coba matikan server master untuk menguji fungsi dari server slave dalam melakukan backup DNS.
sudo poweroff
Gunakan nslookup untuk menguji apakah domain masih dapat digunakan
nslookup nama_domain
Jika domain masih bisa digunakan, maka instalasi dan konfigurasi DNS Master-Slave berhasil.
Untuk menguji apakah cache DNS pada server slave berfungsi, periksa file cache bind di dalam /var/cache/bind. Maka akan ada file sesuai dengan nama file yang kita konfigurasi pada named.conf.default-zones. Nama file seperti di bawah ini sesuai dengan konfigurasi yang dilakukan pada file konfigurasi Bind9.
Kemudian coba untuk melakukan reboot DNS slave dan coba nslookup kembali dengan kondisi DNS Master masih mati.
sudo reboot
Jika domain masih memberikan informasi yang tepat terkait IP server master, maka cache file DNS berhasil berfungsi.
Kesimpulan
Dengan menggunakan DNS Server kita dapat mengakses server menggunakan domain bukan menggunakan IP Address. Dengan begitu kita akan lebih mudah mengingat nama domain yang sudah dibuat sesuai dengan keinginan atau kebutuhan dari pada IP Address. Menggunakan DNS Server juga menjadikan mudah dalam manajemen server disisi penamaan. Karena DNS Server juga membutuhkan cadangan agar domain tetap bisa diakses ketika server tersebut bermasalah, maka DNS Master-Slave dapat menjadi solusi masalah tersebut.
Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti. Klik disini untuk beralih ke page pilihan training
Penulis : Bazigan Tsamara Sukamto