15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
10.10.2024

Windows, macOS ve Chrome’da DNS Önbelleği Nasıl Temizlenir

DNS önbelleğinizi temizlemek, işletim sisteminizi veya tarayıcınızı yerel olarak depolanan DNS kayıtlarını atmaya ve yetkili ad sunucularından güncel eşlemeleri almaya zorlar. Bu tek işlem, ERR_NAME_NOT_RESOLVED hatalarından sunucu geçişinin ardından geride kalan eski IP kayıtlarına kadar şaşırtıcı derecede geniş bir bağlantı hatası yelpazesini çözer.

DNS önbelleği nedir? İşletim sisteminiz tarafından (ve bazı tarayıcılar tarafından ayrı olarak) tutulan, önceki DNS aramalarının sonuçlarını depolayan geçici, yerel bir veritabanıdır. example.com gibi bir ana bilgisayar adını her çözümlediğinizde, elde edilen IP adresi bir TTL (Time To Live) sayacıyla birlikte depolanır. Bu TTL süresi dolana kadar sisteminiz yukarı akış çözümleyiciyi tamamen atlar ve önbelleğe alınmış kaydı kullanır; bu hızlıdır, ancak söz konusu kayıt eskidiğinde, zehirlendiğinde veya kullanımdan kaldırılmış bir sunucuya işaret ettiğinde sorun haline gelir.

DNS Önbelleği Neden Sorun Haline Gelir?

Hata modlarını anlamak, temizlemenin neden bazen tek doğru çözüm olduğunu açıkça ortaya koymaktadır:

  • Sunucu geçişi veya IP değişikliği: Bir site yeni altyapıya taşındığında, DNS kayıtları yeni bir A veya AAAA kaydıyla güncellenir. Yerel önbelleğiniz hâlâ eski IP’yi tutuyorsa, her istek yanlış ana bilgisayara gider; bu genellikle bağlantı zaman aşımına veya TLS sertifikası uyumsuzluğu hatasına yol açar.
  • DNS önbelleği zehirlenmesi: Kötü amaçlı yazılımlar ve ortadaki adam saldırıları, yerel önbelleğinize sahte kayıtlar enjekte ederek trafiği sessizce saldırgan kontrolündeki sunuculara yönlendirebilir. Önbelleği temizlemek, zehirlenmiş girişleri anında kaldırır.
  • Negatif önbellekleme: Başarısız bir DNS araması (NXDOMAIN yanıtı) da önbelleğe alınır. Bir alan adı geçici olarak erişilemez durumdaysa ve negatif sonuç önbelleğe alınmışsa, sisteminiz negatif TTL süresi dolana kadar onu tekrar çözümlemeyi reddeder; alan adı yeniden çevrimiçi olsa bile.
  • Split-horizon DNS çakışmaları: Yerel /etc/hosts geçersiz kılmaları veya VPN tarafından atanan çözümleyicilerle çalışan geliştiriciler, amaçlanan yönlendirmelerini geçersiz kılan eski önbellek girişleriyle sıklıkla karşılaşır.
  • VPN bağlantısı kesildikten sonra kalan kalıntılar: Bir VPN oturumundan kalan DNS girişleri, bağlantı kesildikten sonra da devam edebilir ve yerel ağda DNS sızıntılarına veya yönlendirme hatalarına neden olabilir.

Windows’ta DNS Önbelleği Nasıl Temizlenir

Prosedür Windows 7, 8, 10 ve 11’de aynıdır. Tek anlamlı fark, Komut İstemi’ni mi yoksa PowerShell’i mi tercih ettiğinizdir.

Yöntem 1: Komut İstemi (ipconfig /flushdns)

  1. Win + R tuşlarına basın, cmd yazın, ardından Komut İstemi’ni yönetici ayrıcalıklarıyla başlatmak için Ctrl + Shift + Enter tuşuna basın. Alternatif olarak, Başlat menüsünde Komut İstemi‘ni arayın, üzerine sağ tıklayın ve Yönetici olarak çalıştır‘ı seçin.
  2. Temizleme komutunu çalıştırın:
