Konfigurasi Dns Server Pada Debian 9
Domain Name Service merupakan salah satu layanan server yakni pemetaan ip address ke dalam bentuk sistem penamaan (domain). DNS berfungsi untuk memudahkan insan dalam mengingat alamat sebuah website atau hostname sebuah komputer.
DNS bekerja dengan cara melaksanakan resolve terhadap domain yang kita request. Jika digambarkan secara sederhana, proses kerja sebuah DNS server ialah menyerupai berikut (klik gambar) :
Client mengakses sebuah website melalui browser. Pada ketika itu client akan melaksanakan request ke server dns, menanyakan apakah ia mengetahui alamat dari domain tersebut.
Server dns kemudian melihat record (daftar catatan domain) yang dimiliki. Apabila domain yang diminta oleh client ada pada record, maka server akan mengirimkan jawaban ke client, memberitahukan alamat ip dari domain tersebut.
Client kemudian mengirimkan request http menuju ip address tersebut.
Jika pada ketika proses resolve tadi, server dns tidak menemukan record dari domain yang diminta oleh client, maka server akan mem-forward request tersebut ke server dns yang lainnya (apabila dikonfigurasi) sampai menemukan alamat yang dicari.
Jika tidak ditemukan record terkait domain tersebut, maka akan terjadi kegagalan yang biasanya ditandai dengan tampilan ERR_NAME_NOT_RESOLVED atau sejenisnya pada web browser client.
Pada postingan kali ini kita akan berguru mengkonfigurasi dns server pada sistem operasi debian 9. Berikut ialah pola topologi untuk membentuk tutorial ini :
Tujuan selesai yang akan kita capai ialah client sanggup mengakses web server memakai domain.
Untuk konfigurasi web server tidak dibahas pada postingan ini. Sebenarnya kawan-kawan cukup menginstal service web server saja (apache2 atau nginx) tanpa perlu banyak sekali konfigurasi alasannya ialah web server di sini hanya sebagai ‘pendukung’ untuk melaksanakan pengujian dns.
Kita lanjutkan, secara umum langkah-langkah dalam mengkonfigurasi dns server ialah :
- Menginstal service dns
- Menjalankan service dns apabila belum aktif
- Membuat atau mendefinisikan zone
- Memetakan nama domain/sub domain ke dalam ip address (konfigurasi file forward)
- Memetakan ip address ke nama domain (konfigurasi file teverse)
- Merestart service dns
Pada tutorial ini, seluruh perintah yang berkaitan dengan konfigurasi dns server dilakukan dalam mode root. Oleh alasannya ialah itu jikalau posisi kalian sedang memakai user non root, maka silahkan masuk ke mode root memakai perintah
su
.Menginstal Service DNS
Untuk menciptakan dns server, kita membutuhkan paket aplikas bind9. Oleh alasannya ialah itu kita akan menginstal bind9.
apt install bind9 -y
Setelah instalasi selesai, kita cek status service dns memakai perintah :
systemctl status bind9
atau service bind9 status
Apabila service belum aktif, maka jalankan service dengan perintah :
systemctl start bind9
atau service bind9 start
Mendefinisikan Zone
Pada bab ini kita akan mendefinisikan zone-zone untuk domain yang akan kita gunakan. Di dalam zone ini kita tentukan file forward dan file reverse mana yang akan digunakan dan di load oleh server dns.
Edit file
named.conf.local
yang berada di dalam direktori /etc/bind
. Agar lebih mudah, kita masuk dahulu ke dalam direktori /etc/bind.cd /etc/bind
kemudian edit file memakai perintah :
nano named.conf.local
Pada baris paling bawah, kita definisikan zone untuk domain yang akan kita gunakan.
zone "domainqu.co" { type master; file "/etc/bind/domainqu.co.forward"; }; zone "7.168.192.in-addr.arpa" { type master; file "/etc/bind/domainqu.co.reverse"; };
Sesuaikan beberapa konfigurasi berikut dengan milik kalian masing-masing :
domainqu.co
diganti menjadi nama domain kaliandomainqu.co.forward
diganti dengan nama file forward milik kalian7.168.192
diganti dengan blok network address kalian (pastikam penulisannya dilakukan secara terbalik)domainqu.co.reverse
diganti dengan nama file reverse milik kalian
Konfigurasi File Forward
File forward mempunyai fungsi untuk memetakan nama domain ke ip address. Sebelum mengkonfigurasi file forward, kita perlu menciptakan file konfigurasinya dahulu dengan cara menduplikasi file forward yang sudah ada.
cp db.local domainqu.co.forward
Perintah di atas dilakukan di dalam direktori /etc/bind.Kemudian kita edit file domainqu.co.forward
nano domainqu.co.forward
Ini ialah isi dari file forward yang kita duplikasi tadi.
; ; 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 ::1
Ubah file di atas menjadi menyerupai ini :
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA domainqu.co. root.domainqu.co. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.domainqu.co. @ IN A 192.168.7.97 www IN A 192.168.7.97 ns1 IN A 192.168.7.96
Penjelasan :
ns1.domainqu.co
merupakan nameserver dari si dns server. Nameserver inilah yang akan dihubungi oleh client ketika ingin menanyakan ip address suatu domain. Pada file forward ini kita memetakan domain/subdomain ke ip address yang sesuai. Pada konfigurasi di atas kita mendefinisikan domain
domainqu.co
ke ip 192.168.7.97
yakni pada baris @ IN A 192.168.7.97
. Kemudian subdomain
www
dipetakan ke ip address yang sama dengan domainqu.co
. ini artinya ketika nanti kita mengakses www.domainqu.co
maka sama saja kita mengakses ke 192.168.7.97
. Berikutnya, subdomain
ns1
yang dipetakan ke ip 192.168.7.96
yakni ip dari server dns. Ketika nanti kita melaksanakan nslookup domain ns1.domainqu.co
maka akan diinfokan bahwa domain tersebut mempunyai ip 192.168.7.96
Konfigurasi File Reverse
File reverse merupakan kebalikan dari file forward, yakni memetakan ip address ke nama domain. Buat dahulu file konfigurasinya.
cp db.127 domainqu.co.reverse
Edit file reverse tersebut.
nano domainqu.co.reverse
Ini ialah tampilan default dari file reverse yang kita duplikasi tadi.
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. 1.0.0 IN PTR localhost.
Ubah menjadi menyerupai ini :
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA domainqu.co. root.domainqu.co. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.domainqu.co. 96 IN PTR ns1.domainqu.co. 97 IN PTR domainqu.co. 97 IN PTR www.domainqu.co.
Penjelasan :
Di awal tadi kita menciptakan sebuah zone dengan nama "
7.168.192.in-addr.arpa
". Karena pada zone tersebut kita sudah mendefinisikan tiga blok ip address, maka pada file reverse ini kita cukup mendefinisikan blok terakhir dari ip address. Angka
96
menunjuk ke ip 192.168.7.96
. Begitu juga dengan angka 97
yang menunjuk ke ip 192.168.7.97
. Pada konfigurasi tersebut, ip
192.168.7.96
dipetakan ke domain ns1.domainqu.co
. Nilai ini harus sesuai dengan definisi yang kita lakukan pada file forward tadi. Kemudian ip
192.168.7.97
dipetakan dua kali yakni ke domain domainqu.co
dan www.domainqu.co
sesuai dengan konfigurasi pada file forward tadi.Sampai di sini konfigurasi dns server sudah selesai.
Merestart Service DNS
Sebelum merestart service, kita cek dahulu apakah konfigurasi yang dilakukan sudah benar dan tidak ada error. Cek dengan perintah :
named-checkconf
Apabila tidak ada peringatan error maka konfigurasi sudah benar. Selanjutnya kita restart service dns dengan perintah :
systemctl restart bind9
atau service bind9 restart
Konfigurasi IP DNS
Agar domain yang sudah kita setting sanggup dikenali di dalam jaringan, maka kita perlu mengkonfigurasi ip dns yang digunakan oleh setiap host.
Pada komputet server dns dan server web, masukkan ip dns server ke dalam file resolv.conf.
echo "nameserver 192.168.7.96" > /etc/resolv.conf
Lakukan hal yang sama di komputer client.
Pengujian
Lakukan resolve memakai perintahdig
atau nslookup
.Pada server dns :
root@dnsserv:/etc/bind# nslookup www.domainqu.co Server: 192.168.7.96 Address: 192.168.7.96#53 Name: www.domainqu.co Address: 192.168.7.97 root@dnsserv:/etc/bind# nslookup ns1.domainqu.co Server: 192.168.7.96 Address: 192.168.7.96#53 Name: ns1.domainqu.co Address: 192.168.7.96 root@dnsserv:/etc/bind#
Resolve pada web server :
xenial@ubuntuserv: $ nslookup www.domainqu.co Server: 192.168.7.96 Address: 192.168.7.96#53 Name: www.domainqu.co Address: 192.168.7.97 xenial@ubuntuserv: $
Resolve pada sisi client :
Kemudian kita coba mengakses web server memakai nama domain.
Artikel Lainnya :
- Tutorial Menginstal Debian 9 Server !
- Tutorial Menginstal Linux Apache MySQL Php (LAMP) !
- Cara Mereset Password Root !
Sumber https://dhantama.blogspot.com/