Flush DNS di Linux: SystemD-Resolved, NetworkManager, dan NSCD

Diterbitkan: 2025-09-26

Ketika sistem Linux Anda berperilaku aneh saat mengakses situs web - atau menyelesaikan domain yang salah - mungkin inilah saatnya untuk menyiram cache DNS. Seperti cache browser Anda, DNS Cache menyimpan data sementara yang membantu meningkatkan kecepatan penelusuran web dan mengurangi latensi. Namun, ketika cache ini menjadi usang atau korup, itu dapat menyebabkan masalah konektivitas. Ini sangat penting dalam skenario pengembangan atau jaringan di mana nama domain sering berubah. Dalam artikel ini, kami akan mengeksplorasi cara menyiram cache DNS dalam sistem Linux yang menggunakanSystemD-Resolved,NetworkManager, atauNSCD(nama Daemon Cache Layanan).

Memahami caching DNS di Linux

Caching DNS adalah mekanisme yang menyimpan pencarian DNS secara lokal. Ini mencegah kueri yang diulang untuk nama domain yang sama dari kesal ke server DNS, yang dapat meningkatkan kinerja. Namun, Linux mendistribusikan tanggung jawab resolusi DNS secara berbeda tergantung pada komponen atau layanan sistem yang digunakan.

Dalam distribusi modern, Anda kemungkinan besar akan menemukan salah satu sistem resolver berikut:

  • SystemD-Resolved: Umum dalam distribusi yang lebih baru seperti Ubuntu 18.04+ dan Fedora.
  • NetworkManager: Sering bekerja dengan SystemD-resolved atau backend lain.
  • NSCD(nama Daemon Cache Layanan): Ditemukan di beberapa sistem Linux UNIX dan Enterprise tradisional.

Masing -masing sistem ini menangani caching DNS secara berbeda, yang berarti metode untuk menyiram cache juga bervariasi. Mari kita berjalan melalui masing -masing secara detail.

Cache DNS Flushing di SystemD-Resolved

SystemD-resolvedadalah layanan yang disediakan olehSystemDuntuk mengelola kueri dan caching DNS. Ini menjadi standar dalam banyak distribusi Linux utama. Anda dapat memverifikasi apakah sistem Anda menggunakan SystemD-resolved dengan menjalankan:

 systemctl is-active systemd-resolved

Jika aktif, lanjutkan untuk menyiram cache DNS dengan perintah berikut:

 sudo systemd-resolve --flush-caches

Untuk mengonfirmasi cache telah dihapus, atau melihat statistik saat ini, Anda dapat menggunakan:

 systemd-resolve --statistics

Perintah ini menampilkan metrik seperti jumlah entri cache, hit, dan miss, membantu Anda memastikan cache flushing berhasil.

Konfigurasi dan debugging yang diselesaikan oleh systemd

Untuk pengguna tingkat lanjut, konfigurasi layanan berada di /etc/systemd/resolved.conf . Anda dapat menyesuaikan pengaturan seperti server DNS atau perilaku fallback. Jika Anda mengalami masalah DNS yang persisten, pertimbangkan untuk memeriksa log journalctl untukdiselesaikan oleh systemd:

 journalctl -u systemd-resolved

Ini bisa sangat membantu saat pemecahan masalah resolusi domain masalah yang berasal dari kesalahan konfigurasi DNS atau keracunan cache.

Menggunakan NetworkManager untuk menyegarkan DNS

NetworkManager adalah utilitas yang menangani konfigurasi jaringan secara otomatis di banyak distribusi Linux, termasuk lingkungan desktop seperti GNOME dan KDE. Sementara NetworkManager sendiri tidak menangani DNS, itu sering menentukan layanan apa (seperti SystemD-resolved) menangani DNS.

Untuk menyegarkan pengaturan DNS menggunakan NetworkManager, Anda dapat memulai kembali Layanan:

 sudo systemctl restart NetworkManager

Metode ini secara tidak langsung memaksa resolusi ulang DNS dengan memulai kembali koneksi dan layanan terkait. Jika Anda ingin mendapatkan lebih banyak granular, Anda juga dapat menonaktifkan dan mengaktifkan kembali antarmuka jaringan tertentu. Misalnya:

 nmcli networking off nmcli networking on

Atau, untuk perangkat tertentu:

 nmcli device disconnect eth0 nmcli device connect eth0

Metode ini sangat berguna ketika beralih antara jaringan atau menyelesaikan masalah propagasi domain setelah DNS berubah.

Memeriksa pengaturan DNS dengan NMCLI

Jika Anda ingin memeriksa DNS mana yang menggunakan jaringan Anda, perintah:

 nmcli dev show | grep DNS

