Linux’ta DNS Önbelleğini Temizleme

Bu kısa yazıda Linux işletim sistemlerinde DNS önbelleğini temizlemenin yolları anlatılacak. DNS önbelleği işletim sistemleri tarafından tutulan geçici küçük bir veritabanıdır. Aynı web sitesini birden çok kez ziyaret ettiğinizde, işletim sistemi o web sitesinin DNS kayıtlarını genel DNS sunucusu yerine yerel DNS önbellek veritabanından alır. Bu nedenle DNS önbelleğe alma, web sitesi yükleme süresini iyileştirir ve kaynak DNS sunucusunun bant genişliği / CPU tüketimini azaltır.

DNS önbelleğini neden temizlemeli veya temizlemelisiniz?

Yerel DNS önbelleğini temizlemek için birçok neden olabilir. Örneğin, web sitenizi özelleştirmiş veya etki alanınız için DNS ayarlarını değiştirmiş olabilirsiniz veya internet bağlantısı sorunları yaşıyor olabilirsiniz. Bu nedenle, yerel DNS önbelleğini temizlemek, yerel DNS önbellek veritabanındaki tüm girişleri siler ve yeni girişlerle yeniden doldurmaya zorlar.

Linux’ta DNS Önbelleğini Nasıl Temizlenir

Varsayılan olarak, DNS önbelleğe alma Linux’ta işletim sistemi düzeyinde kurulmaz ve / veya etkinleştirilmez. Bunun yerine, web tarayıcıları gibi uygulamalar kendi dahili önbelleklerini kullanırlar. Eğer Linux dağıtımınız herhangi bir DNS önbellekleme hizmeti kullanıyorsa, bunları aşağıda açıklandığı gibi manuel olarak temizlemeniz gerekir.

Bu kısımda, Linux’ta en sık kullanılan DNS önbelleğe alma hizmetlerinde el ile temizlemenin nasıl yapılacağını okuyacaksınız.

Systemd-resolve DNS önbelleğe alma hizmeti

Systemd- resolve, yerel uygulamalar için sistem düzeyinde DNS önbelleğe alma hizmeti sağlayan bir systemd hizmetidir. Varsayılan olarak kurulan systemd paketinin bir parçasıdır. Bu hizmet, Fedora ve Ubuntu gibi çoğu modern Linux işletim sisteminde varsayılan olarak etkindir. Öncelikle, systemd çözümlü servisin aktif olup olmadığını veya komut kullanıp kullanmadığını kontrol edelim:

$ sudo systemctl is-active systemd-resolved.service

Sistem üzerinde bu hizmet etkinleştirimiş ise , çıktıda “active” görürsünüz . Eğer etkin değilse, “inactive” yazacaktır .
DNS önbelleğini temizlemek için aşağıdaki komutu çalıştırın:

$ sudo systemd-resolve --flush-caches

Yerel DNS önbelleğinin temizlenip temizlenmediğini doğrulamak için sistem çözümleme istatistiklerini kontrol edebilirsiniz:

$ sudo systemd-resolve --statistics

Nscd DNS önbellek hizmeti

Redhat tabanlı sistemlerin çoğu için tercih edilen önbellek hizmetidir. Linux sisteminiz nscd önbellek hizmetini kullanıyorsa, nscd hizmetini aşağıdaki gibi yeniden başlatarak yerel DNS önbellek hizmetini temizleyebilirsiniz:

$ sudo systemctl restart nscd.service

Bind / Named DNS önbellek hizmeti

Berkeley Internet Name Domain (kısaca BIND ), günümüzde kullanılan en popüler açık kaynaklı DNS sunucusudur. DNS sorgularını önbelleğe almak için BIND kullanıyorsanız, Linux’ta BIND önbellek hizmetini temizlemek için aşağıdaki komutu kullanın:

$ sudo systemctl restart named

Dnsmasq DNS önbellek hizmeti

Dnsmasq , PXE ve TFTP sunucusunu destekleyen bir DHCP ve DNS önbellek sunucusudur. Küçük ağları yönetmek için kaynak kısıtlı yönlendiriciler ve güvenlik duvarları için uygundur.

Önbellek hizmeti olarak dnsmasq kullanıyorsanız, DNS önbelleğini temizlemek için aşağıdaki komutu kullanabilirsiniz:

$ sudo systemctl restart dnsmasq

Yazının orijinalini buradan okuyabilirsiniz.

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.