Selasa, 22 November 2011

KONFIGURASI DNS SERVER

 

 

Pendahuluan

Konfigurasi yang akan dibicarakan di sini adalah versi 8.1.2, bukan 4.x. Kedua versi ini sedikit mempunyai perbedaan. Konfigurasi ini akan dibagi-bagi lagi menjadi jenis-jenis DNS  yaitu cache, primary dan secondary.

Secara umum file-file yang perlu dibuat adalah :

·         Named.conf

File ini merupakan file konfigurasi utama dari named. Di file inilah akan dinyatakan file-file database yang akan digunakan untuk menterjemahkan IP address ke Hostname atau sebaliknya.

·         File database domain

File ini berisikan nama-nama host dari sebuah domain  yang di mapping ke ip addressnya .

·         File database reverse domain

Kebalikan dari file database domain, file ini memuat daftar ip address yang dimapping ke host name dari domain tertentu.

Ketiga file ini mutlak dibutuhkan untuk membuat name server. Untuk DNS tipe cache, hanya file pertama yang dibutuhkan. Sedangkan file kedua dan ketiga diperlukan untuk primary dan secondary server.

 

Konfigurasi File Named.conf

File ini merupakan file utama dan yang pertama dibaca sewaktu memulai named. File ini berisikan jenis server apa yang akan dibuat, apa saja nama-nama file database domain dan reverse-nya ( kebalikannya ). Berikut diterangkan beberapa optionsnya :

1. Letak file konfigurasi

Syntax :

                        options {

                        directory          /nama/direktori           ;

                        };

 

Contoh :           options {

                        directory          /var/named;

                                                };

2. Pengaturan zone

Syntax :

                        zone     "nama.zone.com" {

                                    type jenis_type_server;

                                    file "nama_file_database_host" ;

                        };

Contoh :          

zone     "salman.itb.ac.id" {

                                    type     master;

                                    file       "db.salman.itb.ac.id ";

                        };

Jika jenis server yang akan digunakan adalah secondary atau dalam versi 8 ini disebut slave, maka sintaks yang digunakan :

                        zone     "salman.itb.ac.id"  {

                                    type     slave;

                                    masters            {

                                                167.205.206.100;

                                    };

                        };

IP address yang disebutkan diatas merupakan IP address Domain Name Service

Untuk zone root atau dengan kata lain ".", cara penggunaannya :

                        zone     "."  {

                                    type hint;

                                    file "named.root";

                        };

Zone-zone resolve, dapat dituliskan sebagai berikut :

                        zone     "9.205.167" {

                                    type master;

                                    file "9.205.167.in-addr.arpa";

                        };

Pada contoh di atas, zone “9.205.167” merupakan kumpulan ip address yang berada pada ip kelas C 167.205.9.x, mulai dari 167.205.9.0-167.205.9.255.

3. ACL (Access Control List)

ACL adalah daftar alamat ip atau host. Daftar ini diperlukan bila ada rule yang mengharuskan. Misalnya DNS server ini hanya boleh dipakai oleh sekelompok tertentu saja, sisanya di tolak. Hal ini diperlukan untuk membuat DNS server yang diquery dari dalam firewall

acl name           {

                         daftar_list_nama;

                        };

Query

Dengan query ini, named dapat di set untuk memenuhi permintaan query dari host-host dengan ip tertentu saja. Selain ip-ip tersebut akan ditolak.

 

allow-query {

                        167.205/16;

                        }

Transfer

Seperti sudah dibicarakan sedikit di atas, hubungan antara primary ( master ) dengan secondary ( slave ) diperlukan sebuah sinkronisasi. Untuk melakukan transfer zone , master harus memberikan izinnya kepada slave seperti demikian :

allow-transfer {

                        167.205.15.7;

                        }

 

CONTOH FILE NAMED.CONF

Dalam contoh kali ini kita mengunakan domain salman.itb.ac.id, dan diasumsikan jaringan pada domain salman.itb.ac.id mempunyai network address 167.205.206.96.

