Myslack’s

Just another WordPress.com weblog

Tentang Hari ini!

Mengkonfigurasi DNS Server:
Membuat Primary dan Secondary DNS Server

Untuk beroperasinya sebuah jaringan komputer Internet, sebetulnya pengalamatan sebuah komputer dilakukan menggunakan angka yang dikenal sebagai Internet Protocol (IP) Address yang terdiri dari 32 bit. Tentunya akan sukar bagi manusia / user untuk mengingat sekian juta komputer di seluruh Internet. Untuk itu dikembangkan penamaan mesin yang lebih manusiawi menggunakan konsep Domain Name System (DNS). Pada tulisan ini kami akan mencoba menjelaskan cara mensetup DNS Server di mesin dengan OS UNIX. Kemampuan ini akan sangat dibutuhkan bila sebuah institusi /perusahaan ingin mempunyai nama hostname sendiri di Internet.
Domain Name System adalah salah satu jenis sistem yang melayani permintaan pemetaan IP Address ke FQDN ( Fully Qualified Domain Name ) dan dari FQDN ke IP Address. FQDN lebih mudah untuk diingat oleh manusia daripada IP Address. Sebagai contoh, sebuah komputer memiliki IP Address 167.205.22.114 dan memiliki FQDN “nic.itb.ac.id”. Nama “nic.itb.ac.id” tentunya lebih mudah diingat daripada nomor IP Address di atas. Apalagi setelah lahirnya konsep IP Version 6 yang memiliki 6 segment untuk setiap komputer sehingga nomor IP Address menjadi semakin panjang dan lebih sulit untuk diingat. Selain itu, DNS juga menyediakan layanan mail routing, informasi mengenai hardware, sistem operasi yang dijalankan, dan aplikasi jaringan yang ditangani oleh host tersebut.
Pada sistem operasi UNIX, DNS diimplementasikan dengan menggunakan software Berkeley Internet Name Domain (BIND). BIND ini memiliki dua sisi, yaitu sisi client dan sisi server. Sisi client disebut resolver. Resolver ini bertugas membangkitkan pertanyaan mengenai informasi domain name yang dikirimkan kepada sisi server. Sisi server BIND ini adalah sebuah daemon yang disebut named. Ia yang akan menjawab query-query dari resolver yang diberikan kepadanya.
Pada saat BIND dijalankan, ia memiliki 4 modus operasi, yaitu :
Resolver-only
Komputer hanya membangkitkan query informasi domain name kepada sebuah DNS server dan tidak menjalankan fungsi DNS server.
Caching-only
Komputer menjalankan fungsi name server tetapi tidak memiliki database DNS server. Ia hanya mempelajari jawaban-jawaban query yang diberikan oleh remote DNS server dan menyimpannya dalam memory. Data-data dalam memory tersebut akan digunakan untuk menjawab query selanjutnya yang diberikan kepadanya.
Primary server
Komputer menjalankan fungsi name server berdasarkan database yang dimilikinya. Database ini dibangun oleh administrator DNS. Server ini menjadi authoritative source bagi domain tertentu.
Secondary server
Komputer menjalankan fungsi name server berdasarkan database yang diambil dari primary server. Proses pengambilan file database ini sering disebut zone file transfer. Ia juga menjadi authoritative source bagi domain tersebut.

Resolver-only
Saat berada dalam modus resolver-only, BIND akan mencari file /etc/resolv.conf  (pada UNIX umum) dan membaca konfigurasi yang tertera dalam file tersebut. Jika BIND tidak menemukan file tersebut maka ia akan menggunakan konfigurasi standar yang dimilikinya.
Bentuk dasar sintaks pada file /etc/resolv.conf adalah sebagai berikut :
domain    name
nameserver    address
[nameserver    address]
domain menyatakan default domain seperti yang didefinisikan oleh entry name. Jika ada penulisan nama host yang tidak mengandung tanda baca titik maka resolver akan menambahkan entry name di belakang nama host tersebut. Sebagai contoh, jika Anda menuliskan host name mail saja dan entry name berisi ptn.co.id maka resolver akan menggunakan nama  mail.ptn.co.id.
nameserver menyatakan server mana yang harus dihubungi jika ada query dari resolver mengenai domain di atas. Apabila server tersebut tidak bisa dihubungi, server selanjutnya menjadi sasaran lemparan query.

Contoh listing file /etc/resolv.conf :

# Resolver configuration file
domain ptn.co.id
# Server terdekat adalah mumet.ptn.co.id, IP 169.98.3.1
nameserver    169.98.3.2
# Gagal ??? Coba server kedua : nggliyeng.ptn.co.id, IP 169.98.2.15
nameserver    169.98.2.15
# Gagal lagi ??? Server ketiga : ngeh.ptn.co.id, IP 169.98.1.2
nameserver    169.98.1.2

