Selasa, 03 Juli 2012

Konfigurasi DNS Server pada Ubuntu 10.04

Pada kesempatan sebelumnya saya telah menyampaikan pendahuluan mengenai Domain Name System atau yang biasa disebut DNS Server. Pada kesempatan kali ini saya akan menyampaikan materi mengenai konfigurasi DNS yang akan dilakukan pada sistem operasi Ubuntu 10.04.
Sebelum melakukan konfigurasi, saya akan menjelaskan sedikit mengenai topologi yang akan digunakan dalam konfigurasi ini. Dalam hal ini saya menggunakan topologi peer-to-peer. Ada 2 buah mesin / PC yang digunakan, dimana 1 mesin akan digunakan sebagai DNS Server dan mesin yang lainnya dijadikan sebagai Client yang akan menguji keberhasilan dari praktikum.

Untuk pengalamatan (addressing), saya menggunakan IP Address kelas B dengan network 172.16.0.0/16 dimana mesin DNS Server menggunakan IP 172.16.0.1 dan PC Client menggunakan IP 172.16.0.2. Untuk lebih jelasnya, berikut adalah topologi dan skema addressing yang saya gunakan :


Sebagai informasi opsional, dalam hal ini saya menggunakan sistem operasi Ubuntu 10.04 pada PC client. Jika anda akan melakukan praktek ini, anda dapat menggunakan sistem operasi lain pada client.



Untuk melakukan praktek, pastikan anda sudah melakukan konfigurasi koneksi topologi dan addressing agar kedua mesin dapat berkomunikasi. Setelah konfigurasi addressing terbentuk, maka anda dapat memulai untuk melakukan konfigurasi DNS Server.

