Setting DNS

Foto os

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 sudah 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.conf.local, 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. Di dalam options tambahkan:
allow-query {
  0.0.0.0/0;
};

Sehingga keseluruhan /etc/bind/named.conf.options menjadi seperti ini:
options {
  directory "/var/cache/bind";
  auth-nxdomain no; # conform to RFC1035
  allow-query {
    0.0.0.0/0;
  };
}

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
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.conf.local 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.