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/hostsgeç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)
Win + Rtuşlarına basın,cmdyazın, ardından Komut İstemi’ni yönetici ayrıcalıklarıyla başlatmak içinCtrl + Shift + Entertuş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.- Temizleme komutunu çalıştırın:
ipconfig /flushdns- 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.
Win + Xtuşlarına basın ve Windows PowerShell (Yönetici)‘yi veya Windows 11’de Terminal (Yönetici)‘yi seçin.- Çalıştırın:
Clear-DnsClientCacheBaş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-DnsClientCacheBu 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ı)
Applications > Utilities > Terminalaracılığıyla Terminal‘i açın veyaCmd + Spacetuşlarına basıpTerminalyazın.- Çalıştırın:
sudo killall -HUP mDNSResponder- İstendiğinde yönetici parolanızı girin. Parola alanı karakterleri yansıtmaz; bu beklenen bir davranıştır. Onaylamak için
Entertuş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 udnsflushcachesmacOS Mavericks, Mountain Lion ve Lion (10.9 ve öncesi)
sudo killall -HUP mDNSRespondermacOS’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 -flushcachedscacheutil -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
- Google Chrome’u açın.
- Adres çubuğuna şuraya gidin:
chrome://net-internals/#dns- 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:
- Şuraya gidin:
chrome://net-internals/#sockets- 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ği | Chrome DNS Önbelleği |
|---|
| — | — | — |
|---|
| Kapsam | Sistem genelinde tüm uygulamalar | Yalnı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 uyar | Evet | Kısmen (kendi TTL mantığını kullanır) |
|---|
| VPN DNS değişikliklerinden etkilenir | Evet | Hemen 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 temizlenir | Evet | Evet (işlem içi bellek) |
|---|
| Tarayıcı yeniden başlatıldığında temizlenir | Hayır | Evet |
|---|
Bir Bakışta Platforma Özgü Temizleme Komutları
| Platform / Sürüm | Komut |
|---|
| — | — |
|---|
| 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ünslookupveyadigile 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:
dig @8.8.8.8 example.com Aveyanslookup example.com 1.1.1.1kullanarak yetkili kaydı doğrudan kontrol edin.- Yetkili kayıt doğruysa ancak yerel çözümlemeniz yanlışsa, yerel işletim sistemi önbelleğini temizleyin.
- 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:
- İşletim sisteminiz için uygun komutu kullanarak yerel önbelleği hemen temizleyin.
- Cloudflare (
1.1.1.1) veya Google (8.8.8.8) gibi DNSSEC doğrulayan bir çözümleyiciye geçin. hostsdosyasını (Windows’taC:WindowsSystem32driversetchosts, Unix sistemlerinde/etc/hosts) değiştiriyor olabilecek kötü amaçlı yazılımlar için çalışan işlemleri inceleyin.- 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 HighestmacOS 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 Temizle | Chrome Önbelleğini Temizle | Yönlendirici Önbelleğini Temizle | Yukarı Akış Çözümleyiciyi Kontrol Et |
|---|
| — | — | — | — | — |
|---|
| Site Firefox’ta açılıyor ancak Chrome’da açılmıyor | Hayır | Evet | Hayır | Hayır |
|---|
| Site tüm tarayıcılarda erişilemiyor | Evet | Evet | Hayır | Evet |
|---|
| Ağdaki tüm cihazlarda site erişilemiyor | Evet | Evet | Evet | Evet |
|---|
| `nslookup` doğru IP’yi gösteriyor ancak site hâlâ başarısız | Hayır | Evet (soketler) | Hayır | Hayır |
|---|
| Site meslektaşlarınız için açılıyor ancak sizin için açılmıyor | Evet | Evet | Hayır | Evet |
|---|
| Sunucu geçişi tamamlandı | Evet | Evet | Hayır | Evet |
|---|
| DNS zehirlenmesinden şüpheleniliyor | Evet | Evet | Evet | Evet |
|---|
Temizlemeden Önce ve Sonra Pratik Kontrol Listesi
- Yerel olarak temizlemeden önce
digveyawhatsmydns.netgibi ç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 /displaydnskomutunu ç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.comveyaping example.comkullanı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’taCmd + 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.
