DNS Önbelleğini Temizleme Yöntemleri
DNS, internet üzerindeki alan adlarını IP adreslerine çevirerek web sitelerine erişmemizi sağlar. Bilgisayar bu adresleri geçici olarak DNS önbelleğinde saklar. Ancak zamanla bu kayıtlar eskiyebilir veya hatalı hale gelebilir. DNS yapısında yer alan NS, CNAME, TXT, AAAA ve MX gibi kayıt türleri de bu sürecin temelini oluşturur.
DNS önbelleğini temizlemek, sistemin en güncel DNS verilerini yeniden almasına yardımcı olur. Bu işlem hem bağlantı sorunlarını giderir hem de güvenliği artırır. Şimdi, farklı işletim sistemlerinde bu işlemi nasıl gerçekleştirebileceğimize bakalım.
Linux’ta DNS Önbelleği Temizleme
Linux dağıtımlarında DNS önbelleğini yöneten servis, kullanılan yapılandırmaya bağlı olarak değişir. Ubuntu, Fedora ve Debian gibi sistemlerde bu görev genellikle systemd-resolved, dnsmasq veya nscd servisleri tarafından gerçekleştirilir.

systemd-resolved
Bu servis, modern Linux sürümlerinde varsayılan DNS yöneticisidir.
sudo systemd-resolve --flush-caches
veya yeni sürümlerde
sudo resolvectl flush-caches
Temizleme işlemini doğrulamak için
systemd-resolve --statistics
Bu komut, cache sayısının sıfırlandığını gösterir.
dnsmasq
dnsmasq genellikle küçük ağlarda kullanılır.
sudo systemctl restart dnsmasq
Bu komut, servis yeniden başlatıldığında tüm DNS kayıtlarını temizler.
nscd (Name Service Cache Daemon)
Daha eski dağıtımlarda DNS önbelleğini yöneten bu servis, aşağıdaki komutla sıfırlanabilir.
sudo systemctl restart nscd
Alternatif olarak
sudo /etc/init.d/nscd restart
Bu işlem, DNS, kullanıcı ve grup önbelleklerini tamamen temizler.
Google Chrome’da DNS Önbelleği Temizleme
Modern tarayıcılar, sistem DNS önbelleğinden bağımsız olarak kendi DNS kayıtlarını tutar.
Google Chrome’da bu önbelleği temizlemek, sayfalar yüklenmediğinde veya yönlendirme hatalarıyla karşılaşıldığında oldukça yararlıdır.
Tarayıcının adres çubuğuna aşağıdaki adresi yazalım.
chrome://net-internals/#dns

macOS’ta DNS Önbelleği Temizleme
macOS, sistem düzeyindeki DNS bilgilerini mDNSResponder servisi aracılığıyla yönetir.
Bu kayıtlar bozulduğunda Safari veya diğer tarayıcılarda sayfaların yüklenmemesi gibi hatalar görülebilir.
Terminal üzerinden DNS önbelleğini sıfırlamak, bu tür sorunları çözmenin en etkili yöntemidir.
Terminal Üzerinden Uygulama
Mac cihazınızda DNS önbelleğini temizlemek için öncelikle Cmd + Space tuşlarına basarak Spotlight Arama penceresini açalım. Arama alanına Terminal yazalım ve Enter tuşuna basarak terminali başlatalım. Açılan terminal penceresinde aşağıdaki komutu girelim.
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Komutu çalıştırdıktan sonra sistem sizden yönetici parolanızı isteyecektir. Parolamızı yazıp Enter tuşuna bastığımızda DNS önbelleği başarıyla temizlenecektir.
macOS Sürümüne Göre Alternatif Komutlar
macOS’un farklı sürümleri DNS servisini farklı biçimlerde çalıştırır. Bu nedenle sürümünüze uygun komutu kullanmanız gerekir.
Monterey, Big Sur, Catalina
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Mojave, High Sierra, Sierra ve Öncesi
sudo killall -HUP mDNSResponder
Sürümünüzü öğrenmek için sol üstteki Apple menüsüne tıklayın → “Bu Mac Hakkında” seçeneğini kullanın.
Windows DNS Önbelleğini Temizleme Yöntemi
Windows 10 ve 11, DNS verilerini önbelleğe alarak web sayfalarının açılışını hızlandırır.
Bu veriler zamanla hatalı veya eski olabilir ve bağlantı sorunlarına yol açabilir.
Önbelleği temizlemek, DNS_PROBE_FINISHED_NXDOMAIN hatası dahil birçok ağ sorununu çözmemize yardımcı olur.

Komut İstemi (CMD) Üzerinden
Windows işletim sisteminde DNS önbelleğini temizleme işlemini gerçekleştirmek için önce Başlat Menüsü’nü açalım ve arama kutusuna cmd yazalım. Gelen sonuçlar arasından Komut İstemi uygulamasına sağ tıklayalım ve Yönetici olarak çalıştır seçeneğini seçelim. Açılan komut penceresine aşağıdaki komutu yazalım.
ipconfig /flushdns
Komutu çalıştırdıktan sonra ekranda Successfully flushed the DNS Resolver Cache mesajı belirecektir. Bu mesaj, DNS önbelleği temizleme işleminin başarıyla tamamlandığını gösterir.

IP Serbest Bırakma ve Yenileme
DNS önbelleğini temizlemenin yanı sıra IP adresini yenilemek de bağlantı problemlerini gidermede etkili bir yöntemdir. Bu işlem, sistemin ağ yapılandırmasını yeniden oluşturmasını sağlar.
Komut İstemi’ni yönetici olarak açalım.
Mevcut IP adresini serbest bırakmak için.ipconfig /release
Yeni bir IP adresi almak için.ipconfig /renew
Son olarak DNS önbelleğini sıfırlamak için.ipconfig /flushdns
Bu üç komut, ağ bağlantısını yeniler ve olası DNS hatalarını giderir.
Sık Sorulan Sorular
DNS cache temizliğini otomatik hale nasıl getirilir?
Windows
Görev Zamanlayıcı’da aşağıdaki komutu haftalık olarak çalıştırabilirsiniz ipconfig /flushdns
Linux
crontab -e içine şu satırı ekleyin 0 3 * * * /usr/bin/systemd-resolve --flush-caches
macOS
launchd plist dosyasıyla mDNSResponder’a belirli aralıklarla HUP sinyali gönderebilirsiniz.
Bu yöntemlerle DNS önbelleği düzenli olarak temizlenir, dolayısıyla sistem sürekli güncel DNS yanıtlarıyla çalışır.
DNS önbelleği temizlendikten sonra test nasıl yapılır?
Windows’ta
ipconfig /displaydns
komutunu çalıştırarak önbelleğin boş olduğunu doğrulayabilirsiniz.
Linux’ta systemd-resolve --statistics çıktısında Cache entries 0 ibaresi görünmelidir.
Ayrıca dig example.com veya nslookup example.com komutlarını kullanarak sorgu süresini ölçebilir, temizlemeden önceki RTT (Round Trip Time) ile karşılaştırabilirsiniz.
DNS cache temizliği sonrası sistemde hangi süreçler etkilenir?
Windows’ta Dnscache servisi yeniden başlatılırken, macOS’ta mDNSResponder prosesi HUP sinyali ile resetlenir.
Linux sistemlerinde systemd-resolved, dnsmasq veya nscd servisleri yeniden başlatılır. Bu işlemler aktif ağ bağlantılarını kesmez; yalnızca DNS sorgu belleği boşaltılır.