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.
- Jalankan linuxconf
- Pilih Config -> Networking -> Misc -> Information about other hosts
- 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
- Jalankan linuxconf
- Pilih Config -> Networking -> Client tasks-> Name server specification (DNS)
- 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
Belum ada komentar.
Tinggalkan komentar
-
Terkini
-
Tautan
-
Arsip
- November 2007 (2)
- Oktober 2007 (2)
- September 2007 (5)
-
Kategori
-
RSS
RSS Entri
Komentar RSS