Ketiga modus selanjutnya dapat dijalankan secara bersamaan atau berdiri sendiri pada sebuah komputer yang menjadi DNS server. Pengaturan modus ini dilakukan pada konfigurasi daemon named. File-file penting yang menjadi acuan bagi named untuk beroperasi adalah named.boot, data_cache, data_domain, dan data_reverse. named.boot adalah file yang berisi boot script bagi DNS server. data_cache adalah file yang berisi DNS root server. data_domain adalah file yang berisi pemetaan dari FQDN ke IP Address dan data terlengkap dari domain yang bersangkutan. data_reverse adalah file yang berisi data mengenai pemetaan IP Address ke FQDN. Pada sistem operasi UNIX, file-file tersebut terletak di direktori /etc/namedb. Direktori tersebut menjadi default bagi named.
File konfigurasi yang paling penting bagi named adalah file /etc/namedb/named.boot. File ini berisikan perintah-perintah yang mendefinisikan fungsi named sebagai caching-only server, primary server, atau secondary server.

Caching-only
Jika kita ingin mengatur agar named hanya beroperasi pada modus caching-only maka file named.boot hanya berisi perintah cache diikuti nama file yang berisi server-server utama yang menjadi tempat melemparkan query.
Berikut ini contoh file named.boot dimana kita mengatur named agar beroperasi pada modus caching-only :

;  file named.boot
;
;  mendefinisikan default directory
directory            /etc/namedb
;
;  menjadi caching-only server
cache            data_cache
;

Primary Server
Jika kita menghendaki named pada komputer kita menjadi primary server, kita tambahkan kata primary diikuti domain yang dipegang oleh named tersebut dan diakhiri dengan nama file yang berisi database domain tersebut..
Sebagai contoh, komputer kita menjadi primary server untuk domain ptn.co.id dengan file data_domain berjudul ptn. Sebaiknya, sebuah primary server juga menjalankan fungsi caching-only. Hal ini untuk menambah kehandalan server dalam menjawab query-query yang cukup rumit. File named.boot akan berisi sebagai berikut :

;  file named.boot
;
;  mendefinisikan default directory
directory                            /etc/namedb
;
;  menjadi caching-only server
cache                            data_cache
;
;  menjadi primary server atas domain ptn.co.id
primary    ptn.co.id                    ptn
;
;  menjadi primary server atas pemetaan IP Address 169.98.1.x ke FQDN
primary    1.98.169.IN-ADDR.ARPA            rev_169.98.1.x
;

Jika komputer kita juga menjadi primary server atas pemetaan IP Address 169.98.1.x ke FQDN maka kita tambahkan entry yang terakhir.

Secondary Server
Secondary server adalah DNS server yang menggunakan database domain yang ditransfer dari primary server. Untuk mengatur server agar menjadi secondary bagi domain tertentu, kita tambahkan kata secondary diikuti dengan domain yang dipegang, kemudian diikuti oleh IP Address primary server dan diakhiri dengan nama file databasenya.
Sebagai contoh, komputer kita akan bertindak sebagai secondary server untuk domain pts.ac.id. Primary server domain dipegang oleh server dns.pts.ac.id dengan nomor IP Address 190.21.85.2. Kita edit file named.boot sehingga menjadi seperti berikut :

;  file named.boot
;
;  mendefinisikan default directory
directory            /etc/namedb
;
;  menjadi caching-only server
cache            data_cache
;
;  menjadi primary server atas domain ptn.co.id
primary    ptn.co.id    ptn
;
;  menjadi secondary server atas domain pts.ac.id dari dns.pts.ac.id
secondary  pts.ac.id    190.21.85.2            sec_pts
;
;  menjadi primary server atas pemetaan IP Address 169.98.1.x ke FQDN
primary    1.98.169.IN-ADDR.ARPA            rev/rev_169.98.1.x
;
;  menjadi secondary server atas pemetaan IP Address 190.21.85.x ke FQDN
secondary  85.21.190.IN-ADDR.ARPA    190.21.85.2    rev/sec_190.21.85.x

Jika kita juga menjadi secondary server atas pemetaan IP Address 190.21.85.x ke FQDN dari server dns.pts.ac.id kita tambahkan entry yang terakhir.

Pendahuluan

Supaya Linux dapat mengenali nama-nama site di Internet seperti linux.or.id atau nama host di jaringan LAN harus ada suatu mekanisme untuk mengubah nama-nama tersebut kedalam bentuk yang dikenali oleh komputer yaitu alamat IP misalnya linux.or.id diubah menjadi 64.29.24.175 . Mekanisme ini disediakan oleh Name Resolver yang terdapat dalam standard library linux. Tentu saja agar mekanisme ini bekerja dengan baik diperlukan beberapa konfigurasi.


/etc/hosts

File /etc/hosts berisi pemetaan nama host dengan alamat IPnya dengan format sebagai berikut:

