Cara Flush DNS Cache di OS X Yosemite dengan discoveryutil

Beberapa pengguna Mac mungkin menghadapi situasi di mana mereka perlu menyiram cache DNS di OS X untuk server nama untuk menyelesaikan dengan benar, atau untuk beberapa perubahan alamat DNS menjadi diperhatikan oleh komputer masing-masing. Ini sangat relevan untuk administrator sistem, admin jaringan, dan pengembang web, tetapi ada situasi tertentu di mana pengguna lain mungkin perlu membuang dan mengatur ulang cache DNS juga, seperti jika pengguna telah memodifikasi file / etc / hosts dan mereka memerlukan perubahan berlaku tanpa me-reboot Mac.

Pengguna lama Mac akan mengetahui bahwa menyetel ulang cache DNS telah berubah di hampir setiap versi Mac OS X, dan OS X Yosemite tidak berbeda, mungkin karena penemuan dan mengganti mDNSResponder, dan kemudian beralih kembali ke mDNSResponder lagi. Apapun, pembilasan cache DNS di Yosemite tetap merupakan perintah terminal, tetapi sedikit berbeda tergantung pada rilis yang Anda gunakan dari OS, dan itu benar-benar memungkinkan Anda untuk menghapus baik DNS Multicast atau Unicast DNS, atau keduanya. Anda mungkin ingin menghapus keduanya untuk ukuran 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 bergerak maju ke 10.10.5, termasuk 10.11, Apple telah membuang discoveryd dan telah menggantikannya (atau lebih tepatnya, kembali ke) mDNSResponder. Jadi, untuk mengosongkan cache DNS di OS X Yosemite 10.10.4, dan 10.11 El Capitan, dan mungkin seterusnya, string perintah adalah sebagai berikut:

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache flushed

Perintah itu mem-flush semua cache DNS untuk OS X 10.10.4+.

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

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 / Aplikasi / Utilitas / atau meluncurkannya dengan Spotlight. Untuk benar-benar menghapus semua cache DNS di versi terbaru OS X, targetkan MDNS (Multicast DNS) dan UDNS (Unicast DNS) dengan dua perintah yang berbeda.

Hapus Cache MDNS

sudo discoveryutil mdnsflushcache

Tekan kembali dan masukkan kata sandi admin saat diminta.

Hapus Cache UDNS

sudo discoveryutil udnsflushcaches

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

Flush dan Reset Semua DNS Cache di OS X Yosemite

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

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed

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

Bagi yang bertanya-tanya, OS X Yosemite telah menyingkirkan mDNSResponder, jadi tidak perlu membunuh 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

Kedua hal ini akan memberikan rincian mengenai jumlah entri DNS yang di-cache, yang menawarkan laporan yang seharusnya terlihat seperti ini:

UDNS Cache Stats: Cached 962 of 1750

Jika Anda menjalankan perintah tersebut sebelum dan sesudah menjalankan variasi flushcache, Anda akan menemukan perintah-perintah itu harus direset ke 0 entri cache, seperti:

MDNS Cache Stats: lo0: Cached 0 of 2000

Bagaimana Anda tahu jika itu berubah?

Setelah Anda memerah cache, jika Anda ingin menentukan apakah server nama atau IP telah benar-benar berubah, Anda dapat menggunakan perintah 'gali' dengan URL seperti:

dig osxdaily.com

penggalian mirip dengan nslookup, kecuali bahwa ia memiliki output yang lebih baik dan beberapa rincian lainnya yang disertakan, termasuk waktu kueri, server DNS yang digunakan untuk mengakses domain, dan stempel waktu, yang semuanya dapat bermanfaat saat memecahkan masalah server nama. By the way, jika waktu permintaan untuk ini muncul sebagai lamban, Anda harus menggunakan alat seperti namebench untuk menemukan server DNS yang lebih cepat untuk Anda, sering Google DNS atau OpenDNS.

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