DNS atau Domain Name Server merupakan penerjemah nama menjadi IP.
www.rab.co.id adalah 202.59.201.67, itulah tugas DNS. Kita memerlukannya karena pada
dasarnya data dikirim ke alamat IP, bukan nama domain. Saat Anda menggunakan layanan
GPRS, program wvdial otomatis menentukan DNS sesuai arahan ISP, Internet Service Provider.
Bila Anda punya warnet, Internet server dapat diset sebagai DNS. Ini memudahkan pengaturan
DHCP server yang mengarahkan DNS bagi para pc client. Sehingga saat Anda beralih ke ISP
lain, tidak perlu lagi mengubah setting DHCP.
Tulisan ini dicoba menggunakan Ubuntu 8.04 dan seharusnya berfungsi pada distro turunan
Debian, dan mudah-mudahan juga berlaku bagi distro-distro lainnya.
Sekarang pasanglah paketnya:
$ sudo su
# apt-get install bind9
Lalu ubahlah /etc/bind/named.local.conf, hapus remark pada include-nya sehingga menjadi
seperti ini:
// Consider adding the 1918 zones here, if they are not used in your
// organization
include "/etc/bind/zones.rfc1918";
Simpan, dan restart daemon-nya:
# /etc/init.d/bind9 restart
Untuk mencobanya ubahlah /etc/resolv.conf menjadi:
nameserver 127.0.0.1
Baris-baris nameserver lainnya di-remark saja. resolv.conf dikategorikan sebagai "client setting",
mudah-mudahan Anda paham maksudnya. Kemudian ujilah dengan memanggil sebuah nama:
# telnet google.com 80
Trying 209.85.171.100...
Connected to google.com.
Escape character is '^]'.
^]
Log-nya bisa Anda lihat di /var/log/daemon.log. Sampai di sini DNS hanya dapat digunakan
oleh server sendiri. Selanjutnya izinkan pc client menggunakannya dengan mengubah
/etc/bind/named.conf.options. Tambahkanlah di atas options dengan:
acl semua {
0.0.0.0/0;
};
Lalu di-dalam options tambahkan:
allow-query { semua; };
Sehingga keseluruhan /etc/bind/named.conf.options menjadi seperti ini:
acl semua {
0.0.0.0/0;
};
options {
directory "/var/cache/bind";
auth-nxdomain no; # conform to RFC1035
allow-query { semua; };
}
Lanjutkan dengan restart daemon-nya:
# /etc/init.d/bind9 restart
Di PC client, ubahlah DNS ke 192.168.0.254 ( IP server ), lalu cobalah:
$ telnet google.com 80
Trying 209.85.171.100...
Connected to google.com.
Escape character is '^]'.
^]
IP Publik
Sekarang server ini memiliki IP publik, dimana ia dapat dihubungi dari luar (Internet). Cobalah
pasang Apache:
# apt-get install apache2
Misalkan ISP memberikan IP publik 202.59.201.67 untuk server ini. Ujilah dari tempat lain,
bukan dari server maupun dari LAN, misalnya menggunakan GPRS di laptop:
$ telnet 202.59.201.67 80
telnet 202.59.201.67 80
Trying 202.59.201.67...
Connected to 202.59.201.67.
Escape character is '^]'.
Baik, itu artinya IP publik sudah berfungsi dan Apache telah merespon dengan benar.
Selanjutnya pesanlah sebuah domain ke register.net.id, katakanlah rab.co.id. Katakan pada
mereka bahwa rab.co.id ada di 202.59.201.67 dengan hostname dns1.rab.co.id.
Setelah itu, lakukan setting di server. Buatlah
/etc/bind/db.rab.co.id:
$TTL 1500
@ IN SOA dns1.rab.co.id. grananda.rab.co.id. (
2007062703 ;serial
28800 ;refresh
3600 ;retry
604800 ;expire
38400 ) ;minimum 25 minutes
@ IN NS dns1.rab.co.id.
@ IN A 202.59.201.67
dns1 IN A 202.59.201.67
www IN CNAME dns1
Tambahkan di /etc/bind/named.local.conf dengan ini:
zone "rab.co.id" {
type master;
file "/etc/bind/db.rab.co.id";
};
Kemudian restart daemon-nya:
# /etc/init.d/bind9 restart
Lalu cobalah dari server:
# telnet rab.co.id 80
Trying 202.59.201.67...
Connected to rab.co.id.
Escape character is '^]'.
^]
Coba juga dari ISP lain. Biasanya 3 hari setelah pendaftaran di register.net.id, domain Anda
sudah dikenali oleh Internet.
Selamat mencoba.
Sumber: jabber.rab.co.id
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.
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