Cara Kerja DNS: Dari Nama Domain Sampai Menjadi IP Address
Ketika kamu mengetik gudangproxy.com di browser, komputer sebenarnya tidak langsung memahami nama tersebut sebagai alamat jaringan. Agar bisa membuat koneksi ke server, perangkat perlu mengetahui alamat IP yang terkait dengan domain itu. Proses mencari jawaban tersebut dilakukan oleh DNS.
DNS atau Domain Name System bisa dianggap sebagai salah satu fondasi penting internet. Tanpa DNS, kita akan lebih sering berurusan langsung dengan alamat seperti 203.0.113.20 atau alamat IPv6 yang jauh lebih panjang daripada cukup mengetik nama domain.
Namun prosesnya tidak sesederhana “domain langsung berubah menjadi IP”. Ada resolver, cache, recursive DNS server, root server, TLD nameserver, authoritative nameserver, berbagai jenis DNS record, dan TTL yang ikut menentukan bagaimana jawaban ditemukan dan berapa lama hasilnya disimpan.
Memahami DNS juga penting kalau kamu menggunakan proxy. Dalam beberapa konfigurasi, nama domain di-resolve oleh perangkat lokal. Pada konfigurasi lain, hostname dapat dikirim ke proxy agar resolusi dilakukan dari sisi proxy.
Apa Itu DNS?
DNS adalah sistem terdistribusi yang digunakan untuk menghubungkan nama domain dengan berbagai informasi, termasuk alamat IP.
Contoh paling sederhana:
example.com
Mencari Record
203.0.113.x
RFC 1034 menjelaskan DNS sebagai namespace berbentuk tree yang informasinya tersebar di berbagai name server. Resolver bertugas mengambil informasi dari name server berdasarkan permintaan aplikasi.
Dokumentasi dasarnya tersedia di RFC 1034 — Domain Names: Concepts and Facilities.
Kenapa Internet Membutuhkan DNS?
Manusia jauh lebih mudah mengingat:
dibanding menghafal alamat IP sebuah server.
Selain itu, alamat IP server bisa berubah. Nama domain dapat tetap sama sementara administrator memperbarui record DNS di belakangnya.
example.com
example.com
Pengguna tetap mengetik domain yang sama tanpa harus mengetahui perubahan alamat server.
Apakah DNS Hanya Mengubah Domain Menjadi IP?
Tidak.
DNS menyimpan berbagai jenis informasi dalam bentuk resource record.
Beberapa record yang umum ditemui:
| Record | Fungsi Umum |
|---|---|
| A | Menghubungkan hostname dengan alamat IPv4. |
| AAAA | Menghubungkan hostname dengan alamat IPv6. |
| CNAME | Menunjukkan canonical name atau alias. |
| MX | Menentukan mail exchanger untuk domain. |
| NS | Menunjukkan authoritative nameserver. |
| TXT | Menyimpan data teks untuk berbagai kebutuhan. |
| SOA | Berisi informasi dasar zone DNS. |
| PTR | Digunakan untuk reverse DNS mapping. |
Apa Itu DNS Resolver?
Resolver adalah komponen yang menerima permintaan pencarian DNS dari aplikasi lalu membantu mendapatkan jawabannya.
Ketika browser ingin membuka:
browser atau sistem operasi akan menggunakan mekanisme resolver untuk mendapatkan informasi yang diperlukan.
RFC 1034 mendeskripsikan resolver sebagai program yang mengambil informasi dari name server sebagai respons atas permintaan client.
Apa Itu Recursive DNS Resolver?
Dalam penggunaan internet sehari-hari, perangkat biasanya tidak menghubungi seluruh hierarki DNS satu per satu.
Client mengirim pertanyaan kepada recursive resolver.
Resolver tersebut kemudian mencari jawaban dari cache atau melakukan proses pencarian lebih lanjut.
Contoh resolver bisa berasal dari:
- ISP,
- perusahaan,
- router atau local resolver,
- public DNS provider,
- infrastruktur cloud.
Recursive Query vs Iterative Query
Istilah recursive dan iterative sering muncul ketika mempelajari DNS.
Recursive Query
Client meminta server DNS memberikan jawaban akhir atau error.
Secara sederhana:
Iterative Query
Server dapat memberikan referral menuju name server lain yang lebih dekat dengan informasi yang dicari.
RFC 1034 menjelaskan kedua pendekatan tersebut dan bagaimana resolver serta name server dapat bekerja dalam proses pencarian DNS.
Apa Itu Root DNS Server?
Root berada di bagian paling atas hierarki DNS.
Root server tidak harus memberikan IP akhir dari setiap website. Salah satu tugas pentingnya adalah membantu resolver mengetahui ke mana harus bertanya berikutnya.
Misalnya resolver mencari:
root dapat mengarahkan resolver menuju nameserver untuk TLD:
Alurnya:
Apa Itu TLD Nameserver?
TLD adalah Top-Level Domain seperti:
Nameserver TLD membantu mengarahkan resolver menuju authoritative nameserver untuk domain yang dicari.
Contoh:
Authoritative NS
Apa Itu Authoritative DNS Server?
Authoritative nameserver adalah server yang mempunyai data authoritative untuk zone tertentu.
Kalau resolver ingin mengetahui record:
authoritative server dapat memberikan jawaban berdasarkan zone yang dikelolanya.
203.0.113.x
RFC 1034 menyebut bahwa authoritative information diorganisasi dalam unit yang disebut zone.
Urutan DNS dari Domain Sampai Menjadi IP
Sekarang kita gabungkan semuanya.
Misalnya kamu membuka:
Secara konseptual prosesnya bisa seperti ini.
1. Browser Meminta Alamat Domain
Browser membutuhkan alamat IP server tujuan.
2. Cache Lokal Diperiksa
Kalau jawaban masih tersimpan dan valid, proses bisa selesai tanpa melakukan pencarian penuh.
3. Query Dikirim ke Recursive Resolver
Resolver juga memeriksa cache miliknya.
4. Resolver Bertanya ke Root
Jika belum punya jawaban, resolver dapat mencari referral menuju TLD.
5. Resolver Bertanya ke TLD
TLD mengarahkan resolver menuju authoritative nameserver domain.
6. Resolver Bertanya ke Authoritative Server
Server authoritative memberikan record yang sesuai.
7. Resolver Mengembalikan Jawaban
Alamat IP kemudian diberikan kepada client.
8. Browser Membuat Koneksi
Setelah mengetahui IP, browser dapat membuat koneksi jaringan menuju server.
Apakah Proses Ini Terjadi Setiap Kali Buka Website?
Tidak selalu, karena DNS menggunakan cache.
Jika jawaban sebelumnya masih tersedia dan belum melewati batas waktu cache, resolver dapat menggunakan jawaban tersebut.
Jawab Langsung
Cache membantu mengurangi jumlah query, mempercepat response, dan mengurangi beban pada infrastruktur DNS.
Apa Itu TTL pada DNS?
TTL atau Time To Live menentukan berapa lama sebuah resource record dapat disimpan dalam cache sebelum dianggap perlu diperbarui.
Misalnya record mempunyai TTL:
Artinya cache dapat menyimpan informasi tersebut selama sekitar 3600 detik atau satu jam, tergantung implementasi dan kondisi resolver.
| TTL | Kurang Lebih |
|---|---|
| 60 | 1 menit |
| 300 | 5 menit |
| 3600 | 1 jam |
| 86400 | 24 jam |
TTL rendah membuat perubahan lebih cepat terlihat setelah cache expired, tetapi juga dapat meningkatkan jumlah query DNS.
Kenapa DNS yang Baru Diganti Belum Langsung Berubah?
Kalau sebuah A record diubah dari:
menjadi:
sebagian resolver mungkin masih menyimpan jawaban lama sampai cache-nya tidak lagi valid.
Inilah salah satu alasan perubahan DNS tidak selalu terlihat serentak pada semua pengguna.
Apa Itu A Record?
A record digunakan untuk menghubungkan sebuah nama dengan alamat IPv4.
Contoh:
Kalau browser membutuhkan koneksi IPv4 ke hostname tersebut, A record menjadi salah satu informasi yang relevan.
Apa Itu AAAA Record?
AAAA record berfungsi serupa dengan A record, tetapi digunakan untuk alamat IPv6.
Contohnya:
Domain bisa mempunyai A dan AAAA sekaligus.
Apa Itu CNAME?
CNAME digunakan untuk menunjuk sebuah nama ke canonical name lain.
Contoh:
Resolver kemudian perlu mendapatkan record yang relevan untuk canonical name tersebut.
Apa Itu MX Record?
MX atau Mail Exchange digunakan untuk menentukan server email yang menerima email untuk sebuah domain.
Contoh konseptual:
Jadi DNS juga berperan besar pada sistem email, bukan hanya website.
Apa Itu NS Record?
NS record menunjukkan nameserver yang authoritative untuk sebuah domain atau zone tertentu.
Contohnya:
Record ini membantu delegasi namespace DNS.
Apa Itu TXT Record?
TXT menyimpan data berbentuk teks.
Dalam praktiknya TXT sering digunakan untuk berbagai kebutuhan seperti:
- verifikasi kepemilikan domain,
- SPF,
- DKIM-related configuration,
- DMARC-related configuration,
- service verification,
- metadata tertentu.
Apa Itu SOA Record?
SOA atau Start of Authority berisi informasi administratif penting mengenai sebuah DNS zone.
Record ini berhubungan dengan data seperti primary server, serial zone, serta parameter waktu tertentu yang digunakan dalam pengelolaan zone.
Apa Itu Reverse DNS?
Pencarian DNS biasa berangkat dari nama menuju informasi seperti IP.
Reverse DNS melakukan pencarian dari alamat IP menuju nama melalui PTR record.
Reverse DNS banyak digunakan untuk berbagai kebutuhan jaringan, logging, email, dan troubleshooting.
Ingin Melihat Bagaimana DNS dan IP Berperan Saat Menggunakan Proxy?
GudangProxy menyediakan daftar proxy gratis berdasarkan negara, protokol, anonimitas, dan status koneksi. Kamu bisa menguji perubahan IP sekaligus melihat bagaimana aplikasi menangani resolusi DNS saat koneksi diarahkan melalui proxy.
Lihat Daftar Proxy Gratis →Apa Hubungan DNS dengan Proxy?
Proxy menangani jalur koneksi, sedangkan DNS menangani resolusi nama. Keduanya berbeda, tetapi bisa saling berkaitan.
Misalnya kamu membuka:
Ada dua kemungkinan umum.
DNS Dilakukan Secara Lokal
Aplikasi mencari IP terlebih dahulu, kemudian memberikan IP tersebut kepada proxy.
DNS Dilakukan dari Sisi Proxy
Aplikasi mengirim hostname ke proxy sehingga resolusi dilakukan pada sisi proxy atau jalur yang digunakan proxy.
Kenapa Lokasi DNS Resolution Penting?
Karena resolver yang digunakan dapat memengaruhi beberapa hal:
- privacy metadata,
- hasil geolocation tertentu,
- CDN routing,
- akses domain internal,
- troubleshooting jaringan.
Contohnya service CDN bisa mempunyai jawaban berbeda berdasarkan lokasi atau jaringan resolver.
SOCKS5 dan DNS
SOCKS5 dapat menerima destination dalam bentuk hostname, tetapi aplikasi menentukan apakah hostname dikirim langsung atau di-resolve lebih dulu.
Contoh paling mudah terlihat di cURL.
dan:
mempunyai perilaku resolusi hostname yang berbeda pada cURL.
Untuk pembahasan protokolnya, lihat artikel SOCKS5 Proxy.
Kenapa DNS Bisa Membuat Proxy Terlihat Tidak Bekerja?
Misalnya sebuah hostname hanya tersedia melalui DNS internal kantor.
Kalau resolusi dipindahkan ke proxy publik, proxy bisa saja tidak mengenal domain internal tersebut.
Akibatnya koneksi gagal meskipun server proxy sebenarnya aktif.
Sebaliknya, ada kondisi ketika aplikasi memang ingin hostname di-resolve dari lokasi proxy.
Karena itu remote DNS bukan selalu lebih baik. Pilih berdasarkan kebutuhan.
Apa Itu DNS Cache?
DNS cache adalah penyimpanan sementara hasil lookup.
Cache dapat berada pada beberapa tempat:
- browser,
- sistem operasi,
- router,
- recursive resolver,
- aplikasi tertentu.
Akibatnya, ketika troubleshooting DNS, query baru belum tentu benar-benar dikirim setiap kali kamu membuka domain yang sama.
Kenapa Flush DNS Kadang Membantu?
Jika perangkat masih menggunakan record lama dari cache lokal, membersihkan cache dapat memaksa sistem mengambil informasi baru.
Tetapi flush cache pada laptop tidak otomatis membersihkan cache di recursive resolver ISP.
Ini penting supaya troubleshooting tidak berhenti pada asumsi:
Itu tidak benar.
Cara Mengecek DNS dengan nslookup
Di Windows dan banyak sistem lain tersedia:
Output dapat menunjukkan resolver yang digunakan dan alamat yang dikembalikan.
Untuk menanyakan resolver tertentu:
Gunakan alamat resolver yang memang ingin diuji.
Cara Mengecek DNS dengan dig
Pada Linux, macOS dengan tool terkait, atau environment yang menyediakan BIND utilities, dig sangat berguna.
Untuk A record:
Untuk AAAA:
Untuk MX:
Untuk NS:
Cara Melihat Authoritative Nameserver
Gunakan:
Kemudian kalau ingin bertanya langsung kepada nameserver tertentu:
Ini cukup berguna untuk membandingkan data authoritative dengan jawaban cache resolver.
Apa Arti NXDOMAIN?
NXDOMAIN pada dasarnya menunjukkan bahwa nama domain yang ditanyakan tidak ada menurut jawaban DNS yang relevan.
Contohnya typo:
Resolver dapat mengembalikan status yang menunjukkan nama tidak ditemukan.
RFC 1035 mendefinisikan response code untuk name error pada response DNS.
Kenapa DNS Bisa SERVFAIL?
SERVFAIL berarti DNS server tidak berhasil memproses query karena suatu masalah.
Penyebabnya bisa beragam, misalnya:
- authoritative server bermasalah,
- DNSSEC validation gagal,
- delegation bermasalah,
- resolver tidak dapat mencapai server yang dibutuhkan,
- konfigurasi zone salah.
SERVFAIL tidak sama dengan NXDOMAIN.
| Status | Arti Sederhana |
|---|---|
| NOERROR | Query diproses tanpa error protokol. |
| NXDOMAIN | Nama tidak ditemukan. |
| SERVFAIL | Server gagal menyelesaikan query. |
Apakah DNS Menggunakan Port 53?
DNS tradisional sangat erat dengan port 53 melalui UDP maupun TCP.
Namun DNS modern juga memiliki mekanisme lain seperti DNS over TLS dan DNS over HTTPS.
Karena itu tidak melihat traffic port 53 bukan berarti perangkat sama sekali tidak melakukan DNS.
UDP atau TCP untuk DNS?
DNS dapat menggunakan UDP dan TCP.
Query biasa banyak menggunakan UDP karena ringan, tetapi TCP juga merupakan bagian penting DNS dan digunakan pada berbagai kondisi.
Implementasi modern bahkan harus mempertimbangkan ukuran response, fallback, zone transfer, dan perkembangan protokol DNS lainnya.
Apa Itu DNS over HTTPS?
DNS over HTTPS atau DoH mengirim query DNS melalui HTTPS.
DoH akan dibahas tersendiri karena mekanismenya cukup berbeda dari DNS tradisional dan berhubungan dengan browser privacy serta proxy.
DNS Resolver ISP vs Public DNS
Perangkat bisa menggunakan resolver yang diberikan oleh ISP atau resolver lain yang dikonfigurasi secara manual.
Perbedaan resolver dapat memengaruhi:
- latency DNS,
- cache,
- policy filtering,
- availability,
- privacy policy,
- jawaban tertentu berdasarkan jaringan.
Tidak ada resolver yang otomatis paling baik untuk seluruh pengguna. Pilih sesuai kebutuhan dan kebijakan jaringan.
Apakah Mengganti DNS Mengubah IP Public?
Tidak.
Mengganti resolver DNS tidak sama dengan mengganti jalur koneksi internet.
| Perubahan | Yang Berubah |
|---|---|
| Ganti DNS | Resolver yang menjawab query DNS. |
| Ganti Proxy | Jalur request aplikasi melalui proxy. |
| Ganti ISP / Network | Jalur koneksi dan biasanya public IP. |
Jadi memasang public DNS tertentu tidak membuat website melihat IP resolver sebagai IP pengguna.
Apakah DNS Menyembunyikan IP?
Tidak.
DNS bertugas melakukan resolusi nama dan resource record. DNS bukan mekanisme untuk mengganti source IP koneksi web.
Kalau tujuanmu ingin memahami bagaimana website melihat IP berbeda ketika menggunakan proxy, baca Apa Itu IP Proxy.
DNS dan CDN
DNS juga sering menjadi bagian penting dalam sistem CDN.
Satu hostname dapat diarahkan ke infrastruktur yang berbeda berdasarkan desain layanan.
Karena itu hasil lookup DNS tidak selalu sesederhana satu domain mempunyai satu IP permanen.
Sebuah domain dapat:
- memiliki beberapa A record,
- memiliki beberapa AAAA record,
- menggunakan CNAME,
- berada di balik CDN,
- menggunakan load balancing berbasis DNS.
Kenapa Satu Domain Bisa Punya Banyak IP?
Hal ini normal.
Beberapa alasan antara lain:
- load balancing,
- redundancy,
- CDN,
- multi-region deployment,
- IPv4 dan IPv6 berjalan bersamaan.
Jadi ketika menjalankan:
jangan heran jika mendapatkan lebih dari satu alamat.
Apakah DNS Menentukan Port?
Untuk A dan AAAA record, DNS memberikan alamat IP, bukan otomatis menentukan port web yang dipakai aplikasi.
Contohnya browser mengetahui:
dari URL bahwa protokolnya HTTPS, sehingga port default yang umum adalah 443.
Hubungan port lebih lengkap sudah dibahas pada artikel Port 80, 443, 8080, 3128 & 1080.
DNS, IP, dan Port dalam Satu Koneksi
Ketiganya punya fungsi berbeda.
| Komponen | Fungsi |
|---|---|
| Domain | Nama yang mudah digunakan manusia. |
| DNS | Mencari informasi terkait domain. |
| IP | Alamat host/network interface. |
| Port | Menentukan endpoint service. |
Contoh:
Kesalahan Umum tentang DNS
- Menganggap DNS hanya menyimpan alamat IP.
- Menganggap satu domain hanya boleh punya satu IP.
- Mengira mengganti DNS otomatis mengganti public IP.
- Menganggap CNAME sama dengan HTTP redirect.
- Menganggap semua query selalu langsung ke authoritative server.
- Mengira DNS berubah harus langsung terlihat di semua tempat.
- Menganggap flush DNS lokal membersihkan seluruh cache DNS internet.
- Mengira proxy selalu melakukan DNS dari sisi proxy.
- Menganggap DNS hanya menggunakan UDP.
Ringkasan Cara Kerja DNS
| Tahap | Yang Terjadi |
|---|---|
| 1 | Aplikasi membutuhkan informasi domain. |
| 2 | Cache diperiksa. |
| 3 | Query dikirim ke recursive resolver. |
| 4 | Resolver mencari referral jika diperlukan. |
| 5 | Authoritative server memberikan record. |
| 6 | Jawaban disimpan sesuai TTL. |
| 7 | Alamat diberikan ke aplikasi. |
| 8 | Aplikasi membuat koneksi ke server tujuan. |
FAQ Cara Kerja DNS
Apa itu DNS?
DNS atau Domain Name System adalah sistem terdistribusi yang digunakan untuk menyimpan dan mengambil informasi terkait nama domain, termasuk pemetaan nama ke alamat IP.
Bagaimana domain berubah menjadi IP?
Aplikasi meminta resolver mencari record DNS. Resolver dapat menggunakan cache atau mencari informasi melalui hierarki DNS sampai mendapatkan jawaban dari data authoritative.
Apa itu DNS resolver?
Resolver adalah komponen yang mengambil informasi dari name server berdasarkan permintaan client atau aplikasi.
Apa beda recursive resolver dan authoritative DNS?
Recursive resolver membantu mencari jawaban atas nama client dan dapat menggunakan cache. Authoritative DNS menyimpan data authoritative untuk zone yang dikelolanya.
Apa itu DNS cache?
DNS cache adalah penyimpanan sementara hasil lookup supaya query yang sama tidak harus selalu dilakukan dari awal.
Apa fungsi TTL DNS?
TTL menentukan berapa lama sebuah resource record dapat disimpan dalam cache sebelum dianggap perlu diperbarui.
Apa beda A dan AAAA record?
A record digunakan untuk alamat IPv4, sedangkan AAAA record digunakan untuk alamat IPv6.
Apa fungsi CNAME?
CNAME menunjukkan canonical name untuk sebuah alias DNS. CNAME bekerja pada level DNS dan berbeda dari HTTP redirect.
Apakah mengganti DNS mengubah public IP?
Tidak. Mengganti DNS hanya mengubah resolver yang digunakan untuk query. Public IP koneksi internet tidak otomatis berubah.
Apakah proxy selalu melakukan DNS?
Tidak selalu dari sisi proxy. Tergantung protokol dan aplikasi, hostname bisa di-resolve secara lokal lebih dulu atau dikirim ke proxy agar resolusi dilakukan dari sisi proxy.
