BIND: Membuat DNS Server di Debian

Jika anda suka dengan artikel ini berbagilah ke rekan anda, simpan ke bentuk PDF atau bagikan ini ke social media 

Suatu situs atau website tidak akan dapat diakses tanpa konfigurasi domain dan name server yang benar. Fungsi domain dan name server ini adalah menerjemahkan alamat host yang mudah di ingat ke dalam deretan angka unik atau yang sering disebut alamat IP. Ini yang membuat peran domain sangat vital dalam menyediakan kemudahan user untuk mengakses internet.

Kali ini saya akan berbagi tutorial mengenai manajemen DNS server di Linux, karena saya adalah orang jaringan jadi gak afdol rasanya kalau saya tidak memberikan sedikit ilmu jaringan mengenai Linux :D. Pada proses instalasi ini saya menggunakan Debian 5 (Lenny) karena distro tersebut adalah salah satu distro yang mendukung untuk dibuat server, namun anda juga dapat melakukan instalasi serupa pada distribusi lain.

Implementasi BIND sebagai server DNS
DNS (Domain Name Server) bekerja pada konsep client-server. DNS diterapkan pada server terpusat yang disebut server DNS atau name server yang memiliki wewenang untuk mengelola beberapa nama domain dan mengacu kepada beberapa domain lainnya yang dikelola server DNS lain. Pada sistem Unix, BIND (Berkeley Internet Name Domain) menjadi software default sebagai paket DNS server dalam semua distribusi Linux. Pada Debian paket ini dapat ditemukan dengan nama bind9.

Instalasi BIND di Debian Lenny
Sebelum menginstal ada baiknya anda login menggunakan akses root (/) agar mendapat wewenang penuh dalam mengelola server. Untuk mendapatkan akses ini berikan perintah su pada terminal dan masukkan kata sandi root. Kemudian anda dapat segera menginstal paket bind9 untuk layanan DNS server.
# apt-get install bind9

Pengaturan alamat IP server
Selanjutnya kita perlu mensetting alamat IP agar server dapat diakses.
# nano /etc/network/interface

Di sini saya asumsikan alamat server yang saya pakai adalah 201.140.10.1, netmask 255.255.255.0 dan ada pada network 201.140.10.0. Untuk pengaturan IP dan lainya setidaknya sudah ditetapkan pada jaringan yang akan diterapkan.
auto eth0
iface eth0 inet static
       address 201.140.10.1
       netmask 255.255.255.0
       network 201.140.10.0
       broadcast 201.140.10.255
       gateway 201.140.10.10
       # dns-* options are implemented by the resolvconf package, [..]
       dns-nameservers 201.140.10.1
       dns-search ngaboti.com

Restart service.
# /etc/init.d/networking restart

Konfigurasi zone domain
Dalam tutorial ini contoh zone atau domain yang akan kita kelola adalah ngaboti.com. Kita edit filenamed.conf.local yang terletak pada direktori /etc/bind. File ini digunakan untuk menyimpan konfigurasi zone atau domain tersebut.
# cd /etc/bind
# nano named.conf.local

Tambahkan baris konfigurasi berikut.
zone "ngaboti.com" { // berisi zona konfigurasi domain ngaboti.com
      type master;
      file "/etc/bind/forward";
};

zone "10.140.201.in-addr.arpa" { // berisi zona network 201.140.10.0
      type master;
      file "/etc/bind/reverse";
};

Kemudian membuat dua buah file yaitu file forward dan reverse serta memberikan baris konfigurasi pada kedua file tersebut. Hati-hati dalam mengedit, walaupun ada kesalahan kecil yaitu berupa lupa meletakkan tanda titik (.) saja maka pengaturan server DNS atau domain anda tidak dapat berfungsi dengan baik. Meskipun demikian, untuk membuat baris konfigurasi anda dapat mencontek pada file db.127 dan db.local yang telah ada.

Konfigurasi file forward
Mengkopi file db.127 ke file forward.
# cp db.127 forward
# nano forward 

Dari baris konfigurasi berikut, sesuaikan isi dengan identitas hostname pada zona yang dikelola.
;
; BIND data file for local loopback interface
;
$TTL  604800
@     IN     SOA      ngaboti.com.     root.localhost. (
                              2      ; Serial
                         604800      ; Refresh
                          86400      ; Retry
                        2419200      ; Expire
                         604800 )    ; Negative Cache TTL
;
@     IN     NS       ngaboti.com.
      IN     MX 10    mail.ngaboti.com.
      IN     A       201.140.10.1
www              IN     CNAME   ngaboti.com.
mail             IN     A       201.140.10.1
ftp              IN     A       201.140.10.1

Konfigurasi file reverse
Mengkopi file db.local ke file reverse. 
# cp db.local reverse
# nano reverse 

Kemudian berikan baris konfigurasi seperti contoh berikut.
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@     IN     SOA      ns1.ngaboti.com.     root.localhost. (
                              1      ; Serial
                         604800      ; Refresh
                          86400      ; Retry
                        2419200      ; Expire
                         604800 )    ; Negative Cache TTL
;
      IN     NS       ns1.ngaboti.com.
1     IN     PTR      ns1.ngaboti.com.
; angka 1 di atas adalah angka terakhir dari ip name server

Penjelasan SOA, NS, MX, dan A record
SOA (Start of Authority) record, dapat diartikan sebagai catatan dimana berkas zona/domain pertama kali dibuat. SOA juga bisa diartikan sebagai master DNS.

NS (Name Server) record, berisi catatan yang menentukan server mana yang akan melayani informasi DNS untuk sebuah nama domain. Sebuah domain bisa memiliki banyak NS record. Semakin banyak NS server yang didefinisikan, berarti semakin banyak pula server yang melayani.

MX (Mail Exchange) record, merupakan sebuah informasi yang menentukan kemana sebuah email akan dikirim. Dalam MX record, ada variabel tambahan priority yaitu angka yang menunjukkan skala prioritas, yang bisa diisi mulai 0 sampai 65536. Dalam hal ini semakin kecil angkanya maka semakin tinggi prioritasnya.

A (atau biasa disebut sebagai host record) merupakan inti dari domain. A record adalah pemetaan dari nama domain ke alamat ip.

Menambahkan layanan DNS dari server lain
Selain pada layanan DNS kita sendiri, kita juga dapat menambahkan layanan DNS dari server lain. Misalnya kita menambahkan layanan DNS server dari Google, maka kita tinggal mengedit konfigurasi pada file named.conf.option.
#nano named.conf.option

Tambahkan server DNS Google yaitu 8.8.8.8 dan 8.8.4.4.
forwarders {
         8.8.8.8;
         8.8.4.4;
};

Restart service.
# /etc/init.d/bind restart

Pegujian domain menggunakan dig
Untuk mengecek SOA record dari zona yang kita buat tadi, jalankan perintah berikut.
# dig soa ngaboti.com

Hasil tes.

Mengecek MX record.
# dig mx ngaboti.com

Hasil tes.

Sedangkan untuk mengecek A record atau CNAME record, kita tinggal query hostnamenya saja.
# dig ngaboti.com

Balasan dari server.

Jika ada masalah dari apa yang kita kerjakan di atas, jangan terburu-buru menyerah. Biasanya solusi akan datang dengan sendirinya. Di Debian, anda dapat memeriksa log pada /var/log/daemon.log, disitu seharusnya ada klu yang dapat kita pakai.

0 komentar:

Post a Comment