Cara Membersihkan Cache DNS di OS X Yosemite dengan discoveryutil

Daftar Isi:

Anonim

Beberapa pengguna Mac mungkin mengalami situasi di mana mereka perlu menghapus cache DNS di OS X agar server nama dapat diselesaikan dengan benar, atau untuk beberapa perubahan alamat DNS agar diperhatikan oleh komputer masing-masing. Hal ini sangat relevan untuk administrator sistem, admin jaringan, dan pengembang web, tetapi pasti ada situasi di mana pengguna lain mungkin juga perlu membuang dan mengatur ulang cache DNS, seperti jika pengguna telah memodifikasi file /etc/hosts dan mereka memerlukan perubahan tersebut berlaku tanpa me-reboot Mac.

Pengguna lama Mac akan tahu bahwa mengatur ulang cache DNS telah berubah di hampir setiap versi Mac OS X, dan OS X Yosemite tidak berbeda, kemungkinan karena ditemukannya penggantian mDNSResponder, dan kemudian beralih kembali ke mDNSResponder lagi. Terlepas dari itu, pembilasan cache DNS di Yosemite tetap merupakan perintah terminal, tetapi ini sedikit berbeda tergantung pada rilis persis yang Anda gunakan dari OS, dan ini sebenarnya memungkinkan Anda untuk menghapus DNS Multicast atau DNS Unicast, atau keduanya. Anda mungkin ingin menghapus keduanya untuk tindakan yang baik jika Anda mencoba mengatur ulang semua cache DNS di Mac.

Hapus Cache DNS di OS X Yosemite 10.10.4 & OS X 10.10.5

Dari OS X 10.10.4 pindah ke 10.10.5, termasuk 10.11, Apple telah membuang penemuan dan telah menggantinya (atau lebih tepatnya, dikembalikan kembali ke) mDNSResponder. Jadi, untuk menghapus cache DNS di OS X Yosemite 10.10.4, dan 10.11 El Capitan, dan mungkin seterusnya, string perintahnya adalah sebagai berikut:

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;katakan cache memerah

Perintah itu menghapus semua cache DNS untuk OS X 10.10.4+.

Pengguna lama Mac mungkin mengingat bahwa string perintah pada dasarnya adalah apa yang berfungsi dalam rilis sebelum Yosemite. Dengan demikian, versi sebelumnya dari OS X Yosemite sebelum 10.10.4 akan menggunakan string perintah berbeda yang dibahas di bawah.

Menghapus Cache DNS di OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)

Anda harus menggunakan Terminal untuk mengatur ulang cache, Anda dapat menemukan aplikasi Terminal di /Applications/Utilities/ atau meluncurkannya dengan Spotlight. Untuk menghapus sepenuhnya semua cache DNS di versi terbaru OS X, targetkan MDNS (Multicast DNS) dan UDNS (Unicast DNS) dengan dua perintah berbeda.

Hapus Cache MDNS

sudo discoveryutil mdnsflushcache

Tekan kembali dan masukkan kata sandi admin saat diminta.

Hapus Cache UDNS

sudo discoveryutil udnsflushcaches

Lagi, tekan kembali dan masukkan kata sandi admin saat diminta. Perhatikan bahwa cache adalah jamak dengan perintah yang terakhir, perbedaan sintaks yang halus namun penting.

Flush dan Reset Semua Cache DNS di OS X Yosemite

Anda juga dapat merangkai dua perintah di atas bersama-sama jika Anda mau, berikut ini bahkan akan mengumumkan secara lisan ketika cache telah dibersihkan:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;katakan flushed

Memang cache MDNS dan UDNS berbeda, tetapi saya menemukan bahwa agar cache DNS fungsional dapat benar-benar dihapus di OS X Yosemite, kedua perintah diperlukan. Sangat mungkin bahwa Anda hanya perlu menghapus satu atau yang lain untuk kebutuhan Anda sendiri.

Bagi mereka yang bertanya-tanya, OS X Yosemite telah menghilangkan mDNSResponder, jadi tidak perlu menghentikan proses mDNSResponder untuk menyegarkan cache DNS seperti di versi Mac OS X sebelumnya.

Memeriksa Detail Cache DNS di OS X Yosemite

Jika Anda mengubah atau akan mengubah DNS, dan Anda ingin melihat beberapa detail tentang apa yang saat ini di-cache, Anda dapat menggunakan perintah berikut:

Dapatkan statistik cache UDNS:

sudo discoveryutil udnscachestats

Anda juga dapat mengambil spesifik tentang cache DNS multicast dengan yang berikut:

sudo discoveryutil mdnscachestats

Keduanya akan menawarkan perincian tentang jumlah entri DNS yang di-cache, menawarkan laporan yang akan terlihat seperti ini:

Statistik Tembolok UDN: Tembolok 962 dari 1750

Jika Anda menjalankan perintah tersebut sebelum dan sesudah menjalankan variasi flushcache, Anda akan mendapati bahwa perintah tersebut harus disetel ulang ke cache 0 entri, seperti:

Stats Tembolok MDNS: lo0: Tembolok 0 dari 2000

Bagaimana Anda tahu jika itu berubah?

Setelah Anda mengosongkan cache, jika Anda ingin menentukan apakah server nama atau IP benar-benar berubah, Anda dapat menggunakan perintah 'dig' dengan URL seperti ini:

gali osxdaily.com

dig mirip dengan nslookup, kecuali ia memiliki keluaran yang lebih baik dan menyertakan beberapa detail lainnya, termasuk waktu kueri, server DNS yang digunakan untuk mengakses domain, dan stempel waktu, yang semuanya dapat berharga saat memecahkan masalah server nama. Omong-omong, jika waktu kueri untuk ini tampak lamban, Anda harus menggunakan alat seperti namebench untuk menemukan server DNS yang lebih cepat untuk Anda, seringkali Google DNS atau OpenDNS.

Tahu trik cache DNS lain untuk versi terbaru OS X? Beri tahu kami di komentar.

Cara Membersihkan Cache DNS di OS X Yosemite dengan discoveryutil