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 idnetter.com dengan IPv4 192.168.0.1, jadi silahkan diganti dengan nama domain dan IP server anda.
Informasi update:
- Artikel diperbarui pada 04 September 2018, Uji coba menggunakan Linux CentOS 7
- Diperbarui pada Sabtu, 22 September 2018, Uji coba Ubuntu 18.04 Bionic Beaver
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 "idnetter.com" {
type master;
file "/etc/bind/zones/db.idnetter.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.idnetter.com
di dalam folder /etc/bind/zones
nano /etc/bind/zones/db.idnetter.com
Isi dengan konfig berikut, sesuaikan
$TTL 604800
@ IN SOA ns1.idnetter.com. admin.idnetter.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800) ; Negative Cache TTL
;
; name servers - NS records
@ 14400 IN NS ns1.idnetter.com.
@ 14400 IN NS ns2.idnetter.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 idnetter.com.
; MX records - paling tidak ada 2 mx (backup)
@ 14400 IN MX 10 idnetter.com.
@ 14400 IN MX 20 mail.idnetter.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.idnetter.com. admin.idnetter.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800) ; Negative Cache TTL
; Name servers
@ 14400 IN NS ns1.idnetter.com.
@ 14400 IN NS ns2.idnetter.com.
; PTR Records
1.0 14400 IN PTR idnetter.com. ; 192.168.0.1
1.0 14400 IN PTR ns1.idnetter.com. ; 192.168.0.1
1.0 14400 IN PTR ns2.idnetter.com. ; 192.168.0.1
1.0 14400 IN PTR mail.idnetter.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
Kalu tidak ada output apa-apa berarti konfigurasi sudah benar.
Cek konfigurasi file named forward lookup zone
named-checkzone idnetter.com /etc/bind/zones/db.idnetter.com
Hasilnya
zone idnetter.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.idnetter.com
dan ns2.idnetter.com
yang diarahkan ke IP VPS. Berikutnya arahkan nameservernya ke ns1.idnetter.com
dan ns2.idnetter.com
, tentunya ganti dengan nama domain milik Anda sendiri.
Selamat mencoba, semoga berhasil. Tapi seandainya gagal, jangan ragu untuk order jasa setting VPS di idnetter.com ya.
Mantap bang tutorialnya ,
tapi kenapa ya pas di step Cek konfigurasi file named forward lookup zone
ada warning ignoring out-of-zone data, gitu
saya udah googling tapi bingung 😀
btw saya pake redhat bang
Maaf mas Andry, saya baru sadar, ini memang ada kesalahan pada tutorial. Perintah cek zone pada parameter pertama
168.129.in-addr.arpa
gak cocok sama zone"189.206.in-addr.arpa"
. Sekali lagi minta maaf, tutorial akan saya uji coba ulang dan akan saya update segera.Waktu saya set ns nya di panel domain, is not valid Nameserver, padahal semua sudah sesuai dari awal sampai akhir.
Itu disebabkan domain Nameserver belum diregisterkan. Cara register nameserver (dengan domain sendiri) dilakukan di panel domain, biasanya nama menunya: Child nameserver / Private nameserver / Personal nameserver.
1. Daftarkan
ns1.domainanda.com
ke IP server dan jugans2.domainanda.com
ke IP server2. Setelah berhasil mendaftarkan domain nameserver ns1 dan ns2 baru bisa mengganti Nameserver domain
saya memakai server fisik(pakai vmware untuk ns1 dan ns2) rencana saya pakaikan IP publik 2 2 nya, saya masih setting 1 ip saja dan sukses sampai akhir, yang saya bingung kemana selanjutnya? panel domain itu dimana? saya pakai ISP MLD.
Panel domain umumnya di provider tempat Anda membeli nama domain, bisa diakses melalui Client Area.
misal saya ingin membuat semuanya sendiri membuat dns server sendiri supaya bisa membuan child domain sendiri gimana mas?
panel domain misal mungkin pakai ISPConfig, ns1 dan ns2, ke 3nya itu di pasang di 3 server yg berbeda2?
misal saya punya 3 ip public ,192.168.111.1,192.168.111.2,192.168.111.3,
dan 3 server fisik siap pakai.
apa yg bisa saya lakukan?
Tutorial ini untuk 1 IP publik (Primary/Master) pada Virtual Private Server (VPS), jadi tidak ada backup. Kalau mau setup Master dan slave (backup), caranya sama. Ketiga server semua diinstall BIND, misal: Server1 sebagai tipe Master (primary), server2 sebagai tipe Slave (secondary) dan server3 sebagai Slave juga (tertiary). Kemudian untuk Name server domain, alurnya seperti ini:
‘options’ redefined near ‘options’ error ini terus di conf.options nya bang, butuh pencerahannya
ganti spasi dengan TAB
$TTL 604800
@ IN SOA ns1.idnetter.com. admin.idnetter.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800) ; Negative Cache TTL
;
Itu subdomain admin.idnetter.com untuk apa ya? Harus sama membuat subdomain admin juga?
Itu adalah SOA record (A Start of Authority record)
admin.idnetter.com.
adalah RNAME representasi administratornya, atau sama dengan[email protected]
Coba cek lengkapnya disini.