IP   nama.domain.lengkap   alias

Perlu diperhatikan bahwa jumlah spasi atau tab antara masing-masing kolom tidak berpengaruh, yang penting ada pemisahnya baik spasi atau tab.

Contoh /etc/hosts

127.0.0.1       localhost.intra.aki     localhost
192.168.1.100   linux.intra.aki         linux
192.168.1.3     cctv.intra.aki          cctv

Setting /etc/hosts melalui Linuxconf

Selain mengedit secara langsung file /etc/hosts anda juga bisa mengeditnya melalui linuxconf.

  1. Jalankan linuxconf
  2. Pilih Config -> Networking -> Misc -> Information about other hosts
  3. Di dialog tersebut anda bisa menambah (Add) atau mengedit atau menghapus entry tertentu dengan menekan enter pada entry yang ingin diubah atau dihapus

Kelemahan /etc/hosts

Mekanisme /etc/hosts mempunyai beberapa kelemahan seperti:

  • Tidak scalable untuk jaringan yang mempunyai banyak host
  • Host yang berbeda bisa mempunyai isi /etc/hosts yang berbeda sehingga bisa tidak seragam dan menyulitkan peng-update-an

Karena itulah biasanya /etc/hosts hanya digunakan untuk mendaftarkan alamat IP lokal saja yaitu untuk alamat IP loopback (127.0.0.1) dan alamat IP ethernet card (jika ada).


/etc/resolv.conf

File /etc/resolv.conf adalah file konfigurasi utama bagi Name Resolver. Formatnya sederhana yaitu file text dengan satu keyword per baris. Ada tiga keyword yang biasa digunakan yaitu:

domain
menentukan nama domain lokal
search
menentukan daftar dari nama-nama domain yang digunakan untuk mencari nama host
namaserver
keyword ini yang bisa digunakan beberapa kali, menentukan alamat IP dari server DNS yang digunakan oleh Name Resolver

Contoh /etc/resolv.conf

domain intra.aki
search intra.aki cbn.net.id
nameserver 202.158.3.6
nameserver 202.158.3.7

Perlu diperhatikan bahwa semua domain yang terdapat dalam baris search akan dicari untuk setiap nama host yang di-resolve. Sehingga jika anda ingin telnet ke host cctv maka untuk mendapatkan alamat IP untuk host cctv dicari alamat IP untuk cctv.intra.aki pertama kali, lalu cctv.cbn.net.id dan terakhir cctv. Begitupun jika untuk linux.or.id maka akan dicoba dulu linux.or.id.intra.aki, lalu linux.or.id.cbn.net.id dan terakhir linux.or.id. Sebaiknya anda tidak menaruh terlalu banyak domain di dalam baris search karena akan memakan waktu untuk mencari domain-domain tersebut.

Biasanya yang diperlukan hanyalah keyword nameserver karena keyword domain mengambil default dari nama host dan keyword search defaultnya berisi isi dari keyword domain.


Setting /etc/resolv.conf melalui Linuxconf

Untuk mengedit /etc/resolv.conf menggunakan linuxconf jalankan langkah berikut

  1. Jalankan linuxconf
  2. Pilih Config -> Networking -> Client tasks-> Name server specification (DNS)
  3. Di dialog tersebut anda bisa mengedit default domain, nameserver ke-1 s/d 3, search domain ke-1 s/d 6 dan apakah menggunakan DNS untuk operasi normal

/etc/host.conf

File ini mengatur cara kerja dari Name Resolver defaultnya adalah

order hosts,bind
multi on

Konfigurasi ini mengatur agar Name Resolver untuk mencari nama host di /etc/hosts dahulu sebelum bertanya ke nameserver dan mengembalikan semua alamat yang ditemukan di file /etc/hosts bukan cuma yang pertama saja.


Tool untuk Testing DNS

Untuk mengetes Setting DNS Client, anda bisa menggunakan perintah host dan nslookup. Misalnya:

[zakaria@linux zakaria]$ host cctv
cctv.intra.aki has address 192.168.1.3

[zakaria@linux zakaria]$ nslookup linux
Server:  localhost
Address:  127.0.0.1

Name:    linux.intra.aki
Address:  192.168.1.100

Untuk nslookup anda juga bisa melakukan test secara interaktif contohnya:

[zakaria@linux zakaria]$ nslookup
Default Server:  localhost
Address:  127.0.0.1

> linux.or.id
Server:  localhost
Address:  127.0.0.1

Non-authoritative answer:
Name:    linux.or.id
Address:  64.29.24.175

> yahoo.com
Server:  localhost
Address:  127.0.0.1

*** localhost can't find yahoo.com: Non-existent host/domain

Seperti biasa tekan Ctrl+D untuk kembali ke shell

November 20, 2007 - Posted by | Ilmu Komputer

Belum ada komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: