Kamis, 13 Februari 2014

DNS Server

Pada tutorial kali ini saya akan membuat DNS Server yang lokal sehingga tidak bisa diakses dari luar.
langkah pertama kita mengecek hostname terlebih dahulu :
# hostname
DNS.arc.itb.ac.id
untuk merubah kita bisa membuka file rc.conf dan merubah hostname nya :
# ee /etc/rc.conf
disini adalah contoh dari file rc.conf

hostname="DNS"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
# -- sysinstall generated deltas -- # Wed Feb 12 03:54:34 2014
ifconfig_em0="DHCP"
hostname="DNS.arc.itb.ac.id"

disini kita menggunakan IP 167.205.3.70 sebagai DNS server nya, saat ini saya menggunakan DHCP
setelah selesai restart server anda
# reboot
setelah server sudah login kembali, langkah selanjutnya adalah memasukkan IP DNS dari ISP ke dalam file resolv.conf :
# ee /etc/resolv.conf
# Generated by resolvconf
#search arc.itb.ac.id
domain DNS.arc.itb.ac.id
nameserver 167.205.3.70
nameserver 167.205.3.1

disini saya memasukka IP DNS server saya kemudian IP DNS server yang saya peroleh dari jaringan ARC ITB
selanjutnya adalah menginstall DNS server itu sendiri, untuk memudahkan dalam menginstall DNS server di freebsd, kita bisa meng-install melalui port yaitu :
# cd /usr/ports/dns/bind99
# make install clean
setelah selesai untuk menjalankan menjalankan service bind kita harus memasukkannya ke dalam fie rc.conf dengan cara :
# vi /etc/rc.conf
tambahkan named_enable=”YES” sehingga file rc.conf nya menjadi :
hostname="DNS"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
# -- sysinstall generated deltas -- # Wed Feb 12 03:54:34 2014
ifconfig_em0="DHCP"
hostname="DNS.arc.itb.ac.id"
named_enable="YES"
setelah itu simpan file rc.conf tersebut dan reboot server anda.
# reboot
sesudah masuk ke dalam freebsd lagi dan named sudah berjalan, maka kita harus mengedit file named.conf :
# ee /etc/namedb/named.conf
bagian – bagian yang harus kita rubah di file named.conf adalah :
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
        listen-on       { 167.205.3.70; };
listen-on kita rubah ke IP DNS server kita.
kita juga harus mengubah bagian – bagian di bawah ini untuk tidak menjadi aktif, dam hal ini kita membuat settingan sendiri :
/* An example dynamic zone
#key “exampleorgkey” {
#       algorithm hmac-md5;
#       secret “sf87HJqjkqh8ac87a02lla==”;
#};
#zone “example.org” {
#       type master;
#       allow-update {
#               key “exampleorgkey”;
#       };
#       file “dynamic/example.org”;
#};
*/
/* Example of a slave reverse zone
#zone “1.168.192.in-addr.arpa” {
#       type slave;
#       file “slave/1.168.192.in-addr.arpa”;
#       masters {
#               192.168.1.1;
#       };
#};
*/
setelah kita menonaktifkan script-script tersebut, maka kita perlu mengaktifkan script yang kita buat :
zone "DNS.arc.itb.ac.id" {
        type master;
        allow-update {
                key "rndc-key";
        };
        file "/etc/namedb/master/DNS.db";
};
penjelasan script diatas adalah zone yaitu domain yang akan kita buat, type master adalah tipe dari dns tersebut yaitu sebagai primary dns dan file master/DNS.db adalah file setting zone untuk DNS.arc.itb.ac.id dengan nama file DNS.db dan diletakkan di /etc/namedb/master.
setelah itu buat file reverse zone nya di bawahnya :
zone "70.3.205.167.in-addr.arpa" {
        type master;
        file "etc/namedb/master/70.205.167.in-addr.arpa";
};

