Flush DNS Cache Di Linux
DNS, kependekan dari protokol Domain Name System, digunakan pada sistem Linux untuk mengambil alamat IP yang terkait dengan nama. Misalnya, saat Anda melakukan permintaan ping, kemungkinan besar Anda menggunakan protokol DNS untuk mengambil IP server.
Dalam kebanyakan kasus, permintaan DNS yang Anda lakukan disimpan dalam cache lokal di sistem operasi Anda. Namun, dalam beberapa kasus, Anda mungkin ingin menghapus cache DNS server Anda. Mungkin karena Anda mengubah IP server di jaringan Anda dan Anda ingin agar perubahan segera tercermin.
Dalam tutorial ini, Anda akan belajar bagaimana Anda dapat dengan mudah menghapus cache DNS di Linux, apakah Anda menggunakan systemd atau dnsmasq.
Prasyarat Flush DNS Cache
Agar dapat membersihkan cache DNS Anda, Anda harus mengetahui cara kerja resolusi DNS pada sistem Linux Anda. Bergantung pada distribusi Anda, Anda mungkin menghadapi berbagai layanan Linux yang bertindak sebagai penyelesai DNS.
Sebelum memulai, sangat penting bagi Anda untuk mengetahui bagaimana sebenarnya resolusi DNS akan terjadi pada sistem operasi Anda.

Jika Anda membaca artikel ini, Anda ingin membersihkan cache dari penyelesai DNS lokal Anda. Tapi seperti yang Anda lihat, ada banyak cache berbeda dari aplikasi lokal Anda hingga server DNS Internet yang sebenarnya.
Dalam tutorial ini, kita akan fokus pada kotak kuning yang berarti penyelesai rintisan lokal pada setiap sistem Linux.
Menemukan Penyelesai DNS Lokal Anda
Pada sebagian besar sistem Linux, DNS resolver adalah “systemd-resolved” atau dnsmasq. Untuk mengetahui apakah Anda berurusan dengan satu atau lainnya, Anda dapat menjalankan perintah berikut
$ sudo lsof -i :53 -S
Catatan : jadi mengapa kita menjalankan perintah ini? Saat DNS berjalan di port 53, kami mencari perintah yang terkait dengan layanan yang berjalan di port 53, yang merupakan penyelesai atau “rintisan” DNS lokal Anda.

Seperti yang Anda lihat, pada distribusi Ubuntu 20.04 baru-baru ini, layanan yang mendengarkan pada port 53 diselesaikan oleh sistem. Namun, jika Anda menjalankan perintah ini di Ubuntu 14.04, Anda akan mendapatkan hasil yang berbeda.

Dalam hal ini, DNS lokal dalam dnsmasq dan perintah jelas berbeda.
Mengetahui informasi ini, Anda dapat melanjutkan ke bab yang Anda minati. Jika Anda memiliki keluaran yang berbeda di server Anda, pastikan untuk memberikan komentar agar kami memperbarui artikel ini.
Flush DNS Menggunakan Systemd-resolved
Cara termudah untuk membersihkan DNS di Linux, jika Anda menggunakan systemd-resolved, adalah dengan menggunakan perintah “systemd-resolve” dengan “–flush-caches”.
Sebagai alternatif, Anda dapat menggunakan perintah “resolvectl” dengan opsi “flush-caches”.
$ sudo systemd-resolve --flush-caches
$ sudo resolvectl flush-cache
Untuk memverifikasi bahwa cache DNS Linux Anda benar-benar terhapus, Anda dapat menggunakan opsi “–statistik” yang akan menyorot “Ukuran Cache Saat Ini” di bawah bagian “Cache”.
$ sudo systemd-resolve --statistcs

Selamat, Anda berhasil membersihkan cache DNS Anda di Linux!
Flush Cache DNS Menggunakan Sinyal
Cara lain untuk menghapus cache DNS dengan mengirimkan sinyal “USR2” ke layanan “systemd-resolved” yang akan menginstruksikannya untuk menghapus cache DNS-nya.
$ sudo killall -USR2 systemd-resolved
Untuk memeriksa apakah cache DNS benar-benar terbilas, Anda dapat mengirimkan sinyal “USR1” ke layanan dengan systemd. Dengan cara ini, ia akan membuang statusnya saat ini ke jurnal systemd.
$ sudo killall -USR1 systemd-resolved
$ sudo journalctl -r -u systemd-resolved
Luar biasa, cache DNS Anda terbilas dengan benar menggunakan sinyal!
Flush DNS Menggunakan Dnsmasq
Cara termudah untuk membersihkan DNS resolver Anda, saat menggunakan dnsmasq, adalah mengirimkan sinyal “SIGHUP” ke proses “dnsmasq” dengan perintah “killall”.
$ sudo killall -HUP dnsmasq
Sama halnya dengan systemd-resolved, Anda dapat mengirim “USR1” ke proses agar dapat mencetak statistiknya ke file log “syslog”. Menggunakan perintah “ekor” sederhana, kami dapat memverifikasi bahwa cache DNS benar-benar terbilas.
Sekarang bagaimana jika Anda menjalankan dnsmasq sebagai layanan?
Dnsmasq Menjalankan Layanan
Dalam beberapa kasus, Anda dapat menjalankan “dnsmasq” sebagai layanan di server Anda. Untuk memeriksa apakah ini masalahnya atau tidak, Anda dapat menjalankan perintah “systemctl” atau “layanan” jika Anda menggunakan sistem SysVinit.
$ sudo systemctl is-active dnsmasq
# On SysVinit systems
$ sudo service dnsmasq status
Jika Anda melihat bahwa dnsmasq berjalan sebagai layanan, Anda dapat memulai ulang menggunakan perintah “systemctl” atau “service” yang biasa.
$ sudo systemctl restart dnsmasq
# On SysVinit systems
$ sudo service dnsmasq restart
Setelah menjalankan perintah tersebut, selalu pastikan bahwa layanan Anda mulai ulang dengan benar.
$ sudo systemctl status dnsmasq
# On SysVinit systems
$ sudo service dnsmasq status
Kesimpulan
Dalam tutorial ini, Anda belajar cara membersihkan cache DNS di Linux dengan cepat dan mudah. Dengan menggunakan artikel ini, Anda dapat dengan mudah menghapus cache untuk penyelesai lokal systemd dan dnsmasq.
Artikel ini telah terbit di : Devconnected
Langkah Flush DNS Cache Di Linux
Desain website oleh Cahaya TechDev – Klub Cahaya
Dukungan & komentar!
Komentar