ipconfig /flushdns
  1. Başarılı bir temizleme şunu döndürür:
Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

Bunun yerine bir hata görürseniz, istemi yükseltilmiş ayrıcalıklarla açtığınızdan emin olun. Standart kullanıcı oturumlarının DNS İstemci hizmeti önbelleğine yazma erişimi yoktur.

Yöntem 2: Windows PowerShell

PowerShell, eski ipconfig arayüzü üzerinden yönlendirmek yerine doğrudan DNS İstemci hizmetiyle etkileşime giren özel bir cmdlet sunar.

  1. Win + X tuşlarına basın ve Windows PowerShell (Yönetici)‘yi veya Windows 11’de Terminal (Yönetici)‘yi seçin.
  2. Çalıştırın:
Clear-DnsClientCache

Başarı durumunda herhangi bir onay çıktısı olmaz; komut sessizce döner. Önbelleğin boş olduğunu doğrulamak için hemen ardından Get-DnsClientCache komutunu çalıştırın; hiçbir sonuç döndürmemesi gerekir.

Yöntem 3: DNS İstemci Hizmetini Yeniden Başlatma

Yukarıdaki komutların başarısız olduğu nadir durumlarda (genellikle bozuk bir DNS İstemci hizmeti durumu nedeniyle), hizmetin kendisini yeniden başlatmak yan etki olarak önbelleği temizler:

Stop-Service -Name Dnscache -Force
Start-Service -Name Dnscache

Önemli uyarı: Bazı Windows yapılandırmalarında DNS İstemci hizmeti, diğer ağ hizmetleri için bağımlılık olarak ayarlanmıştır. Hizmeti durdurmak ağ bağlantısını kısa süreliğine kesebilir. Bunu bir bakım penceresi olmadan üretim sunucusunda çalıştırmayın.

Mevcut DNS Önbelleğini Görüntüleme (Windows)

Temizlemeden önce, eski bir kaydın gerçekten sorununuzun nedeni olup olmadığını doğrulamak için önbelleğe alınanları incelemek genellikle yararlıdır:

Get-DnsClientCache

Bu komut, tüm önbelleğe alınmış girişleri TTL’leri, kayıt türleri ve çözümlenen verileriyle birlikte çıktılar; körü körüne temizlemekten çok daha fazla tanısal değer sunar.

macOS’ta DNS Önbelleği Nasıl Temizlenir

macOS, tüm modern sürümlerde DNS hizmet arka plan programı olarak mDNSResponder kullanır. Temizleme mekanizması macOS Sierra’dan bu yana tutarlı kalmıştır, ancak eski sürümler farklı komutlar gerektiriyordu.

macOS Ventura, Monterey, Big Sur, Catalina, Mojave, High Sierra, Sierra (10.12 ve sonrası)

  1. Applications > Utilities > Terminal aracılığıyla Terminal‘i açın veya Cmd + Space tuşlarına basıp Terminal yazın.
  2. Çalıştırın:
sudo killall -HUP mDNSResponder
  1. İstendiğinde yönetici parolanızı girin. Parola alanı karakterleri yansıtmaz; bu beklenen bir davranıştır. Onaylamak için Enter tuşuna basın.

Başarı mesajı yoktur. -HUP sinyali, mDNSResponder‘ya tam yeniden başlatma olmaksızın yapılandırmasını yeniden yüklemesini ve önbelleğini temizlemesini bildirir.

macOS El Capitan ve Yosemite (10.11 / 10.10)

El Capitan, yukarıdakiyle aynı mDNSResponder komutunu kullanır. Yosemite, mDNSResponder‘ı kısa süreliğine discoveryd ile değiştirdi ve farklı bir yaklaşım gerektirdi:

sudo discoveryutil udnsflushcaches

macOS Mavericks, Mountain Lion ve Lion (10.9 ve öncesi)

sudo killall -HUP mDNSResponder

macOS’ta Ek DNS Önbellek Katmanlarını Temizleme

macOS birden fazla DNS önbelleği tutar. Özellikle split-DNS veya mDNS sorunlarını ayıklarken kapsamlı bir temizleme için üç komutu sırayla çalıştırın:

sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcache

dscacheutil -flushcache, sistem düzeyindeki işlemler tarafından kullanılan ek ad çözümleme verilerini depolayan Dizin Hizmetleri önbelleğini temizler. Bu komutu atlamak, mDNSResponder‘ın tek başına dokunmadığı kalıntı girişler bırakabilir.

Google Chrome’da DNS Önbelleği Nasıl Temizlenir

Chrome, işletim sistemi düzeyindeki çözümleyiciden tamamen bağımsız çalışan kendi dahili DNS önbelleğini tutar. Bu kasıtlı bir mimari karardır; Chrome’un ağ yığını (Chromium’un net:: kütüphanesi üzerine inşa edilmiştir), ziyaret edeceğinizi tahmin ettiği alan adlarını önceden çözümler ve bu sonuçları işlem içinde önbelleğe alır. Bu, işletim sistemi DNS önbelleğini temizleyebileceğiniz, ancak Chrome’un kendi deposundaki eski kayıtları sunmaya devam edeceği anlamına gelir.

Adım Adım: Chrome’un DNS Önbelleğini Temizleme

  1. Google Chrome’u açın.
  2. Adres çubuğuna şuraya gidin:
chrome://net-internals/#dns
  1. Clear host cache düğmesine tıklayın. Bu, Chrome’un işlem içi önbelleğinde tutulan tüm DNS girişlerini anında temizler.

Chrome’un Soket Havuzlarını Sıfırlama

DNS önbelleği girişleri ve açık TCP/TLS bağlantıları ayrı konulardır. DNS önbelleğini temizlediyseniz ancak Chrome hâlâ eski bir bağlantı üzerinden trafik yönlendiriyorsa (örneğin, sunucu IP değişikliğinin ardından), soket havuzunu da temizlemeniz gerekir:

  1. Şuraya gidin:
chrome://net-internals/#sockets
  1. Flush socket pools‘a tıklayın.

Bu, tüm boşta ve etkin keep-alive bağlantılarını kapatır ve Chrome’u yeni çözümlenen IP adreslerini kullanarak yeni TCP bağlantıları kurmaya zorlar.

Temizlemenin Ardından Chrome’u Yeniden Başlatma

Tüm Chrome pencerelerini tamamen kapatın ve tarayıcıyı yeniden açın. macOS’ta Chrome’un Dock aracılığıyla arka planda çalışmaya devam etmediğinden emin olun; simgeye sağ tıklayın ve yalnızca pencereyi kapatmak yerine Çıkış‘ı seçin.

DNS Önbelleği Karşılaştırması: İşletim Sistemi Düzeyi ve Tarayıcı Düzeyi

Özellikİşletim Sistemi DNS ÖnbelleğiChrome DNS Önbelleği
KapsamSistem genelinde tüm uygulamalarYalnızca Chrome tarayıcısı
Temizleme komutu (Windows)`ipconfig /flushdns``chrome://net-internals/#dns`
Temizleme komutu (macOS)`sudo killall -HUP mDNSResponder``chrome://net-internals/#dns`
İşletim sistemi TTL ayarlarına uyarEvetKısmen (kendi TTL mantığını kullanır)
VPN DNS değişikliklerinden etkilenirEvetHemen değil
Tanı araçlarıyla görülebilir`Get-DnsClientCache`, `dscacheutil -cachedump`Yalnızca Chrome dahili araçları aracılığıyla
Sistem yeniden başlatıldığında temizlenirEvetEvet (işlem içi bellek)
Tarayıcı yeniden başlatıldığında temizlenirHayırEvet

Bir Bakışta Platforma Özgü Temizleme Komutları

Platform / SürümKomut
Windows (tüm sürümler)`ipconfig /flushdns`
Windows PowerShell`Clear-DnsClientCache`
macOS 10.12 ve sonrası`sudo killall -HUP mDNSResponder`
macOS Yosemite (10.10)`sudo discoveryutil udnsflushcaches`
macOS (tam temizleme)`sudo killall -HUP mDNSResponder && sudo dscacheutil -flushcache`
Google Chrome (tüm işletim sistemleri)`chrome://net-internals/#dns` > Clear host cache
Linux (systemd-resolved)`sudo systemd-resolve –flush-caches`
Linux (nscd)`sudo service nscd restart`

