Cara Menghapus Cache DNS di Windows, macOS, dan Chrome
Menghapus cache DNS memaksa sistem operasi atau browser Anda untuk membuang catatan DNS yang tersimpan secara lokal dan mengambil pemetaan terbaru dari server nama yang berwenang. Operasi tunggal ini menyelesaikan berbagai kegagalan konektivitas yang mengejutkan — mulai dari kesalahan ERR_NAME_NOT_RESOLVED hingga catatan IP usang yang tertinggal setelah migrasi server.
Apa itu cache DNS? Ini adalah database lokal sementara yang dikelola oleh sistem operasi Anda (dan secara terpisah oleh beberapa browser) yang menyimpan hasil pencarian DNS sebelumnya. Setiap kali Anda me-resolve nama host seperti example.com, alamat IP yang dihasilkan disimpan bersama dengan penghitung TTL (Time To Live). Hingga TTL tersebut kedaluwarsa, sistem Anda melewati resolver upstream sepenuhnya dan menggunakan catatan yang di-cache — yang cepat, tetapi menjadi masalah ketika catatan tersebut menjadi usang, diracuni, atau mengarah ke server yang sudah dinonaktifkan.
Mengapa Cache DNS Menjadi Masalah
Memahami mode kegagalan menjelaskan mengapa flushing terkadang merupakan satu-satunya perbaikan yang tepat:
- Migrasi server atau perubahan IP: Ketika sebuah situs berpindah ke infrastruktur baru, catatan DNS-nya diperbarui dengan catatan A atau AAAA baru. Jika cache lokal Anda masih menyimpan IP lama, setiap permintaan akan menuju ke host yang salah — sering kali mengakibatkan timeout koneksi atau kesalahan ketidakcocokan sertifikat TLS.
- Keracunan cache DNS: Malware dan serangan man-in-the-middle dapat menyuntikkan catatan palsu ke dalam cache lokal Anda, secara diam-diam mengalihkan lalu lintas ke server yang dikendalikan penyerang. Menghapus cache akan menghilangkan entri yang diracuni secara langsung.
- Negative caching: Pencarian DNS yang gagal (respons NXDOMAIN) juga di-cache. Jika sebuah domain untuk sementara tidak dapat dijangkau dan hasilnya yang negatif di-cache, sistem Anda akan menolak untuk me-resolve-nya lagi hingga TTL negatif kedaluwarsa — bahkan setelah domain kembali online.
- Konflik split-horizon DNS: Pengembang yang bekerja dengan penggantian
/etc/hostslokal atau resolver yang ditetapkan VPN sering menemukan entri cache usang yang menggantikan routing yang mereka inginkan. - Artefak setelah pemutusan VPN: Entri DNS sisa dari sesi VPN dapat bertahan setelah pemutusan, menyebabkan kebocoran DNS atau kegagalan routing pada jaringan lokal.
Cara Menghapus Cache DNS di Windows
Prosedurnya identik di Windows 7, 8, 10, dan 11. Satu-satunya perbedaan yang berarti adalah apakah Anda lebih suka Command Prompt atau PowerShell.
Metode 1: Command Prompt (ipconfig /flushdns)
- Tekan
Win + R, ketikcmd, lalu tekanCtrl + Shift + Enteruntuk membuka Command Prompt dengan hak administrator. Atau, cari Command Prompt di menu Start, klik kanan, dan pilih Run as administrator. - Jalankan perintah flush:
ipconfig /flushdns- Flush yang berhasil akan menampilkan:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.Jika Anda melihat kesalahan, pastikan Anda membuka prompt dengan hak istimewa yang ditingkatkan. Sesi pengguna standar tidak memiliki akses tulis ke cache layanan DNS Client.
Metode 2: Windows PowerShell
PowerShell menyediakan cmdlet khusus yang berinteraksi langsung dengan layanan DNS Client daripada melalui antarmuka ipconfig lama.
- Tekan
Win + Xdan pilih Windows PowerShell (Admin) atau Terminal (Admin) di Windows 11. - Jalankan:
Clear-DnsClientCacheTidak ada output konfirmasi saat berhasil — perintah ini kembali tanpa pesan. Untuk memverifikasi cache kosong, jalankan Get-DnsClientCache segera setelahnya; seharusnya tidak ada hasil yang dikembalikan.
Metode 3: Memulai Ulang Layanan DNS Client
Dalam kasus langka di mana perintah di atas gagal — biasanya karena status layanan DNS Client yang rusak — memulai ulang layanan itu sendiri akan menghapus cache sebagai efek samping:
Stop-Service -Name Dnscache -Force
Start-Service -Name DnscachePeringatan penting: Pada beberapa konfigurasi Windows, layanan DNS Client ditetapkan sebagai dependensi untuk layanan jaringan lainnya. Menghentikannya dapat sebentar mengganggu konektivitas jaringan. Jangan jalankan ini pada server produksi tanpa jendela pemeliharaan.
Melihat Cache DNS Saat Ini (Windows)
Sebelum melakukan flush, sering kali berguna untuk memeriksa apa yang di-cache guna memastikan apakah catatan usang benar-benar menjadi penyebab masalah Anda:
Get-DnsClientCacheIni menampilkan semua entri yang di-cache beserta TTL, tipe catatan, dan data yang di-resolve — nilai diagnostik yang jauh lebih besar daripada melakukan flush secara membabi buta.
Cara Menghapus Cache DNS di macOS
macOS menggunakan mDNSResponder sebagai daemon layanan DNS pada semua versi modern. Mekanisme flush telah konsisten sejak macOS Sierra, tetapi rilis yang lebih lama memerlukan perintah yang berbeda.
macOS Ventura, Monterey, Big Sur, Catalina, Mojave, High Sierra, Sierra (10.12 dan yang lebih baru)
- Buka Terminal melalui
Applications > Utilities > Terminalatau tekanCmd + Spacedan ketikTerminal. - Jalankan:
sudo killall -HUP mDNSResponder- Masukkan kata sandi administrator Anda saat diminta. Kolom kata sandi tidak akan menampilkan karakter — ini adalah perilaku yang diharapkan. Tekan
Enteruntuk mengonfirmasi.
Tidak ada pesan keberhasilan. Sinyal -HUP menginstruksikan mDNSResponder untuk memuat ulang konfigurasinya dan membersihkan cache-nya tanpa restart penuh.
macOS El Capitan dan Yosemite (10.11 / 10.10)
El Capitan menggunakan perintah mDNSResponder yang sama seperti di atas. Yosemite sempat menggantikan mDNSResponder dengan discoveryd, yang memerlukan pendekatan berbeda:
sudo discoveryutil udnsflushcachesmacOS Mavericks, Mountain Lion, dan Lion (10.9 dan yang lebih lama)
sudo killall -HUP mDNSResponderMenghapus Lapisan Cache DNS Tambahan di macOS
macOS mempertahankan lebih dari satu cache DNS. Untuk flush yang menyeluruh — terutama relevan saat men-debug masalah split-DNS atau mDNS — jalankan ketiga perintah secara berurutan:
sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcachedscacheutil -flushcache membersihkan cache Directory Services, yang menyimpan data resolusi nama tambahan yang digunakan oleh proses tingkat sistem. Mengabaikannya dapat meninggalkan entri sisa yang tidak disentuh oleh mDNSResponder saja.
Cara Menghapus Cache DNS di Google Chrome
Chrome mempertahankan cache DNS internal sendiri yang beroperasi sepenuhnya independen dari resolver tingkat OS. Ini adalah keputusan arsitektur yang disengaja — network stack Chrome (dibangun di atas library net:: Chromium) me-resolve domain yang diprediksi akan Anda kunjungi terlebih dahulu dan menyimpan hasilnya dalam proses. Ini berarti Anda dapat menghapus cache DNS OS dan Chrome masih akan menyajikan catatan usang dari penyimpanannya sendiri.
Langkah demi Langkah: Menghapus Cache DNS Chrome
- Buka Google Chrome.
- Di bilah alamat, navigasikan ke:
chrome://net-internals/#dns- Klik tombol Clear host cache. Ini segera membersihkan semua entri DNS yang disimpan dalam cache dalam proses Chrome.
Mereset Socket Pool Chrome
Entri cache DNS dan koneksi TCP/TLS yang terbuka adalah hal yang berbeda. Jika Anda telah menghapus cache DNS tetapi Chrome masih merutekan lalu lintas melalui koneksi lama (misalnya, setelah perubahan IP server), Anda juga harus menghapus socket pool:
- Navigasikan ke:
chrome://net-internals/#sockets- Klik Flush socket pools.
Ini menutup semua koneksi keep-alive yang tidak aktif dan aktif, memaksa Chrome untuk membangun kembali koneksi TCP baru menggunakan alamat IP yang baru di-resolve.
Memulai Ulang Chrome Setelah Flushing
Tutup semua jendela Chrome sepenuhnya dan buka kembali browser. Di macOS, pastikan Chrome tidak masih berjalan di latar belakang melalui Dock — klik kanan ikon dan pilih Quit daripada hanya menutup jendela.
Perbandingan Cache DNS: Tingkat OS vs. Tingkat Browser
| Properti | Cache DNS OS | Cache DNS Chrome |
|---|---|---|
| — | — | — |
| Cakupan | Semua aplikasi di seluruh sistem | Hanya browser Chrome |
| Perintah flush (Windows) | `ipconfig /flushdns` | `chrome://net-internals/#dns` |
| Perintah flush (macOS) | `sudo killall -HUP mDNSResponder` | `chrome://net-internals/#dns` |
| Menghormati pengaturan TTL OS | Ya | Sebagian (menggunakan logika TTL sendiri) |
| Terpengaruh oleh perubahan DNS VPN | Ya | Tidak segera |
| Terlihat oleh alat diagnostik | `Get-DnsClientCache`, `dscacheutil -cachedump` | Hanya melalui internal Chrome |
| Dihapus saat reboot sistem | Ya | Ya (memori dalam proses) |
| Dihapus saat restart browser | Tidak | Ya |
Perintah Flush Spesifik Platform Sekilas
| Platform / Versi | Perintah |
|---|---|
| — | — |
| Windows (semua versi) | `ipconfig /flushdns` |
| Windows PowerShell | `Clear-DnsClientCache` |
| macOS 10.12 dan yang lebih baru | `sudo killall -HUP mDNSResponder` |
| macOS Yosemite (10.10) | `sudo discoveryutil udnsflushcaches` |
| macOS (flush penuh) | `sudo killall -HUP mDNSResponder && sudo dscacheutil -flushcache` |
| Google Chrome (semua OS) | `chrome://net-internals/#dns` > Clear host cache |
| Linux (systemd-resolved) | `sudo systemd-resolve –flush-caches` |
| Linux (nscd) | `sudo service nscd restart` |
Linux disertakan di sini karena administrator yang mengelola lingkungan VPS Hosting sering kali perlu menghapus cache DNS di workstation lokal dan server jarak jauh secara bersamaan saat menyebarkan perubahan DNS.
Kesalahan Umum yang Diselesaikan oleh Penghapusan Cache DNS
ERR_NAME_NOT_RESOLVED— Chrome tidak dapat me-resolve nama host. Hampir selalu merupakan masalah DNS; hapus cache OS dan Chrome.DNS_PROBE_FINISHED_NXDOMAIN— Resolver mengembalikan respons domain yang tidak ada. Bisa jadi entri cache negatif yang usang.ERR_CONNECTION_TIMED_OUTsetelah migrasi server — IP lama masih di-cache. Hapus cache OS dan verifikasi dengannslookupataudigbahwa IP baru sedang dikembalikan.- Kesalahan ketidakcocokan sertifikat TLS/SSL — Jika IP yang di-cache mengarah ke server yang berbeda dari yang memegang sertifikat yang benar, Anda akan mendapatkan ketidakcocokan nama sertifikat. Ini umum terjadi ketika domain berpindah antar penyedia hosting. Jika Anda mengelola infrastruktur SSL, pastikan Sertifikat SSL Anda disediakan pada origin yang benar sebelum TTL DNS kedaluwarsa.
- Kesalahan 404 intermiten setelah migrasi CMS — Situs dimuat, tetapi aset atau halaman mengembalikan 404. Sering disebabkan oleh CDN atau reverse proxy yang masih me-resolve ke origin lama. Hapus cache di setiap lapisan.
Propagasi DNS vs. Cache Lokal: Perbedaan Penting
Kesalahpahaman umum adalah bahwa menghapus cache DNS lokal akan membuat catatan DNS yang baru diterbitkan langsung terlihat. Tidak akan — jika resolver rekursif upstream (server DNS ISP Anda atau resolver publik seperti 8.8.8.8) juga telah menyimpan catatan lama dalam cache, Anda akan terus menerima IP lama hingga cache resolver tersebut kedaluwarsa.
Alur kerja diagnostik yang benar adalah:
- Periksa catatan yang berwenang secara langsung menggunakan
dig @8.8.8.8 example.com Aataunslookup example.com 1.1.1.1. - Jika catatan yang berwenang benar tetapi resolusi lokal Anda salah, hapus cache OS lokal.
- Jika catatan yang berwenang itu sendiri masih salah, masalahnya ada di tingkat registrar DNS atau panel kontrol hosting — bukan cache lokal.
Saat mengelola DNS untuk domain yang di-hosting di Dedicated Server, selalu tetapkan TTL rendah (300 detik) setidaknya 24 jam sebelum migrasi yang direncanakan. Ini meminimalkan jendela propagasi dan mengurangi dampak entri cache usang di seluruh internet.
Implikasi Keamanan dari Manajemen Cache DNS
Keracunan cache DNS (juga dikenal sebagai DNS spoofing) adalah kelas serangan di mana penyerang menyuntikkan catatan A atau CNAME berbahaya ke dalam cache resolver, mengalihkan pengguna ke server palsu. Meskipun DNSSEC menyediakan validasi kriptografis pada tingkat protokol, kebersihan cache lokal tetap menjadi tindakan respons pertama yang praktis.
Jika Anda mencurigai cache DNS Anda telah diracuni:
- Hapus cache lokal segera menggunakan perintah yang sesuai untuk OS Anda.
- Beralih ke resolver yang memvalidasi DNSSEC seperti Cloudflare (
1.1.1.1) atau Google (8.8.8.8). - Periksa proses yang berjalan untuk malware yang mungkin memodifikasi file
hosts(C:WindowsSystem32driversetchostsdi Windows,/etc/hostsdi sistem Unix). - Periksa pengaturan DNS router Anda — penyerang yang mengkompromikan router dapat mengalihkan semua kueri DNS di jaringan terlepas dari status cache lokal.
Bagi bisnis yang menjalankan infrastruktur email sendiri, integritas DNS sangat penting. Catatan DNS yang salah konfigurasi atau diracuni secara langsung memengaruhi validasi SPF, DKIM, dan DMARC. Jika Anda mengandalkan layanan Email Hosting, verifikasi bahwa catatan MX, SPF, dan DKIM di-resolve dengan benar setelah perubahan DNS apa pun.
Mengotomatiskan Penghapusan Cache DNS
Bagi pengembang dan sysadmin yang secara rutin bekerja dengan perubahan DNS — terutama selama konfigurasi Panel Kontrol VPS, pergantian lingkungan staging, atau migrasi domain — mengotomatiskan flush menghilangkan langkah manual sepenuhnya.
Tugas terjadwal Windows (PowerShell):
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-Command Clear-DnsClientCache"
$trigger = New-ScheduledTaskTrigger -Daily -At "03:00AM"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "FlushDNSCache" -RunLevel HighestmacOS launchd plist (flush harian pukul 3 pagi):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.local.flushdns</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>killall -HUP mDNSResponder</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>Simpan file ini ke ~/Library/LaunchAgents/com.local.flushdns.plist dan muat dengan launchctl load ~/Library/LaunchAgents/com.local.flushdns.plist.
Flush otomatis paling berguna dalam pipeline CI/CD di mana catatan DNS diperbarui secara terprogram sebagai bagian dari alur kerja deployment, dan agen build harus me-resolve catatan baru segera setelah perubahan diterapkan.
Matriks Keputusan Teknis: Kapan dan Di Mana Harus Flush
| Gejala | Flush Cache OS | Flush Cache Chrome | Flush Cache Router | Periksa Resolver Upstream |
|---|---|---|---|---|
| — | — | — | — | — |
| Situs dimuat di Firefox tetapi tidak di Chrome | Tidak | Ya | Tidak | Tidak |
| Situs tidak dapat dijangkau di semua browser | Ya | Ya | Tidak | Ya |
| Situs tidak dapat dijangkau di semua perangkat di jaringan | Ya | Ya | Ya | Ya |
| IP yang benar ditampilkan oleh `nslookup` tetapi situs masih gagal | Tidak | Ya (socket) | Tidak | Tidak |
| Situs dimuat untuk rekan kerja tetapi tidak untuk Anda | Ya | Ya | Tidak | Ya |
| Baru saja menyelesaikan migrasi server | Ya | Ya | Tidak | Ya |
| Dugaan keracunan DNS | Ya | Ya | Ya | Ya |
Daftar Periksa Praktis Sebelum dan Sesudah Flushing
- Konfirmasi perubahan DNS telah disebarkan ke server yang berwenang menggunakan
digatau alat online sepertiwhatsmydns.netsebelum melakukan flush secara lokal. - Perhatikan TTL saat ini dari catatan yang Anda troubleshoot — jika 86400 detik (24 jam), melakukan flush secara lokal hanya membantu Anda; pengguna lain masih akan melihat catatan lama hingga 24 jam.
- Di Windows, jalankan
ipconfig /displaydnssebelum melakukan flush untuk mengambil snapshot status cache saat ini untuk keperluan diagnostik. - Setelah melakukan flush, gunakan
nslookup example.comatauping example.comuntuk mengonfirmasi IP baru sedang dikembalikan sebelum membuka browser. - Jika bekerja di lingkungan Web Hosting Bersama, ingat bahwa nameserver penyedia hosting juga menyimpan catatan dalam cache — hubungi dukungan jika propagasi tampak terhenti di tingkat server.
- Khusus untuk Chrome, setelah menghapus cache DNS, juga hapus socket pool dan lakukan hard reload (
Ctrl + Shift + Rdi Windows/Linux,Cmd + Shift + Rdi macOS) untuk melewati cache HTTP browser juga. - Dokumentasikan flush dalam log perubahan jika dilakukan di lingkungan produksi — perubahan DNS dan penghapusan cache sering diabaikan saat mendiagnosis masalah pasca-deployment beberapa hari kemudian.
FAQ
Apakah menghapus cache DNS memengaruhi kecepatan browsing?
Sementara, ya. Setelah flush, sistem Anda harus melakukan pencarian DNS baru untuk setiap nama host yang dihubungi, yang menambahkan sedikit overhead latensi (biasanya 20–100ms per pencarian) hingga cache terisi kembali. Bagi sebagian besar pengguna ini tidak terasa. Cache akan terisi kembali secara otomatis dalam beberapa menit setelah browsing normal.
Apakah menghapus cache DNS akan mengeluarkan saya dari situs web?
Tidak. Entri cache DNS sepenuhnya terpisah dari cookie browser, token sesi, dan status autentikasi. Menghapus DNS tidak menyentuh hal-hal tersebut.
Apa perbedaan ipconfig /flushdns dengan Clear-DnsClientCache?
Kedua perintah menginstruksikan layanan DNS Client Windows untuk membersihkan cache-nya. ipconfig /flushdns adalah antarmuka lama yang berkomunikasi dengan layanan melalui utilitas ipconfig; Clear-DnsClientCache adalah cmdlet PowerShell asli yang menggunakan antarmuka WMI/CIM secara langsung. Hasilnya identik, tetapi Clear-DnsClientCache dapat di-script dan mengembalikan objek terstruktur, sehingga lebih disukai dalam konteks otomatisasi.
Mengapa Chrome masih menampilkan situs web lama setelah saya menghapus cache DNS OS?
Chrome mempertahankan cache DNS dalam proses sendiri yang tidak terpengaruh oleh flush tingkat OS. Anda harus secara terpisah menghapus cache Chrome melalui chrome://net-internals/#dns. Selain itu, jika koneksi TCP lama masih aktif di socket pool Chrome, Anda juga harus menghapus socket pool melalui chrome://net-internals/#sockets.
Seberapa sering saya harus menghapus cache DNS?
Tidak ada jadwal universal. Hapus secara reaktif — ketika Anda menemukan kesalahan terkait DNS, setelah migrasi server atau domain, setelah insiden keamanan yang dicurigai, atau saat beralih antara konfigurasi jaringan VPN dan non-VPN. Flush terjadwal rutin hanya diperlukan di lingkungan pengembangan atau staging di mana catatan DNS sering berubah.
