Apa itu DNS?
Sebenarnya DNS adalah kepanjangan dari Domain Name System yang merupakan sebuah service pada sistem berbasis Linux untuk mengubah cara akses pada server. Ibaratnya DNS adalah “buku telepon internet” yang menerjemahkan nama domain yang mudah dipahami oleh manusia (eg, example.com) menjadi alamat IP publik yang dapat dibaca oleh mesin (eg, 233.14.67.89). DNS memungkinkan seseorang untuk mengakses sebuah situs web tanpa perlu menghafal alamat IP numerik, dengan mengandalkan jaringan server terdistribusi untuk dengan cepat menemukan dan menghubungkan perangkat secara global.
Lalu Apa sih BIND9 Itu?
BIND9 adalah akronim dari Berkeley Internet Name Domain version 9, yang merupakan software Domain Name System (DNS) open-source dan gratis yang paling banyak digunakan di internet hingga hari ini. BIND9 mampu menerjemahkan nama domain ke alamat IP, kemudian bertindak sebagai server otoritatif, resolver rekursif, atau keduanya, dan umumnya digunakan pada sistem berbasis OS Linux untuk mengelola infrastruktur jaringan.
Aspek Kunci BIND9:
- Fungsionalitas: Dapat bertindak sebagai server utama maupun master (menyimpan catatan DNS) atau sebagai resolver caching / rekursif (mencari informasi catatan DNS).
- Penggunaan Utama: Merupakan standar industri untuk catatan DNS server hosting dan mengelola resolusi nama jaringan internal atau publik.
- Keamanan & Fitur: Mendukung DNSSEC (Ekstensi Keamanan DNS), DNS over HTTPS (DoH), dan DNS over TLS (DoT).
- Komponen: Termasuk dalam kategori named daemon (name server) dan tools seperti dig, nslookup, dan rndc untuk melakukan kueri dan mengelola server.
- Dukungan OS: Terutama berjalan pada sistem berbasis UNIX/Linux, meskipun dapat berjalan pada Windows.
- Pemeliharaan: Dikembangkan dan didukung oleh Internet Systems Consortium (ISC).
BIND9 sangat sering digunakan oleh Sistem Administrator untuk memelihara catatan domain dan oleh penyedia layanan internet (ISP) untuk menyelesaikan kueri user.
Nah, di tutorial kali ini saya akan membagikan tutorial dan panduan install, setting dan konfigurasi BIND9 DNS di Ubuntu server. Pastikan Anda sudah familiar dengan command-line Linux dan juga SSH konsol / terminal (bisa PuttY, Linux Terminal, maupun Windows Powershell). Selain itu, pastikan juga Anda punya hak akses root penuh ke server anda untuk memasang dan mengkonfigurasi BIND9.
CATATAN:
- Untuk mempercepat propagasi DNS, buat DNS zone dengan TTL rendah misalnya 300 – 100
- Selalu perbarui “Serial” pada DNS zone sesuai tanggal setingnya (misal 2015102525 / YYYYMMDD##)
- Buat filenya lewat Nano Editor / WinSCP / Filezilla di direktori /etc/bind/zones (Opsional)
Tutorial Install BIND9 untuk setting NS (Name server) untuk Domain Website:
1.) Langkah Pertama login ke root SSH server via Putty / Linux Terminal / Windows Powershell, lalu ketikan username root beserta password-nya.