Linux burada yer almaktadır çünkü VPS Hosting ortamlarını yöneten yöneticiler, DNS değişikliklerini yayarken hem yerel iş istasyonlarında hem de uzak sunucuda aynı anda DNS önbelleklerini temizlemeleri gerekir.

DNS Önbelleği Temizlemenin Çözdüğü Yaygın Hatalar

  • ERR_NAME_NOT_RESOLVED — Chrome ana bilgisayar adını çözümleyemiyor. Neredeyse her zaman bir DNS sorunudur; hem işletim sistemi hem de Chrome önbelleklerini temizleyin.
  • DNS_PROBE_FINISHED_NXDOMAIN — Çözümleyici var olmayan bir alan adı yanıtı döndürdü. Eski bir negatif önbellek girişi olabilir.
  • Sunucu geçişinin ardından ERR_CONNECTION_TIMED_OUT — Eski IP hâlâ önbellekte. İşletim sistemi önbelleğini temizleyin ve yeni IP’nin döndürüldüğünü nslookup veya dig ile doğrulayın.
  • TLS/SSL sertifikası uyumsuzluğu hataları — Önbelleğe alınmış IP, doğru sertifikayı tutan sunucudan farklı bir sunucuya işaret ediyorsa sertifika adı uyumsuzluğu alırsınız. Bu, bir alan adı barındırma sağlayıcıları arasında taşındığında yaygındır. SSL altyapısı yönetiyorsanız, DNS TTL süresi dolmadan önce SSL Sertifikalarınızın doğru kaynak üzerinde sağlandığından emin olun.
  • CMS geçişinin ardından aralıklı 404 hataları — Site yükleniyor ancak varlıklar veya sayfalar 404 döndürüyor. Genellikle CDN veya ters proxy’nin hâlâ eski kaynağa çözümlenmesinden kaynaklanır. Her katmandaki önbellekleri temizleyin.

DNS Yayılımı ve Yerel Önbellek: Kritik Bir Ayrım

Yaygın bir yanılgı, yerel DNS önbelleğini temizlemenin yeni yayımlanmış bir DNS kaydını anında görünür kılacağıdır. Kılmaz; yukarı akış özyinelemeli çözümleyici (ISP’nizin DNS sunucusu veya 8.8.8.8 gibi genel bir çözümleyici) de eski kaydı önbelleğe almışsa, o çözümleyicinin önbelleği sona erene kadar eski IP’yi almaya devam edersiniz.

Doğru tanı iş akışı şudur:

  1. dig @8.8.8.8 example.com A veya nslookup example.com 1.1.1.1 kullanarak yetkili kaydı doğrudan kontrol edin.
  2. Yetkili kayıt doğruysa ancak yerel çözümlemeniz yanlışsa, yerel işletim sistemi önbelleğini temizleyin.
  3. Yetkili kaydın kendisi hâlâ yanlışsa, sorun DNS kayıt şirketi veya barındırma kontrol paneli düzeyindedir; yerel önbellekte değil.

Dedicated Servers üzerinde barındırılan alan adları için DNS yönetirken, planlanan bir geçişten en az 24 saat önce TTL’yi düşük bir değere (300 saniye) ayarlayın. Bu, yayılım penceresini en aza indirir ve internet genelindeki eski önbellek girişlerinin etkisini azaltır.

DNS Önbelleği Yönetiminin Güvenlik Etkileri

DNS önbelleği zehirlenmesi (DNS sahteciliği olarak da bilinir), bir saldırganın çözümleyicinin önbelleğine kötü amaçlı A veya CNAME kayıtları enjekte ederek kullanıcıları sahte sunuculara yönlendirdiği bir saldırı sınıfıdır. DNSSEC protokol düzeyinde kriptografik doğrulama sağlasa da yerel önbellek hijyeni pratik bir ilk müdahale tedbiri olmaya devam etmektedir.