akan mencantumkan alamat DNS yang saat ini aktif. Ini berguna ketika memverifikasi bahwa pengaturan DNS dari DHCP atau pengalamatan statis diterapkan dengan benar.

Flushing DNS dengan NSCD (nama Daemon Cache Layanan)

Meskipun kurang umum dalam sistem Linux desktop modern,NSCDmasih digunakan di lingkungan perusahaan dan warisan. Ini menyimpan permintaan layanan nama untuk mempercepat resolusi untuk nama host, kata sandi, dan objek basis data lainnya. Pertama, pastikan itu diinstal dan berjalan:

 sudo systemctl status nscd

Jika aktif, pembilasan cache DNS langsung:

 sudo nscd -i hosts

Perintah ini memberi tahu NSCD untuk membatalkan (-i) entri cache untuk nama host. Jika Anda ingin menyiram semuanya, bukan hanya entri DNS, gunakan:

 sudo nscd -I

Itu akan memuat ulang seluruh konfigurasi dan menghapus data yang di -cache untuk semua database yang didukung.

Mengkonfigurasi dan memantau NSCD

NSCD dikonfigurasi melalui /etc/nscd.conf . Anda dapat mengaktifkan atau menonaktifkan caching untuk berbagai jenis data seperti:

  • passwd
  • kelompok
  • tuan rumah

File tersebut diajukan dengan baik, membuatnya cukup mudah didekati. Memantau log melalui journalctl -u nscd memungkinkan Anda mengawasi perilakunya dan mengidentifikasi masalah potensial.

Cara menentukan mekanisme caching mana yang Anda gunakan

Tidak yakin sistem mana yang diandalkan mesin Linux Anda untuk caching DNS? Berikut beberapa cek cepat:

  • Apakah systemd-resolve --status Mengembalikan Output Bermainful? Jika ya, sistem Anda kemungkinan menggunakan SystemD-resolved.
  • Apakah nscd -g menyediakan entri tabel? Anda mungkin menggunakanNSCD.
  • Apakah resolvectl berfungsi pada sistem Anda? Itu isyarat yang bagus untukdiselesaikan oleh SystemD.
  • Apakah dnsmasq atau BIND terpasang? Itu menunjuk ke pengaturan yang lebih maju yang membutuhkan langkah -langkah terpisah.

Mengidentifikasi resolver DNS yang digunakan sangat penting sebelum mencoba menyiram atau men -debug cache DNS, karena pembilasan cache yang salah tidak akan menyelesaikan masalah Anda.

Mengapa DNS Flushing Secara teratur bermanfaat

Sementara caching DNS meningkatkan kinerja, itu juga bisa bermasalah. Inilah mengapa dan kapan Anda mungkin ingin menyiramnya:

  • Setelah mengubah entri DNS:cache non-flush dapat menunjuk ke server IPS atau DNS lama.
  • Masalah Konektivitas Pemecahan Masalah:Cache yang korup atau beracun menyebabkan resolusi yang gagal.
  • Skenario era pengembangan:Saat menguji migrasi domain atau beralih antara server pementasan dan produksi.

Membilas cache DNS secara teratur membantu menjaga kesehatan sistem dan menghindari masalah akses situs yang tidak terduga - terutama untuk pengguna listrik, administrator sistem, dan pengembang.

Tip dan Alat Lanjutan

Jika Anda bekerja di lingkungan yang kompleks atau membutuhkan lebih banyak kontrol atas resolusi DNS, berikut adalah beberapa alat bonus dan tips:

  • DNSMASQ:Bertindak sebagai DNS Forwarder yang ringan dengan kemampuan caching.
  • Bind (bernama):Server DNS kelas perusahaan dengan caching zona tunable dan kustom kustom.
  • dig dan nslookup :Debugging Tools untuk menguji catatan DNS real-time.
  • host :Sederhana dan langsung untuk meminta catatan DNS tanpa gangguan cache.
Mengapa Mengubah Keybinds Di Survivalcraft 2?

Pikiran terakhir

Membilas cache DNS Anda di Linux adalah tugas langsung - setelah Anda tahu alat atau layanan mana yang menangani resolusi DNS pada sistem Anda. Apakah Anda menggunakanSystemD-Resolved,NetworkManager, atauNSCD, memahami bagaimana masing-masing beroperasi akan mempersenjatai Anda dengan keterampilan untuk dengan cepat menyelesaikan skenario pemecahan masalah terkait DNS. Menjaga cache DNS Anda bersih bukan hanya kebersihan yang baik - ini penting untuk resolusi nama domain yang andal dan akurat dalam lanskap jaringan dinamis saat ini.