DNS Server and DNS Caching (1032 total words in this text) (740 reads) Printer friendly version of DNS Server and DNS Caching. Internet Sharing Part II of V 1. DNS Untuk mengaktifkan name server jalankan /stand/sysinstal pilih menu Configure, kemudian Startup, lalu aktifkan (enable) named. Jika anda ingin menjalankan named dalam sandbox, isi named flags dengan argumen seperti dalam uraian butir 1.3. Cara lainnya adalah dengan mengedit langsung /etc/rc.conf, ganti atau tambahkan entri di /etc/rc.conf: named_enable="yes" named_flags="" #lihat uraian selanjutnya 1.1. Cache-Only DNS Server Konfigurasi DNS yang paling sederhana, yang kemungkinan besar akan berjalan lancar adalah menggunakan konfigurasi jenis cache-only DNS Server, artinya server DNS kita TIDAK memiliki otoritas atas satu zone-pun juga kecuali localhost dan loopback network 127. Kekurangan dari model DNS Server seperti ini adalah, tentu saja, host-host dalam network kita tidak dapat saling mengenal. Hal ini bisa kita uji dengan perintah ping dari satu host terhadap host lainnya. cat.: Dalam terminologi BIND, zone adalah suatu area network dimana sebuah server DNS memiliki otoritas atas pengaturan nama atas host-host yang ada di dalamnya. Untuk network yang relatif sederhana seperti pada small-office atau di organisasi kecil, suatu zone umumnya hanya berupa satu domain, sementara di organisasi yang cukup besar, seperti di lingkungan kampus dan terutama di sebuah ISP, biasanya sebuah server DNS akan menangani suatu zone yang terdiri atas lebih dari satu domain. 1.1.1 Konfigurasi dalam named.conf options { directory "/etc/namedb"; forwarders { // daftar DNS Server ISP kita misalnya: 202.155.0.10; 202.155.0.20; }; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; }; zone "." { type hint; file "root.servers"; }; 1.1.2 File-file database 1.1.2.1 File localhost.rev: @TTL 3600 @ IN SOA my.domain.box. root.domain.box. ( 3600,900,36000,3600 ) IN NS my.domain.box. 1 IN PTR localhost.domain.box. cat.: Untuk menghindari salah ketik, sebaiknya kita cukup menjalankan perintah: sh make-localhost di direktori /etc/namedb. 1.1.2.2 File root.servers: File ini tidak perlu dirubah, biarkan saja sesuai defaultnya. 1.2. Internal-Root DNS Server Seperti dapat dilihat pada gambar diatas, network kita termasuk kedalam network kelas C, dengan alamat 192.168.1.0 dan netmask 255.255.255.0. IP address network card pertama (if_1) ditetapkan oleh ISP, sementara if_2 dapat kita tentukan sendiri. Selanjutnya kita dapat menetapkan hal-hal sebagai berikut: Zone/domain: domain.box Reverse-Network: 1.168.192.in-addr.arpa Server address: 192.168.1.1 Server name: my.domain.box 1.2.1 Konfigurasi dalam named.conf: 1.2.1.1 Konfigurasi awal (Cache-Only DNS Server): options { directory "/etc/namedb"; forwarders { // daftar DNS Server ISP: 202.155.0.10; 202.155.0.20; }; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; }; 1.2.1.2 Konfigurasi named.conf yang perlu ditambahkan (atau dirubah): forward; zone "domain.box" { type master; file "box/domain.db"; }; zone "1.168.192.in-addr.arpa" { type master; file "box/domain.rev"; }; zone "." { type hint; //file "root.servers"; file "box/root.box"; }; 1.2.2 File-file database 1.1.2.1 File localhost.rev: Tidak perlu ada perubahan dalam file ini, sama dengan butir 1.1.2.1 diatas. 1.1.2.2 File domain.db: Berisi daftar translasi name to address untuk seluruh host yang ada di domain domain.box, hati-hati character comment di sini adalah semi-colon (;) bukan hash (#). @TTL 3600 @ IN SOA my.domain.box. root.domain.box. ( 3600,900,36000,3600 ) IN NS my.domain.box. localhost IN A 127.0.0.1 my IN A 192.168.1.1 host1 in cname my host2 IN A 192.168.1.2 host3 IN A 192.168.1.3 ... ... ... host254 IN A 192.168.1.254 cat.: Perhatikan bahwa dalam database ini kita perlu menambahkan entri untuk localhost, sehingga setiap rujukan atas localhost, dari manapun juga, akan diarahkan ke loopback masing-masing. 1.1.2.2 File domain.rev: Kebalikan dari domain.db, merupakan reverse address to name atas domain.box untuk network 192.168.1.0/24 @TTL 3600 @ IN SOA my.domain.box. root.domain.box. ( 3600,900,36000,3600 ) IN NS my.domain.box. 1 IN PTR my 2 IN PTR host1 3 IN PTR host2 ... 254 IN PTR host254 cat.: Perhatikan bahwa tidak bisa dilakukan reverse untuk alias atau CNAME (canonical-name). Tidak diperbolehkan terdapat dua entri yang sama untuk satu nomor address, atau dengan kata lain, satu nomor adress tidak boleh merujuk kepada dua nama yang berbeda. Sebaliknya bisa saja terdapat dua nomor address untuk satu nama, misalnya jika kita memiliki dua atau lebih network card dalam satu host yang masing-masing memiliki IP sendiri. 1.1.2.2 File root.box: File ini merupakan modifikasi dari file root.servers, yaitu dengan menambahkan RR (Resource Record) yang menyatakan bahwa server kita memiliki otoritas atas root domain. @TTL 3600 @ IN SOA my.domain.box. root.domain.box. ( 3600,900,36000,3600 ) IN NS my.domain.box. ;domain "domain.box" didelegasikan langsung dari root domain.box. 9999999 IN NS my.domain.box. ;juga reverse dari class-C network 1.168.192.in-addr.arpa 9999999 IN NS my.domain.box. ;glue records my.domain.box. IN A 192.168.1.1 ;daftar root server selanjutnya sama dengan default di file root.servers ... 1.3. DNS Server in the sand-box Konfigurasi server DNS ini terutama ditujukan untuk memperketat sekuriti sistem network, prinsipnya sederhana, yaitu menjalankan servis DNS (named) oleh non-privilege user, untuk ini biasanya sengaja dibuat satu user khusus, tanpa fasilitas login. Sebenarnya untuk model network kita yang sederhana, ancaman sekuriti yang ada mungkin tidak akan terlalu serius. Konfigurasi ini bisa jadi sebagai opsi yang bisa diambil ataupun tidak. 1.3.1 Buat user baru untuk servis DNS, misalnya dengan nama: bind. User group: bind (default) User home: /usr/local/bind shell: no, nologin atau nonexistent 1.3.2 ganti atau tambahkan entri di /etc/rc.conf: named_flags="-u bind -g bind -w /usr/local/bind -c named.conf -t /usr/local/bind" Penjelasan atas argumen: -u dan -g: user serta group yang menjallankan servis DNS adalah "bind". -w dan -c: direktori kerja dan nama fille konfigurasi yang dipakai. -t: setelah melakukan inisialisasi, serrvis DNS menjadikan /usr/local/bind sebagai root direktorinya (chroot). Dengan penggantian user, group dan chroot, servis DNS ini tidak lagi memiliki akses tak-terbatas atas resources, sehingga perlu dilakukan lagi beberapa penyesuaian: 1.3.2.1 Servis named dan ndc biasanya menampilkan prosess-id-nya dibawah sub-direktori /var/run, karena root-directory-nya berubah, maka kita harus membuat secara manual subdirektori /var/run dibawah /usr/local/bind, jangan lupa ownershipnya harus disesuaikan menjadi bind:bind 1.3.2.1 Jika penyesuaian sub-direktori diatas tidak dilakukan maka setidaknya harus dibuat penyesuaian dalam option named.conf: options { ... directory "/"; //(atau mudahnya hapus saja option ini) pid-file "named.pid" //named.pid berada di direktori root yang baru ... } 1.3.3 Pindahkan atau salin /etc/namedb ke /usr/local/bind. cat.: Perhatikan ownership dari /usr/local/bind, jika kita menyalinnya dengan tool atau file-manager seperti midnight- commander, biasanya ownership akan berubah dari bind ke root (atau privileged user pada saat itu), sehingga harus dikembalikan lagi dengan chown -r bind:bind /usr/local/bind. Penyesuaian ownership ini juga berlaku untuk direktori baru dibawahnya yang kelak digunakan untuk file-file yang meminta akses-tulis seperti log, dump, stat, pid, dsb. 1.3.4 Hentikan proses named yang saat itu berlangsung (dengan kill, killall atau top), lalu aktifkan kembali named (dengan argumen seperti named_flags diatas), atau reboot server.