DNS önbelleğinizin zehirlendiğinden şüpheleniyorsanız:

  1. İşletim sisteminiz için uygun komutu kullanarak yerel önbelleği hemen temizleyin.
  2. Cloudflare (1.1.1.1) veya Google (8.8.8.8) gibi DNSSEC doğrulayan bir çözümleyiciye geçin.
  3. hosts dosyasını (Windows’ta C:WindowsSystem32driversetchosts, Unix sistemlerinde /etc/hosts) değiştiriyor olabilecek kötü amaçlı yazılımlar için çalışan işlemleri inceleyin.
  4. Yönlendiricinizin DNS ayarlarını kontrol edin; bir yönlendiriciyi ele geçiren saldırganlar, yerel önbellek durumundan bağımsız olarak ağdaki tüm DNS sorgularını yönlendirebilir.

Kendi posta altyapısını işleten işletmeler için DNS bütünlüğü özellikle kritiktir. Yanlış yapılandırılmış veya zehirlenmiş DNS kayıtları, SPF, DKIM ve DMARC doğrulamasını doğrudan etkiler. E-posta Barındırma hizmetlerine güveniyorsanız, herhangi bir DNS değişikliğinin ardından MX, SPF ve DKIM kayıtlarının doğru şekilde çözümlendiğini doğrulayın.

DNS Önbelleği Temizlemelerini Otomatikleştirme

DNS değişiklikleriyle düzenli olarak çalışan geliştiriciler ve sistem yöneticileri için (özellikle VPS Kontrol Panelleri yapılandırması, hazırlık ortamı geçişleri veya alan adı göçleri sırasında) temizlemeyi otomatikleştirmek manuel adımı tamamen ortadan kaldırır.

Windows zamanlanmış görev (PowerShell):

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-Command Clear-DnsClientCache"
$trigger = New-ScheduledTaskTrigger -Daily -At "03:00AM"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "FlushDNSCache" -RunLevel Highest

macOS launchd plist (sabah 3’te günlük temizleme):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.local.flushdns</string>
  <key>ProgramArguments</key>
  <array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>killall -HUP mDNSResponder</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Hour</key>
    <integer>3</integer>
    <key>Minute</key>
    <integer>0</integer>
  </dict>
</dict>
</plist>

Bu dosyayı ~/Library/LaunchAgents/com.local.flushdns.plist konumuna kaydedin ve launchctl load ~/Library/LaunchAgents/com.local.flushdns.plist ile yükleyin.

Otomatik temizlemeler, DNS kayıtlarının bir dağıtım iş akışının parçası olarak programatik biçimde güncellendiği ve derleme aracılarının değişiklik uygulandıktan hemen sonra yeni kayıtları çözümlemesi gereken CI/CD ardışık düzenlerinde en kullanışlıdır.

Teknik Karar Matrisi: Ne Zaman ve Nerede Temizlenmeli

Belirtiİşletim Sistemi Önbelleğini TemizleChrome Önbelleğini TemizleYönlendirici Önbelleğini TemizleYukarı Akış Çözümleyiciyi Kontrol Et
Site Firefox’ta açılıyor ancak Chrome’da açılmıyorHayırEvetHayırHayır
Site tüm tarayıcılarda erişilemiyorEvetEvetHayırEvet
Ağdaki tüm cihazlarda site erişilemiyorEvetEvetEvetEvet
`nslookup` doğru IP’yi gösteriyor ancak site hâlâ başarısızHayırEvet (soketler)HayırHayır
Site meslektaşlarınız için açılıyor ancak sizin için açılmıyorEvetEvetHayırEvet
Sunucu geçişi tamamlandıEvetEvetHayırEvet
DNS zehirlenmesinden şüpheleniliyorEvetEvetEvetEvet

