DNS

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 menjadi 10.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. Ganti localhost. dengan mediatkj.web.id. dan root.localhost dengan root.mediatkj.web.id.
  • Serial: Nomor seri yang harus diubah setiap kali ada perubahan pada file zona. Format YYYYMMDDNN (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 subdomain www ke alamat IP yang sama.
  • ns1 IN A: Menerjemahkan subdomain ns1 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.