Bonjour! Kita bertemu lagi di blog Tutorial Linux Berbahasa Indonesia, mungkin ini adalah postingan terakhir untuk topik kita mengenai DNS. Jika anda belum membaca artikel bersambung ini sebelumnya, saya sarankan untuk membacanya terlebih dahulu sebelum mempelajari lebih dalam lagi. Artikel sebelumnya ada di link dibawah ini :
- Installasi Dan Konfigurasi DNS Di Linux (BIND) - Part 1
- Installasi Dan Konfigurasi DNS Di Linux (BIND) - Part 2
Zona
Direktif zone untuk mendefinisikan domain yang akan dilayani oleh BIND. Dalam contoh kasus kita, zona yang akan ditangani oleh bind adalah domain apocalypsix.web.id. Direktif zone dapat berisikan direktif lain dan dideklarasikan diantara tanda kurung kurawal awal { dan ditutup dengan kurung kurawal } didalam direktif zone.
Penulisan opsi lain didalam opsi zone diakhiri dengan tanda titik koma ( ; ), termasuk opsi zone sendiri yang diakhiri dengan tanda titik koma ( ; ). Berikut adalah deklarasi untuk domain apocalypsix.web.id yang terdapat di berkas named.conf.local.
zone "apocalypsix.web.id" {
type master;
file "/etc/bind/apocalypsix.web.id";
};
Contoh diatas merupakan contoh konfigurasi minimal untuk sebuah domain yang hanya berisikan direktif type dan file. Direktif type akan menentukan sifat dari zona apakah bertindak sebagai master atau slave. Opsi ini akan dibahas lebih jauh di bagian server redundan sedangkan direktif file memberitahukan BIND lokasi dari berkas konfigurasi zona apocalypsix.web.id yang dapat ditemukan di /etc/bind/apocalypsix.web.id. Selain kedua direktif tersebut ada beberapa direktif lain yang akan berada didalam direktif zone. Daftar berikut adalah direktif yang dapat berada didalam direktif zone.
also notify { daftar-alamat; }; Digunakan untuk memberitahukan server DNS lain (Server DNS Slave) ketika terjadi perubahan catatan zona.
allow notify { daftar-alamat; }; Digunakan di Server DNS Slave untuk mengijinkan pemberitahuan perubahan catatan DNS yang berasal dari server master.
master { daftar-alamat; }; Digunakan oleh Server DNS Slave untuk mendefinisikan Server DNS Master.
allow query { daftar-alamat; }; Digunakan untuk mendefinisikan siapa yang diijinkan untuk melakukan permintaan ke Server DNS. Direktif ini digunakan untuk membatasi akses terhadap DNS, sehingga hanya klien yang telah ditentukan saja yang dapat melakukan permintaan ke server DNS.
allow-transfer { daftar-alamat; }; Digunakan oleh server DNS master untuk mengijinkan transfer berkas zona ke server DNS slave.
notify-source alamat-IP port alamat-port; Digunakan untuk secara eksplisit menentukan alamat IP dan port yang digunakan untuk memberitahukan server lain perubahan catatan zona.
View
Direktif view dan zone merupakan dua direktif yang saling berhubungan. Direktif ini baru diperkenalkan di BIND versi 9. Direktif view bertindak sebagai kontainer untuk direktif zone yang menyebabkan BIND akan memberikan jawaban yang berbeda untuk permintaan yang masuk tergantung darimana permintaan tersebut berasal.
Sebagai contoh, jika ada permintaan DNS terhadap host www.apocalypsix.web.id maka BIND dapat dikonfigurasi untuk membverikan jawaban yang berbeda. Jika permintaan berasal dari internet, maka BIND akan memberikan jawaban alamat IP publik sedangkan permintaan dari dalam jaringan lokal akan diberikan jawaban IP lokal. Metode ini lebih dikenal dengan nama split DNS.
Manfaat lain view adalah memisahkan fungsi otoritatif dan cache DNS. Sebaiknya fungsi cache hanya diperuntukan untuk jaringan lokal dan menutupnya dari internet demi alasan keamanan.
Berkas Zona
Setelah suatu domain telah di deklarasikan di dalam berkas named.conf.local maka langkah selanjutnya yang perlu dilakukan adalah membuat berkas zona itu sendiri. Nama dan lokasi berkas harus sesuai dengan direktif file yang dideklarasikan didalam direktif zone. Dalam kasus zona apocalypsix.web.id, nama berkas zona tersebut adalahapocalypsix.web.id yang terletak di direktori /etc/bind.
Berkas zona sebenarnya merupakan berkas yang berisikan daftar nama host yang ada didalam suatu domain. Berkas ini mempunyai fungsi utama untuk memetakan nama host dengan alamat IP selain berisikan beberapa direktif atau opsi lain yang berkaitan dengan suatu zona.
Untuk membuat berkas zona, ada baiknya jika kita melakukan pendataan terlebih dahulu atau semua host yang berada di dalam domain kita. Hal ini tentu saja untuk memudahkan kita dalam mengelola dan membagikan alamat IP ke server, dan juga mengelola penamaan host di domain.
Berkas zona memiliki format penulisan tertentu yang harus diikuti. Sebagai contoh berikut adalah berkas zona untuk domain apoclaypsix.web.id.
; BIND reverse data file for broadcast zone
$ORIGIN apocalypsix.web.id.
$TTL 1d
@ IN SOAns.apocalypsix.web.id. hostmaster.apocalypsix.web.id {
906030942 : Serial number
86400 ; Refresh
1800 ; Retry
50400 ; Expire
3600 ; Negative cache TTL
};
IN NX ns.apocalypsix.web.id.
IN MX 10 mail.apocalypsix.web.id.
ns IN A 10.10.1.1
proxy IN A 10.10.1.1
www IN A 10.10.1.1
mail IN A 10.10.1.5
ntp IN A 10.10.1.7
Semua berkas zona memiliki format dasar seperti diatas. Diawali dengan parameter yang ditujukan untuk zona tersebut, direktif khusus yang disebut sebagai rekaman (record) dimana setiap berkas zona diawali dengan rekaman SOA dan dilanjutkan dengan rekaman lainnya. Berbeda dengan berkas konfigurasi untuk aplikasi lainnya, komentar di berkas zona ditandai dengna tanda ; (titik koma) atau //.
Parameter digunakan di BIND biasanya digunakan untuk memberitahukan BIND mengenai informasi tertentu. Nilai yang diisikan kedalam parameter tersebut akan digunakan oleh BIND, namun bila tidak dideklarasikan maka adalah beberapa parameter yang sering digunakan.
$INCLUDE Parameter ini akan memasukkan berkas yang lain kedalam berkas zona tepat pada tempat dimana opsi ini digunakan. Hal ini berguna jika kita ingin menggunakan berkas lain untuk memisahkan konfigurasi zona terspisah dari berkas zona utama.
$ORIGIN Parameter ini akan menambahkan nama domain ke nama host relatif. Setiap nama host yang tidak diakhiri dengan tanda titik (.) merupakan nama host relatif dan akan ditambahkan nama domain sesuai dengan nama domain yang ditentukan oleh parameter ini.