DNS server (Domain Name System) adalah sebuah sistem yang menerjemahkan nama domain yang mudah diingat (contoh: google.com
) menjadi alamat IP numerik (contoh: 172.217.16.142
) yang digunakan oleh komputer untuk saling berkomunikasi. Secara sederhana, DNS server berfungsi seperti “buku telepon internet” yang memungkinkan Anda mengakses situs web tanpa harus menghafal serangkaian angka yang rumit.
Fungsi Utama DNS Server
Fungsi utama DNS server adalah memastikan bahwa ketika Anda mengetikkan nama domain di browser, Anda akan diarahkan ke lokasi yang benar di internet. Berikut adalah beberapa fungsinya secara lebih rinci:
- Menerjemahkan Nama Domain ke Alamat IP: Ini adalah fungsi utamanya. Tanpa DNS, Anda harus memasukkan alamat IP setiap kali ingin mengunjungi sebuah situs web. DNS menghilangkan kebutuhan ini dengan mengubah nama domain menjadi alamat IP yang bisa dipahami oleh mesin.
- Menemukan Server Email: DNS tidak hanya digunakan untuk situs web. DNS juga menggunakan record khusus (MX record) untuk menentukan server mana yang bertanggung jawab untuk menerima email yang dikirim ke sebuah domain.
- Load Balancing: Beberapa DNS server bisa mendistribusikan lalu lintas ke banyak server yang berbeda. Ini membantu mencegah satu server kelebihan beban dan meningkatkan kinerja serta keandalan situs web.
- Meningkatkan Kecepatan Akses: DNS server seringkali menyimpan (cache) hasil terjemahan dari domain yang sering diakses. Saat Anda mengunjungi situs web yang sama lagi, DNS server dapat memberikan alamat IP dari cache mereka, yang mempercepat proses loading situs.
Cara kerja DNS (Domain Name System) adalah proses di mana sebuah nama domain (misalnya google.com
) diubah menjadi alamat IP yang bisa dibaca oleh komputer. Proses ini terjadi dalam beberapa langkah yang sangat cepat, biasanya hanya dalam hitungan milidetik.
Tahapan Cara Kerja DNS
Berikut adalah tahapan-tahapan yang terjadi saat Anda mengetik nama domain di browser:
1. Permintaan (Query)
Ketika Anda mengetik www.google.com
di browser dan menekan Enter
, browser Anda akan mengirimkan permintaan ke resolver DNS. Resolver DNS adalah server lokal yang sering disediakan oleh penyedia layanan internet (ISP) Anda. Tugasnya adalah mencari alamat IP dari domain yang Anda minta.
2. Pencarian Cache
Resolver DNS akan memeriksa cache atau data yang pernah disimpan sebelumnya.
- Jika resolver sudah memiliki alamat IP untuk
www.google.com
, ia akan langsung mengembalikan alamat IP tersebut ke browser Anda. Ini adalah cara tercepat, dan mengapa situs yang sering Anda kunjungi bisa dimuat dengan cepat. - Jika resolver tidak memiliki informasi tersebut, ia akan melanjutkan ke langkah berikutnya.
3. Menghubungi Root Server
Resolver DNS akan mengirimkan permintaan ke root server DNS global. Root server ini adalah server utama yang berisi informasi untuk semua domain tingkat atas (Top-Level Domain atau TLD), seperti .com
, .org
, dan .id
. Root server tidak tahu alamat IP www.google.com
, tetapi ia tahu di mana menemukan server yang menangani TLD .com
. Ia akan mengarahkan resolver DNS ke server TLD .com
.
4. Menghubungi TLD Server
Resolver DNS akan mengirimkan permintaan ke TLD server. Server ini bertanggung jawab untuk TLD .com
. TLD server juga tidak tahu alamat IP www.google.com
, tetapi ia tahu di mana menemukan server yang mengelola domain google.com
. Ia akan mengarahkan resolver ke nameserver otoritatif (authoritative nameserver
) untuk google.com
.
5. Menghubungi Authoritative Nameserver
Resolver DNS akhirnya akan mengirimkan permintaan ke authoritative nameserver. Ini adalah server yang benar-benar memiliki catatan DNS untuk domain google.com
. Server ini akan menemukan alamat IP yang benar (172.217.16.142
) dan mengirimkannya kembali ke resolver DNS.
6. Respons dan Caching
Resolver DNS akan menerima alamat IP dari authoritative nameserver. Sebelum mengirimkannya ke browser Anda, resolver akan menyimpan (meng-cache) informasi ini untuk digunakan di masa mendatang. Kemudian, ia akan mengirimkan alamat IP (172.217.16.142
) ke browser Anda.
7. Koneksi
Browser Anda sekarang memiliki alamat IP yang benar. Browser akan menggunakannya untuk membuat koneksi langsung ke server yang menyimpan website google.com
, dan halaman web pun akan dimuat.
Seluruh proses ini adalah mekanisme yang sangat efisien dan otomatis yang memungkinkan miliaran orang di seluruh dunia mengakses internet setiap hari tanpa perlu memikirkan angka-angka rumit.
Tahapan Install DNS
Berikut adalah panduan langkah demi langkah untuk menginstal dan mengonfigurasi DNS server menggunakan BIND9 di Debian 12, dengan domain mediatkj.web.id
dan IP server 192.168.10.10
.
1. Instalasi BIND9
Pertama, perbarui daftar paket dan instal paket BIND9 beserta utilitas pendukungnya.
apt update
apt install bind9 bind9utils
2. Konfigurasi named.conf.local
File ini digunakan untuk mendefinisikan zona (zone) DNS. Anda perlu menambahkan zona forward (untuk menerjemahkan domain ke IP) dan zona reverse (untuk menerjemahkan IP ke domain).
nano /etc/bind/named.conf.local
Tambahkan baris berikut di akhir file:
// Forward Zone
zone "mediatkj.web.id" {
type master;
file "/etc/bind/db.mediatkj.web.id";
};
// Reverse Zone
zone "10.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.10";
};
zone "mediatkj.web.id"
: Mendefinisikan zona untuk domain.file "/etc/bind/db.mediatkj.web.id"
: Menentukan lokasi file konfigurasi untuk zona forward.zone "10.168.192.in-addr.arpa"
: Mendefinisikan zona untuk resolusi terbalik (dari IP ke domain). IP dibalik (192.168.10
menjadi10.168.192
).file "/etc/bind/db.192.168.10"
: Menentukan lokasi file untuk zona reverse.
Simpan dan tutup file (Ctrl+X
, Y
, Enter
).
3. Konfigurasi Zona Forward
Sekarang, buat file zona forward yang telah didefinisikan sebelumnya.
cp /etc/bind/db.local /etc/bind/db.mediatkj.web.id
nano /etc/bind/db.mediatkj.web.id
Edit isi file tersebut menjadi seperti berikut:
; BIND data file for mediatkj.web.id
$TTL 604800
@ IN SOA mediatkj.web.id. root.mediatkj.web.id. (
2024081201 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS mediatkj.web.id.
@ IN A 192.168.10.10
www IN A 192.168.10.10
ns1 IN A 192.168.10.10
$TTL
: Masa berlaku (Time To Live) record (dalam detik).@ IN SOA
: Start of Authority, menandakan awal zona. Gantilocalhost.
denganmediatkj.web.id.
danroot.localhost
denganroot.mediatkj.web.id
.Serial
: Nomor seri yang harus diubah setiap kali ada perubahan pada file zona. FormatYYYYMMDDNN
(tahun, bulan, tanggal, nomor revisi) sangat disarankan.@ IN NS
: Menentukan Name Server untuk domain.@ IN A
: Menerjemahkan domain utama ke alamat IP server.www IN A
: Menerjemahkan subdomainwww
ke alamat IP yang sama.ns1 IN A
: Menerjemahkan subdomainns1
ke alamat IP yang sama, ini adalah nameserver utama.
Simpan dan tutup file.
4. Konfigurasi Zona Reverse
Selanjutnya, buat file zona reverse.
cp /etc/bind/db.127 /etc/bind/db.192.168.10
nano /etc/bind/db.192.168.10
Edit isi file tersebut:
; BIND reverse data file for 10.168.192.in-addr.arpa
$TTL 604800
@ IN SOA mediatkj.web.id. root.mediatkj.web.id. (
2024081201 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS mediatkj.web.id.
10 IN PTR mediatkj.web.id.
$TTL
dan@ IN SOA
: Sama seperti di file zona forward.@ IN NS
: Menentukan nameserver untuk zona ini.10 IN PTR
: Menerjemahkan bagian terakhir dari alamat IP (.10
) ke nama domain.PTR
(Pointe*r***) adalah record yang digunakan untuk resolusi terbalik.
Simpan dan tutup file.
5. Konfigurasi Nameserver pada Server Sendiri
Terakhir, atur server DNS Anda agar menggunakan dirinya sendiri.
nano /etc/resolv.conf
Ubah atau tambahkan baris berikut:
nameserver 192.168.10.10
Simpan dan keluar.
6. Mulai Ulang Layanan dan Uji Coba
Muat ulang layanan BIND9 agar konfigurasi baru diterapkan dan periksa statusnya.
systemctl restart bind9
systemctl status bind9
Jika statusnya active (running)
, berarti layanan berjalan dengan baik.
Untuk pengujian, gunakan perintah dig
atau nslookup
.
- Uji Zona Forward:
dig mediatkj.web.id
Output yang diharapkan akan menunjukkan IP
192.168.10.10
. - Uji Zona Reverse:
dig -x 192.168.10.10
Output yang diharapkan akan menunjukkan nama domain
mediatkj.web.id
.