Windows, Linux ve Android'de DNS Önbelleği Nasıl Temizlenir?

DNS önbelleğini temizleme yöntemi, cihazın kullandığı işletim sistemine ve cihazdaki DNS çözümleme hizmetine göre değişir. Windows'ta DNS istemci önbelleği ipconfig /flushdns komutuyla temizlenir. systemd-resolved kullanan Linux sistemlerinde aynı işlem resolvectl flush-caches komutuyla yapılır.
Android'de ise son kullanıcılar için bütün sürümlerde geçerli, resmi ve evrensel bir DNS temizleme komutu bulunmaz. Ağ bağlantısını yeniden kurmak ve sorun devam ederse cihazı yeniden başlatmak, sistemin DNS çözümleme hizmetini yenilemek için kullanılabilir.
Windows ve Linux için bu önbellek temizleme komutları yalnız ilgili yerel DNS hizmetini etkiler; uygulamaların ayrı tuttuğu önbellekleri temizlemez. Android cihazını yeniden başlatmak ise sistemle birlikte uygulamaları da kapatır ve bellekteki geçici kayıtlarını sıfırlayabilir. Bu yöntemlerin hiçbiri alan adının yetkili DNS kayıtlarını veya internet servis sağlayıcısının recursive resolver (özyinelemeli DNS çözümleyicisi) hizmetindeki önbelleği değiştirmez.
DNS önbelleğini temizlemek internet hızını kalıcı olarak artıran bir bakım işlemi değildir. Yeni DNS kaydı yerine eski adres veya daha önce kaydedilmiş bir “bulunamadı” yanıtı kullanılıyorsa işe yarayabilir. Temizlenen kayda tekrar ihtiyaç duyulduğunda yeni sorgu gerektiği için ilk çözümleme daha uzun sürebilir.
Eski DNS Sonucunun Hangi Önbellekten Geldiğini Bulma
Bir alan adı eski IP adresine gidiyorsa bunun nedeni her zaman işletim sisteminin DNS önbelleği değildir. Sonuç, tarayıcı, trafiği uzak ağa taşıyan VPN uygulaması, güvenlik yazılımı, yerel DNS hizmeti veya ağın kullandığı recursive resolver hizmeti tarafından da saklanmış olabilir.
Sorun bütün uygulamalarda görülüyorsa işletim sisteminin DNS çözümleme hizmetini kontrol etmek mantıklıdır. Yalnız tek bir tarayıcıda veya uygulamada görülüyorsa önce o uygulamayı tamamen kapatıp yeniden açmak gerekir. Uygulama kendi DNS istemcisini veya sorguları HTTPS üzerinden şifreli taşıyan DoH (DNS over HTTPS) bağlantısını kullanıyorsa sistem önbelleğini temizlemek sonucu değiştirmeyebilir.
Başka bir cihaz aynı ağda doğru sonucu alıyor, sorunlu cihaz ise eski sonucu kullanıyorsa yerel önbellek ihtimali güçlenir. Aynı eski sonuç bütün cihazlarda görülüyorsa yönlendiricinin, özel DNS sunucusunun veya ağın sorguları gönderdiği recursive resolver hizmetinin önbelleğini de kontrol etmek gerekir.
Windows'ta DNS Önbelleğini Temizleme
Windows, bulunan kayıtların yanında adın veya istenen kayıt türünün bulunmadığını belirten yanıtları da DNS istemci önbelleğinde tutabilir. Microsoft tarafından belgelenen ipconfig seçenekleri, bu önbelleğin görüntülenmesini ve sıfırlanmasını sağlar.
ipconfig ile DNS İstemci Önbelleğini Temizleme
- Windows Terminal, Komut İstemi veya PowerShell'i yönetici yetkisiyle açın.
- Mevcut kayıtları görmek gerekiyorsa ipconfig /displaydns komutunu çalıştırın.
- Önbelleği temizlemek için ipconfig /flushdns komutunu çalıştırın.
- Başarılı işlem mesajını gördükten sonra sorun yaşanan uygulamayı kapatıp yeniden açın.
- Alan adını yeniden açın ve ilgili kaydın ipconfig /displaydns çıktısında nasıl göründüğünü kontrol edin.
Komut yetki hatası verirse terminal yönetici olarak açılmamış olabilir. Kurumsal bilgisayarlarda güvenlik politikaları veya sınırlı kullanıcı hesabı nedeniyle işlemi sistem yöneticisinin yapması gerekebilir.
Windows'ta Yeni DNS Yanıtını Kontrol Etme
Temizlemeden sonra ipconfig /displaydns yeniden çalıştırılabilir. Çıktının tamamen boş olması zorunlu değildir; Windows, alan adlarını IP adresleriyle elle eşleştiren Hosts dosyasındaki kayıtları gösterebilir; çalışan uygulamalar da yeni sorgularla önbelleği hemen yeniden doldurabilir.
Sorunlu adın önbellekte görünen adresini güncel ve beklenen kayıtla karşılaştırın. ipconfig /displaydns, tarayıcının gerçekten hangi sunucuya bağlandığını tek başına göstermez. İşletim sistemi doğru kaydı gösterirken yalnız bir tarayıcı eski sonucu kullanıyorsa tarayıcının kendi DNS önbelleğini, açık bağlantılarını ve güvenli DNS ayarını da inceleyin.
Linux'ta DNS Önbelleğini Temizleme
Linux dağıtımlarında bütün sistemlerde kullanılan tek bir DNS önbellek hizmeti yoktur. DNS sorgularını yöneten systemd-resolved, DNS sunucusu olarak çalışabilen dnsmasq veya BIND, ad çözümleme sonuçlarını önbellekte tutabilen nscd gibi farklı bileşenler kullanılabilir. Bu nedenle rastgele bir hizmeti yeniden başlatmadan önce sorguları hangi bileşenin yönettiğini belirleyin.
systemd-resolved Kullanılıyorsa
resolvectl status komutu, systemd-resolved hizmetinin genel ve bağlantıya özel DNS ayarlarını gösterir. Çıktı alınması hizmete erişildiğini gösterir; bütün uygulamaların bu hizmeti kullandığını kanıtlamaz. Sorunlu uygulamanın DNS sorguları bu hizmetten geçiyorsa hizmetin yerel DNS kayıt önbelleği resolvectl flush-caches komutuyla temizlenir.
Komut yetki hatası verirse sudo resolvectl flush-caches biçiminde yönetici yetkisiyle çalıştırılabilir. Komut ayrıntılı çıktı vermeyebilir; herhangi bir hata göstermeden tamamlanması normaldir.
Farklı Bir DNS Çözümleme Hizmeti Kullanılıyorsa
resolvectl komutunun bulunmaması veya systemd-resolved hizmetinin etkin olmaması, sistemde DNS önbelleği bulunmadığı anlamına gelmez. Dağıtım, dnsmasq, nscd, BIND tabanlı bir önbellek veya ağ yönetim yazılımının sağladığı başka bir bileşeni kullanabilir.
Bu durumda önce etkin hizmeti belirleyin, ardından yalnız o hizmetin resmi belgelerinde verilen temizleme veya yeniden başlatma yöntemini kullanın. Farklı hizmetler için verilen komutları art arda çalıştırmayın. Yanlış hizmeti yeniden başlatmak DNS sorununun kaynağını gidermez; seçilen hizmete bağlı olarak ağ bağlantıları veya başka hizmetler de etkilenebilir.
/etc/resolv.conf dosyasında bir DNS sunucusu adresinin yazması da tek başına önbelleği hangi bileşenin tuttuğunu göstermez. Dosyada yerel bir adres görülmesi, sorguların cihazdaki bir ara DNS hizmetine iletildiğini gösterebilir; ancak hangi hizmetin çalıştığını ayrıca kontrol etmek gerekir.
Linux'ta Yeni DNS Yanıtını Kontrol Etme
systemd-resolved kullanılan bir sistemde resolvectl statistics komutu önbellek ve sorgu istatistiklerini gösterebilir. Yeni sorgular önbelleği yeniden doldurabileceği için bu kontrolü temizlemenin hemen ardından yapın. Önbelleği boşaltmak geçmiş sorgu sayaçlarının da sıfırlanması demek değildir.
Alan adını systemd-resolved üzerinden yeniden sorgulamak için resolvectl query example.com komutundaki example.com yerine incelemek istediğiniz tam alan adını yazın. Dönen adres beklenen kayıtla eşleşmiyorsa aynı eski yanıt üst DNS sunucusundan yeniden alınmış olabilir. Kullanılan DNS sunucusunu, yerel Hosts kayıtlarını ve alan adının güncel DNS verisini karşılaştırın; bu komut uygulamanın farklı bir DNS yöntemi kullanmasını dışlamaz.
Android'de DNS Önbelleğini Yenileme
Android DNS çözümleyicisi sistem genelindeki ad çözümleme sürecinde görev alır ve sorgu sonuçlarını önbelleğe alabilir. Ancak Android sürümleri, üretici arayüzleri ve ağ bileşenleri farklı olduğu için son kullanıcıların uygulayabileceği evrensel bir DNS önbelleği temizleme komutu yoktur.
Ağ Bağlantısını Yeniden Kurma
Önce kullandığınız Wi-Fi veya mobil veri bağlantısını kapatıp yeniden açabilirsiniz. Diğer bir seçenek de uçak modunu kısa süre açıp kapatmaktır; ancak bazı cihazlar uçak modunda Wi-Fi bağlantısını açık tutabilir. Wi-Fi kullanıyorsanız ilgili bağlantının gerçekten kesilip yeniden kurulduğunu kontrol edin. Ağ bağlantısı yeniden kurulduğunda cihaz, bağlantıya atanan DNS sunucusu bilgilerini yeniden alabilir ve bu bağlantıyla ilişkili çözümleme durumunu yenileyebilir.
Ağ bağlantısını yeniden kurmak, bütün sistem ve uygulama önbelleklerinin kesin olarak silindiğini garanti etmez. Bu adım ağ veya DNS sunucusu ayarı değiştikten sonra kalan eski bağlantı durumlarını giderebilir. Bağlantıyı kesmek devam eden görüşme, indirme veya VPN oturumunu da etkileyebilir; işlemi bunları durdurabileceğiniz bir zamanda yapın.
Cihazı Yeniden Başlatma
Ağ bağlantısını yenilemek sorunu çözmüyorsa cihazı yeniden başlatabilirsiniz. Cihaz yeniden açıldığında DNS çözümleyicisi dahil sistem hizmetleri de yeniden başlar ve bellekteki geçici durumlar sıfırlanır.
Bu yöntem aktif indirme, görüşme, VPN oturumu ve diğer bağlantıları keser. Yeniden başlatmadan önce açık işlemlerinizi kaydedin. Cihaz açıldığında ilgili ağa yeniden bağlanıp bağlanmadığını kontrol edin.
Uygulama Önbelleğini Sistem DNS Önbelleğinden Ayırma
Eski DNS sonucu yalnız bir uygulamada görülüyorsa uygulamayı tamamen kapatıp yeniden açmak gerekir. Uygulama kendi DNS çözümleyicisini, bağlantı havuzunu veya güvenli DNS mekanizmasını kullanıyorsa Android sistem çözümleyicisindeki değişiklik hemen etkili olmayabilir.
Uygulama verilerini ilk adımda silmeyin; bu işlem oturumları, ayarları ve yerel verileri de kaldırabilir. Önce uygulamayı durdurmak, yeniden açmak ve varsa kendi ağ veya güvenli DNS ayarlarını kontrol etmek daha sınırlı bir müdahaledir. Menü adları Android sürümüne ve cihaz üreticisine göre değişebileceği için sabit bir menü yolu bütün cihazlar için geçerli değildir.
Yeni DNS Yanıtını Beklenen Kayıtla Karşılaştırma
Temizleme komutunun başarılı olması, alan adının mutlaka beklenen IP adresini döndüreceği anlamına gelmez. Alan adını yönetiyorsanız yetkili DNS hizmetindeki güncel kaydı belirleyin; yönetmiyorsanız doğrudan yetkili sunucudan alınan yanıtı veya alan adı yöneticisinin verdiği bilgiyi esas alın. Sorunlu cihazdaki sonucu aynı tam ad ve kayıt türü için karşılaştırın.
Farklı ağlardan farklı adresler alınması her zaman eski önbellek belirtisi değildir. İç ve dış ağlara ayrı kayıt sunan DNS yapıları veya konuma göre adres seçen hizmetler farklı fakat beklenen yanıtlar verebilir. Hangi DNS sunucusunun, hangi ağdan yapılan sorguya yanıt verdiğini not edin.
Android, son kullanıcıya sistem DNS önbelleğinin tam içeriğini gösteren standart bir arayüz sunmaz. Uygulamayı yeniden açıp bağlantıyı denemek sorunun sürüp sürmediğini gösterebilir; ancak tek başına hangi DNS yanıtının kullanıldığını kanıtlamaz. Ayrıntılı teşhis için uygulamanın bağlantı tanılamasına veya ağ yöneticisinin sorgu incelemesine ihtiyaç duyulabilir.
Eski DNS Yanıtı Devam Ederse Olası Nedenler
- Tarayıcı veya uygulama önbelleği: İşletim sistemi önbelleğinden bağımsız eski bağlantı veya DNS sonucu tutulabilir.
- VPN ve güvenli DNS: VPN istemcisi, tarayıcı veya güvenlik yazılımı farklı bir DNS sunucusuna sorgu gönderebilir.
- Hosts dosyası: Yerel bir hosts kaydı, DNS sorgusu yapılmadan belirli bir IP adresinin kullanılmasına neden olabilir.
- Ağın kullandığı recursive resolver hizmeti: Modem, kurum ağı, internet servis sağlayıcısı veya özel DNS hizmeti eski sonucu önbelleğinde tutabilir.
- Yanlış ya da henüz güncellenmemiş kayıt: Yerel önbellek temiz olsa bile sorgulanan DNS sunucusu eski veya hatalı bir kayıt döndürebilir.
- Bağlantı havuzu: Açık uygulama mevcut sunucu bağlantısını kullanmaya devam edebilir; uygulamayı yeniden başlatmak gerekebilir.







