Paano Mag-flush ng DNS Cache sa OS X Yosemite gamit ang discoveryutil
Talaan ng mga Nilalaman:
- I-clear ang DNS Cache sa OS X Yosemite 10.10.4 at OS X 10.10.5
- Pag-clear ng Mga DNS Cache sa OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Maaaring makatagpo ang ilang mga user ng Mac ng mga sitwasyon kung saan kailangan nilang i-flush ang DNS cache sa OS X para maayos na malutas ang isang name server, o para mapansin ng kanilang indibidwal na computer ang ilang pagbabago sa DNS address. Partikular na nauugnay ito para sa mga administrator ng system, mga admin ng network, at mga web developer, ngunit tiyak na may mga sitwasyon kung saan maaaring kailanganin din ng ibang mga user na i-dump at i-reset ang mga DNS cache, tulad ng kung binago ng isang user ang /etc/hosts file at kailangan nila ang mga pagbabago upang magkabisa nang hindi nire-reboot ang Mac.
Malalaman ng mga matagal nang gumagamit ng Mac na ang pag-reset ng DNS cache ay nagbago sa halos lahat ng bersyon ng Mac OS X, at ang OS X Yosemite ay hindi naiiba, malamang dahil sa natuklasang pinapalitan ang mDNSResponder, at pagkatapos ay lumipat pabalik sa mDNSResponder muli pa. Anuman, ang pag-flush ng DNS cache sa Yosemite ay nananatiling isang terminal command, ngunit ito ay bahagyang naiiba depende sa eksaktong release na iyong ginagamit ng OS, at ito ay talagang nagbibigay-daan sa iyo upang i-clear ang alinman sa Multicast DNS o Unicast DNS, o pareho. Malamang na gugustuhin mong i-clear ang dalawa para sa mabuting hakbang kung sinusubukan mong i-reset ang lahat ng DNS cache sa Mac.
I-clear ang DNS Cache sa OS X Yosemite 10.10.4 at OS X 10.10.5
Mula sa OS X 10.10.4 na lumilipat sa 10.10.5, kasama ang 10.11, tinanggal ng Apple ang discoveryd at pinalitan ito (o sa halip, bumalik sa) mDNSResponder. Kaya, upang i-clear ang mga DNS cache sa OS X Yosemite 10.10.4, at 10.11 El Capitan, at maaaring pasulong, ang command string ay ang mga sumusunod:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;sabihin ang cache flushed
Na-flush ng command na iyon ang lahat ng DNS cache para sa OS X 10.10.4+.
Maaaring maalala ng mga user ng matagal na Mac na ang command string ay karaniwang kung ano ang nagtrabaho sa release bago ang Yosemite. Sa sinabi nito, ang mga naunang bersyon ng OS X Yosemite bago ang 10.10.4 ay gagamit ng ibang command string na tinalakay sa ibaba.
Pag-clear ng Mga DNS Cache sa OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Kakailanganin mong gamitin ang Terminal para i-reset ang cache, mahahanap mo ang Terminal app sa /Applications/Utilities/ o ilunsad ito gamit ang Spotlight. Upang ganap na i-clear ang lahat ng DNS cache sa pinakabagong bersyon ng OS X, i-target ang parehong MDNS (Multicast DNS) at UDNS (Unicast DNS) na may dalawang magkaibang command.
I-clear ang MDNS Cache
sudo discoveryutil mdnsflushcache
Pindutin ang return at ilagay ang admin password kapag hiniling.
I-clear ang UDNS Cache
sudo discoveryutil udnsflushcaches
Muli, pindutin ang return at ilagay ang admin password kapag hiniling. Tandaan na ang mga cache ay maramihan na may huling command, isang banayad ngunit mahalagang pagkakaiba ng syntax.
Flush at I-reset ang Lahat ng DNS Cache sa OS X Yosemite
Maaari mo ring pagsamahin ang dalawang utos sa itaas kung gusto mo, ang mga sumusunod ay mag-aanunsyo nang pasalita kapag na-clear na ang mga cache:
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;sabihin flushed
Talagang magkaiba ang mga cache ng MDNS at UDNS, ngunit nalaman ko na para sa functional na DNS cache upang aktwal na i-clear sa OS X Yosemite ang parehong mga utos ay kinakailangan. Ganap na posible na kailangan mo lang i-clear ang isa o ang isa para sa iyong sariling mga pangangailangan.
Para sa mga nag-iisip, tinanggal na ng OS X Yosemite ang mDNSResponder, kaya hindi na kailangang patayin ang proseso ng mDNSResponder na iyon upang i-refresh ang mga DNS cache tulad ng sa mga naunang bersyon ng Mac OS X.
Pagsusuri ng Mga Detalye ng DNS Cache sa OS X Yosemite
Kung babaguhin mo o babaguhin mo ang DNS, at gusto mong makakita ng ilang detalye tungkol sa kasalukuyang naka-cache, maaari mong gamitin ang mga sumusunod na command:
Kumuha ng UDNS cache statistics:
sudo discoveryutil udnscachestats
Maaari mo ring kunin ang mga detalye tungkol sa multicast DNS cache gamit ang sumusunod:
sudo discoveryutil mdnscachestats
Mag-aalok ang dalawa ng mga detalye tungkol sa bilang ng mga DNS entry na naka-cache, na nag-aalok ng ulat na dapat ganito ang hitsura:
UDNS Cache Stats: Naka-cache 962 ng 1750
Kung patakbuhin mo ang mga utos na iyon bago at pagkatapos patakbuhin ang mga variation ng flushcache, makikita mong dapat itong i-reset sa 0 na cache ng mga entry, tulad nito:
MDNS Cache Stats: lo0: Naka-cache 0 ng 2000
Paano mo malalaman kung nagbago na?
Pagkatapos mong mag-flush ng cache, kung gusto mong matukoy kung ang isang name server o IP ay talagang nagbago, maaari mong gamitin ang command na 'dig' gamit ang URL tulad nito:
dig osxdaily.com
Ang dig ay katulad ng nslookup, maliban na mayroon itong mas mahusay na output at ilang karagdagang detalye na kasama, kasama ang oras ng query, ang set ng DNS server na ginamit upang ma-access ang domain, at isang timestamp, na lahat ay maaaring mahalaga kapag nag-troubleshoot ng mga isyu sa name server. Oo nga pala, kung ang oras ng query para dito ay lalabas na matamlay, dapat kang gumamit ng tool tulad ng namebench para maghanap ng mas mabilis na DNS server para sa iyo, kadalasan ang Google DNS o OpenDNS.
May alam ka bang isa pang trick ng DNS cache para sa mga pinakabagong bersyon ng OS X? Ipaalam sa amin sa mga komento.