Cara Membersihkan Cache DNS Linux
Penulis Schkn
DNS, kependekan dari protokol Domain Name System , berguna 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 tersimpan dalam cache lokal di sistem operasi Anda. Namun, dalam beberapa kasus, Anda mungkin ingin membersihkan cache DNS server Anda. Mungkin karena Anda mengubah IP server di jaringan Anda dan Anda ingin perubahan tersebut segera tercermin.
Dalam tutorial ini, Anda akan mempelajari cara Anda dapat dengan mudah membersihkan cache DNS di Linux , entah Anda menggunakan systemd atau dnsmasq.
Prasyarat
Agar dapat membersihkan cache DNS, Anda harus mengetahui cara kerja resolusi DNS di sistem Linux Anda. Tergantung pada distribusi, Anda mungkin menghadapi berbagai layanan Linux yang bertindak sebagai resolver DNS.
Sebelum Anda mulai, sangat penting bagi Anda untuk mengetahui cara resolusi DNS akan benar-benar terjadi pada sistem operasi Anda.

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

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

Dalam hal ini, DNS lokal yang berguna di dnsmasq dan perintah jelas berbeda.

Mengetahui informasi ini, Anda dapat pergi ke bab yang Anda minati. Jika Anda memiliki output yang berbeda di server Anda, pastikan untuk meninggalkan komentar agar kami memperbarui artikel ini.
Siram DNS Menggunakan systemd-resolved
Cara termudah untuk membersihkan DNS di Linux, jika Anda menggunakan systemd-resolved, adalah dengan menggunakan perintah “systemd-resolve” menyusul dengan “–flush-caches”.
Atau, Anda dapat menggunakan perintah “resolvectl” menyusul dengan opsi “flush-caches”.
$ sudo systemd-resolve --flush-caches
$ sudo resolvectl flush-caches
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 --statistics

Selamat, Anda berhasil menghapus cache DNS Anda di Linux!
Bersihkan cache DNS Menggunakan Sinyal
Cara lain untuk membersihkan cache DNS dapat tercapai dengan mengirimkan sinyal “USR2” ke layanan “systemd-resolved” yang akan memerintahkannya untuk membersihkan cache DNS-nya.
$ sudo killall -USR2 systemd-resolved
Untuk memeriksa apakah cache DNS benar-benar terhapus, Anda dapat mengirim sinyal “ USR1 ” ke layanan yang terselesaikan systemd. Dengan cara ini, ia akan membuang statusnya saat ini ke dalam systemd journal .
$ sudo killall -USR1 systemd-resolved
$ sudo journalctl -r -u systemd-resolved

Luar biasa, cache DNS Anda terbersihkan dengan benar menggunakan sinyal!
Siram DNS Menggunakan dnsmasq
Cara termudah untuk membersihkan resolver DNS Anda, saat menggunakan dnsmasq, adalah mengirim 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 terhapus.
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 ini masalahnya atau bukan, 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 telah memulai ulang dengan benar.
$ sudo systemctl status dnsmasq
# On SysVinit systems
$ sudo service dnsmasq status
Kesimpulan
Dalam tutorial ini, Anda belajar cara Anda dapat dengan cepat dan mudah membersihkan cache DNS Linux.
Dengan menggunakan artikel ini, Anda dapat dengan mudah menghapus cache untuk resolver lokal systemd dan dnsmasq. Namun, Anda harus tahu bahwa ada DNS umum lainnya, bernama bind , yang sengaja hilang dalam artikel ini.
Artikel lain tentang menyiapkan server cache DNS lokal menggunakan BIND akan segera hadir.
Jika Anda tertarik dengan kueri DNS dan cara kerjanya, Anda dapat menggunakan artikel yang sangat berguna ini dari “zwischenzugs” bernama ” Anatomi kueri DNS “ . Artikel ini sangat berguna jika Anda ingin men-debug kueri DNS dan Anda bertanya-tanya cara kinerjanya.
Juga jika Anda tertarik dengan Administrasi Sistem Linux , kami memiliki bagian lengkap tentangnya di situs web, jadi pastikan untuk memeriksanya.
Membersihkan Cache DNS Linux
Desain website oleh Cahaya TechDev – Klub Cahaya
Dukungan & komentar!
Komentar