BIND atau BIND9 (Baca Bain) atau NAMED (Baca Neim di) merupakan software DNS (Domain Name System) di Internet. Dalam sebuah server Linux, BIND merupakan hal paling penting dan harus ada. BIND sebenarnya merupakan akronim atau kependekan dari Berkeley Internet Name Domain Versi BIND terbaru saat artikel ni ditulis adalah BIND9 yang dirilis pada tahun 2000.
BIND atau BIND9 adalah salah satu DNS server yang akan mengatur pointing domain dan subdomain anda di VPS tersebut atau ke server lainnya yang berhubungan dengan domain Anda. Anda yang terbiasa menggunakan panel web seperti cPanel atau panel lainnya mungkin saja belum terbiasa dengan pengaturan ini karena di VPS yang dilengkapi dengan web panel pengaturan DNS akan diatur secara otomatis oleh panel kecuali jika dibutuhkan pengaturan tambahan.
Cara Install BIND9 di VPS Ubuntu
BIND9 sudah terdaftar di repository utama ubuntu server, sehingga untuk menginstall BIND9:
[box type=”shadow” align=”” class=”background-color: lightblue;” width=””]root@bestariwebhost:~# apt-get install -y bind9[/box]
setelah proses intallasi tersebut, BIND9 akan tersimpan di folder:
[box type=”shadow” align=”” class=”” width=””]/etc/bind/[/box]
ada 3 file konfigurasi utama di BIND9 yaitu file berikut:
[box type=”shadow” align=”” class=”” width=””]/etc/bind/named.conf
/etc/bind/named.conf.options
/etc/bind/named.conf.local[/box]
dan yang perlu kita setting hanya 2 yaitu named.conf.options dan named.conf.local
Konfigurasi named.conf.options
File ini bertugas sebagai Caching Server configuration. Konfigurasi file ini sangat simple. Anda hanya perlu menghilangkan comment (//) di bagian forward dan menambahkan gateway IP di baris tersebut. Gateway IP di VPS biasanya adalah IP Dedicated server, yaitu IP yang digunakan untuk akses ke virtualizor atau ke solusVM untuk mengatur (Manage) VPS Anda. Misal Gateway IP VPS Anda adalah 1.2.3.4, maka isi dari named.conf.options adalah sebagai berikut:
[box type=”shadow” align=”” class=”” width=””]options {
directory “/var/cache/bind”; // If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0’s placeholder. forwarders { 1.2.3.4; }; //========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys //========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; }; };[/box]
kemudian test hasil konfigurasi kita dengan perintah dig -x alamatIPvps
. Misal jika IP Anda adalah 111.222.333.444, maka eksekusi perintah dig sebagai berikut:
[box type=”shadow” align=”” class=”” width=””]dig -x 111.222.333.444[/box]
dan contoh hasilnya adalah seperti ini:
Konfigurase named.conf.local
file named.conf.local
bertugas sebagai Primary Master Server configuration. Di file konfigurasi ini diregister semua nama domain yang akan dipointing oleh DNS. Untuk mempermudah proses belajar, kita asumsikan saat ini kita punya 2 domain contoh1.com dan contoh2.com, edit named.conf.local
dengan nano:
[box type=”shadow” align=”” class=”” width=””]nano named.conf.local[/box]
Isi named.conf.local
dengan data berikut untuk meregister domain contoh1.com dan contoh2.com di BIND9:
[box type=”shadow” align=”” class=”” width=””]
//
// Do any local configuration here
// # Our forward zone zone
“contoh1.com” {
type master;
file “/etc/bind/zones/db.contoh1.com”; };
zone “contoh2.com” {
type master;
file “/etc/bind/zones/db.contoh2.com”;
};[/box]
kemudian di baris akhir, buat PTR Record untuk IP VPS Anda (Dalam contoh tutorial ini kita asumsikan IP VPS Anda 111.222.333.444
[box type=”shadow” align=”” class=”” width=””]
# Our reverse Zone
# Server IP 111.222.333.444
zone “333.222.111.in-addr.arpa” {
type master;
file “/etc/bind/zones/db.111″;
};[/box]
[box type=”shadow” align=”” class=”” width=””]
/etc/bind/zones/db.contoh1.com
/etc/bind/zones/db.contoh2.com
/etc/bind/zones/db.111[/box]
Buat subdirectory zones dengan perintah mkdir, kemudian masuk ke sub directory tersebut:
[box type=”shadow” align=”” class=”” width=””]
mkdir zones
cd zones[/box]
Buat file db.contoh1.com
dengan nano:
[box type=”shadow” align=”” class=”” width=””]nano db.contoh1.com[/box]
kemudian isi dengan data berikut:
[box type=”shadow” align=”” class=”” width=””];
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.contoh1.com. support.bestariwebhost.com. (
20160081901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.contoh1.com.
@ IN NS ns2.contoh1.com.
@ IN A 111.222.333.444
www IN A 111.222.333.444
ns1 IN A 111.222.333.444
ns2 IN A 111.222.333.444[/box]
kalau kita lihat dat di atas, maka ada hal hal yang perlu anda catat atau ingat:
- format untuk serial 2016081901 adalah menggunakan YYYYMMDDnn dimana nn adalah nomor indeks domain di VPS tersebut dan YYYYMMDD adalah tanggal register domain di VPS tersebut. Penggunaan format penulisan seperti ini juga biasa digunakan oleh DNS di web panel seperti cPanel atau web panel lainnya.
- A Record untuk ns1 (ns1 IN A) dan ns2 (ns2 IN A) hanya dibutuhkan oleh domain utama di VPS tersebut. domain berikutnya tinggal menuliskkan NS record (@ IN NS)
setelah Anda memahami 2 hal tersebut, langkah berikutnya adalah membuat DNS record untuk contoh2.com di file db.contoh2.com dengan perintah nano:
[box type=”shadow” align=”” class=”” width=””]nano db.contoh2.com[/box]
isi dari db.contoh2.com agak sedikit berbeda dengan db.contoh1.com karena tidak mendefinisikan A record untuk ns1 dan ns2:
[box type=”shadow” align=”” class=”” width=””];
; BIND data file for local loopback interface
;
$TTL 604800 @ IN SOA ns1.contoh1.com. support.bestariwebhost.com. (
20160081902 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.contoh1.com.
@ IN NS ns2.contoh1.com.
@ IN A 111.222.333.444
www IN A 111.222.333.444[/box]
yang terakhir adalah membuat PTR Record di file db.111. Beberapa VPS sebenarnya tidak mensupport untuk mendefinisikan PTR Record sendiri karena ada beberapa yang harus setting PTR di Dedicated servernya. namun untuk menghindari PTR Record yang kosong, maka sebaiknya Anda tetap membuat PTR Record di BIND9. kekosongan PTR Record merupakan salah satu penyebab email dar IP tersebut akan digolongkan ke dalam spam. Jadi sebaiknya kita isi saj dengan data sebagai berikut:
[box type=”shadow” align=”” class=”” width=””];
; BIND reverse data file for local loopback interface
;
$TTL 604800 @ IN SOA ns1.contoh1.com. support.bestariwebhost.com. (
2016081900 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.
444 IN PTR server.contoh1.com.[/box]
angka 444 di 444 IN PTR
adalah digit terakhir dari IP VPS anda. dan server.contoh1.com
adalah hostname VPS Anda.
Langkah terakhir agar BIND9 bisa berfungsi adalah merestart BIND9 Service dengan perintah:
[box type=”shadow” align=”” class=”” width=””]service bind9 restart[/box]