DNS Önbelleği Temizleme
Bir web sitesi herkesin açabildiği halde sizin bilgisayarınızda açılmıyorsa, DNS ayarlarını değiştirdiğiniz halde hiçbir fark görmüyorsanız ya da bir site yeni sunucusuna taşındığı halde hala eski sürümünü görüyorsanız, sorunun kaynağı büyük ihtimalle DNS önbelleğidir. Neyse ki çözümü genellikle tek bir komut kadar basit.
Bu rehberde DNS önbelleğinin ne olduğunu, neden sorun çıkarabileceğini ve Windows, macOS, Linux, tarayıcılar, telefonlar ve modemlerde nasıl temizleneceğini adım adım anlatıyoruz.
DNS Önbelleği Nedir?
Tarayıcınıza bir site adı yazdığınızda, bilgisayarınızın önce o adın hangi IP adresine karşılık geldiğini öğrenmesi gerekir. Bu işi DNS sunucuları yapar. Ancak her site ziyaretinde DNS sunucusuna yeniden sormak zaman kaybı olacağı için, alınan cevaplar bir süre saklanır. Bu geçici hafızaya DNS önbelleği denir.
Örneğin ip-adres.com adresine ilk kez girdiğinizde bilgisayarınız DNS sunucusuna sorar ve cevabı önbelleğe kaydeder. Birkaç dakika sonra aynı siteye tekrar girdiğinizde, bilgisayar sormadan önbellekteki cevabı kullanır. Bu, sayfaların daha hızlı açılmasını sağlar.
Önbellek Birden Fazla Yerde Tutulur
DNS cevapları tek bir yerde değil, zincirin farklı halkalarında önbelleğe alınır:
- Tarayıcı önbelleği: Chrome, Edge ve Firefox kendi DNS önbelleklerini tutar.
- İşletim sistemi önbelleği: Windows, macOS ve Linux sistem genelinde bir önbellek tutar.
- Modem veya router önbelleği: Birçok ev modemi, evdeki cihazlara DNS cevabı verirken bunları kendi hafızasında da saklar.
- DNS sunucusu önbelleği: Servis sağlayıcınızın veya kullandığınız herkese açık DNS hizmetinin sunucuları da cevapları önbelleğe alır.
Bir DNS sorununu çözmek için hangi katmanda takılı kalmış bir kayıt olduğunu bilmek önemlidir. Kullanıcı olarak ilk üç katmanı temizleyebilirsiniz; dördüncüsü ise sunucunun belirlediği süre dolduğunda kendiliğinden yenilenir.
TTL: Önbellek Ne Kadar Süre Tutulur?
Her DNS kaydının bir TTL (Time To Live, yaşam süresi) değeri vardır. Bu değer, kaydın önbellekte kaç saniye tutulabileceğini belirler ve site sahibi tarafından ayarlanır. TTL birkaç dakikadan bir güne kadar değişebilir. Süre dolduğunda kayıt önbellekten silinir ve bir sonraki ziyarette DNS sunucusuna yeniden sorulur.
DNS Önbelleği Neden Sorun Çıkarır?
Önbellek çoğu zaman sessizce işini yapar, ancak bazı durumlarda eski veya hatalı bilgiler sorunlara yol açar:
- Site sunucu değiştirdiğinde: Bir web sitesi yeni bir hosting firmasına taşındığında IP adresi değişir. Önbellekte eski adres kaldıysa, siz eski sunucuya bağlanmaya devam edersiniz. Site ya hiç açılmaz ya da eski sürümü görünür.
- DNS ayarlarını değiştirdiğinizde: Yeni bir DNS hizmetine geçtiğinizde, önbellekte eski hizmetten gelen cevaplar kalmaya devam eder. Değişikliğin hemen etkisini görmek için önbelleği temizlemek gerekir.
- Hosts dosyasını düzenlediğinizde: [Hosts dosyası] ile yaptığınız eşleştirmelerin hemen geçerli olması için önbelleğin temizlenmesi gerekebilir.
- Geçici bir hata önbelleğe alındığında: Bir site kısa süreliğine erişilemez olduğunda, “bu alan adı bulunamadı” cevabı da önbelleğe alınabilir. Site düzeldiği halde siz hata almaya devam edebilirsiniz.
- DNS zehirlenmesi şüphesinde: Nadiren de olsa, zararlı yazılımlar veya saldırılar önbelleğe sahte kayıtlar ekleyebilir. Önbelleği temizlemek bu kayıtları siler.
Tarayıcıda DNS_PROBE_FINISHED_NXDOMAIN, ERR_NAME_NOT_RESOLVED veya “Sunucu bulunamadı” gibi hatalar görüyorsanız, önbellek temizleme denenecek ilk adımlardan biridir.
Windows’ta DNS Önbelleği Temizleme
Windows 11, 10, 8 ve 7’de adımlar aynıdır.
- Başlat menüsüne cmd yazın.
- Komut İstemi‘ne sağ tıklayıp Yönetici olarak çalıştır‘ı seçin.
- Şu komutu yazıp Enter’a basın:
ipconfig /flushdns
“DNS Çözümleyici Önbelleği başarıyla temizlendi” mesajını gördüğünüzde işlem tamamdır.
PowerShell tercih ediyorsanız aynı işi şu komut yapar:
Clear-DnsClientCache
Önbellekte Neler Var?
Temizlemeden önce önbellekteki kayıtları görmek isterseniz:
ipconfig /displaydns
Bu komut, bilgisayarınızın o an hafızasında tuttuğu tüm alan adı kayıtlarını ve kalan TTL sürelerini listeler.
release ve renew Komutları Ne İşe Yarar?
Eski rehberlerde ipconfig /flushdns komutunun ardından sık sık şu iki komut da önerilir:
ipconfig /release
ipconfig /renew
Bu komutlar DNS önbelleğiyle ilgili değildir. release, bilgisayarın modemden aldığı yerel IP adresini bırakır; renew ise yeni bir yerel IP adresi ister. Genel IP adresinizi değiştirmez. Bağlantı sorunu yaşıyorsanız işe yarayabilir, ancak yalnızca DNS kaynaklı bir sorun için gerekli değildir. release komutunu çalıştırdığınız anda internet bağlantınızın kısa bir süre kesileceğini de unutmayın.
Daha Derin Ağ Sıfırlaması
Önbellek temizliği ve IP yenileme sorunu çözmediyse, Windows’un ağ bileşenlerini sıfırlamayı deneyebilirsiniz. Yönetici olarak açtığınız Komut İstemi’nde:
netsh winsock reset
netsh int ip reset
komutlarını çalıştırıp bilgisayarı yeniden başlatın. Bu işlem ağ ayarlarını varsayılana döndürür; elle yaptığınız DNS ve IP ayarları silinebilir. Windows 10 ve 11’de aynı işlemi Ayarlar > Ağ ve İnternet > Gelişmiş ağ ayarları > Ağ sıfırlama yolundan da yapabilirsiniz.
macOS’ta DNS Önbelleği Temizleme
- Terminal‘i açın (Spotlight’a “Terminal” yazabilirsiniz).
- Şu komutu çalıştırın:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- Yönetici parolanızı girin. Parola yazılırken ekranda görünmez.
Komut herhangi bir çıktı vermez; hata almadıysanız önbellek temizlenmiştir. Bu komut güncel macOS sürümlerinin tamamında çalışır. Mac’te DNS ayarlarını değiştirme adımları için Mac DNS değiştirme rehberimize göz atabilirsiniz.
Linux’ta DNS Önbelleği Temizleme
Ubuntu ve systemd-resolved kullanan diğer dağıtımlarda:
resolvectl flush-caches
Eski sürümlerde bu komut sudo systemd-resolve --flush-caches şeklindedir. Önbelleğin temizlendiğini doğrulamak için:
resolvectl statistics
komutunun çıktısındaki “Current Cache Size” değerinin sıfırlandığını görebilirsiniz.
Sisteminiz farklı bir önbellek hizmeti kullanıyorsa, o hizmeti yeniden başlatmanız gerekir. Örneğin dnsmasq kullanıyorsanız sudo systemctl restart dnsmasq, nscd kullanıyorsanız sudo systemctl restart nscd komutları işinizi görür. Ubuntu’da DNS ayarları için [Ubuntu DNS değiştirme] rehberimize göz atabilirsiniz.
Tarayıcıda DNS Önbelleği Temizleme
İşletim sisteminin önbelleğini temizlediğiniz halde sorun devam ediyorsa, tarayıcının kendi önbelleği hâlâ eski kaydı tutuyor olabilir.
Chrome:
- Adres çubuğuna
chrome://net-internals/#dnsyazın. - Clear host cache düğmesine tıklayın.
- Ardından
chrome://net-internals/#socketssayfasına gidip Flush socket pools düğmesine tıklayın. Bu adım, açık kalan eski bağlantıları kapatır.
Microsoft Edge:
Aynı adımları edge://net-internals/#dns ve edge://net-internals/#sockets adresleriyle uygulayın.
Firefox:
- Adres çubuğuna
about:networking#dnsyazın. - Clear DNS Cache düğmesine tıklayın.
En basit yöntem ise tarayıcıyı tamamen kapatıp yeniden açmaktır; çoğu durumda bu da tarayıcının DNS önbelleğini sıfırlar.
Telefonlarda DNS Önbelleği Temizleme
Android ve iPhone’da DNS önbelleğini doğrudan temizleyen bir komut veya ayar bulunmaz. Ancak şu yöntemler aynı sonucu verir:
- Uçak modunu açıp kapatmak: Ağ bağlantıları sıfırlanır ve sistem DNS önbelleği temizlenir.
- Telefonu yeniden başlatmak: Tüm önbellekler sıfırlanır.
- Android’de Chrome kullanıyorsanız: Bilgisayardaki gibi
chrome://net-internals/#dnsadresinden tarayıcı önbelleğini temizleyebilirsiniz.
Modem Önbelleğini Temizleme
Sorun evdeki tüm cihazlarda aynı anda yaşanıyorsa, eski kayıt modemin önbelleğinde olabilir. Modemi kapatıp 30 saniye bekledikten sonra yeniden açmak bu önbelleği temizler. Bazı modemlerin yönetim panelinde DNS önbelleğini doğrudan temizleyen bir seçenek de bulunur.
Önbellek Temizlemek Ne Zaman İşe Yaramaz?
DNS önbelleğini temizlemek her bağlantı sorununun çözümü değildir. Şu durumlarda başka bir nedene bakmanız gerekir:
- Site gerçekten çalışmıyorsa: Başka bir cihazdan veya mobil veriden de açılmıyorsa sorun sitenin kendisindedir.
- Site yeni taşındıysa: Siz önbelleğinizi temizleseniz bile, kullandığınız DNS sunucusu eski kaydı TTL süresi dolana kadar tutmaya devam edebilir. Bu durumda beklemek veya geçici olarak farklı bir DNS hizmeti kullanmak gerekir.
- Erişim engeli varsa: Günümüzde erişim engelleri büyük ölçüde DNS değil, bağlantı ve IP düzeyinde uygulandığı için önbellek temizliği bu tür engelleri etkilemez.
Sık Sorulan Sorular
DNS önbelleğini temizlemek zararlı mı?
Hayır. Önbellek geçici bir hafızadır ve temizlendiğinde ilk ziyaretlerde çok kısa bir gecikme dışında hiçbir etkisi olmaz.
DNS önbelleğini temizlemek IP adresimi değiştirir mi?
Hayır. DNS önbelleği yalnızca alan adı kayıtlarını tutar. Genel IP adresinizi değiştirmek için IP adresi değiştirme rehberimize göz atabilirsiniz.
Ne sıklıkla DNS önbelleği temizlemeliyim?
Düzenli olarak temizlemenize gerek yoktur. Yalnızca bir site açılmadığında, DNS ayarlarınızı değiştirdiğinizde veya hosts dosyasını düzenlediğinizde temizlemeniz yeterlidir.
Önbelleği temizledim ama site hala açılmıyor, ne yapmalıyım?
Tarayıcı önbelleğini de temizleyin, modemi yeniden başlatın ve siteyi farklı bir cihazdan veya bağlantıdan açmayı deneyin. Sorun tüm cihazlarda sürüyorsa, sitenin kendisinde bir sorun olabilir.
Yönetici yetkisi olmadan önbellek temizlenebilir mi?
Windows’ta Komut İstemi’ni yönetici olarak çalıştırmanız önerilir; macOS ve Linux’ta ise komutlar sudo ile yönetici yetkisi ister. Yetkiniz yoksa bilgisayarı yeniden başlatmak da önbelleği temizler.