Temizlemeden Önce ve Sonra Pratik Kontrol Listesi

  • Yerel olarak temizlemeden önce dig veya whatsmydns.net gibi çevrimiçi bir araç kullanarak DNS değişikliğinin yetkili sunuculara yayıldığını doğrulayın.
  • Sorun giderdiğiniz kaydın mevcut TTL’sini not edin; 86400 saniye (24 saat) ise yerel olarak temizlemek yalnızca size yardımcı olur; diğer kullanıcılar eski kaydı 24 saate kadar görmeye devam edecektir.
  • Windows’ta, tanı amacıyla mevcut önbellek durumunun anlık görüntüsünü almak için temizlemeden önce ipconfig /displaydns komutunu çalıştırın.
  • Temizledikten sonra, tarayıcıyı açmadan önce yeni IP’nin döndürüldüğünü doğrulamak için nslookup example.com veya ping example.com kullanın.
  • Bir Paylaşımlı Web Barındırma ortamında çalışıyorsanız, barındırma sağlayıcısının ad sunucularının da kayıtları önbelleğe aldığını unutmayın; yayılım sunucu düzeyinde takılı görünüyorsa destekle iletişime geçin.
  • Chrome için özellikle, DNS önbelleğini temizledikten sonra soket havuzunu da temizleyin ve tarayıcının HTTP önbelleğini de atlamak için zorla yenileme yapın (Windows/Linux’ta Ctrl + Shift + R, macOS’ta Cmd + Shift + R).
  • Üretim ortamında gerçekleştirilmişse temizlemeyi bir değişiklik günlüğüne kaydedin; DNS değişiklikleri ve önbellek temizlemeleri, dağıtım sonrası sorunlar günler sonra incelenirken sıklıkla gözden kaçırılır.

SSS

DNS önbelleğini temizlemek tarama hızını etkiler mi?

Geçici olarak, evet. Temizlemenin ardından sisteminizin iletişim kurduğu her ana bilgisayar adı için yeni DNS aramaları yapması gerekir; bu, önbellek yeniden dolana kadar küçük bir gecikme yükü ekler (arama başına genellikle 20–100ms). Çoğu kullanıcı için bu fark edilemez. Önbellek, normal tarama sırasında dakikalar içinde otomatik olarak yeniden oluşur.

DNS önbelleğini temizlemek web sitelerinden çıkış yapmama neden olur mu?

Hayır. DNS önbelleği girişleri, tarayıcı çerezlerinden, oturum belirteçlerinden ve kimlik doğrulama durumundan tamamen ayrıdır. DNS temizleme bunların hiçbirine dokunmaz.

ipconfig /flushdns ile Clear-DnsClientCache arasındaki fark nedir?

Her iki komut da Windows DNS İstemci hizmetine önbelleğini temizlemesini bildirir. ipconfig /flushdns, hizmetle ipconfig yardımcı programı aracılığıyla iletişim kuran eski bir arayüzdür; Clear-DnsClientCache ise WMI/CIM arayüzünü doğrudan kullanan yerel bir PowerShell cmdlet’idir. Sonuç aynıdır, ancak Clear-DnsClientCache betiklenebilir ve yapılandırılmış nesneler döndürür; bu da onu otomasyon bağlamlarında tercih edilir kılar.

İşletim sistemi DNS önbelleğini temizledikten sonra Chrome neden hâlâ eski web sitesini gösteriyor?

Chrome, işletim sistemi düzeyindeki temizlemelerden etkilenmeyen kendi işlem içi DNS önbelleğini tutar. chrome://net-internals/#dns aracılığıyla Chrome’un önbelleğini ayrıca temizlemeniz gerekir. Ayrıca, Chrome’un soket havuzunda eski TCP bağlantısı hâlâ aktifse, chrome://net-internals/#sockets aracılığıyla soket havuzlarını da temizlemeniz gerekir.

DNS önbelleğimi ne sıklıkla temizlemeliyim?

Evrensel bir zamanlama yoktur. Reaktif olarak temizleyin; DNS ile ilgili hatalarla karşılaştığınızda, sunucu veya alan adı geçişinin ardından, şüpheli bir güvenlik olayının ardından veya VPN ve VPN olmayan ağ yapılandırmaları arasında geçiş yaparken. Rutin zamanlanmış temizlemeler yalnızca DNS kayıtlarının sık değiştiği geliştirme veya hazırlık ortamlarında gereklidir.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın