DNS kepanjangan dari Domain Name System adalah sistem penamaan pada Jaringan komputer untuk memberikan nama pada host atau komputer yang tadinya menggunakan alamat IP yang berupa angka (seperti 192.168.56.22) menjadi huruf dan kata-kata yang mudah dimengerti, dengan DNS kita dimudahkan untuk mengakses suatu host atau komputer hanya menggunakan kata kata atau tulisan yang mudah dimengerti yang disebut dengan URL , seperti kita mengakses situs web blogger.com, sebenarnya alamat situs tersebut bukanlah blogger.com , alamat dengan huruf tersebut hanya mewakili saja dari alamat IP server asli blogger.com tersebut, bisa saja alamat URL blogger.com dimiliki oleh banyak alamat IP server.
Pada DNS terdapat komputer yang bertindak sebagai Server bisa juga disebut dengan DNS Server, tugasnya adalah menerima permintaan DNS dari komputer DNS Client, permintaannya berupa alamat IP dari suatu nama domain atau URL, misalnya Client meminta data alamat IP dari URL blogger.com maka DNS Server menjawabnya dengan alamat IP 192.X.X.X. DNS Server menggunakan protokol UDP pada port 53 sebagai transport protocolnya.
Dalam server DNS terdiri dari beberapa nama domain seperti blogger.com, google.com, facebook.com, dll itu adalah nama domain utama, kita dapat membagi nama domain utama menjadi beberapa sub-domain atau anakannya seperti www.blogger.com, mail.google.com, dll. Sub domain itu dicatat atau dimasukan di dalam database Record tiap nama domain utama. untuk sub-domain, jenis record yang digunakan adalah A Record, selain itu ada beberapa macam jenis record dalam DNS diantaranya :
Pada kali ini kita akan melakukan konfigurasi DNS Server pada Sistem Operasi Server Debian, versi debian yang saya gunakan adalah versi 7.8.0, aplikasi yang melayani DNS pada Debian adalah BIND9. Terdapat dua server Master dan Slave, yang Master adalah yang utama sedangkan yang Slave adalah cadangan.
Kita akan buat dua domain yaitu server1.xyz dan server2.xyz, dan domain tersebut akan kita buat beberapa sub-domain. kita lanjut pada konfigurasinya :
Aplikasi atau repository yang dibutuhkan untuk mengkonfigurasi DNS Server pada Debian adalah bind9, maka kita harus install paket bind9 pada server ini.
Kemudian kita pindah pada direktori yang isinya file konfiguras bind9 pada /etc/bind
Edit file named.conf.default-zones kemudian cari zone localhost dan 127.
Copy file database record dari contoh yang ada di directory /etc/bind , untuk file database dari nama domain yang akan kita buat.
Edit ketiga file tersebut untuk kita isikan record untuk mapping antara domain dan sub-domain dengan alamat IP. pertama kita mulai dari file db.server1
Kemudian restart layanan bind9 dan pastikan berhasil tidak menemukan tulisan fail.
Setelah itu testing hasil DNS Server dengan melakukan nslookup domain pada Server.
Kemudian install paket bind9
Pindah ke directory /etc/bind yang berisi file konfigurasi DNS.
Kemudian edit file named.conf.default-zones untuk menambahkan zones atau domain utama.
Kemudian restart layanan bind9, dan pastikan tidak terjadi kegagalan atau failed.
Coba lakukan nslookup pada server apakah sudah berhasil.
Lalu tambahkan alamat IP kedua server tersebut di baris paling atas.
Kita uji coba nslookup nama domain utama.
Untuk menguji apakah DNS Slave dapat menggantikan master coba kita matikan server master.
Kita coba nslookup pada client apakah masih dapat dilakukan.
Src : cdn.keycdn.com |
Pada DNS terdapat komputer yang bertindak sebagai Server bisa juga disebut dengan DNS Server, tugasnya adalah menerima permintaan DNS dari komputer DNS Client, permintaannya berupa alamat IP dari suatu nama domain atau URL, misalnya Client meminta data alamat IP dari URL blogger.com maka DNS Server menjawabnya dengan alamat IP 192.X.X.X. DNS Server menggunakan protokol UDP pada port 53 sebagai transport protocolnya.
Dalam server DNS terdiri dari beberapa nama domain seperti blogger.com, google.com, facebook.com, dll itu adalah nama domain utama, kita dapat membagi nama domain utama menjadi beberapa sub-domain atau anakannya seperti www.blogger.com, mail.google.com, dll. Sub domain itu dicatat atau dimasukan di dalam database Record tiap nama domain utama. untuk sub-domain, jenis record yang digunakan adalah A Record, selain itu ada beberapa macam jenis record dalam DNS diantaranya :
- (A) Record : fungsi dari A Record ini adalah untuk mapping atau memetakan antara alamat IP dengan nama domain utama maupun sub-domain, server akan menjawab permintaan DNS dengan record ini jika Client menanyakan alamat IP dari suatu URL (URL ubah ke IP).
- (PTR) Record : Hampir sama dengan A tetapi ini adalah sebaliknya, server akan menjawab dengan PTR jika Client menanyakan alamat URL dari suatu alamat IP (IP ubah ke URL).
- (NS) Record : Fungsinya sebagai informasi nama server yang memberikan jawaban DNS pada Client.
- (SOA) Record : Berisi server DNS yang menyediakan data nama domain yang ada pada jaringan.
- (MX) Record : untuk memetakan alamat domain dari sebuah email pada email server tujuan.
Pada kali ini kita akan melakukan konfigurasi DNS Server pada Sistem Operasi Server Debian, versi debian yang saya gunakan adalah versi 7.8.0, aplikasi yang melayani DNS pada Debian adalah BIND9. Terdapat dua server Master dan Slave, yang Master adalah yang utama sedangkan yang Slave adalah cadangan.
Kita akan buat dua domain yaitu server1.xyz dan server2.xyz, dan domain tersebut akan kita buat beberapa sub-domain. kita lanjut pada konfigurasinya :
DNS Server Master
Fungsi dari Server Master ini adalah untuk menyimpan semua database nama domain utama seperti record-record atau catatan-catatan, dan yang akan menjadi Server yang paling pertama yang akan diakses oleh Client.- Pertama kita lakukan konfigurasi IP Address pada Interface server ini, sesuaikan dengan keadaan network atau jaringan masing-masing jika berbeda dengan topologi diatas.
File konfigurasi Interface ada di /etc/network/interfaces , kita buka file tersebut dengan editor nano.
root@masterdns:~# nano /etc/network/interfacesCari tulisan seperti ini, jika tidak ada lewati saja.
allow-hotplug eth0 iface eth0 inet dhcpGanti tulisan diatas dengan tulisan dibawah ini.
auto eth0 iface eth0 inet static address 192.168.56.10 netmask 255.255.255.0 gateway 192.168.56.1 dns-namservers 192.168.56.10
- address adalah alamat IP server
- netmask adalah subnet mask dari alamat IP server
- gateway adalah alamat IP Router atau perangkat yang menghubungkan ke Internet sebagai gateway
root@masterdns:~# /etc/init.d/networking restart
root@masterdns:~# apt-get install bind9
root@masterdns:~# cd /etc/bind/ root@masterdns:/etc/bind# ls bind.keys db.0 db.127 db.255 db.empty db.local db.root named.conf named.conf.default-zones named.conf.local named.conf.options rndc.key zones.rfc1918
zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; };kita dapat menggantinya dengan zone nama domain utama yang akan kita buat, ganti tulisan tersebut menjadi seperti dibawah ini.
zone "server1.xyz" { type master; file "/etc/bind/db.server1"; allow-transfer {192.168.56.20;}; }; zone "56.168.192.in-addr.arpa" { type master; file "/etc/bind/db.56"; allow-transfer {192.168.56.20;}; };
- zone "xxxxx" isinya adalah zone forward DNS atau nama domain utama yang akan kita buat, untuk mengubah dari nama domain menjadi alamat IP .
- zone "xx.xx.xx.in-addr.arpa" isinya adalah alamat IP network yang dimiliki oleh setiap nama domain utama, tetapi cara penulisannya dibalik.
- type master; artinya zone tersebut data data nya berada langsung di server tersebut, bisa diganti menjadi slave.
- file "/xx/xx/xx" tempat menyimpan file yang isinya record-record dari domain utama, seperti sub-domain.
- allow-transfer isinya alamat IP server DNS Slave atau server yang diperbolehkan transfer data domain utama tersebut.
zone "server2.xyz" { type master; file "/etc/bind/db.server2"; allow-transfer {192.168.56.20;}; };Simpan file tersebut.
root@masterdns:/etc/bind# cp db.local db.server1 root@masterdns:/etc/bind# cp db.local db.server2 root@masterdns:/etc/bind# cp db.127 db.56
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. @ IN A 127.0.0.1 @ IN AAAA ::1Tulisan diatas adalah isi awal dari file db.server1, kita harus mengubahnya seperti localhost diganti menjadi nama domain utama server1.xyz, dan yang dibawahnya adalah database record seperti NS, A, dll kita dapat langsung membuat sub-domain.
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA server1.xyz. root.server1.xyz. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS server1.xyz. @ IN A 192.168.56.10 www IN A 192.168.56.10 web IN A 192.168.56.10 data IN A 192.168.56.10 ftp IN A 192.168.56.10 mail IN A 192.168.56.10 smb IN A 192.168.56.10 IN MX 10 mail.server1.xyz.seperti inilah hasilnya, tulisan yang ditebalkan adalah sub domain yang telah kita map pada alamat IP. Kemudian lanjut pada file yang lainnya lagi.
File db.server2
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA server2.xyz. root.server2.xyz. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS server2.xyz. @ IN A 192.168.56.20 www IN A 192.168.56.20 web IN A 192.168.56.20 data IN A 192.168.56.20 ftp IN A 192.168.56.20 smb IN A 192.168.56.20 mail IN A 192.168.56.20 IN MX 10 mail.server2.xyz.
File db.56
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA server1.xyz. root.server1.xyz. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS server1.xyz. 10 IN PTR server1.xyz. 10 IN PTR www.server1.xyz. 10 IN PTR web.server1.xyz. 10 IN PTR data.server1.xyz. 10 IN PTR ftp.server1.xyz. 10 IN PTR smb.server1.xyz. 10 IN PTR mail.server1.xyz. 20 IN PTR server2.xyz. 20 IN PTR www.server2.xyz. 20 IN PTR web.server2.xyz. 20 IN PTR data.server2.xyz. 20 IN PTR ftp.server2.xyz. 20 IN PTR smb.server2.xyz. 20 IN PTR mail.server2.xyz.File ini berfungsi untuk map alamat IP menjadi nama domain, angka 10, 20 adalah alamat IP Host atau oktet terakhir IP dari pemilik domain/sub-domain tersebut.
root@masterdns:/etc/bind# /etc/init.d/bind9 restart [ ok ] Stopping domain name service...: bind9. [ ok ] Starting domain name service...: bind9.Jika terjadi error atau fail coba cek file named.conf.default-zones mungkin saja ada tulisan yang kurang seperti ";".
root@masterdns:/etc/bind# nslookup server1.xyz Server: 127.0.0.1 Address: 127.0.0.1#53 Name: server1.xyz Address: 192.168.56.10 root@masterdns:/etc/bind# nslookup server2.xyz Server: 127.0.0.1 Address: 127.0.0.1#53 Name: server2.xyz Address: 192.168.56.20Lalu nslookup dengan IP Address.
root@masterdns:/etc/bind# nslookup 192.168.56.10 Server: 127.0.0.1 Address: 127.0.0.1#53 10.56.168.192.in-addr.arpa name = smb.server1.xyz. 10.56.168.192.in-addr.arpa name = web.server1.xyz. 10.56.168.192.in-addr.arpa name = www.server1.xyz. 10.56.168.192.in-addr.arpa name = data.server1.xyz. 10.56.168.192.in-addr.arpa name = mail.server1.xyz. 10.56.168.192.in-addr.arpa name = server1.xyz. 10.56.168.192.in-addr.arpa name = ftp.server1.xyz. root@masterdns:/etc/bind# nslookup 192.168.56.20 Server: 127.0.0.1 Address: 127.0.0.1#53 20.56.168.192.in-addr.arpa name = web.server2.xyz. 20.56.168.192.in-addr.arpa name = www.server2.xyz. 20.56.168.192.in-addr.arpa name = data.server2.xyz. 20.56.168.192.in-addr.arpa name = mail.server2.xyz. 20.56.168.192.in-addr.arpa name = server2.xyz. 20.56.168.192.in-addr.arpa name = ftp.server2.xyz. 20.56.168.192.in-addr.arpa name = smb.server2.xyz.
DNS Server Slave
Server slave fungsinya sebagai cadangan dari Server Master, pada server slave kita tidak perlu mengkonfigurasi database record (sub-domain) karena server slave ini akan mengimpornya atau mentransfer dari server master, jika server master mati maka server slave akan mengantikannya.- Pertama kita konfigurasi IP Address pada interface server ini, edit file /etc/network/interfaces
root@dnsslave:~# nano /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.56.20 netmask 255.255.255.0 gateway 192.168.56.20 dns-nameservers 192.168.56.20
root@dnsslave:~# apt-get install bind9
root@dnsslave:~# cd /etc/bind/
root@dnsslave:/etc/bind# nano named.conf.default-zonesSeperti biasa kita ganti localhost menjadi seperti ini, langsung saja.
zone "server1.xyz" { type slave; masters {192.168.56.10;}; }; zone "server2.xyz" { type slave; masters {192.168.56.10;}; }; zone "56.168.192.in-addr.arpa" { type slave; masters {192.168.56.10;}; };Entri masters adalah alamat IP Server yang memiliki database dari zone tersebut atau server master. Setelah itu simpan file tersebut.
root@dnsslave:/etc/bind# /etc/init.d/bind9 restart [ ok ] Stopping domain name service...: bind9. [ ok ] Starting domain name service...: bind9.
root@dnsslave:/etc/bind# nslookup server1.xyz Server: 127.0.0.1 Address: 127.0.0.1#53 Name: server1.xyz Address: 192.168.56.10
Testing Client
Kita uji coba client untuk mengakses data DNS dari kedua server tersebut, Client yang saya gunakan adalah Ubuntu 16.04, untuk mendaftarkan DNS Server pada Client adalah :- edit file /etc/resolv.conf
dzikra@dz-ux455lf:~$ sudo nano /etc/resolv.conf
nameserver 192.168.56.10 nameserver 192.168.56.20
dzikra@dz-ux455lf:~$ nslookup server1.xyz Server: 192.168.56.10 Address: 192.168.56.10#53 Name: server1.xyz Address: 192.168.56.10 dzikra@dz-ux455lf:~$ nslookup server2.xyz Server: 192.168.56.10 Address: 192.168.56.10#53 Name: server2.xyz Address: 192.168.56.20Kemudian nslookup dengan alamat IP
dzikra@dz-ux455lf:~$ nslookup 192.168.56.10 Server: 192.168.56.10 Address: 192.168.56.10#53 10.56.168.192.in-addr.arpa name = www.server1.xyz. 10.56.168.192.in-addr.arpa name = data.server1.xyz. 10.56.168.192.in-addr.arpa name = mail.server1.xyz. 10.56.168.192.in-addr.arpa name = server1.xyz. 10.56.168.192.in-addr.arpa name = ftp.server1.xyz. 10.56.168.192.in-addr.arpa name = smb.server1.xyz. 10.56.168.192.in-addr.arpa name = web.server1.xyz. dzikra@dz-ux455lf:~$ nslookup 192.168.56.20 Server: 192.168.56.10 Address: 192.168.56.10#53 20.56.168.192.in-addr.arpa name = data.server2.xyz. 20.56.168.192.in-addr.arpa name = mail.server2.xyz. 20.56.168.192.in-addr.arpa name = server2.xyz. 20.56.168.192.in-addr.arpa name = ftp.server2.xyz. 20.56.168.192.in-addr.arpa name = smb.server2.xyz. 20.56.168.192.in-addr.arpa name = web.server2.xyz. 20.56.168.192.in-addr.arpa name = www.server2.xyz.
root@masterdns:/etc/bind# init 0tunggu hingga server tersebut mati.
dzikra@dz-ux455lf:~$ nslookup server1.xyz Server: 192.168.56.20 Address: 192.168.56.20#53 Name: server1.xyz Address: 192.168.56.10terlihat yang menjawab sekarang adalah DNS Slave.
Komentar
Posting Komentar