DNS Server Ubuntu 14.04

BIND singkatan dari (Berkeley Internet Name Domain) adalah program standard yang secara de facto digunakan untuk layanan DNS di Internet. Instalasi dari sebuah paket biasanya merupakan cara termudah. Dalam Ubuntu, dapat di install dengan menggunakan perintah :

sudo apt-get install bind9

Dalam praktek kali ini, asumsikan alamat IP yang akan digunakan adalah 192.168.7.7 dan domain yang akan digunakan adalah sekolahku.sch.id. Silahkan sesuaikan konfigurasinya jika alamat IP dan nama domain yang digunakan berbeda.

Konfigurasi Utama

Nah, setelah tadi kita menginstall paket bind9 langkah selanjutnya adalah mengonfigurasinya. Semua berkas konfigurasi bind9 ada di direktori /etc/bind. Ketikkan perintah berikut untuk masuk ke direktori tersebut :

cd /etc/bind

Pertama kita akan konfigurasi adalah berkas named.conf.local dalam direktori tadi

sudo nano named.conf.local

Ganti nano dengan teks editor favorit Anda, jika diperlukan. Tambahkan konfigurasinya sebagai berikut :

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "sekolahku.sch.id" {
type master;
file "/etc/bind/db.sekolahku";
};

zone "7.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

Pada zone yang kedua, angka 7.168.192 merupakan tiga blok pertama alamat IP yang dibalik urutannya.

Jangan lupa simpan konfigurasi tersebut dengan menekan tombol Ctrl+x lalu tekan y, selanjutnya Enter.

Lalu buat/salin berkas db.local ke db.sekolahku1) dan berkas db.127 ke db.1922). Hal tersebut dapat dilakukan dengan perintah berikut :

sudo cp db.local db.sekolahku
sudo cp db.127 db.192

Gunakan perintah ls untuk melihat isi folder, dan akan terlihat file yang baru dibuat tadi sebagai berikut :

samsul@maarif:/etc/bind$ ls
bind.keys  db.192    db.local      named.conf                named.conf.options
db.0       db.255    db.root       named.conf.default-zones  rndc.key
db.127     db.empty  db.sekolahku  named.conf.local          zones.rfc1918
samsul@maarif:/etc/bind$ 

Selanjutnya kita akan mengonfigurasi berkas db.sekolahku dan db.192.

 sudo nano db.sekolahku

Sunting berkas db.sekolahku sehingga menjadi seperti :

;
; BIND data file for local loopback interface
;
$TTL	604800
@	IN	SOA	sekolahku.sch.id. root.sekolahku.sch.id. (
			      2		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	ns.sekolahku.sch.id.
@	IN	A	192.168.7.7
@	IN	MX	10	mail.sekolahku.sch.id.
ns	IN	A	192.168.7.7
www	IN	A	192.168.7.7
mail	IN	A	192.168.7.7

simpan dengan Ctrl+x lalu tekan y, selanjutnya Enter. Dan sunting berkas db.192 :

sudo nano db.192

sehingga seperti sebagai berikut :

;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	sekolahku.sch.id. root.sekolahku.sch.id. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	ns.sekolahku.sch.id.
7	IN	PTR	ns.sekolahku.sch.id.
7	IN	PTR	www.sekolahku.sch.id.
7	IN	PTR	mail.sekolahku.sch.id.

simpan dengan Ctrl+x lalu tekan y, selanjutnya Enter.

Angka 7 pada konfigurasi di atas 7 IN PTR ns.blabalaba adalah blok terakhir alamat IP yang kita gunakan. Jadi silahkan sesuaikan jika alamat IP yang digunakan berbeda.

Forwarders

Konfigurasi berikutnya pada berkas named.conf.options bersifat pilihan saja, tidak wajib. Tapi sangat disarankan untuk diaktifkan apalagi jika server kita juga difungsikan sebagai gateway.

sudo nano named.conf.options

Dalam hal ini misalnya kita akan memforward (meneruskan) permintaan ke DNS milik google, maka konfigurasinya adalah sebagai berikut :

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 {
	 	8.8.8.8;
	};

	//========================================================================
	// 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; };
};

simpan dengan Ctrl+x lalu tekan y, selanjutnya Enter.

Restart BIND9

Sampai di sini, kita telah selesai mengonfigurasi BIND9 sebagai DNS server kita. Langkah berikutnya adalah dengan merestart layanan dns server tersebut dengan perintah berikut :

sudo service bind9 restart

atau

sudo /etc/init.d/bind9 restart

Jika tidak ada pesan error, artinya konfigurasi DNS server yang kita buat telah berhasil.

Pengujian

Namun untuk memastikan apakah sudah benar-benar berhasil atau belum, kita perlu melakukan pengujian. Beberapa alat yang dapat kita gunakan untuk melakukan pengujian adalah nslookup, dig, dan ping. Berikut adalah contoh-contoh hasil pengujiannya :

samsul@maarif:/etc/bind$ nslookup sekolahku.sch.id
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	sekolahku.sch.id
Address: 192.168.7.7

samsul@maarif:/etc/bind$ nslookup 192.168.7.7
Server:		127.0.0.1
Address:	127.0.0.1#53

7.7.168.192.in-addr.arpa	name = mail.sekolahku.sch.id.
7.7.168.192.in-addr.arpa	name = ns.sekolahku.sch.id.
7.7.168.192.in-addr.arpa	name = www.sekolahku.sch.id.

samsul@maarif:/etc/bind$ ping sekolahku.sch.id -c 4
PING sekolahku.sch.id (192.168.7.7) 56(84) bytes of data.
64 bytes from mail.sekolahku.sch.id (192.168.7.7): icmp_seq=1 ttl=64 time=0.076 ms
64 bytes from mail.sekolahku.sch.id (192.168.7.7): icmp_seq=2 ttl=64 time=0.133 ms
64 bytes from mail.sekolahku.sch.id (192.168.7.7): icmp_seq=3 ttl=64 time=0.114 ms
64 bytes from mail.sekolahku.sch.id (192.168.7.7): icmp_seq=4 ttl=64 time=0.126 ms

--- sekolahku.sam ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.076/0.112/0.133/0.023 ms
samsul@maarif:/etc/bind$ 

Sisi klien

Jika melakukan pengujian dari sisi klien, pastikan konfigurasi IP pada bagian DNS diarahkan IP ke DNS server kita. Dalam hal ini, IP DNSnya adalah 192.168.7.7. Jika komputer klien kita menggunakan sistem operasi Linux juga, maka hal tersebut dapat dilakukan dengan mengedit berkas /etc/resolv.conf3). Edit dengan teks editor :

sudo nano /etc/resolv.conf

Lalu isikan kedua baris paling bawah ini :

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search sekolahku.sch.id
nameserver 192.168.7.7

Terkait


1)
CATATAN: sesuaikan nama berkas dengan konfigurasi yang ada di named.conf.local
2)
Idem
3)
Sebenarnya bisa saja di berkas /etc/resolv.conf saja, namun supaya konfigurasi kita tidak berubah, maka kita konfigurasi di berkas head
  • linux/DNS.Server.Ubuntu
  • Terakhir diubah: 7 bulan yang lalu
  • (Perubahan eksternal)