2.) Langkah kedua, sekarang kita install BIND9 dulu beserta software dependency nya, ketik command berikut ini:
$ sudo apt install bind9 bind9utils libcap2
3.) Langka ketiga, setelah BIND9 terinstall, sekarang edit file named.conf.local dengan nano editor. Ketikan comand berikut:
$ nano /etc/bind/named.conf.local
4.) Langkah keempat, copy paste atau ketikkan kode berikut dalam file .conf td:
zone "domainmu.com" {
type master;
file "/etc/bind/zones/domainmu.com.db";
};
zone "3.2.1.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.3.2.1.in-addr.arpa";
};
NOTE:
– Blok dan copy kode diatas. Trus buka putty dan klik kanan untuk mem-paste kode tersebut.
– Ganti domainmu.com dengan domain anda sendiri
– Kalo sudah selesai edit, tekan Ctrl+O trus tekan ENTER untuk menyimpan lalu TEKAN Ctrl+X untuk EXIT.
5.) Langkah kelima, setelah di save dan keluar dari nano editor. Maka selanjutnya kita tinggal buat file-nya. Ketikkan command berikut ini (ingat: ketik satu persatu trus enter) atau langsung buat filenya lewat WinSCP / Filezilla / Filemanager Linux di direktori /etc/bind/zones:
$ cd /etc/bind $ mkdir zones $ cd /etc/bind/zones $ nano domainmu.com.db
6.) Kemudian langkah keenam, copy paste kode berikut ke dalam notepad untuk diedit terlebih dulu:
; BIND data file for domainmu.com ; $TTL 14400 @ IN SOA ns1.domainmu.com. server.domainmu.com. ( 20260301 ; Serial 7200 ; Refresh 3600 ; Retry 2419200 ; Expire 10800 ; Default TTL ) ; domainmu.com. IN NS ns1.domainmu.com. domainmu.com. IN NS ns2.domainmu.com. domainmu.com. IN MX 10 mail.domainmu.com. domainmu.com. IN A 192.184.92.158 ns1 IN A 192.184.92.158 ns2 IN A 192.184.92.158 www IN CNAME domainmu.com. mail IN A 192.184.92.158 ftp IN CNAME domainmu.com. domainmu.com. IN TXT v=spf1 ip4: 192.184.92.158 a mx ~all mail IN TXT v=spf1 a -all
NOTE:
– Ganti domainmu.com dengan domain anda.
– Ganti server.domainmu.com dengan hostname VPS server anda.
– Ganti 192.184.92.158 dengan IP VPS server anda.
– Setelah diedit di notepad, kemudian copy paste kan ke nano editor di SSH terminal dengan cara klik kanan pada mouse.
– Setelah itu, jangan lupa disave dengan comand CTRL+O untuk menyimpan, kemudian tekan ENTER dan CTRL+X untuk keluar dari nano editor.
7.) Langkah ketujuh, kita edit file yang satunya lagi. Ketik comand berikut:
nano /etc/bind/zones/rev.3.2.1.in-addr.arpa
Selanjutnya copy paste kode berikut ke dalam notepad untuk diedit terlebih dulu:
@ IN SOA domainmu.com. server.domainmu.com. ( 20260301; 28800; 10800; 10800; 86400 ); IN NS ns1.domainmu.com. 4 IN PTR domainmu.com.
NOTE:
– Ganti domainmu.com dengan domain anda.
– Ganti server.domainmu.com dengan hostname VPS anda.
– Setelah diedit di notepad, kemudian copy paste kan ke nano editor di SSH terminal dengan cara klik kanan pada mouse.
– Setelah itu, jangan lupa disave dengan comand CTRL+O untuk menyimpan, kemudian tekan ENTER dan CTRL+X untuk keluar nano editor.
——————————————————————–
8.) Sekarang edit file resolv.conf dengan mengetikan command:
nano /etc/resolv.conf
Kemudian tambahkan kode berikut di sana dan ganti domainmu.com dengan domainmu sendiri. Tambahkan juga DNS Resolver dari Google dan Cloudflare:
search domainmu.com nameserver 8.8.8.8 nameserver 1.1.1.1
Jangan lupa disave dengan comand CTRL+O untuk menyimpan, kemudian tekan ENTER dan CTRL+X untuk keluar nano editor.
9.) Sekarang restart Bind service dengan mengetikan command:
$ sudo /etc/init.d/bind9 restart
ATAU
$ systemctl restart bind9
10.) Langkah kesupuluh, sebenarnya kita sudah selesai di tahap ini, namun kita masih perlu mengetestnya dengan DNS Utility. Pertama kita install dulu bind9-dnsutils dengan command:
$ sudo apt install dnsutils bind9-dnsutils
Kemudian ketik command berikut dan ganti domainmu.com dengan domain milikmu sendiri:
$ dig domainmu.com
Lihat hasilnya pada test di atas, kalo semuanya benar pasti ada tulisannya NOERROR.
11.) Buka file /etc/bind/named.conf.options dan edit forwarders seperti di bawah ini. Ganti IP address 167.88.125.16 dengan alamat IP publik dari server VPS Anda:
nano /etc/bind/named.conf.options
--------------------------------------------------------------------
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 {
167.88.125.16;
};
//========================================================================
// 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; };
};
--------------------------------------------------------------------
12.) Kita sudah selesai disini, tinggal setting private nameserver (child-ns) di registrar domain kita masing-masing. Saya rasa caranya bisa berbeda-beda, yang jelas tambahkan hostname dengan NS1 dan NS2, lalu isikan dengan IP publik dari VPS server Anda dan NS2 isikan lagi dengan IP karena disini VPS kita menggunakan satu IP Address.






























