Pembilasan cache DNS lokal dapat mengatasi kesalahan HTTP dan melindungi Anda dari spoofing DNS. Inilah cara Anda dapat melakukannya di Linux.
Saat Anda mengakses situs web menggunakan nama domainnya, sistem Anda mengirimkan permintaan ke server DNS untuk mendapatkan alamat IP untuk domain tersebut. Pasangan alamat domain-IP ini disimpan dalam cache DNS untuk digunakan nanti sehingga Anda tidak perlu mengirim permintaan ke server DNS setiap kali membuat koneksi.
Namun terkadang, cache DNS lokal rusak dan menyebabkan kesalahan HTTP. Untungnya, membilas dan membangun kembali cache DNS di komputer Linux sangatlah mudah. Inilah cara melakukannya.
Mengapa Membersihkan Cache DNS di Linux?
Ada beberapa alasan mengapa Anda mungkin ingin membangun kembali cache DNS yang tersimpan di sistem Anda. Mungkin Anda memiliki catatan DNS yang kedaluwarsa untuk sebuah situs web dan ingin mengambilnya kembali dari server DNS. Atau mungkin, sistem Anda telah disusupi dan Anda juga ingin memastikan bahwa cache DNS tidak dirusak. dikenal sebagai spoofing DNS.
Ketika Anda menghapus cache DNS Anda, sistem harus melakukan ping ke server DNS lagi dan mendapatkan catatan alamat domain-IP baru darinya, menghapus semua data yang kedaluwarsa atau data yang disusupi dalam prosesnya.
Cara Melihat Cache DNS Lokal di Linux
Sebelum systemd, sebagian besar distribusi Linux tidak memiliki caching DNS di seluruh sistem, kecuali jika program seperti dnsmasq atau nscd diatur secara manual. systemd hadir dengan systemd-resolved, layanan yang menyelesaikan nama domain ke alamat IP dan menyimpan entri DNS.
Bagian berikut akan memandu Anda tentang cara melihat konten cache DNS yang dihasilkan oleh systemd-resolved, nscd, dan dnsmasq, sehingga Anda dapat memahami data yang di-cache sebelum Anda memutuskan untuk menghapusnya.
Lihat Cache DNS untuk sistemd-diselesaikan
Untuk melihat catatan cache yang diselesaikan oleh sistem, Anda harus terlebih dahulu mematikan layanan untuk sementara, lalu mengekspor lognya ke file.
Mulailah dengan mengirimkan sinyal SIGUSR1 untuk mematikan layanan yang diselesaikan dengan systemd:
sudo killall -USR1 systemd-diselesaikan
Menggunakan perintah journalctl dan operator output standar untuk menyimpan output ke file teks:
sudo journalctl -u systemd-resolved > ~/cache.txt
Anda kemudian dapat melihat konten file menggunakan editor teks seperti Vim:
vim ~/cache.txt
Di dalam file, cari "CACHE:" dengan menekan Melarikan diri, mengetik "/CACHE:", dan memukul Memasuki. Semua catatan DNS tercantum di bawah CACHE: adalah bagian dari cache DNS lokal. Tekan N untuk melompat ke kumpulan entri DNS berikutnya jika Anda menggunakan Vim.
Lihat Cache DNS Lokal untuk nscd
Untuk melihat cache lokal yang dihasilkan oleh nscd, Anda perlu membaca konten database host nscd menggunakan perintah string.
Pada distro berbasis Debian dan Ubuntu, file ini berada di /var/cache/nscd/hosts. Jalankan perintah berikut untuk melihat file:
string sudo /var/cache/nscd/hosts | uniq
Untuk melihat statistik umum tentang cache DNS nscd, gunakan -G bendera:
sudo nscd -g
Menampilkan Cache DNS yang Dihasilkan oleh dnsmasq
dnsmasq menyimpan cache DNS di memori sehingga tidak mudah untuk mendapatkan catatan yang tepat. Tetapi Anda dapat mengirim sinyal mati ke dnsmasq dan mencatat keluarannya untuk mendapatkan jumlah kueri DNS yang diproses.
Untuk melakukannya, pertama, pastikan dnsmasq aktif dan berjalan menggunakan perintah systemctl:
sudo systemctl status dnsmasq
Jika statusnya menunjukkan Aktif, jalankan perintah berikut untuk mematikan layanan:
sudo pkill -USR1 dnsmasq
Menggunakan perintah journalctl, ekstrak log dnsmasq dan simpan ke file teks:
sudo journalctl -u dnsmasq > ~/cache.txt
Terakhir, lihat isi file menggunakan utilitas tampilan file seperti kucing atau kurang:
cat ~/cache.txt
Cara Membersihkan Cache DNS di Linux
Membilas cache DNS berarti menghapus catatan DNS yang di-cache dari komputer Anda. Ini memaksanya untuk mengirim permintaan ke server DNS untuk mengambil entri DNS baru.
Inilah cara Anda membersihkan cache DNS di Linux:
Menggunakan systemd-diselesaikan
Anda dapat menggunakan perintah resolvectl untuk menghapus cache DNS yang disimpan oleh systemd-resolved:
sudo resolvectl flush-cache
Jika Anda menjalankan Ubuntu 17.04 atau 18.04, gunakan perintah penyelesaian sistem untuk membersihkan cache:
sudo systemd-resolved --flush-caches
Siram Cache DNS nscd di Linux
Cara paling mudah untuk menghapus cache DNS untuk nscd adalah dengan memulai ulang layanan. Anda dapat melakukannya dengan menjalankan:
sudo /etc/init.d/nscd restart
Jika itu tidak berhasil, periksa dulu apakah cache lokal yang disimpan di PC Anda persisten. Anda dapat menggunakan -G tandai untuk memverifikasinya:
sudo nscd -g
Jika demikian, gunakan the -Saya tandai dengan perintah nscd untuk menghapus catatan (Saya berdiri untuk membatalkan):
sudo nscd -i host
Hapus Cache DNS dnsmasq
Pembilasan cache DNS yang dihasilkan oleh dnsmasq itu sederhana. Karena cache disimpan dalam memori, memulai ulang layanan akan menghapus semua entri yang disimpan.
Untuk memulai kembali dnsmasq, jalankan perintah systemctl berikut:
sudo systemctl restart dnsmasq
Atau, keluarkan perintah berikut:
layanan dnsmasq restart
Masukkan kata sandi administrator jika diminta. dnsmasq sekarang akan dimulai ulang dan semua entri DNS Anda yang ada akan dihapus dari cache.
Setelah mengosongkan cache DNS, sebaiknya lihat entri cache lokal dan verifikasi apakah data berhasil dihapus. Anda dapat menggunakan dig, salah satunya banyak perintah pemecahan masalah jaringan Linux, dan periksa nilai waktu kueri di output. Jika lebih dari 0 msec, cache berhasil dibersihkan (0 msec berarti domain record masih ada di cache).
gali google.com
Hapus Cache DNS Google Chrome
Peramban web yang sering Anda gunakan juga menyimpan catatan DNS. Saat Anda memasukkan URL, sistem mencari entri cache di cache browser lokal. Jika tidak ditemukan, ia akan memeriksa catatan di cache sistem lokal. Sangat penting untuk menghapus cache DNS browser web Anda karena memiliki prioritas lebih tinggi daripada cache seluruh sistem.
Untuk demonstrasi, mari bersihkan cache DNS di Google Chrome. Ada cara untuk melakukannya di browser lain juga, jadi sebaiknya Anda mencari di Google cara melakukannya untuk browser yang Anda gunakan.
Untuk memulai, ketik "chrome://net-internals/#dns" di bilah URL dan tekan Memasuki:
Klik Hapus cache host untuk menghapus entri DNS yang disimpan di Google Chrome.
Linux Adalah OS Terbaik untuk Belajar Jaringan
Linux mungkin tampak rumit pada awalnya, tetapi jika Anda menginvestasikan waktu untuk mempelajari cara kerjanya, Anda akan segera menyadari bahwa itu luar biasa, dan bahkan mungkin lebih baik daripada Windows atau macOS.
Sebagian besar server online menjalankan Linux, dan itulah salah satu alasan mengapa Linux ideal jika Anda ingin mempelajari jaringan, atau ingin mengetahui cara kerja komputer, secara umum.