Untuk membuat konfigurasi DNS Server, saya menggunakan package bind9. Package ini merupakan aplikasi yang dapat berjalan di sistem operasi Linux. Bind merupakan sebuah singkatan dari Berkeley Internet Name Domain. Selain dari itu anda juga dapat menggunakan aplikasi lain untuk konfigurasi DNS Server, antara lain :
  • djbdns (Daniel J. Bernstein's DNS) 
  • MaraDNS
  • QIP (Lucent Technologies)
  • NSD (Name Server Daemon)
  • Unbound
  • PowerDNS
  • Microsoft DNS (untuk edisi server dari Windows 2000 dan Windows 2003)
Berikut adalah langkah-langkah yang dilakukan dalam konfigurasi DNS Server :
  1. Lakukan instalasi package bind9 pada mesin yang akan menjadi DNS Server. Untuk menginstal package, gunakan perintah apt-get install bind9. Namun sebelum menginstal, pastikan sistem tersebut sudah terkoneksi dan update repository
  2. Setelah terinstall, lakukan back-up data untuk file konfigurasi DNS Server. File yang dimaksud adalah file /etc/bind/named.conf.local. Untuk melakukan back-up, gunakan perintah cp /etc/bind/named.conf.local /etc/bind/named.conf.local_backup
  3. Setelah file di back-up, buka file tersebut dengan menggunakan utility nano atau gunakan perintah nano /etc/bind/named.conf.local. Setelah terbuka, inputkan script berikut :


    Pada gambar di atas dapat dilihat bahwa di samping parameter zone ada teks "yadipoer.com", dimana yadipoer.com adalah domain name yang akan digunakan pada sistem tersebut. Kemudian pada parameter type kita menentukan jenis domain name yang akan digunakan apakah master atau slave. Di samping parameter file menunjukan file konfigurasi yang selanjutnya.
  4. Pada gambar di atas dapat dilihat ada 2 file konfigurasi yang diperlukan yaitu db.forward dan db.reverse. Namun secara default, pada direktori /etc/bind tidak ada kedua file tersebut. Hal yang perlu dilakukan adalah membuat kedua file tersebut dengan perantara file db.local dan db.127. Caranya adalah dengan meng-copy file db.local dan db.127 namun dengan nama lain yaitu db.forward dan db.reverse. Gunakan perintah berikut :
    1. cp /etc/bind/db.local /etc/bind/db.forward
    2. cp /etc/bind/db.127 /etc/bind/db.reverse
    Dengan perintah tersebut maka file db.forward dan db.reverse sudah tersedia dengan keterangan bahwa db.forward = db.local, dan db.reverse = db.127
  5. Setelah itu lakukan konfigurasi pada file db.forward dengan membukanya menggunakan utility nano. Setelah terbuka, lakukan pengeditan script sehingga menjadi seperti berikut :


    Maksud dari isi tanda oval biru pada gambar di atas adalah format waktu kapan dilakukan pengeditan domain name yang di representasikan secara standar. Formatnya adalah tahun-bulan-tanggal-pengeditan ke.... Dari gambar di atas diketahui bahwa pengeditan dilakukan pada tanggal 16 Mei 2012 dan itu adalah pengeditan pertama (01).
  6. Setelah itu keluar dari utility nano dan simpan perubahan pada file tersebut. Setelah itu buka file db.reverse menggunakan nano lalu lakukan pengeditan script seperti berikut :


    Pada bagian depan di line paling bawah dapat dilihat ada angka 1. Hal itu maksudnya adalah untuk penanda dari segmen terakhir pada IP Address yang digunakan untuk mesin DNS Server (172.16.0.1).
  7. Setelah itu keluar dari utility nano dan simpan perubahan pada file tersebut. Langkah terakhir dari konfigurasi ini adalah restarting pada service bind9. Gunakan perintah service bind9 restart. Jika muncul parameter [ OK ] pada saat proses stopping dan starting dari domain name service, maka konfigurasi anda sudah benar.

Setelah semua langkah-langkah di atas selesai dilakukan, maka langkah selanjutnya adalah melakukan pengujian dari praktek konfigurasi DNS Server yang telah dilakukan. Untuk pengujian, lakukan langkah-langkah berikut :
  1. Pada PC Client, buka file /etc/resolv.conf dengan menggunakan utility nano. Setelah terbuka, masukkan script berikut :


  2. Setelah itu gunakan perintah nslookup sehingga akan muncul console > (tanda lebih dari). Setelah muncul console tersebut, ketikkan www.yadipoer.com untuk membuktikan kepemilikan domain name tersebut. Berikut hasilnya :


    Pada gambar di atas dapat dibuktikan bahwa pemilik domain name yadipoer.com adalah IP address 172.16.0.1 (sesuai dengan topologi). Kemudian dari line Address : 172.16.0.1#53 dapat kita ketahui bahwa DNS Server bekerja pada port 53
  3. Pengujian juga dapat dilakukan dengan cara melakukan uji koneksi ke domain name yadipoer.com. Gunakan perintah ping www.yadipoer.com. Berikut hasilnya :


    Dari gambar di atas dapat dilihat bahwa uji koneksi ICMP ke domain yadipoer.com dijawab oleh pemilik IP address 172.16.0.1.

Dengan demikian praktikum konfigurasi DNS Server telah selesai dilakukan. Perlu anda ketahui bahwa praktikum ini masih termasuk ke dalam minimum configuration karena penerapan dari DNS Server sendiri sangat luas dan belum saya kuasai secara utuh. Contohnya adalah jenis-jenis dari catatan DNS yang merupakan komponen penting dari sistem DNS Server yang masih dapat dikembangkan lebih luas lagi dari apa yang telah saya praktekkan. selain dari itu adalah pula parameter-parameter yang dapat dikembangkan lebih luas lagi untuk efektivitas dari DNS Server, antara lain :
  1. SOA (Start of Authority), adalah field yang menunjukkan master server pada root dari zona authority. Hanya diperbolehkan terdapat satu master server tiap zona authority. Contoh : domain yadipoer.com memiliki SOA MNAME ns.yadipoer.com 
  2. SOA RNAME, adalah email address dari personal atau organisasi yang bertanggung jawab pada zona ini. Format field ini berbeda dengan format email biasa (yang memakai tanda "@"). Format yang digunakan dalam field ini adalah [mailbox-name].[domain].[tld]. Misalnya yadipurdianto.yahoo.com akan ekuivalen dengan yadipurdianto@yahoo.com
  3. SOA Serial Number, adalah field yang menunjukkan serial number dari DNS server. Field ini berisi nilai unsigned 32 bit mulai dari 1 hingga 4294967295 dengan jumlah increment maksimal 2147483647. Dalam implementasi BIND (Berkeley Internet Name Domain), field ini didefiniskan dalam 10 digit. Format yang paling populer dalam penamaan serial number ini adalah yyyymmddss dengan yyyy adalah tahun, mm adalah bulan, dd adalah tanggal, dan ss adalah jumlah perubahan yang dilakukan. Nilai dari field ini harus diubah ketika terjadi perubahan pada zone file. Perubahan ini wajib dilakukan karena server lain menyimpan informasi mengenai zona berdasarkan serial number. Selama serial number server tidak berubah, maka data di cache juga tidak akan berubah.
  4. SOA REFRESH, adalah field yang menunjukkan waktu untuk slave server merefresh zona dari master server. Field ini direpresentasikan dalam satuan detik dengan nilai signed 32 bit. RFC1912 merekomendasikan 1200 hingga 43200 detik. 1200 detik jika datanya cepat berubah dan 43200 detik jika data jarang berubah.
  5. SOA RETRY, adalah field yang menunjukkan berapa lama waktu jeda antara percobaan slave server mengkontak master server jika kontak pertama mengalami kegagalan ketika slave master me-refresh cache dari master server. Field ini direpresentasikan dalam satuan detik dengan nilai signed 32 bit. Nilai yang ideal tergantung keadaan dan kecepatan network local. Biasanya nilainya adalah 180 (dua menit) hingga 900 (tiga belas menit) atau lebih tinggi.
  6. SOA EXPIRE, adalah field yang menunjukkan berapa lama zona-data masih authoritative. Field ini hanya berlaku untuk slave atau secondary server. Ketika nilai ini telah expired, maka slave master akan mengontak master server untuk membaca SOA record pada zona dan merequest AXFR/IFXR jika serial number berubah. Jika slave gagal mengontak master, maka slave akan terus mencoba mengontak master dan masih melayani query hingga waktu SOA EXPIRE habis. Setelah itu slave akan berhenti melayani query hingga kontak ke master server berhasil. RFC1912 merekomendasikan 1209600 hingga 2419200 (2-4 minggu).
  7. SOA MINIMUM TTL, adalah nilai default TTL (Time To Live) untuk semua record pada zone file. Field ini dalam satuan detik. Implementasi BIND9 mendefinisikan field ini dalam nilai negatif.
  8. MX, adalah record yang menjelaskan tentang domain mail exchange. Formatnya adalah sebagai berikut : [domain-name] IN MX [preference] [exchange]
    dimana preference adalah 16 bit integer yang menunjukkan preferences dari suatu domain dengan domain lainnya. Semakin kecil nilainya maka preferencesnya semakin bagus. Exchange adalah domain yang akan menangani mail exchange untuk owner name yang tertulis pada bagian kiri line tersebut.
Sumber :

Tidak ada komentar:

Posting Komentar