Cara Membuat Private Nameserver dengan BIND di Ubuntu/Debian

Cara membuat private nameserver (child name server) atau dikenal dengan name server dengan domain sendiri di server Linux Ubuntu menggunakan BIND9 hanya dengan 1 IPv4.

Metode ini juga dikenal dengan vanity nameserver yaitu name server dengan branding domain yang anda tentukan sendiri. Nah untuk mewujudkan hal tersebut, kita akan melakukan konfigurasi BIND DNS server.

Hasilnya nanti Anda akan mempunyai nameserver seperti:
ns1.domainanda.com
ns2.domainanda.com

Pada panduan ini, sebagai contoh domain yang digunakan adalah penjurudummy.com dengan IPv4 192.168.0.1, jadi silahkan diganti dengan nama domain dan IP server anda.

Cara install BIND di Ubuntu/Debian
Sebelum install BIND9 pastikan sistem sudah terupdate

apt-get update -y
apt-get install bind9 bind9utils -y

Buka konfigurasi default bind9 dan edit

nano /etc/default/bind9

Set BIND ke mode IPv4, tambahkan -4 pada baris kode seperti berikut:

# startup options for the server
OPTIONS="-4 -u bind"

Simpan perubahan.

Konfigurasi DNS server
Karena IP hanya satu maka ns2 juga akan memakai IP yang sama dengan ns1 yaitu 192.168.0.1 sebagai contoh.

nano /etc/bind/named.conf.options

Tambahkan blok baru bernama trusted di baris paling atas, dan set sesuai IP aktual.

acl "trusted" {
	192.168.0.1; # ns1, daftarkan IP slave (ns2, ns3 dst.) disini
};
 
options {
 
	directory "/var/cache/bind";
 
	recursion yes;
	allow-recursion {trusted; }; 
	listen-on { 192.168.0.1; };
	allow-transfer { none; };
	version "Onde onde"; # menyamarkan versi
 
	forwarders {
		8.8.8.8;
		8.8.4.4;
	};
 
	dnssec-validation auto;
 
	auth-nxdomain no; # conform to RFC1035
	# listen-on-v6 { any; }; # kita ingin IPv4 saja
};

Catatan:
Setiap awal baris pada di dalam konfigurasi block seperti ada spasi kan? tapi itu bukan karakter spasi melainkan karakater Tab, kalau pakai spasi nanti terdeteksi sebagai option, kalau dicek nanti kelihatan error unknown option ‘ ‘

Menambahkan forward dan reverse zone
Langkah selanjutnya menambahkan forward dan reverse lookup zone, buka file /etc/bind/named.conf.local

nano /etc/bind/named.conf.local

Tambahkan baris berikut, jangan lupa di sesuaikan dengan domain dan IPv4 server Anda

zone "penjurudummy.com" {
     type master;
     file "/etc/bind/zones/db.penjurudummy.com";
     allow-transfer { 192.168.0.1; }; # catatan: ini IP slave (ns2), jika ada
};
 
zone "168.192.in-addr.arpa" {
     type master;
     file "/etc/bind/zones/db.168.192";
     allow-transfer { 192.168.0.1; }; # ns2
};

Konfigurasi forward lookup dan reverse lookup zone
Buat folder baru bernama zones untuk menyimpan file konfigurasi forward dan reverse zone BIND.

mkdir /etc/bind/zones

Buat file db.penjurudummy.com di dalam folder /etc/bind/zones

nano /etc/bind/zones/db.penjurudummy.com

Isi dengan konfig berikut, sesuaikan

$TTL 604800
@	IN	SOA	ns1.penjurudummy.com.	admin.penjurudummy.com. (
	3	; Serial
	604800	; Refresh
	86400	; Retry
	2419200	; Expire
	604800)	; Negative Cache TTL
;
; name servers - NS records
@	14400	IN	NS	ns1.penjurudummy.com.
@	14400	IN	NS	ns2.penjurudummy.com.
 
; name servers - A records
@	14400	IN	A	192.168.0.1
ns1	14400	IN	A	192.168.0.1
ns2	14400	IN	A	192.168.0.1
mail	14400	IN	A	192.168.0.1
 
; CNAME
www	14400	IN	CNAME	penjurudummy.com.
 
; MX records - paling tidak ada 2 mx (backup)
@	14400	IN	MX	10	penjurudummy.com.
@	14400	IN	MX	20	mail.penjurudummy.com.
 
; TXT value - SPF
@	14400	IN	TXT	"v=spf1 a mx ip4:192.168.0.1 ~all"
 
; DMARC1
_dmarc  14400	IN	TXT	"v=DMARC1; p=none"

Kemudian membuat file reverse zone

nano /etc/bind/zones/db.168.192

Isinya sebagai berikut, sesuaikan :

$TTL 604800
@	IN	SOA	ns1.penjurudummy.com.	admin.penjurudummy.com. (
	3	; Serial
	604800	; Refresh
	86400	; Retry
	2419200	; Expire
	604800)	; Negative Cache TTL
 
; Name servers
@	14400	IN	NS	ns1.penjurudummy.com.
@	14400	IN	NS	ns2.penjurudummy.com.
 
; PTR Records
1.0	14400	IN	PTR penjurudummy.com.	; 192.168.0.1
1.0	14400	IN	PTR ns1.penjurudummy.com.	; 192.168.0.1
1.0	14400	IN	PTR ns2.penjurudummy.com. 	; 192.168.0.1
1.0	14400	IN	PTR mail.penjurudummy.com.	; 192.168.0.1

Sampai pada titik ini BIND sudah selesai disetup. Untuk mengetahui berhasil tidaknya sebelum service BIND direstart, sebaiknya cek konfigurasi satu persatu agar dapat diketahui jika ada kesalahan pada konfigurasi.

Cek konfigurasi BIND
Cek konfigurasi BIND dengan perintah berikut:

named-checkconf

Kalau tidak ada output apa-apa berarti konfigurasi sudah benar.

Cek konfigurasi file named forward lookup zone

named-checkzone penjurudummy.com /etc/bind/zones/db.penjurudummy.com

Hasilnya:
zone penjurudummy.com/IN: loaded serial 3
OK

Cek konfigurasi reverse zone file

named-checkzone 168.129.in-addr.arpa /etc/bind/zones/db.168.192

kalau berhasil, jawabanya:
zone 168.129.in-addr.arpa/IN: loaded serial 3
OK

Restart BIND
Setiap kali mengedit konfigurasi named, jangan lupa restart service bind9 dengan menjalankan perintah berikut:

service bind9 restart

Selesai..

Sekarang saatnya menuju panel domain, kemudian membuat child nameserver ns1.penjurudummy.com dan ns2.penjurudummy.com yang diarahkan ke IP VPS. Berikutnya arahkan nameservernya ke ns1.penjurudummy.com dan ns2.penjurudummy.com , tentunya ganti dengan nama domain milik Anda sendiri.

Selamat mencoba, semoga berhasil.

source: penjurumedia.co.id