Setelah djbdns sudah diinstall, ia belum berfungsi sebagai DNS. Untuk bisa melayani permintaan dari program-program yang ingin menerjemahkan nama menjadi nomor IP djbdns harus dikonfigurasi sesuai dengan kebutuhan.
Untuk mempermudah pembahasan, anggap kita akan mensetup sebuah layanan dns yang melayani domain salman.or.id dan penerjemahan nomor IP 192.168.1.*.
Setup tinydns sangat mudah. Jika Anda mengikuti langkah-langkah yang saya berikan disini Anda tidak akan menemukan masalah yang berarti.
Langkah pertama, Anda harus menyiapkan user yang akan menjalankan server dns dan lognya. Standard user-user ini adalah tinydns dan dnslog. Akan tetapi Anda boleh memakai nama user yang lainnya.
# useradd -d /etc/tinydns -s /dev/null tinydns # useradd -d /etc/tinydns -s /dev/null dnslog |
Kedua, jalankan perintah untuk menyalin file-file yang diperlukan oleh tinydns.
# tinydns-conf tinydns dnslog /etc/tinydns 192.168.1.20 |
Ketiga, informasikan pada program svscan bahwa kita akan menjalankan layanan dns. Program ini adalah bagian dari paket daemontools. Jalankan perintah,
# ln -s /etc/tinydns /service |
Keempat, buat database DNS. Tambahkan domain salman.or.id dan 1.168.192 untuk permintaan reversenya.
# cd /service/tinydns/root/ # ./add-ns salman.or.id 192.168.1.20 # ./add-ns .1.168.192.in-addr.arpa 192.168.1.20 # make |
.salman.or.id:192.168.1.20:a:259200 .1.168.192.in-addr.arpa:192.168.1.20:a:259200 |
Langkah terakhir kita harus mencoba name server kita apakah sudah berfungsi. Sebelum mempelajari lebih dalam lagi djbdns.
# dnsq a salman.or.id 192.168.1.20 1 salman.or.id: 82 bytes, 1+0+1+0 records, response, authoritative, noerror query: 1 salman.or.id authority: salman.or.id 2560 SOA a.ns.salman.or.id hostmaster.salman.or.id 1045229519 16384 2048 1048576 2560 |
Format perintah dnsq adalah:
dnsq type name server |
Dalam paket djbdns sudah disediakan skrip-skrip untuk menambahkan data ke dalam database. Pekerjaan yang sering dikerjakan dalam mengelola dns adalah,
menambahkan nama host,
menambahkan alias host,
menambahkan informasi mail server untuk domain,
menambahkan informasi name server untuk domain, dan
mendelegasikan sebuah subdomain kepada server dns yang lain.
Jalankan perintah-perintah di bagian ini dari root direktori tinydns, /service/tinydns/root/.
Untuk menambah hostname bisa dipakai perintah seperti ini,
# ./add-host fariz.salman.or.id 192.168.1.192 # ./add-host salma.salman.or.id 192.168.1.20 # make |
Jika Anda mencoba menambahkan nama baru dengan nomor IP yang sudah pernah didaftarkan akan ditolak. Pada dasarnya sebuah server hanya memiliki satu nama, tapi jika ingin sebuah server/host bisa memiliki nama lain Anda bisa menambahkan nama alias ini ke file data.
# ./add-alias mail.salman.or.id 192.168.1.20 # make |
Untuk menambahkan mail server untuk domain tertentu gunakan perintah add-mx.
# ./add-mx salman.or.id 192.168.1.20 # make |
Apabila perintah-perintah di atas Anda lakukan, file /etc/tinydns/root/data, akan seperti ini:
.salman.or.id:192.168.1.20:a:259200 .1.168.192.in-addr.arpa:192.168.1.20:a:259200 =fariz.salman.or.id:192.168.1.192:86400 =salma.salman.or.id:192.168.1.20:86400 +mail.salman.or.id:192.168.1.20:86400 @salman.or.id:192.168.1.20:a::86400 |
Tinydns mencari informasi tentang domain dari file database dengan format cdb, namanya data.cdb. Seperti telah disebutkan sebelumnya file ini berasal dari file yang bernama data. File yang disebutkan terakhir inilah yang akan kita bahas lebih lanjut.
Kalau Anda jeli melihat contoh file data yang dihasilkan dari skrip-skrip yang kita jalankan di bagian-bagian sebelumnya, bisa Anda lihat ada 4 hal.
informasi nama name server diawali dengan karakter titik (.),
informasi nama host diawali dengan karakter sama-dengan (=),
informasi nama alias selalu diawali dengan karakter plus (+),
informasi nama mail server selalu diawali dengan karakter at-sign (@).
Mari kita lihat satu persatu isi dari file data tersebut. Lihat 2 baris yang berisi informasi mengenai name server berikut ini
.salman.or.id:192.168.1.20:a:259200 .1.168.192.in-addr.arpa:192.168.1.20:a:259200 |
.nama-domain:nomor-ip:name-server:ttl |
nama-domain harus dalam bentuk Full Qualified Domain Name (FQDN) dan diawali dengan karakter titik. Name server utama untuk domain ini adalah name-server.ns.nama-domain, jika name-server tidak mengandung tanda titik. Akan tetapi jika tidak ada tanda titik maka name-server dipakai sebagai name server tanpa ditambahkan nama-domain di belakangnya. nomor-ip adalah nomor IP dari name-server.ns.nama-domain. Setiap domain boleh diberikan name server lebih dari satu akan tetapi yang dianggap server utama hanya satu saja. Alamat kontak administrator adalah hostmaster@nama-domain.
Pada contoh ini, jika name-server adalah ns..salman.or.id, maka nama ini yang akan dipakai sebagai NS resource record.
Time to live atau disingkat ttl adalah batas waktu --dalam detik-- data DNS bisa disimpan dalam cached.
Dua baris berikutnya berisi informasi tentang hostname, seperti ini:
=fariz.salman.or.id:192.168.1.192:86400 =salma.salman.or.id:192.168.1.20:86400 |
=nama-host:nomor-ip:ttl |
Informasi ini menentukan nomor-ip diasosiasikan dengan nama-host. Nama host harus disebutkan lengkap dengan domainnya.
Alias dari hostname direpresentasikan dengan baris,
+mail.salman.or.id:192.168.1.20:86400 |
Sedangkan informasi tentang mail server sebuah domain diberikan dengan
@salman.or.id:192.168.1.20:a::86400 |
@nama-domain:nomor-ip:mail-server:bobot:ttl |
Aturan yang berlaku di sini sama dengan aturan yang berlaku untuk name server. Tetapi ada informasi tambahan disini, yaitu bobot. Anda bisa memberikan beberapa mail server untuk satu nama domain. Mail server akan diakses sesuai dengan urutan bobot ini.