Instalasi DNS Server di Ubuntu menggunakan Bind9

Sunday, May 2, 2010

Instalasi DNS Server di Ubuntu menggunakan Bind9

Instalasi DNS server menggunakan bind9 di Ubuntu dalam sistem chroot. Anda akan dikenalkan pada beberapa record penting, yang harus Anda pahami ketika mengadministrasi sebuah domain di DNS server Anda.

Instalasi Bind dalam sistem chroot

Mengapa instalasi nya dalam chroot? Karena bind ini memiliki sejarah yang panjang dalam urusan lubang keamanan (sering ditemukan celah, yang menyebabkan sistem Anda bisa dicrack melalui bind), maka kita lakukan instalasi dalam lingkungan yang terbatas/chroot.

Instalasi paket

sudo apt-get install bind9
Stop dulu, sebelum kita lanjutkan ke tahapan chroot
sudo /etc/init.d/bind9 stop

Konfigurasi chroot

sudo mkdir -p /var/lib/named/etc
sudo mkdir /var/lib/named/dev
sudo mkdir -p /var/lib/named/var/cache/bind
sudo mkdir -p /var/lib/named/var/run/bind/run
sudo mv /etc/bind /var/lib/named/etc
sudo ln -s /var/lib/named/etc/bind /etc/bind
sudo mknod /var/lib/named/dev/null c 1 3
sudo mknod /var/lib/named/dev/random c 1 8
sudo chmod 666 /var/lib/named/dev/*
sudo chown -R bind:bind /var/lib/named/var/*
sudo chown -R bind:bind /var/lib/named/etc/bind

Sunting Berkas /etc/default/bind9, cari baris seperti di bawah ini,
OPTIONS="-u bind"

Lalu ganti menjadi,
OPTIONS="-u bind -t /var/lib/named"

Setelah itu, start kembali bind,
sudo /etc/init.d/bind9 start
Sekarang instalasi chroot dns sudah selesai. Kita lanjutkan ke tahapan berikutnya.

Format Penulisan berkas Domain di Bind

Ini adalah bagian yang paling rumit tapi juga penting. Dengan memahami cara penulisan record domain di bind, Anda dijamin bisa mengelola domain dengan baik.
Misal, Anda ingin membuat domain baru, perusahaan.com. Maka langkah pertama yang perlu Anda lakukan adalah membuat berkas baru yang isinya kira-kira seperti di bawah ini.

1 $TTL 7200 ; 2 hours
2 @ IN SOA ns1.perusahaan.com. hostmaster.perusahaan.com. (
3 2009060708 ; serial
4 7200 ; refresh (2 hours)
5 3600 ; retry (1 hour)
6 604800 ; expire (1 week)
7 10800 ; minimum (3 hours)
8 )
9 NS ns1.perusahaan.com.
10 NS ns2.perusahaan.com.
11 A 192.168.1.2
12 MX 10 mail1.perusahaan.com.
13 MX 20 mail2.perusahaan.com.
14
15 mail1 A 192.168.1.11
16 mail2 A 192.168.1.12
17
18 ns1 A 192.168.1.3
19 ns2 A 192.168.2.3
20
21 pop CNAME mail1
22 smtp CNAME mail1
23 webmail CNAME mail1
24
25 www A 192.168.1.2

Mari kita pelajari beberapa record yang ada di berkas tersebut.

SOA record

@ IN SOA ns1.perusahaan.com. hostmaster.perusahaan.com.
SOA (Start of Authority) adalah catatan dimana berkas zona/domain tersebut pertama kali dibuat. Ini juga bisa diartikan sebagai master DNS.
Sedangkan kolom berikutnya adalah kontak email, hanya saja @ disini digantikan dengan titik. Jadi dari baris di atas bisa kita simpulkan kontak emailnya adalah hostmaster@perusahaan.com.

NS record

NS (Name Server) adalah catatan yang menentukan server mana yang akan menjawab atau melayani informasi seputar DNS untuk sebuah domain.
Sebuah domain bisa memiliki banyak NS record. Semakin banyak NS server yang Anda definisikan, berarti semakin banyak pula yang bisa melayani (tentunya harus di setup juga proses master/slave utk proses propagasi data). Disarankan lokasi NS yang satu dan lainnya, ada di jaringan yang berbeda. Jadi kalau ada satu network yang terputus, NS server di jaringan yang lain masih bisa memberikan layanan.

MX record

MX (Mail Exchange) adalah catatan yang menentukan kemana sebuah email akan dikirim. Dalam record MX ini, ada variabel tambahan yaitu priotity.
Priority ini adalah angka yang menunjukkan skala prioritas, yang bisa Anda isi dari mulai 0 s.d 65536. Semakin kecil angkanya, semakin tinggi prioritasnya.
Jadi kalau Anda lihat di contoh di atas, maka mail1.perusahaan.com adalah tujuan pertama email akan dikirim, jika server mail1 ini tidak bisa diakses, maka email akan dikirim ke mail2.

A record

A (atau biasa disebut sebagai host record) merupakan inti dari DNS. A record adalah pemetaan dari nama ke alamat ip. Pemetaan ini tidak harus satu ke satu, beberapa nama yang berbeda bisa Anda petakan ke satu buah alamat IP yang sama.
Misal,
cecep A 192.168.1.13
mahbub A 192.168.1.13
Lihat juga record CNAME.

CNAME record

CNAME (Canonical Name) adalah alias. Jadi jika pada contoh di atas saya tulis, pop CNAME mail1, maka pop adalah nama lain untuk host mail1.
Dalam beberapa kasus, CNAME tidak disarankan. Misal mengisi alamat MX record dengan sebuah record CNAME. Karena akan menambah satu proses query ke DNS, dan itu tidak efisien.
Untuk informasi dasar seputar DNS ini silahkan Anda baca Basic Guide to DNS sebuah tulisan dari google.

Membuat Zona Baru

Karena kita sedang berbicara instalasi bind9 di Ubuntu, maka kita pakai cara ubuntu saja, dan kalau menggunakan distro lain tentunya harus menyesuaikan.
Tadi kita sudah buat berkas baru yang berisikan record-record utk domain yang akan kita kelola. Sekarang kita simpan berkas tersebut dengan nama db_perusahaan.com, simpan di /etc/bind/.

Pastikan hak akses dan kepemilikannya sudah betul
sudo chmod 644 /etc/bind/db_perusahaan.com
sudo chown bind:bind /etc/bind/db_perusahaan.com
Lalu sekarang kita sunting berkas /etc/bind/named.conf.local, buat baris baru seperti berikut,

1
2
3
4 zone "perusahaan.com" {
type master;
file "/etc/bind/db_perusahaan.com";
};
Setelah itu, konfigure ulang bindnya.
sudo rndc reload

Cek dan ricek menggunakan dig

Untuk mengecek SOA record, termasuk didalamnya adalah serial dari zona yang baru kita buat, jalankan perintah berikut,
dig @localhost soa perusahaan.com
Untuk mengecek MX record, gunakan perintah berikut,
dig @localhost mx perusahaan.com
Untuk mengecek A record atau CNAME record, kita tinggal query hostnamenya saja. Misal, cek www.perusahaan.com,
dig @localhost www.perusahaan.com

Pemecahan Masalah

Kalau ada masalah, jangan buru-buru menyerah, atau bertanya ke google. Biasanya solusinya ada didekat-dekat kita juga. Mari kita lihat.

Lihat Log

Di Ubuntu, log yang harus diperiksa adalah /var/log/daemon.log, lihat disitu seharusnya ada clue buat Anda.

Kurang Titik!

Masalah yang sering terjadi dalam mengkonfigurasi DNS adalah kurang teliti dalam membuat zona domain. Kurang titik bisa membuat zona yang kita buat salah. Perhatikan gambar di bawah ini, lalu teliti kembali berkas db_perusahaan.com yang sudah Anda buat tadi.

Masalah AppArmor

Di Ubuntu server defaultnya sudah terinstall aplikasi apparmor, yang kalau di fedora padanannya tuh SELinux. Sama-sama berfungsi untuk menambahkan layer security, tapi kadang bikin mumet proses konfigurasi.
Untuk proses troubleshoot, coba matikan dulu apparmor
sudo /etc/init.d/apparmor stop
Jika ingin membuang paketnya,
sudo dpkg --purge apparmor apparmor-utils


0 comments:

Post a Comment

 
 
 

Sms Gratis

Pengikut Blog