Apakah pengalaman penelusuran internet Anda lambat di perangkat Linux Anda, atau apakah situs web yang Anda kunjungi sudah usang atau situs web yang salah sama sekali? Mari kita diskusikan pembilasan cache DNS di Linux, dan bagaimana mengetahui apakah Anda benar -benar perlu.
Apa itu cache DNS?
Apakah komputer Anda menggunakan cache DNS lokal?
Meninjau cache DNS Anda
Cara menghapus cache DNS di linux
Cara menyiram cache dnsmasq di linux
Memerah, dengan sukses
Apa itu cache DNS?
Itu Layanan Nama Domain adalah sedikit keajaiban yang mengubah nama menjadi angka. Dibutuhkan nama jaringan perangkat dan nama situs web dan mencari alamat IP mereka. Jaringan kemudian dapat menggunakan alamat IP untuk merutekan lalu lintas dengan benar ke perangkat atau situs tersebut.
Pencarian ini, dikenal sebagai permintaan , Jangan terjadi secara instan . Ada periode kecil dan terbatas yang terlibat. Permintaan Internet DNS mungkin memerlukan server DNS prekursor permintaan, server nama root, server domain tingkat atas, dan server nama otoritatif. Permintaan DNS cepat, tetapi untuk membuatnya lebih cepat, jawaban untuk permintaan DNS baru -baru ini di -cache pada server prekursor DNS.
Jika jawaban untuk permintaan DNS ditemukan di cache server prekursor, tidak ada server lebih lanjut yang perlu dihubungi. Jawabannya dikirim kembali dari cache server prekursor. Demikian pula, cache kecil dikelola oleh router broadband Anda di rumah. Jika Anda meminta perangkat jaringan lokal menggunakan nama perangkat jaringannya, router Anda menyediakan alamat IP. Ini juga dapat cache respons yang telah diterima dari server DNS eksternal.
Biasanya, jaringan dan komputer Linux dikonfigurasi untuk menggunakan layanan DNS eksternal, baik yang disediakan oleh penyedia layanan internet Anda atau oleh layanan gratis seperti Opendns atau Google DNS . Ada alasan bagus mengapa Beberapa orang menjalankan server DNS mereka sendiri , tetapi kebanyakan dari kita tidak. Namun, komputer Linux Anda - bahkan jika itu tidak menjalankan server DNS - secara opsional dapat menyimpan hasil permintaan DNS.
Masalah dengan menggunakan data yang di -cache adalah semuanya didasarkan pada asumsi bahwa tidak ada rincian yang di -cache yang diubah sejak mereka di -cache. Jika detailnya telah berubah, informasi yang Anda terima akan ketinggalan zaman.
Jika entri cache atau seluruh cache menjadi korup, Anda akan menerima kinerja yang terbaik, dan kerentanan keamanan paling buruk. Saat itulah Anda ingin melihat ke "Flushing" atau membersihkan cache DNS.
Apakah komputer Anda menggunakan cache DNS lokal?
Beberapa komputer uji kami menyalakan cache DNS lokal, dan yang lain dimatikan. Itu tidak ada di kami Manjaro 21 komputer, tetapi dihidupkan secara default Fedora 37 Dan Ubuntu 22.10 .
Untuk menentukan apakah komputer Linux Anda caching permintaan DNS, gunakan
aktif
opsi
Systemctl
memerintah. Daemon yang mengelola cache DNS adalah SystemD Network Name Resolution Manager, yang dikenal sebagai
Systemd-resolved
.
Jika responsnya "aktif", caching DNS sedang terjadi. Jika responsnya "tidak aktif", itu bukan. Di komputer khusus ini, aktif. Kita bisa menggunakan
resolvectl
Perintah dengan opsi statistik untuk melihat berapa banyak catatan dalam cache.
Kita dapat melihat ada 330 entri dalam cache DNS komputer ini.
Meninjau cache DNS Anda
Meninjau entri cache DNS bukanlah prasyarat untuk menyiram cache, dan jika Anda tidak tertarik melakukannya, Anda bisa Lewati seluruh langkah ini . Namun, terkadang, ini bisa informatif. Anda mungkin melihat entri orak -arik yang menunjukkan korupsi, atau Anda mungkin melihat pesan kesalahan yang terkait dengan masalah pengalamatan perangkat di jaringan Anda.
Sekarang, tidak ada cara langsung untuk melihat entri ini. Kita bisa melakukannya tetapi harus sedikit kreatif.
USR1
, atau
Sinyal nomor satu yang ditentukan pengguna
, adalah
sinyal
yang bisa dikirim dengan
membunuh
Dan
Bunuh semua
perintah. Sinyal ini tidak memiliki makna yang telah ditentukan. Aplikasi bebas untuk mengabaikan sinyal ini atau bereaksi dengan cara apa pun yang diterapkan pengembang.
Itu
Systemd-resolved
Daemon bereaksi terhadap
USR1
dengan menulis cache ke log sistem. Kami kemudian dapat menggunakan
Journalctl
Perintah untuk memfilter entri DNS.
Kami akan menggunakan
Bunuh semua
perintah dengan
USR1
Untuk mengirim sinyal ke
Systemd-resolved
Daemon. Perhatikan bahwa meskipun kami menggunakan
Bunuh semua
perintah, The
Systemd-resolved
Daemon terus berjalan. Ini bukan sinyal terminasi yang kami kirim.
Sekarang kami akan menggunakan
Journalctl
Perintah dengan
-u
(Filter oleh
Systemd
unit) opsi untuk mengekstrak entri log yang telah dihasilkan oleh
Systemd-resolved
. Kami akan mengarahkan ulang output itu ke file teks yang disebut "dns.txt."
Kami akan menggunakannya
itu
lebih sedikit
penampil file
Untuk melihat isi file.
Anda akan dapat menemukan pemetaan yang di -cache antara nama domain dan Alamat IP dengan menggulir dan mencari melalui teks.
Kita dapat melihat entri untuk Google yang memiliki alamat IP 216.58.212.196. Anda dapat memeriksanya dengan meletakkan alamat IP di browser web. Anda harus melihat halaman beranda Google Search.
Cara menghapus cache DNS di linux
Membilas cache menghapus semua entri, dan memulai proses pengumpulan sekali lagi. Jika ada, ini secara paksa menghilangkan entri yang salah dan korup dari cache.
Perintahnya sederhana; kita gunakan
resolvectl
dengan
Caches flush
pilihan.
Kami diam -diam dikembalikan ke baris perintah. Untuk mengonfirmasi bahwa sesuatu telah benar -benar terjadi, kami akan memeriksa statistik cache DNS lagi.
Kita dapat melihat bahwa ukuran cache dijatuhkan ke nol. Ini akan meningkat dari waktu ke waktu karena mengumpulkan entri baru.
Cara menyiram cache dnsmasq di linux
Itu
dnsmasq
Aplikasi menyediakan cache DNS dan server DHCP. Ini populer di kalangan pengguna yang ingin menjalankan server DNS mereka sendiri, terutama
instalasi non-systemd
.
Pembilasan
dnsmasq
Cache DNS mudah. Kita perlu mengirim
Sighup
sinyal, yang memberi tahu
dnsmasq
Daemon untuk secara efektif menginisialisasi kembali. Melakukan hal itu membersihkan cache DNS -nya. Untuk mengirim sinyal, kami menggunakan
Bunuh semua
Perintah dengan
-MEMPERCEPATKAN
bendera, dan nama aplikasi.
Memerah, dengan sukses
Tentu saja, jika komputer Anda tidak caching sama sekali, tidak ada yang perlu Anda periksa.
Jika itu adalah permintaan DNS Caching tetapi semuanya berfungsi dengan baik, Anda juga dapat mengabaikannya. Tetapi jika Anda mengalami pembaruan halaman web yang lambat atau sporadis saat Anda menjelajahi web, atau melihat halaman web yang salah sama sekali, ini mungkin saat yang tepat untuk menghapus cache DNS Anda.