Jak opróżnić pamięć podręczną DNS w systemie OS X Yosemite za pomocą narzędzia discovery

Spisu treści:

Anonim

Niektórzy użytkownicy komputerów Mac mogą napotkać sytuacje, w których będą musieli opróżnić pamięć podręczną DNS w systemie OS X, aby serwer nazw został prawidłowo rozpoznany lub aby niektóre zmiany adresu DNS zostały zauważone przez ich komputer. Jest to szczególnie istotne dla administratorów systemów, administratorów sieci i twórców stron internetowych, ale z pewnością istnieją sytuacje, w których inni użytkownicy mogą również potrzebować zrzucić i zresetować pamięci podręczne DNS, na przykład jeśli użytkownik zmodyfikował plik /etc/hosts i potrzebuje zmian obowiązywać bez ponownego uruchamiania komputera Mac.

Długoletni użytkownicy komputerów Mac będą wiedzieć, że resetowanie pamięci podręcznej DNS zmieniło się w prawie każdej wersji systemu Mac OS X i OS X Yosemite nie różni się niczym, prawdopodobnie z powodu wykrycia zastąpienia mDNSResponder, a następnie przełączenia z powrotem na mDNSResponder jeszcze raz. Niezależnie od tego, opróżnianie pamięci podręcznej DNS w Yosemite pozostaje poleceniem terminala, ale różni się nieco w zależności od dokładnej wersji używanego systemu operacyjnego i faktycznie umożliwia wyczyszczenie DNS Multicast lub DNS Unicast lub obu. Prawdopodobnie będziesz chciał wyczyścić oba na wszelki wypadek, jeśli próbujesz zresetować wszystkie pamięci podręczne DNS na komputerze Mac.

Wyczyść pamięć podręczną DNS w OS X Yosemite 10.10.4 i OS X 10.10.5

Od systemu OS X 10.10.4 do wersji 10.10.5, w tym 10.11, firma Apple porzuciła funkcję Discovery i zastąpiła ją (a raczej powróciła do) mDNSResponder. Tak więc, aby wyczyścić pamięć podręczną DNS w OS X Yosemite 10.10.4 i 10.11 El Capitan i przypuszczalnie później, ciąg polecenia jest następujący:

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

To polecenie opróżnia wszystkie pamięci podręczne DNS w systemie OS X 10.10.4+.

Długoletni użytkownicy komputerów Mac mogą pamiętać, że ciąg poleceń zasadniczo działał w wersji wcześniejszej niż Yosemite. To powiedziawszy, wcześniejsze wersje OS X Yosemite przed 10.10.4 będą używać innego ciągu poleceń omówionego poniżej.

Czyszczenie pamięci podręcznej DNS w systemie OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)

Aby zresetować pamięć podręczną, musisz użyć Terminala. Aplikację Terminal możesz znaleźć w katalogu /Applications/Utilities/ lub uruchomić za pomocą Spotlight. Aby całkowicie wyczyścić wszystkie pamięci podręczne DNS w najnowszej wersji systemu OS X, należy skierować zarówno MDNS (Multicast DNS), jak i UDNS (Unicast DNS) za pomocą dwóch różnych poleceń.

Wyczyść pamięć podręczną MDNS

sudo discoveryutil mdnsflushcache

Naciśnij przycisk powrotu i wprowadź hasło administratora, gdy zostaniesz o to poproszony.

Wyczyść pamięć podręczną UDNS

sudo discoveryutil udnsflushcaches

Ponownie naciśnij przycisk powrotu i wprowadź hasło administratora, gdy zostaniesz o to poproszony. Zauważ, że przy tym ostatnim poleceniu liczba pamięci podręcznych jest liczbą mnogą, jest to subtelna, ale ważna różnica w składni.

Wyczyść i zresetuj wszystkie pamięci podręczne DNS w OS X Yosemite

Możesz także połączyć powyższe dwa polecenia, jeśli chcesz, poniższe nawet ustnie poinformują o wyczyszczeniu pamięci podręcznej:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcache;powiedz flushed

Rzeczywiście pamięci podręczne MDNS i UDNS są różne, ale odkryłem, że do prawidłowego czyszczenia pamięci podręcznej DNS w systemie OS X Yosemite potrzebne są oba polecenia. Jest całkiem możliwe, że musisz wyczyścić tylko jedno lub drugie dla własnych potrzeb.

W systemie OS X Yosemite usunięto mDNSResponder, więc nie ma potrzeby wyłączania tego procesu mDNSResponder w celu odświeżenia pamięci podręcznej DNS, jak we wcześniejszych wersjach systemu Mac OS X.

Sprawdzanie szczegółów pamięci podręcznej DNS w systemie OS X Yosemite

Jeśli zmieniasz lub zamierzasz zmienić DNS i chcesz zobaczyć szczegółowe informacje o tym, co jest obecnie w pamięci podręcznej, możesz użyć następujących poleceń:

Pobierz statystyki pamięci podręcznej UDNS:

sudo discoveryutil udnscachestats

Szczegółowe informacje na temat pamięci podręcznej multiemisji DNS można również uzyskać za pomocą następujących poleceń:

sudo discoveryutil mdnscachestats

Oba z nich zawierają szczegółowe informacje na temat liczby zapisanych w pamięci podręcznej wpisów DNS, oferując raport, który powinien wyglądać następująco:

Statystyki pamięci podręcznej UDNS: 962 z 1750 w pamięci podręcznej

Jeśli uruchomisz te polecenia przed i po uruchomieniu odmian flushcache, przekonasz się, że powinny one zostać zresetowane do 0 wpisów w pamięci podręcznej, na przykład:

Statystyki pamięci podręcznej MDNS: lo0: W pamięci podręcznej 0 z 2000

Skąd wiesz, czy się zmieniło?

Po wyczyszczeniu pamięci podręcznej, jeśli chcesz ustalić, czy serwer nazw lub adres IP faktycznie się zmienił, możesz użyć polecenia „dig” z adresem URL w następujący sposób:

dig osxdaily.com

dig jest podobny do nslookup, z wyjątkiem tego, że ma lepsze wyniki i zawiera kilka dodatkowych szczegółów, w tym czas zapytania, ustawiony serwer DNS używany do uzyskiwania dostępu do domeny oraz znacznik czasu, z których wszystkie można przydatne przy rozwiązywaniu problemów z serwerem nazw. Nawiasem mówiąc, jeśli czas zapytania jest zbyt długi, powinieneś użyć narzędzia takiego jak namebench, aby znaleźć dla siebie szybszy serwer DNS, często Google DNS lub OpenDNS.

Znasz inną sztuczkę z pamięcią podręczną DNS dla najnowszych wersji systemu OS X? Daj nam znać w komentarzach.

Jak opróżnić pamięć podręczną DNS w systemie OS X Yosemite za pomocą narzędzia discovery