Cum să goliți memoria cache DNS în OS X Yosemite cu discoveryutil
Cuprins:
- Ștergeți memoria cache DNS în OS X Yosemite 10.10.4 și OS X 10.10.5
- Ștergerea cache-urilor DNS în OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Unii utilizatori de Mac pot întâlni situații în care trebuie să golească memoria cache DNS în OS X pentru ca un server de nume să se rezolve corect sau pentru ca anumite modificări ale adresei DNS să fie observate de computerul lor individual. Acest lucru este deosebit de relevant pentru administratorii de sistem, administratorii de rețea și dezvoltatorii web, dar cu siguranță există situații în care alți utilizatori ar putea avea nevoie să descarce și să reseteze cache-urile DNS, cum ar fi dacă un utilizator a modificat fișierul /etc/hosts și au nevoie de modificări. pentru a intra în vigoare fără a reporni Mac-ul.
Utilizatorii Mac de lungă durată vor ști că resetarea cache-ului DNS s-a schimbat în aproape fiecare versiune de Mac OS X, iar OS X Yosemite nu este diferit, probabil din cauza descoperirii care înlocuiește mDNSResponder și apoi trece înapoi la mDNSResponder încă o dată. Indiferent, spălarea cache-ului DNS din Yosemite rămâne o comandă de terminal, dar diferă ușor în funcție de versiunea exactă pe care o utilizați a sistemului de operare și vă permite de fapt să ștergeți fie DNS multicast, fie DNS unicast, sau ambele. Probabil că veți dori să le ștergeți pe ambele pentru o măsură bună dacă încercați să resetați toate cache-urile DNS de pe Mac.
Ștergeți memoria cache DNS în OS X Yosemite 10.10.4 și OS X 10.10.5
De la OS X 10.10.4 trecând mai departe la 10.10.5, inclusiv 10.11, Apple a renunțat la discoveryd și l-a înlocuit (sau mai bine zis, a revenit la mDNSResponder). Astfel, pentru a șterge cache-urile DNS în OS X Yosemite 10.10.4 și 10.11 El Capitan, și probabil mai departe, șirul de comandă este următorul:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;spuneți cache golit
Acea comandă șterge toate cache-urile DNS pentru OS X 10.10.4+.
Utilizatorii Mac de lungă durată își pot aminti că șirul de comandă este practic ceea ce a funcționat în versiunea anterioară Yosemite. Acestea fiind spuse, versiunile anterioare ale OS X Yosemite înainte de 10.10.4 vor folosi un șir de comandă diferit discutat mai jos.
Ștergerea cache-urilor DNS în OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Va trebui să utilizați Terminalul pentru a reseta memoria cache, puteți găsi aplicația Terminal în /Aplicații/Utilități/ sau o puteți lansa cu Spotlight. Pentru a șterge complet toate cache-urile DNS din cea mai recentă versiune de OS X, vizați atât MDNS (DNS Multicast) cât și UDNS (DNS Unicast) cu două comenzi diferite.
Șterge cache MDNS
sudo discoveryutil mdnsflushcache
Apăsați return și introduceți parola de administrator când vi se solicită.
Șterge cache UDNS
sudo discoveryutil udnsflushcaches
Din nou, apăsați Retur și introduceți parola de administrator când vi se solicită. Rețineți că caches este la plural cu cea din urmă comandă, o diferență de sintaxă subtilă, dar importantă.
Flush și resetați toate cache-urile DNS în OS X Yosemite
De asemenea, puteți înșira cele două comenzi de mai sus împreună, dacă doriți, următoarele vor anunța chiar și verbal când cache-urile au fost șterse:
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;să spunem flushed
Într-adevăr, cache-urile MDNS și UDNS sunt diferite, dar am descoperit că pentru ca cache-ul DNS funcțional să se ștergă efectiv în OS X Yosemite ambele comenzi sunt necesare. Este absolut posibil să aveți nevoie doar să ștergeți unul sau altul pentru propriile nevoi.
Pentru cei care se întreabă, OS X Yosemite a eliminat mDNSResponder, așa că nu este nevoie să omorâți acel proces mDNSResponder pentru a reîmprospăta cache-urile DNS ca în versiunile anterioare de Mac OS X.
Verificarea detaliilor memoriei cache DNS în OS X Yosemite
Dacă modificați sau intenționați să schimbați DNS și doriți să vedeți câteva detalii despre ceea ce este stocat în cache în prezent, puteți utiliza următoarele comenzi:
Obțineți statistici cache UDNS:
sudo discoveryutil udnscachestats
De asemenea, puteți prelua detalii despre memoria cache DNS multicast cu următoarele:
sudo discoveryutil mdnscachestats
Ambele vor oferi detalii cu privire la numărul de intrări DNS stocate în cache, oferind un raport care ar trebui să arate astfel:
UDNS Cache Statistics: 962 cache din 1750
Dacă rulați acele comenzi înainte și după rularea variantelor de flushcache, veți descoperi că ar trebui să fie resetate la 0 intrări cache, așa:
MDNS Cache Statistics: lo0: Cacheed 0 of 2000
De unde știi dacă s-a schimbat?
După ce ați golit memoria cache, dacă doriți să determinați dacă un server de nume sau IP s-a schimbat efectiv, puteți utiliza comanda „sapă” cu adresa URL astfel:
dig osxdaily.com
dig este similar cu nslookup, cu excepția faptului că are o ieșire mai bună și mai multe detalii incluse, inclusiv timpul de interogare, serverul DNS setat folosit pentru a accesa domeniul și un marcaj de timp, toate acestea putând fi valoroasă atunci când depanați problemele serverului de nume. Apropo, dacă timpul de interogare pentru aceasta se afișează ca fiind lent, ar trebui să utilizați un instrument precum namebench pentru a găsi un server DNS mai rapid pentru dvs., adesea Google DNS sau OpenDNS.
Cunoașteți un alt truc de cache DNS pentru cele mai recente versiuni de OS X? Spune-ne în comentarii.