BIND9 (Berkeley Internet Name Domain) versi 9 adalah sebuah domain name server yang biasa digunakan untuk pemberian domain di internet, namun selain bind9 ada beberapa software yang sejenis misalnya dnsmasq (ini bisa dns dan dhcp).
Cara kerja DNS (Domain Name Server)
cara kerja Domain name system saat sederhana tetapi kita harus tau cara kerjanya suatu system / protocol.
- tahap pertama si laptop akan mengakses domain howtostuffworks.com dengan dns yang dia pakai
- tahap kedua adalah DNS server akan mencari pada list domain yang terdapat pada databasenya untuk mencocokan dengan permintaan klien
- tahap tiga, jika DNS utama tidak menenui domain yang diminta, maka dns server tersebut akan mencari dns server yang lain untuk mencari domain yang dicari
- tahap empat, jika domain yang dicari sudah di temui maka, dns server akan memberikan respon ke klien dengan format informasinya domain => ip-address (www.howstuffworks.com => 70.42.251.42), jadi sebenarnya yang dibutuhkan client adalah translate dari domain ke ip. setelah itu client akan meminta ke alamat yang dituju dengan ip tersebut
- tahap lima, setelah client meminta ke domain tujuan, maka nantinya server tersebut akan memberikan respon tergantung permintaanya.
Installasi Bind9 dan dnsutils
IP Address server = 192.168.1.18
pastikan servernya sudah terkoneksi ke internet
1 |
root@routecloud:~# apt install bind9 dnsutils |
pastikan proses installasinya tidak ada yang error
- Tambahkan forward ip ke gateway / dns
1 2 3 4 5 |
root@routecloud:~# nano /etc/bind/named.conf.options forwarders { 192.168.1.1; }; |
rubah pada bagian forwardersnya aja
- Tambahkan zone forward dan zone resolve di named.conf.local
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@routecloud:~# nano /etc/bind/named.conf.local #zone forward zone "routecloud.idn"{ type master; file "/etc/bind/zone/routecloud.fw"; }; #zone resolve zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/zone/routecloud.rs"; }; |
fungsi script diatas adalah untuk memtakan ip ke domain dan domain ke ip sesuai dengan fungsinya yaitu forward ke domain dan resolve ke ip address
- Buat folder zone pada bind
1 |
root@routecloud:~# mkdir /etc/bind/zone |
- kemudian copy file db.empty ke zone/routecloud.fw dan routecloud.rs
1 2 |
root@routecloud:~# cp /etc/bind/db.empty /etc/bind/zone/routecloud.fw root@routecloud:~# cp /etc/bind/db.empty /etc/bind/zone/routecloud.rs |
- kemudian edit filenya routecloud.fw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
root@routecloud:~# nano /etc/bind/zone/routecloud.fw ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE - it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL 86400 @ IN SOA routecloud.idn. root.routecloud.idn. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS routecloud.idn. @ IN A 192.168.1.18 www IN A 192.168.1.18 |
- kemudian edit filenya routecloud.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
root@routecloud:~# nano /etc/bind/zone/routecloud.rs $TTL 86400 @ IN SOA routecloud.idn. root.routecloud.idn. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS routecloud.idn. 18 IN PTR routecloud.idn. 18 IN PTR www.routecloud.idn. |
pastikan script yang ditulis tidak ada yang salah, perhatikan aturan sintaksnya.
- Restart service bind9
1 2 |
root@routecloud:~# /etc/init.d/bind9 restart [ ok ] Restarting bind9 (via systemctl): bind9.service. |
- Arahkan dns ke ip server kita pada /etc/resolv.conf
1 2 |
root@routecloud:~# nano /etc/resolv.conf nameserver 192.168.1.18 |
karena kita buat dns secara lokal, maka kita harus masukan ip server kita di resolv tersebut
- Testing dengan nslookup
1 2 3 4 5 6 |
root@routecloud:~# nslookup routecloud.idn Server: 192.168.1.18 Address: 192.168.1.18#53 Name: routecloud.idn Address: 192.168.1.18 |
1 2 3 4 5 6 |
root@routecloud:~# nslookup 192.168.1.18 Server: 192.168.1.18 Address: 192.168.1.18#53 18.1.168.192.in-addr.arpa name = www.routecloud.idn. 18.1.168.192.in-addr.arpa name = routecloud.idn. |
coba kita ping routecloud.idn dari server kita
1 2 3 4 5 6 7 8 9 10 11 |
root@routecloud:~# ping routecloud.idn -c 5 PING routecloud.idn (192.168.1.18) 56(84) bytes of data. 64 bytes from routecloud.idn (192.168.1.18): icmp_seq=1 ttl=64 time=0.018 ms 64 bytes from routecloud.idn (192.168.1.18): icmp_seq=2 ttl=64 time=0.055 ms 64 bytes from routecloud.idn (192.168.1.18): icmp_seq=3 ttl=64 time=0.052 ms 64 bytes from routecloud.idn (192.168.1.18): icmp_seq=4 ttl=64 time=0.057 ms 64 bytes from routecloud.idn (192.168.1.18): icmp_seq=5 ttl=64 time=0.055 ms --- routecloud.idn ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.018/0.047/0.057/0.016 ms |
oke sudah berhasil, jika klien kita ingin terkoneksi dengan dns server maka dns nya harus diarahkan ke server tersebut.
[Topologi]
Anggap saja, DNS servernya adalah routecloud.idnĀ => 192.168.1.18
[Linux Klien]
1 2 3 |
root@alanprastyo-Aspire-4741:~# nano /etc/resolv.conf nameserver 192.168.1.18 |
setelah itu tinggal ping dari klien
1 2 3 4 5 6 7 8 9 10 |
root@alanprastyo-Aspire-4741:~# ping routecloud.idn PING routecloud.idn (192.168.1.18) 56(84) bytes of data. 64 bytes from www.routecloud.idn (192.168.1.18): icmp_seq=1 ttl=64 time=0.174 ms 64 bytes from www.routecloud.idn (192.168.1.18): icmp_seq=2 ttl=64 time=0.274 ms 64 bytes from www.routecloud.idn (192.168.1.18): icmp_seq=3 ttl=64 time=0.273 ms 64 bytes from www.routecloud.idn (192.168.1.18): icmp_seq=4 ttl=64 time=0.288 ms ^C --- routecloud.idn ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.174/0.252/0.288/0.046 ms |
[Windows klien]
untuk windows sangat mudah , yaitu
masuk ke LAN card / NIC yang digunakan => setting di ipv4 => rubah dns servernya ke ip 192.168.1.18
oke sudah selesai. semoga bermanfaat
System Engineer
Komentar