Bab ini
memberikan pengetahuan dasar mengenai domain name service yang menjadi tulang
pungung sistem penamaan host di Internet. Pembaca belajar bagaimana membuat
server name master, reverse lookup dan slave.
Pembaca juga
diajak menggunakan tool grafis domain name service (redhat-config-bind) yang
dapat digunakan untuk membuat domain dengan mudah dan cepat.
Sekilas DNS
Sekarang ini,
Internet dan hampir semua jaringan lokal tergantung pada kerja dan ketangguhan Domain Name Service (DNS) yang digunakan
untuk meresolve nama-nama sistem ke dalam IP address atau sebaliknya (reverse lookup). Agar fasilitas DNS
tersedia di dalam jaringan, diperlukan sebuah nameserver.
DNS memungkinkan
para pengguna jaringan komputer menggunakan nama seperti FileKontrol.sitc.com
sebagai pengganti untuk mengingat IP address 192.168.0.253.
Pada saat suatu
host di dalam suatu jaringan terhubung ke jaringan lain melalui nama host,
disebut juga Fully Qualified Doamain Name
(FQDN), DNS digunakan untuk mengetahui IP address dari host tersebut.
Penggunaan DNS
juga memberikan keuntungan kepada administrator sistem berupa fleksibilitas
untuk mengubah IP address suatu host tantpa mempengaruhi query-query berbasis
nama terhadap mesin.
DNS normalnya
diimplementasikan menggunakan sebuah server sentral yang mempunyai hak atas
beberapa domain dan mengacu ke server DNS lain jika koneksi dilakukan ke domain
yang berada diluar tanggungjawabnya.
Suatu aplikasi
client akan meminta informasi dari name server yang biasanya berjalan pada port
53. nameserver akan mencoba meresolve FQDN berdasarkan libary resolver yang berisi informasi authoritative tentang data host yang diminta atau nama yang dicache
oleh suatu query sebelumnya. Jika name server belum mempunyai jawaban di dalam library resolver , name server memeriksa root name server, untuk memastikan name
server mana yang bertanggungjawab atas FQDN yang diminta.
Kemudian, dengan
informasi tersebut, ia akan meminta nama server yang mempunyai otoritas atas
nama tersebut untuk menentukan IP address. Pada proses reverse lookup, digunakan prosedur yang sama, hanya saja query
dibuat melalui suatu address, bukan nama.
Jenis Name Server
Dalam duania
jaringan komputer, terdapat empat jenis konfigurasi name server yang banyak
digunakan :
- master : menyimpan record-record zona original dan authoritative untuk name space tertentu, menjawab pertanyaan dari name server lain yang mencari jawaban name space tersebut.
- slave : menjawab permintaan dari name server lain. Server slave merupakan backup dari server master. Server ini mendapatkan informasi name space dari name server master. Server master akan mengirim perubahan tersebut ke slavenya setiap periode tertentu.
- caching-only : menawarkan layanan resolusi nama ke IP tetapi sama sekali tidak mengelola zona. Jawaban atas semua resolusi dicache di dalam memory selama periode waktu tertentu, yang ditentukan oleh record zona yang diterima.
- forwarding : memforward pemintaan ke suatu name server untuk resolusi nama. Jika name server yang diminta tidak ditemukan, maka resolusi gagal.
Name server
dapat berupa satu atau lebih jenis-jenis di atas. Sebagai contoh, sebuah name
server dapat berupa master untuk beberapa zona, slave untuk zona lainnya, dan
hanya menawarkan resolusi forwarding untuk zona tertentu.
BIND sebagai Name Server
Linux Redhat
menyertakan BIND bersama dengan distribusinya, software name server yang sangat
popular, tangguh, dan open source. BIND menggunakan daemon named untuk menyediakan layanan resolusi nama.
BIND versi 9
juga menyertakan suatu utilitas yang disebut /usr/sbin/rndc yang memperbolehkan administrasi daemon named yang berjalan.
File-file Konfigurasi BIND
Name server BIND
(named) menyimpan konfigurasi utama server di dalam file /etc/named.conf. semua file zona diletakkan di dalam direktori /var/named/.
File /etc/named.conf harus bebas dari error agar named dapat
berjalan. Sedikit error (kesalahan) kecil saja membuat name server ini berhenti
dan tidak berfungsi.
Berikut ini
adalah contoh file file /etc/named.conf yang digunakan untuk membuat satu zona
resolve dan satu zona reverse lookup :
// generated by named-bootconf.pl
options {
directory
“/var/named”;
//
port by default.
//
query-source address * port 53;
};
//
// a caching only nameserver config
//
control {
inet
127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone “.” IN {
type
hint;
file
“named.ca”;
};
zone “localhost” IN {
type
master;
file
“localhost.zone”;
allow-update
{ none; };
};
zone “0.168.192.in-addr.arpa” IN {
type
master;
file
“named.local”;
allow-update
{ none; };
};
include “/etc/rndc.key”;
File konfigurasi tersebut otomatis ada setelah anda menginstal BIND. File
ini dibuat oleh program script named-bootconf.pl. Dalam kondisi seperti di
atas, dapat dikatakan bahwa DNS server belum berjalan. Hanya zona localhost dan
loopback 127.0.0.1 yang dikelola dan hal ini bukan yang diharapkan. Tetapi ada
beberapa baris yang harus diberi perhatian.
options {
directory
“/var/named”;
//
port by default.
//
query-source address * port 53;
};
Pernyataan
di atas menunjukkan penggunaan direktif options.
Permulaan direktif ditandai dengan tanda kurung kurawal buka ( { ) dan
diakhiri oleh kurung kurawal tutup ( } ). Anda dapat memasukan
pernyataan-pernyataan untuk mengatur kerja server BIND di antara kurung kurawal
tersebut. Setiap pernyataan harus diakhiri oleh titik koma (semi colon).
Salah
satu pernyataan yang dapat digunakan di dalam options adalah directory yang
memberitahu server BIND lokasi file-file zona disimpan. Pernyataan di atas
memperlihatkan bahwa file-file zona yang dikelola disimpan di dalam direktori
/var/named.
Selanjutnya
terdapat pernyataan
query-source address * port 53;
yang
memberitahu named bahwa server akan mendengan melalui semua interface jaringan
hanya pada port 53. ini merupakan nilai default sehingga tidak perlu ditulis.
Itu sebabnya pernyataan tersebut diawali oleh tanda // dan berlaku sebagai
sebuah komentar.
Membuat Server Utama
Server utama
dipasang di server Proxy untuk mengelola domain name sitc.com server ini
mengelola dua zona, yaitu sitc.com yang digunakan untuk menerjemahkan nama ke
IP address dan 0.168.192.in-addr.arpa yang digunakan untuk reverse lookup,
mengubah IP address ke nama hostnya.
Berikut ini
adalah contoh pernyataan zona sitc.com :
zone “sitc.com” {
type master;
file
“sitc.com.zone”;
};
Sebuah
zona bernama sitc.com, bertipe master dan file yang menyimpan informasi zona
adalah /var/named/sitc.com.zone.
Sedangkan
pernyataan zona reverse lookupnya adalah :
zona “0.168.192.in-addr.arpa” {
type master;
file
“0.168.192.in-addr.arpa”;
};
Penamaan
zona reverse lookup berbeda dengan penamaan zona name ke IP address. Pada
reverse lookup anda harus menulis 192.168.0. secara terbalik menjadi 0.168.192
kemudian sertelah tanda titik diikuti oleh teks penentu reverse in-addr.arpa.
zona “0.168.192.in-addr.arpa” menunjukkan bahwa reverse lookup yang ditangani
hanya dapat berjalan pada jaringan 192.168.0,
yaitu jaringan 192.168.0.0/24.
Kedua
definisi zona harus berada di dalam file /etc/named.conf. masukkan di bawah
daftar zona yang telah ada sehingga menjadi seperti berikut ini :
Selanjutnya,
anda harus membuat dua file zona di dalam direktori /var/named, yaitu
sitc.com.zone dan 0.168.192.in-addr.arpa.zone. Anda dapat menggunakan program
mcedit atau vi untuk membuat file tersebut.
[root@Proxy /]# mcedit /var/named/sitc.com.zone
tulis
baris-baris berikut di dalamnya :
Pada
baris pertama anda menulis $TTL 86400. $TTL adalah variabel time to life, berapa lama (dalam satuan
detik) record-record zona yang disediakan oleh name server dalam keadaan valid.
Penamabahan nilai $TTL memungkinkan name server lain mencache informasi zona
untuk jangka waktu yang lama.
Pernyataan
$TTL 86400 menujukkan bahwa informasi zona ini hana valid untuk jangka waktu 24
jam. Sehingga jika ada server lain yang ingin mencache informasi zona sitc.com
maka hanya bertahan selama 24 jam, setelah itu server jauh tersebut akan
melakukan pengecekan nama domain pada server ini.
Berikutnya
terdapat penyataan :
@ IN SOA Proxy.sitc.com.
root.localhost (
123
; serial
28800
; refresh
7200
; retry
604800
; expire
86400
; ttl
)
Setiap
file zona utama harus didahului oleh tanda @ kemudian diikuti oleh record SOA, record utama di dalam
file zona.
Record
SOA (Start of Authority) mengatur
dimana zona ini dikelola serta alamat email administratornya. Perlu
diperhatikan bahwa anda harus memberikan tanda titik setelah nama lengkap
server tempat zona dikelola, pada contoh di atas adalah Proxy.sitc.com.
Bentuk
dasar record SOA adalah
@ IN SOA <primary-name-server>.<hostmaster-email>
(
<serial-number>
<time-to-refresh>
<time-to-retry>
<time-to-expire>
<minimum-TTL> )
Record
ini juga menyimpan parameter-parameter lain, yaitu :
- <serial-number>, nomor seri file zona. Biasanya menggunakan dahulu banyak orang menggunakan satuan jam sebagai nomor seri tapi menjadi kurang nyaman karena satuan jam biasanya cukup panjang, misalnya 123045 (jam12 lebih 45menit 30detik), lebih baik menulis 1 kemudian saat terjadi perubahan diganti menjadi 2.
- <time-to-refresh>, memberitahu server name slave berapa lama harus mnunggu sebelum menanyakan server name master jika tela dilakukan perubahan informasi zona. Nilai <serial-number> digunakan oleh erver slave untuk menentukan apakah informasi zona yang digunakannya telah out of date atau belum, jika telah kadaluarsa maka segera dilakukan update.
- <time to retry>, memberitahu server name slave berapa lama waktu tunggu sebelum melakukan refresh jika server master tidak memberikan jawaban.
- jika server master menjawab permintaan refresh dari slave dan <time-to-expire> sebelum tercapai, slave menghentikan tanggungjawabnya sebagai penyedia layanan name space kepada clientnya.
- <minimum-TTL>, mengatur agar name server lain men-cahce informasi zona sekurang-kurangnya sejumlah waktu (dalam satuan detik) yang disebutkan
Di dalam
BIND, semua waktu diacu dalam satuan detik. Namun anda dapat melakukan konversi
ke satuan waktu lain, seperti diperlihatkan tebel berikut:
|
Detik
|
Waktu Lain
|
Keterangan
|
|
60
|
1M
|
1
Menit
|
|
1800
|
30M
|
30
Menit
|
|
3600
|
1H
|
1 Jam
|
|
10800
|
3H
|
3 Jam
|
|
21600
|
6H
|
6 Jam
|
|
43200
|
12H
|
12 Jam
|
|
86400
|
1D
|
1 Hari
|
|
259200
|
3D
|
3 Hari
|
|
604800
|
1W
|
1
Minggu
|
|
31536000
|
365D
|
365
Hari
|
Berikutnya
anda menjumpai 2 baris berikut :
IN NS 192.168.0.254
IN MX 10
WebMail.sitc.com.
Baris
pertama menyatakan bahwa Name server
(NS) berjalan pada komputer yang mempunyai IP address 192.168.0.254.
pernyataan tersebut harus diletakan di bawah recoed SOA. Baris di bawahnya
menyatakan Mail Excharger (MX), setiap
email yang ditunjukan ke zona ini (sitc.com) akan dikirim ke server
WebMail.sitc.com. jika anda mempunyai 2 atau lebih server email maka anda dapat
menulis seperti :
IN MX 10 WebMail.sitc.com.
IN MX 20
WebMail.sitc.com.
Artinya
jika ada email yang ditunjukan ke server ini akan dikirim terlebih dahulu ke
server WebMail.sitc.com. jika server
tersebut tidak bisa menanganinya maka akan dikirim ke server mx1.sitc.com. mengapa
dikirim ke server WebMail terlebih dahulu? Karena mempunyai prioritas lebih
tinggi, semakin kecil nilainya semakin besar prioritasnya ( 10 lebih kecil dari
pada 20 ).
Pada
baris-baris selanjutnya and ahanya menulis nama-nama host beserta IP addressnya,
sama seperti isi file/etc/hosts.
WebMail IN A 64.110.100.132
Proxy IN A 192.168.0.254
DVB IN A 64.110.100.130
Router IN A 64.110.100.129
FileKontrol IN A 192.168.0.253
Diskless IN A 192.168.0.252
Gate IN A 64.110.100.131
Baris
pertama menyatakan bahwa server WebMail adalah komputer yang mempunyai IP
address 64.110.100.132. diberi nama DVB, Address (A). Bentuk dasar record
address adalah jika nilai host tidak di tulis maka DNS akan mengarahkan
permintaan ke semua permintaan yang tidak menggunakan FQDN ke alamat tersebut. Jika
anda memiliki dua baris berikut di dalam file zona sitc.com.zone
IN A 192.198.0.253
Diskless IN A 192.168.0.252
Maka
jika terdapat permintaan ke sitc.com. (tanpa FQDN, tidak menyertakan nama host,
hanya nama domain) maka akan diarahkan ke server yang mempunyai IP address
192.168.0.253, sedangkan permintaan ke Diskless.sitc.com akan diarahkan ke
192.168.0.252.
Sekarang
perhatikan 4 baris terakhir file zona tersebut
mail IN CNAME WebMail
ftp IN CNAME WebMail
www IN CNAME WebMail
ssh IN CNAME WebMail
anda
tidak menggunakan IN A, tetapi menggantinya dengan IN CNAME yang digunakan
untuk membuat record Canonial name atau
dapat disebut sebagai sebuah alias. Bentuk dasar record CNAME adalah
<alias-name> IN CNAME <real–name
>
sehingga
baris kedua dari akhir file zona menyatakan bahwa host atau mesin www hanya
sebuah nama lain dari server WebMail sehingga pada saat terjadi permintaan ke
alamat www.sitc.com maka name server
mengarahkannya ke server WebMail.
Sebenarnya
anda tidak perlu membuat zona reverse lookup. Penerjemahan IP address ke nama
host juga dapat dimasukan ke dalam file zona sitc.com. tetapi jika diperlukan
entri yang banyk, lebih baik membuat file terpisah untuk tujuan ini.
Berikut
ini adalah isifile /var/named/0.168.192.in-addr.arpa.zone
Tidak
ada yang istimewa pada file tersebut, hampir seluruh isinya sama dengan file
sic.com.zone. satu-satunya perbedaan hanya pada pemakaian record Pointer (PTR).
Record ini dagunakan untuk menerjemahkan IP address pada jaringan yang
melakukan reverse ke nama hostnya. Sehingga baris terakhir dapat diartinya
sebagai
“terjemahkan IP address 192.168.0.254 ke namaya
Proxy.sitc.com”
Sekarang,
uji konfigurasi Anda. Jalankan perintah:
[root@Proxy /]# service named restart
Untuk
restart server DNS BIND. Jika tidak ditemukan error,jalankan perintah nslookup
seperti berikut ini:
[root@Proxy /]# nslookup mail
Tidak ada komentar:
Posting Komentar