BIND9 di VPS Ubuntu

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:

vps tutorial cara setting bind9 ubuntu

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]