DNS Cara Kerja dan Konfigurasi
Apa Itu DNS?
DNS (Domain Name System) adalah sistem yang menerjemahkan nama domain yang mudah dibaca manusia (seperti google.com) menjadi IP address (seperti 142.250.185.78) yang dimengerti oleh komputer.
DNS ibarat buku telepon internet — daripada kamu mengingat nomor telepon (IP), cukup tahu nama kontaknya (domain), dan DNS yang akan mencarinya.
Tanpa DNS, kamu harus mengetik 142.250.185.78 setiap kali ingin membuka Google — tidak praktis sama sekali.
Hierarki DNS
DNS bukan satu server tunggal, melainkan sistem terdistribusi global dengan hierarki yang jelas:
. (Root)
│
┌───────────┼───────────┐
.com .org .id
│ │ │
google.com wikipedia.org go.id
│
www.google.com
mail.google.com
Komponen Hierarki DNS
1. Root DNS Server
- Titik paling atas hierarki DNS
- Ada 13 cluster root server di seluruh dunia (A sampai M)
- Mengetahui alamat semua TLD server
- Dioperasikan oleh organisasi seperti ICANN, Verisign, dll.
2. TLD DNS Server (Top-Level Domain)
- Mengelola domain tingkat teratas:
.com,.net,.org,.id,.co.id - Mengetahui alamat semua Authoritative DNS untuk domain di bawahnya
3. Authoritative DNS Server
- Server yang benar-benar menyimpan DNS record untuk domain tertentu
- Dikelola oleh pemilik domain atau hosting provider
- Memberikan jawaban final untuk query
4. Recursive Resolver (DNS Resolver)
- Server DNS yang digunakan oleh komputer kamu sehari-hari
- Menerima query dari client, lalu mencari jawaban ke Root → TLD → Authoritative
- Biasanya disediakan oleh ISP atau public DNS (Google, Cloudflare)
Proses Resolusi DNS
Ketika kamu mengetik www.example.com:
Browser (PC)
│
│ 1. Cek DNS cache lokal browser
│ 2. Cek /etc/hosts (atau hosts file Windows)
│ 3. Kirim query ke DNS Resolver ISP/Publik
▼
DNS Recursive Resolver
│
│ 4. Cek cache resolver
│ Jika tidak ada →
│
│ 5. Query Root DNS Server
│ "Siapa yang tahu tentang .com?"
│ ← Root: "Tanya TLD .com di 192.5.6.30"
│
│ 6. Query TLD .com Server
│ "Siapa yang tahu example.com?"
│ ← TLD: "Tanya Authoritative di 205.251.196.1"
│
│ 7. Query Authoritative DNS example.com
│ "Apa IP dari www.example.com?"
│ ← Auth: "93.184.216.34" (dengan TTL: 3600)
│
│ 8. Simpan di cache (sesuai TTL)
│ 9. Kirim jawaban ke browser
▼
Browser membuka koneksi ke 93.184.216.34
Seluruh proses ini biasanya terjadi dalam hitungan milidetik.
Jenis-Jenis DNS Record
DNS Record adalah entri dalam database DNS yang menyimpan informasi tentang domain.
A Record (Address Record)
Menghubungkan nama domain ke IPv4 address.
example.com. 3600 IN A 93.184.216.34
www.example.com. 3600 IN A 93.184.216.34
AAAA Record
Menghubungkan nama domain ke IPv6 address.
example.com. 3600 IN AAAA 2606:2800:220:1:248:1893:25c8:1946
CNAME Record (Canonical Name)
Alias — mengarahkan satu nama domain ke nama domain lain.
www.example.com. CNAME example.com.
blog.example.com. CNAME example.com.
⚠️ CNAME tidak bisa digunakan di root domain (
example.com.) — harus menggunakan A Record.
MX Record (Mail Exchanger)
Menentukan server email untuk domain. Angka priority: semakin kecil semakin diprioritaskan.
example.com. MX 10 mail1.example.com.
example.com. MX 20 mail2.example.com.
TXT Record (Text Record)
Menyimpan data teks bebas — sering digunakan untuk verifikasi dan keamanan email.
example.com. TXT "v=spf1 include:_spf.google.com ~all"
example.com. TXT "google-site-verification=abc123"
Penggunaan TXT Record:
- SPF (Sender Policy Framework) — mencegah spoofing email
- DKIM — tanda tangan digital email
- DMARC — kebijakan penanganan email yang gagal SPF/DKIM
- Domain verification (Google, Cloudflare, dll.)
NS Record (Name Server)
Menunjukkan server DNS yang berwenang untuk domain.
example.com. NS ns1.example.com.
example.com. NS ns2.example.com.
PTR Record (Pointer Record)
Kebalikan A record — menghubungkan IP address ke nama domain (Reverse DNS).
34.216.184.93.in-addr.arpa. PTR example.com.
Digunakan untuk verifikasi email server dan logging.
SOA Record (Start of Authority)
Berisi informasi otoritatif tentang zone DNS.
example.com. SOA ns1.example.com. admin.example.com. (
2024060101 ; Serial
3600 ; Refresh
900 ; Retry
604800 ; Expire
300 ; Minimum TTL
)
TTL (Time to Live)
TTL adalah nilai (dalam detik) yang menentukan berapa lama DNS record di-cache oleh resolver sebelum harus di-query ulang.
| TTL | Waktu | Kapan Digunakan |
|---|---|---|
| 60 | 1 menit | Saat akan melakukan perubahan DNS segera |
| 300 | 5 menit | Staging / pre-migration |
| 3600 | 1 jam | Umum untuk domain aktif |
| 86400 | 24 jam | Domain yang jarang berubah |
Tip: Sebelum migrasi hosting, kurangi TTL ke 300 setidaknya 24 jam sebelumnya agar propagasi lebih cepat.
DNS Caching
DNS caching menyimpan hasil query DNS di berbagai level untuk mempercepat resolusi:
Browser DNS Cache (chrome://net-internals/#dns)
↓ Miss
OS DNS Cache
↓ Miss
DNS Resolver Cache (ISP/Public DNS)
↓ Miss
Recursive query ke Root → TLD → Authoritative
Flush DNS Cache:
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo systemd-resolve --flush-caches
# Linux (nscd)
sudo service nscd restart
Public DNS Populer
| Provider | IPv4 Primary | IPv4 Secondary | IPv6 |
|---|---|---|---|
| 8.8.8.8 | 8.8.4.4 | 2001:4860:4860::8888 | |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | 2606:4700:4700::1111 |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | — |
| Quad9 | 9.9.9.9 | 149.112.112.112 | 2620:fe::fe |
Cloudflare (1.1.1.1) umumnya memiliki response time tercepat dan privasi yang baik (tidak menyimpan log IP).
Konfigurasi DNS
Di Windows
GUI:
- Buka Network Connections → klik kanan adapter → Properties
- Pilih Internet Protocol Version 4 (TCP/IPv4) → Properties
- Pilih Use the following DNS server addresses
- Masukkan preferred dan alternate DNS
Command Line (PowerShell):
# Lihat DNS saat ini
Get-DnsClientServerAddress
# Set DNS untuk interface "Wi-Fi"
Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ServerAddresses ("1.1.1.1","1.0.0.1")
Di Linux
Metode 1 — /etc/resolv.conf (sementara):
# Edit file
sudo nano /etc/resolv.conf
# Tambahkan:
nameserver 1.1.1.1
nameserver 8.8.8.8
search local.lan
⚠️ File ini bisa ditimpa oleh DHCP client. Untuk permanen gunakan metode berikut.
Metode 2 — systemd-resolved (Ubuntu/Debian modern):
sudo nano /etc/systemd/resolved.conf
[Resolve]
DNS=1.1.1.1 8.8.8.8
FallbackDNS=9.9.9.9
Domains=~.
sudo systemctl restart systemd-resolved
Metode 3 — NetworkManager:
# Lihat koneksi aktif
nmcli connection show
# Set DNS untuk koneksi "Wired connection 1"
nmcli connection modify "Wired connection 1" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli connection up "Wired connection 1"
Di MikroTik (RouterOS)
# Via CLI (terminal)
/ip dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
# Lihat konfigurasi DNS
/ip dns print
# Lihat DNS cache
/ip dns cache print
# Flush DNS cache
/ip dns cache flush
Via Winbox: IP → DNS → isi Servers dengan 1.1.1.1,8.8.8.8 → centang Allow Remote Requests → OK
Tools DNS Troubleshooting
nslookup
# Query A record
nslookup google.com
# Query MX record
nslookup -type=MX gmail.com
# Query menggunakan DNS server spesifik
nslookup google.com 1.1.1.1
dig (Linux/Mac)
# Query A record
dig google.com
# Query MX record
dig MX gmail.com
# Query dari DNS server tertentu
dig @1.1.1.1 google.com
# Trace resolusi lengkap
dig +trace google.com
# Query PTR (reverse DNS)
dig -x 8.8.8.8
Contoh output dig:
;; ANSWER SECTION:
google.com. 60 IN A 142.250.185.78
;; Query time: 12 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
host
host google.com
host -t MX gmail.com
host 8.8.8.8 # Reverse DNS
DNS Security
DNS Hijacking
Penyerang memanipulasi DNS resolver agar domain mengarah ke IP berbahaya. Mitigasi: gunakan DNSSEC dan DNS over HTTPS.
DNSSEC (DNS Security Extensions)
Menambahkan tanda tangan kriptografis pada DNS record untuk memverifikasi keasliannya.
DoH (DNS over HTTPS)
Query DNS dienkripsi menggunakan HTTPS (port 443), mencegah ISP memonitor query DNS.
DoT (DNS over TLS)
Query DNS dienkripsi menggunakan TLS (port 853).
Cloudflare 1.1.1.1 mendukung DoH dan DoT.
Kesimpulan
DNS adalah komponen kritis yang bekerja di balik layar setiap kali kamu membuka website. Memahami hierarki DNS, jenis-jenis record, TTL, dan cara troubleshooting akan sangat berguna saat mengelola jaringan atau hosting.
Ini adalah artikel ke-5 dari seri Network Basic. Artikel selanjutnya dalam seri ini akan membahas DHCP — protokol yang secara otomatis memberikan konfigurasi jaringan kepada perangkat baru yang terhubung.
📢 Iklan