Ako vyprázdniť vyrovnávaciu pamäť DNS v systéme OS X Yosemite pomocou nástroja discovery
Obsah:
- Vymazať vyrovnávaciu pamäť DNS v OS X Yosemite 10.10.4 a OS X 10.10.5
- Vymazanie vyrovnávacej pamäte DNS v systéme OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Niektorí používatelia počítačov Mac sa môžu stretnúť so situáciami, keď potrebujú vyprázdniť vyrovnávaciu pamäť DNS v OS X, aby sa názvový server správne vyriešil, alebo aby si ich jednotlivý počítač všimol nejakú zmenu adresy DNS. Toto je obzvlášť dôležité pre systémových administrátorov, sieťových administrátorov a webových vývojárov, ale určite existujú situácie, keď ostatní používatelia môžu tiež potrebovať výpis a resetovanie vyrovnávacej pamäte DNS, napríklad ak používateľ upravil súbor /etc/hosts a potrebujú zmeny. sa prejaví bez reštartovania Macu.
Dlhoví používatelia počítačov Mac budú vedieť, že resetovanie vyrovnávacej pamäte DNS sa zmenilo v takmer každej verzii systému Mac OS X a OS X Yosemite sa nelíši, pravdepodobne kvôli objavu, ktorý nahradil mDNSResponder a potom prepol späť na mDNSResponder ešte raz. Bez ohľadu na to, vyprázdnenie vyrovnávacej pamäte DNS v Yosemite zostáva príkazom terminálu, ale mierne sa líši v závislosti od presného vydania operačného systému, ktoré používate, a v skutočnosti vám umožňuje vymazať Multicast DNS alebo Unicast DNS, alebo oboje. Ak sa pokúšate obnoviť všetky vyrovnávacie pamäte DNS na počítači Mac, pravdepodobne budete chcieť vymazať obe.
Vymazať vyrovnávaciu pamäť DNS v OS X Yosemite 10.10.4 a OS X 10.10.5
Od OS X 10.10.4 po 10.10.5, vrátane 10.11, Apple upustil od discoveryd a nahradil ho (alebo skôr vrátil späť) mDNSResponder. Preto na vymazanie vyrovnávacej pamäte DNS v OS X Yosemite 10.10.4 a 10.11 El Capitan a pravdepodobne novších je príkazový reťazec nasledujúci:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache flushed
Tento príkaz vymaže všetky vyrovnávacie pamäte DNS pre OS X 10.10.4+.
Dlhoví používatelia počítačov Mac si môžu spomenúť, že príkazový reťazec je v podstate to, čo fungovalo vo vydaní pred Yosemite. S tým, že staršie verzie OS X Yosemite pred 10.10.4 budú používať iný príkazový reťazec popísaný nižšie.
Vymazanie vyrovnávacej pamäte DNS v systéme OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Na resetovanie vyrovnávacej pamäte budete musieť použiť Terminál. Aplikáciu Terminál nájdete v /Aplikácie/Utilities/ alebo ju môžete spustiť pomocou Spotlight. Ak chcete úplne vymazať všetky vyrovnávacie pamäte DNS v najnovšej verzii OS X, zacieľte na MDNS (Multicast DNS) aj UDNS (Unicast DNS) pomocou dvoch rôznych príkazov.
Vymazať vyrovnávaciu pamäť MDNS
sudo discoveryutil mdnsflushcache
Na požiadanie kliknite na tlačidlo Return a zadajte heslo správcu.
Vymazať vyrovnávaciu pamäť UDNS
sudo discoveryutil udnsflushcaches
Na požiadanie znova stlačte kláves return a zadajte heslo správcu. Všimnite si, že cache je množné číslo s druhým príkazom, čo je jemný, ale dôležitý rozdiel v syntaxi.
Vyprázdniť a resetovať všetky vyrovnávacie pamäte DNS v OS X Yosemite
Vyššie uvedené dva príkazy môžete tiež spojiť, ak chcete, nasledujúce príkazy dokonca verbálne oznámia, keď boli vyrovnávacie pamäte vymazané:
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed
Vyrovnávacie pamäte MDNS a UDNS sú skutočne odlišné, ale zistil som, že na to, aby sa funkčná vyrovnávacia pamäť DNS skutočne vymazala v OS X Yosemite, sú potrebné oba príkazy. Je celkom možné, že pre svoje potreby potrebujete vyčistiť len jedno alebo druhé.
Pre tých, ktorí sa zaujímajú, OS X Yosemite zrušil mDNSResponder, takže nie je potrebné zabíjať proces mDNSResponder na obnovenie vyrovnávacej pamäte DNS ako v predchádzajúcich verziách Mac OS X.
Kontrola podrobností vyrovnávacej pamäte DNS v systéme OS X Yosemite
Ak meníte alebo sa chystáte zmeniť DNS a chcete vidieť nejaké podrobnosti o tom, čo je momentálne uložené vo vyrovnávacej pamäti, môžete použiť nasledujúce príkazy:
Získať štatistiky vyrovnávacej pamäte UDNS:
sudo discoveryutil udnscachestats
Môžete tiež získať špecifiká o vyrovnávacej pamäti DNS pre multicast pomocou:
sudo discoveryutil mdnscachestats
Obidva ponúkajú podrobnosti o počte záznamov DNS uložených vo vyrovnávacej pamäti a ponúkajú správu, ktorá by mala vyzerať takto:
Štatistiky vyrovnávacej pamäte UDNS: Vo vyrovnávacej pamäti 962 z 1750
Ak spustíte tieto príkazy pred a po spustení variácií flushcache, zistíte, že by sa mali obnoviť na vyrovnávaciu pamäť 0 záznamov, napríklad:
Štatistiky vyrovnávacej pamäte MDNS: lo0: Vo vyrovnávacej pamäti 0 z 2000
Ako viete, či sa zmenil?
Po vyprázdnení vyrovnávacej pamäte, ak chcete zistiť, či sa menný server alebo adresa IP skutočne zmenili, môžete použiť príkaz „dig“ s adresou URL takto:
dig osxdaily.com
dig je podobný ako nslookup, s tým rozdielom, že má lepší výstup a obsahuje niekoľko ďalších podrobností, vrátane času dopytu, nastaveného servera DNS používaného na prístup k doméne a časovej pečiatky, z ktorých všetky môžu byť cenné pri riešení problémov s menným serverom. Mimochodom, ak sa čas dopytu ukáže ako pomalý, mali by ste použiť nástroj ako namebench, aby ste našli rýchlejší DNS server, často Google DNS alebo OpenDNS.
Poznáte ďalší trik s vyrovnávacou pamäťou DNS pre najnovšie verzie OS X? Dajte nám vedieť v komentároch.