setelah menambahkan reverse zone kita juga perlu mendefinisikan rndc key nya dengan menambahkan di bawahnya :
include “/etc/namedb/rndc.key”;
Unuk rndc key sendiri berada di /etc/namedb/rndc.key , namun kita tidak perlu membuat script rndc key di file named.conf cukup di file rndc.key saja
sehingga secara keseluruhan file /etc/namedb/named.conf mempunyai tambahan :
zone "DNS.arc.itb.ac.id" {
        type master;
        allow-update {
                key "rndc-key";
        };
        file "/etc/namedb/master/DNS.db";
};

zone "70.3.205.167.in-addr.arpa" {
        type master;
        file "etc/namedb/master/70.205.167.in-addr.arpa";
};

include "/etc/namedb/rndc.key";

setelah selesai kita perlu membuat file contoh.com di /etc/namedb/master dengan cara:
# ee /etc/namedb/master/DNS.db
=
$TTL 2592000
$ORIGIN DNS.arc.itb.ac.id.
@       IN      SOA     DNS.arc.ITB.ac.id.  admin.arc.itb.ac.id. (
                                        2014020501
                                        1h
                                        15m
                                        20d
                                        1h )
@       IN      NS      DNS.arc.ITB.ac.id.
        IN      NS      ns2.itb.ac.id.
        IN      NS      ns3.itb.ac.id.
        IN      MX 10   arc.itb.ac.id.
        IN      MX 100  mx2.itb.ac.id.
        IN      A       167.205.3.3
        IN      AAAA    2403:8000:1:1880::3

$ORIGIN arc.ITB.ac.id.
file "/etc/namedb/master/DNS.db", 18 lines
$TTL 2592000
$ORIGIN DNS.arc.itb.ac.id.
@       IN      SOA     DNS.arc.ITB.ac.id.  admin.arc.itb.ac.id. (
                                        2014020501
                                        1h
                                        15m
                                        20d
                                        1h )
@       IN      NS      DNS.arc.ITB.ac.id.
        IN      NS      ns2.itb.ac.id.
        IN      NS      ns3.itb.ac.id.
        IN      MX 10   arc.itb.ac.id.
        IN      MX 100  mx2.itb.ac.id.
        IN      A       167.205.3.3
        IN      AAAA    2403:8000:1:1880::3

$ORIGIN arc.ITB.ac.id.
wahyu           A       167.205.3.13

setelah itu kita membuat file reverse zone nya dengan nama 70.3.205.167.in-addr.arpa di direktori /etc/namedb/master :
sesudah file telah di restart konfigurasi DNS server / named anda :
# service named restart
Stopping named.
Waiting for PIDS: 698.
Starting named.

setelah semua selesai dilakukan maka langkah selanjutnya adalah mengetest DNS server anda dengan perintah DIG :
# dig DNS.arc.itb.ac.id
; <<>> DiG 9.8.4-P2 <<>> DNS.arc.itb.ac.id
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43736
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4

;; QUESTION SECTION:
;DNS.arc.itb.ac.id.             IN      A

;; ANSWER SECTION:
DNS.arc.itb.ac.id.      2592000 IN      A       167.205.3.3

;; AUTHORITY SECTION:
DNS.arc.itb.ac.id.      2592000 IN      NS      DNS.arc.itb.ac.id.
DNS.arc.itb.ac.id.      2592000 IN      NS      ns2.itb.ac.id.
DNS.arc.itb.ac.id.      2592000 IN      NS      ns3.itb.ac.id.

;; ADDITIONAL SECTION:
DNS.arc.itb.ac.id.      2592000 IN      AAAA    2403:8000:1:1880::3
ns2.itb.ac.id.          3528    IN      A       167.205.22.123
ns3.itb.ac.id.          3528    IN      A       167.205.30.114
ns3.itb.ac.id.          3528    IN      AAAA    2403:8000:30:112::114

;; Query time: 0 msec
;; SERVER: 167.205.3.70#53(167.205.3.70)
;; WHEN: Fri Feb 14 01:56:12 2014
;; MSG SIZE  rcvd: 189

disini bisa kita lihat mesin menjawab dengan benar
kita juga bisa cek dengan 

# nslookup DNS.arc.itb.ac.id

Server:         167.205.3.70
Address:        167.205.3.70#53

Name:   DNS.arc.itb.ac.id
Address: 167.205.3.3

sekian, terima kasih…….