options {

            directory “/var/named/”;

            fetch-glue no;

recursion no;

allow-query {167.205.206.96/26;127.0.0/8;};

allow-transfer {167.205.206.99;};

 zone "." {

        type hint;

        file "db.cache";

};

 

zone "0.0.127.in-addr.arpa" {

        type master;

        file "db.127.0.0";

};                      

zone “salman.itb.ac.id”  in {

            type master;

            file “db.salman.itb.ac.id”;

};

zone “206.205.167.in-addr.arpa” in{

            type master ;

            file “db.167.205.206”;

};

 

Option “fetch-glue no”  digunakan bersama dengan option “recursion no”  untuk menjaga cache server dari “pertambahan” atau “terkorupsi”. Selain itu men-disable recursion membuat server kita menjadi mode pasif, tidak pernah mengirim request ke name server yang lain. Mode ini sulit di-spoof.

Option “allow-query” menyebutkan bahwa hanya komputer pada network address 167.205.206.96 dan komputer local saja yang bisa mengakses DNS server.

Option “allow-transfer “ menyebutkan IP address host yang menjadi  secondary name server.

Pada konfigurasi diatas kita terlihat bahwa kita mempunyai 4 file database yang terletak dibawah direktori /var/named/. File tersebut antara lain:

1.     db.cache

Berisi daftar  root DNS yang ada di seluruh dunia.

2. db.127.0.0

Berisi mapping local hostname ke IP address

3. db.salman.itb.ac.id

Berisi mapping IP address ke hostname pada domain salman.itb.ac.id

4. db.167.205.206

 Berisi mapping  hostname ke IP address  pada domain salman.itb.ac.id

 

Konfigurasi File Database Name Server

Selain membuat file named.conf, file yang perlu kita buat adalah file database domain dan file reverse database domain Pada modul kali in akan dibahas tentang kedua file tersebut.

 

Konfigurasi File Database Domain

Dalam file ini terdapat satu set informasi untuk setiap domain. Set informasi untuk suatu domain bisa berupa IP address, nama alias , nama sever yang bertanggung jawab atas domain tersebut dan lain-lain.

Masing-masing informasi dalam satu set informasi disebut “resource record”.

Format standart untuk setiap resource record dalam file database domain adalah :

<hostname atau zona> <ttl> <address class> <tipe> <catatan spesifik>

Keterangan :

1.     Field pertama ialah nama  domain atau bisa juga  namat host yang akan diresolve. Penulisan field ini selalu dimulai pada kolom pertama.

Untuk semua resource record selain resource record pertama dalam suatu file, field ini boleh dikosongkan. Jika field ini dikosongkan maka domain yang tidak disebutkan ini akan merujuk ke resource record pertama.

2.     ttl (time to live) adalah waktu lamanya data boleh disimpan dalam file database ini. Bila field ini dikosongkan maka TTL dipakai adalah TTL yang disebutkan dalam resourch record SOA (Start Of Autority). SOA akan diterangkan setelah ini.

3.     address class . hanya satu class yang di support, yaitu IN, untuk Internet class.

4.     Type resource record :

Beberapa tipe yang banyak dipakai adalah

A.    SOA (Start of Authority)

Untuk mendeklarasikan suatu zona dan pengaturnya. Record ini mutlak diperlukan dalam suatu name server. Setiap zona hanya memiliki sebuah zona.

<zona> IN SOA <origin> <contact> (

serial

refresh

retry

expire

minimum

)

-Zona          : Mendefinisikan zona DNS

-Origin        : Primary DNS server

- Contact : email address dari administrator/penanggung jawab dari Name Server ini. Tanda @ pada email address diganti dengan tanda . ( titik).

-Serial   : Nomor seri zona file yang merupakan salah satu acuan bagi secondary server, apakah record yang ada lebih baru. Sebaiknya disesuaikan dengan saat pembuatan file, sintak yang dianjurkan adalah YYYYMMDDHHmm (tahun-bulan-tanggal-jam-menit). Sintak seperti di atas akan membantu dalam melacak perubahan.

-Refresh     : Selang waktu untuk secondary server mengecek data di  primary server.

-Retry        : Lama waktu tunggu bagi secondary server untuk mengulangi pengecekan jika usaha pengecekan sebelumnya gagal.

-Expire       : Lama waktu data di secondary server kadaluarsa sejak kegagalan refresh.

-Minimum : nilai time to live untuk semua record.

 

B. Name Server Record

Merupakan identifikasi DNS server untuk sebuah domain.

Format yang umunya dipakai :

[domain} IN NS dns_server

Keterangan:

·         domain          : domain yang ditangani oleh dns server yang disebutkan dalam field dns_server

·         .dns_server :  Hostname dari server yang bertanggung jawab atas domain tersebut di depan.

 

C. Mail Exchanger

Mail exchanger adalah sebuah server yang menyediakan service untuk menerima atau meneruskan  mail untuk / dari host lainnya. Mirip dengan sebuah relay untuk meneruskan mail. Pada MX record ini terdapat sebuah angka prioritas, yang semakin rendah angkanya berarti semakin tinggi prioritasnya. Priorotas di sini dimaksudkan untuk host yang mempunyai beberapa MX record.

Format:

name IN     MX prioritas    host

Keterangan:

·         name          : hostname atau domai tujuan pengiriman email

·         prioritas     : tingkat prioritas mail exchanger yang akan digunakan untuk me-redirect mail ke ‘name’. Hal ini diperlukan karena suatu mail server bisa saja mempunyai mail exchanger lebih ar satu.

·         Host           : hostname dari mail exchanger.

 

 

D. Aliasing

Seperti arti katanya, aliasing berfungsi untuk memberikan nama lain kepada sebuah host yang sudah punya nama. Jenis record yang digunakan bernama CNAME ( Canonical Name ).

Format :

alias           IN        CNAME            host

Keterangan:

-          alias       : nama alias

-          host       : nama asli host asli

 

E.     Address record

Untuk memetakan hostname ke IP address. Format:

hostname IN A address

Keterangan:

Host        : nama suatu host. Hostname ini ditulis secara relatif terhadap domain host tersebut. Misalakn host students.ee.itb.ac.id akan ditulis students saja pada file database untuk zona ee.itb.ac.id

Address : IP address dari host tersebut diatas.

 

Contoh lengkap untuk domain salman.itb.ac.id

Nama file : “/var/named/db.salman.itb.ac.id”. File ini merupakan file yang dideklarasikan di file named.conf pada zona “salman.itb.ac.id”.

    @ IN      SOA     ns.salman.ac.id.  admin.ns.salman.itb.ac.id.(

                        2001090100    ;serial thblntglnomor

                        86400         ;refresh setiap  12 jam

                        3600          ; retry 1 jam

                        3600000       ; expire 1000 jam

                        86400 )       ;TTL

                        IN      NS          ns.salman.itb.ac.id.

gtw                   IN                   A       167.205.207.27

                        IN       A       167.205.206.97

ns                           IN              A          167.205.206.100

                       

localhost           IN      A       127.0.0.1

attaqwa                  IN      A       167.205.206.109

attaubah                IN      A       167.205.206.110

unit                        IN      A       167.205.206.101

                        IN      MX 10   unit

                        IN      MX 20   gtw

                        IN      MX 50   mx.itb.ac.id.

Host yang bernama unit mempunyai beberapa MX record yaitu unit, gtw dan mx.itb.ac.id. Angka-angka 10 20 dan 50 tersebut menyalakan bahwa apabila ada mail datang untuk host unit.salman.itb.ac.id, harap mail tersebut disampaikan ke unit.itb.ac.id pada usaha pertama, Bila usaha pertama gagal ( unit.salman.itb.ac.id sedang crash, down ) , pengantaran email dilanjutkan ke gtw.salman.itb.ac.id dan apabila gagal juga diantarkan ke mx.itb.ac.id. Demian arti dari multiple MX record pada host unit.

 

Konfigurasi file /var/named/db.cache

File ini menginformasikan kepada server, dimana letak server zone “root”. Untuk mendapatan file ini, anda harus melakukan ftp ke rs.internic.net, dengan lokasi direktori  /domain/named.root. ubah nama file ini menjadi db.cache dan letakkan dibawah direktori /etc/namedb

Jangan lupa untuk mencopy file tersebut ke direktori /var/named.

Cara lain adalah dengan mengcopy file cache-default yang biasanya ada dalam source program named ke file db.cache.

# cp cache-default /var/named/db.cache

Format dari file db.cache ialah sebagai berikut.

; This file holds the information on root name servers needed to

;       initialize cache of Internet domain name servers

;       (e.g. reference this file in the "cache  .  <file>"

;       configuration file of BIND domain name servers).

;

;       This file is made available by InterNIC registration services

;       under anonymous FTP as

;           file                /domain/named.root

;           on server           FTP.RS.INTERNIC.NET

;       -OR- under Gopher at    RS.INTERNIC.NET

;           under menu          InterNIC Registration Services (NSI)

;              submenu          InterNIC Registration Archives

;           file                named.root

;

;       last update:    Aug 22, 1997

;       related version of root zone:   1997082200

;

;

; formerly NS.INTERNIC.NET

;

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4

;

; formerly NS1.ISI.EDU

;

.                        3600000      NS    B.ROOT-SERVERS.NET.

B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107

;

; formerly C.PSI.NET

;

.                        3600000      NS    C.ROOT-SERVERS.NET.

C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12

;

; formerly TERP.UMD.EDU

;

.                        3600000      NS    D.ROOT-SERVERS.NET.

D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90

;

; formerly NS.NASA.GOV

;

.                        3600000      NS    E.ROOT-SERVERS.NET.

E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10

;

; formerly NS.ISC.ORG

;

.                        3600000      NS    F.ROOT-SERVERS.NET.

F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241

;

; formerly NS.NIC.DDN.MIL

;

.                        3600000      NS    G.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4

;

; formerly AOS.ARL.ARMY.MIL

;

.                        3600000      NS    H.ROOT-SERVERS.NET.

H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53

;

; formerly NIC.NORDU.NET

;

.                        3600000      NS    I.ROOT-SERVERS.NET.

I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17

;

; temporarily housed at NSI (InterNIC)

;

.                        3600000      NS    J.ROOT-SERVERS.NET.

J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10

;

; housed in LINX, operated by RIPE NCC

;

.                        3600000      NS    K.ROOT-SERVERS.NET.

K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129

;

; temporarily housed at ISI (IANA)

;

.                        3600000      NS    L.ROOT-SERVERS.NET.

L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12

;

; housed in Japan, operated by WIDE

;

.                        3600000      NS    M.ROOT-SERVERS.NET.

M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33

; End of File

 

 

Konfigurasi File Reverse Database

File ini berisikan database kebalikan dari database domain. Dalam database domain sebelumnya dinyatakan dari nama host ke alamat ip sedangkan pada reverse database sebaliknya yaitu dari nomor ip ke nama host. Untuk keperluan pemetaan ini diperlukan tipe resouce record yang berupa pointer (PTR) Format:

[oktet] IN PTR hostname

Keterangan :

oktet                : oktet terakhir ip addres

hostname          : nama host yang akan di resove.

Berikut contoh lengkapnya :

Nama file : "db.167.205.206” . File ini merupakan file yang dideklarasikan di file named.conf pada zona “206.205.167.in-addr.arpa”

@       IN      SOA     ns.salman.itb.ac.id. admin.ns.salman.itb.ac.id. (

        2001090100  ; Serial

        86400           ; Refresh every 24 hours

        3600            ; Retry every 1 hours

        2592000         ; Expire after 1 month

        25200   )       ; Minimum ttl of 7 Hours

        IN      NS      ns.salman.itb.ac.id.

97          IN PTR           gtw.salman.itb.ac.id.

100          IN PTR          ns.salman.itb.ac.id.

101       IN PTR             unit.salman.itb.ac.id.

109         IN PTR           attaqwa.salman.itb.ac.id.

110         IN PTR           attaubah.salman.itb.ac.id

 

Konfigurasi file /var/named/db.127.0.0

Konfigurasi file ini sama untuk semua jenis server, baik itu primary, secondary, ataupun cache-only server.

@       IN      SOA     localhost. root.localhost.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

              IN      NS      localhost.

 

1       IN      PTR     localhost.

 

 

 

 

Menjalankan Named

Setelah file named.conf, database domain dan reverse sudah selesai dibuat, maka named tinggal dijalankan. Untuk menjalankannya ada beberapa pilihan command. Cara pertama yang paling umum :

# named –b /etc/namedb/named.conf

Atau command kedua yang merupakan sebuah interface yang memudahkan user untuk menjalankan, memberhentikan, melihat status, mereload dari proses named. Command ini bernama ndc ( named daemon control ).

Untuk menjalankan named :

# ndc start

Untuk memberhentikan named :

# ndc stop
Cara  ketiga yang bisa digunakan untuk menjalankan ataupun menstop  named adalah engan mengeksekusi script program pad file /etc/rc.d/init.d/named

# /etc/rc.d/init.d/named start

Untuk menghentikannya :

# /etc/rc.d/init.d/named stop

Biasanya ada permintaan untuk menambahkan host baru pada domain yang telah ada. Maka file database domain perlu diedit sewaktu named masih berjalan. Setelah di edit selanjutnya named perlu di stop dan dimulai lagi atau dengan kata lain di reload. Untuk melakukannya :

# ndc reload

atau

# named.reload

Untuk detailnya silahkan baca manualnya.

Setelah named dijalankan, berarti DNS server kita sudah siap untuk menerima request dari client. Nah, bagi client yang akan melakukan request ke DNS server, sebelumnya perlu untuk mensetting ke DNS server mana dia akan melakukan request. Untuk itu tambahkan nama DNS server yang kita inginkan pada file /etc/resolve.conf

Contoh isi file /etc/resolve.conf:

domain salman.itb.ac.id

server 167.205.206.100

File diatas menunjukkan bahwa untuk domain salman.itb.ac.id, host kita menggunakan DNS server yang punya IP address 167.205.206.100

 

Testing

Selanjutnya, setelah named berjalan perlu juga di test untuk melihat apakah service sudah berjalan semestinya. Tool untuk testingnya ialah nslookup.

# nslookup

Default Server:  ns.salman.itb.ac.id

Address:  0.0.0.0

> 

Setelah prompt “ > “ keluar, maka server siap untuk ditanyai. Untuk memilih server yang akan ditanyai tinggal ketik :

> server ns.server.baru.co.id

Default Server:  ns.server.baru.co.id

Address:  167.205.22.123

Untuk menanyakan ip address dari host, tinggal ketik nama host.

> attaqwa.salman.itb.ac.id

Server:  ns.salman.itb.ac.id

Address:  167.205.206.100

Name:    attaqwa.salman.itb.ac.id

Address:  167.205.206.109

Begitu pula untuk menanyakan nama host dari ip address

> 167.205.206.109

Server: ns.salman.itb.ac.id

Address:  167.205.206.100

Name:    attaqwa.salman.itb.ac.id

Address:  167.205.206.109

 

 

 

 

Perintah tambahan:

·         host –a domain_name

Untuk melihat host apa saja yang terdaftar dalam DNS server yang menangani suatu domain.

·         host –l domain_name

Untuk melihat daftar server yang menangani domain tertentu.

Petunjuk pengerjaan

 

Kita tahu bahwa ada 3 fasilitas untuk “name resolving“. Ketiganya bisa digunakan semua oleh satu host. Nah, tentunya perlu cara untuk membuat urutan prioritas fasilitas mana yang akan kita pakai terlebih dahulu.

Prioritas ini diatur pada file /etc/nsswitch.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tidak ada komentar:

Posting Komentar