Discoverutil ile OS X Yosemite'de DNS Önbelleğini Temizleme

İçindekiler:

Anonim

Bazı Mac kullanıcıları, bir ad sunucusunun düzgün bir şekilde çözümlenmesi veya bazı DNS adres değişikliklerinin kendi bilgisayarları tarafından fark edilmesi için OS X'te DNS önbelleğini boş altmaları gereken durumlarla karşılaşabilir. Bu özellikle sistem yöneticileri, ağ yöneticileri ve web geliştiricileri için geçerlidir, ancak bir kullanıcının /etc/hosts dosyasını değiştirmiş olması ve değişikliklere ihtiyaç duyması gibi, diğer kullanıcıların da DNS önbelleklerini boş altması ve sıfırlaması gerekebileceği kesinlikle durumlar vardır. Mac'i yeniden başlatmadan etkili olmak için.

Uzun süreli Mac kullanıcıları, DNS önbelleğini sıfırlamanın Mac OS X'in hemen hemen her sürümünde değiştiğini ve OS X Yosemite'in de farklı olmadığını bileceklerdir; bunun nedeni, keşfedilen mDNSResponder'ın değiştirilip ardından mDNSResponder'a geri dönülmesidir. bir kez daha. Ne olursa olsun, Yosemite'de DNS önbelleğini boş altmak bir terminal komutu olarak kalır, ancak işletim sisteminin tam sürümüne bağlı olarak biraz farklılık gösterir ve aslında Multicast DNS'yi veya Unicast DNS'yi veya her ikisini de temizlemenize izin verir. Mac'teki tüm DNS önbelleklerini sıfırlamaya çalışıyorsanız, muhtemelen her ikisini de iyi bir önlem olarak temizlemek isteyeceksiniz.

OS X Yosemite 10.10.4 ve OS X 10.10.5'te DNS Önbelleğini Temizle

OS X 10.10.4'ten 10.11 dahil olmak üzere 10.10.5'e geçiş yapan Apple, discoveryd'i kaldırdı ve mDNSResponder'ı değiştirdi (veya daha doğrusu geri döndü). Bu nedenle, OS X Yosemite 10.10.4 ve 10.11 El Capitan'da ve muhtemelen sonrasında DNS önbelleklerini temizlemek için komut dizisi aşağıdaki gibidir:

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;önbelleğin temizlendiğini söyle

Bu komut, OS X 10.10.4+ için tüm DNS önbelleklerini temizler.

Uzun süredir Mac kullanıcıları, komut dizisinin temelde Yosemite'den önceki sürümde çalışan şey olduğunu hatırlayabilir. Bununla birlikte, OS X Yosemite'in 10.10.4'ten önceki önceki sürümleri aşağıda açıklanan farklı bir komut dizesi kullanacaktır.

OS X Yosemite'de (10.10, 10.10.1, 10.10.2, 10.10.3) DNS Önbelleklerini Temizleme

Önbelleği sıfırlamak için Terminal'i kullanmanız gerekecek, Terminal uygulamasını /Applications/Utilities/ içinde bulabilir veya Spotlight ile başlatabilirsiniz. OS X'in en son sürümündeki tüm DNS önbelleklerini tamamen temizlemek için, iki farklı komutla hem MDNS'yi (Multicast DNS) hem de UDNS'yi (Unicast DNS) hedefleyin.

MDNS Önbelleğini Temizle

sudo discoveryutil mdnsflushcache

Return'e basın ve istendiğinde yönetici şifresini girin.

UDNS Önbelleğini Temizle

sudo discovery util udnsflushcaches

Yine, geri dön düğmesine basın ve istendiğinde yönetici şifresini girin. İkinci komutta önbelleklerin çoğul olduğuna dikkat edin, ince ama önemli bir sözdizimi farkı.

OS X Yosemite'deki Tüm DNS Önbelleklerini Temizleyin ve Sıfırlayın

İsterseniz yukarıdaki iki komutu birlikte dizebilirsiniz, aşağıdakiler önbellekler temizlendiğinde sözlü olarak bile duyurulacaktır:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;flushed deyin

Gerçekten de MDNS ve UDNS önbellekleri farklıdır, ancak işlevsel DNS önbelleğinin OS X Yosemite'de fiilen temizlenmesi için her iki komutun da gerekli olduğunu buldum. Kendi ihtiyaçlarınız için yalnızca birini veya diğerini temizlemeniz tamamen mümkündür.

Merak edenler için, OS X Yosemite mDNSResponder'ı ortadan kaldırdı, dolayısıyla önceki Mac OS X sürümlerinde olduğu gibi DNS önbelleklerini yenilemek için mDNSResponder işlemini sonlandırmaya gerek yok.

OS X Yosemite'de DNS Önbellek Ayrıntılarını Kontrol Etme

DNS'yi değiştiriyorsanız veya değiştirecekseniz ve şu anda önbelleğe alınanlarla ilgili bazı ayrıntıları görmek istiyorsanız, aşağıdaki komutları kullanabilirsiniz:

UDNS önbellek istatistiklerini alın:

sudo discoveryutil udnscachestats

Ayrıca aşağıdakileri kullanarak çok noktaya yayın DNS önbelleğiyle ilgili ayrıntıları da alabilirsiniz:

sudo discoveryutil mdnscachestats

Bunların her ikisi de, önbelleğe alınan DNS girişlerinin sayısına ilişkin ayrıntılar sunacak ve şöyle görünmesi gereken bir rapor sunacaktır:

UDNS Önbellek İstatistikleri: Önbelleğe alınan 962 / 1750

Bu komutları, önbellek varyasyonlarını çalıştırmadan önce ve çalıştırdıktan sonra çalıştırırsanız, bunların 0 giriş önbelleğine sıfırlanması gerektiğini göreceksiniz, şöyle:

MDNS Önbellek İstatistikleri: lo0: Önbelleğe Alınmış 0 / 2000

Değişip değişmediğini nasıl anlarsınız?

Önbelleği temizledikten sonra, bir ad sunucusunun veya IP'nin gerçekten değişip değişmediğini belirlemek istiyorsanız, URL ile 'dig' komutunu şu şekilde kullanabilirsiniz:

dig osxdaily.com

dig, nslookup'a benzer, ancak daha iyi çıktıya sahip olması ve sorgu süresi, etki alanına erişmek için kullanılan ayarlanan DNS sunucusu ve bir zaman damgası dahil olmak üzere birkaç ayrıntı daha içermesi dışında; ad sunucusu sorunlarını giderirken değerlidir. Bu arada, bunun için sorgu süresi yavaş görünüyorsa, sizin için daha hızlı bir DNS sunucusu bulmak için namebench gibi bir araç kullanmalısınız, genellikle Google DNS veya OpenDNS.

OS X'in en son sürümleri için başka bir DNS önbellek numarası biliyor musunuz? Yorumlarda bize bildirin.

Discoverutil ile OS X Yosemite'de DNS Önbelleğini Temizleme