discoveryutil을 사용하여 OS X Yosemite에서 DNS 캐시를 플러시하는 방법

차례:

Anonim

일부 Mac 사용자는 이름 서버를 올바르게 확인하거나 개별 컴퓨터에서 일부 DNS 주소 변경 사항을 인식하기 위해 OS X에서 DNS 캐시를 플러시해야 하는 상황이 발생할 수 있습니다. 이것은 특히 시스템 관리자, 네트워크 관리자 및 웹 개발자와 관련이 있지만 사용자가 /etc/hosts 파일을 수정하고 변경 사항이 필요한 경우와 같이 다른 사용자도 DNS 캐시를 덤프하고 재설정해야 하는 상황이 분명히 있습니다. Mac을 재부팅하지 않고 적용할 수 있습니다.

오래된 Mac 사용자는 거의 모든 Mac OS X 버전에서 DNS 캐시 재설정이 변경되었음을 알 수 있으며 OS X Yosemite도 다르지 않습니다. mDNSResponder를 대체한 다음 mDNSResponder로 다시 전환하는 것이 발견되었기 때문일 수 있습니다. 다시 한번. 그럼에도 불구하고 요세미티에서 DNS 캐시를 플러시하는 것은 터미널 명령으로 남아 있지만 사용 중인 OS의 정확한 릴리스에 따라 약간 다르며 실제로 멀티캐스트 DNS나 유니캐스트 DNS 또는 둘 다를 지울 수 있습니다. Mac에서 모든 DNS 캐시를 재설정하려는 경우 좋은 측정을 위해 둘 다 지우고 싶을 것입니다.

OS X Yosemite 10.10.4 및 OS X 10.10.5에서 DNS 캐시 지우기

OS X 10.10.4에서 10.11을 포함하여 10.10.5로 이동하면서 Apple은 discoveryd를 버리고 mDNSResponder로 대체했습니다(또는 오히려 되돌렸습니다). 따라서 OS X Yosemite 10.10.4 및 10.11 El Capitan에서 DNS 캐시를 지우려면 명령 문자열은 다음과 같습니다.

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;캐시 플러시됨 말하기

이 명령은 OS X 10.10.4+의 모든 DNS 캐시를 플러시합니다.

오래된 Mac 사용자는 명령 문자열이 기본적으로 Yosemite 이전 릴리스에서 작동했던 것을 기억할 것입니다. 즉, 10.10.4 이전의 OS X Yosemite 이전 버전은 아래에서 설명하는 다른 명령 문자열을 사용합니다.

OS X Yosemite에서 DNS 캐시 지우기(10.10, 10.10.1, 10.10.2, 10.10.3)

캐시를 재설정하려면 터미널을 사용해야 합니다. /Applications/Utilities/에서 터미널 앱을 찾거나 Spotlight로 시작할 수 있습니다. 최신 버전의 OS X에서 모든 DNS 캐시를 완전히 지우려면 두 가지 명령으로 MDNS(멀티캐스트 DNS)와 UDNS(유니캐스트 DNS)를 모두 대상으로 지정하십시오.

MDNS 캐시 지우기

sudo discoveryutil mdnsflushcache

요청 시 리턴 키를 누르고 관리자 암호를 입력하십시오.

UDNS 캐시 지우기

sudo discoveryutil udnsflushcaches

다시, Return 키를 누르고 요청 시 관리자 암호를 입력하십시오. caches는 미묘하지만 중요한 구문 차이인 후자 명령의 복수형입니다.

OS X Yosemite의 모든 DNS 캐시 플러시 및 재설정

원하는 경우 위의 두 명령을 함께 묶을 수도 있습니다. 캐시가 지워지면 다음과 같이 구두로도 알려줍니다.

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;말 플러시

실제로 MDNS와 UDNS 캐시는 다르지만 OS X Yosemite에서 실제로 작동하는 DNS 캐시를 지우려면 두 명령이 모두 필요하다는 것을 알았습니다. 자신의 필요에 따라 둘 중 하나만 지우면 될 수도 있습니다.

궁금한 분들을 위해 OS X Yosemite는 mDNSResponder를 없앴으므로 이전 버전의 Mac OS X처럼 DNS 캐시를 새로 고치기 위해 mDNSResponder 프로세스를 종료할 필요가 없습니다.

OS X Yosemite에서 DNS 캐시 세부 정보 확인

DNS를 변경 중이거나 변경하려는 경우 현재 캐시된 항목에 대한 세부 정보를 보려면 다음 명령을 사용할 수 있습니다.

UDNS 캐시 통계 가져오기:

sudo discoveryutil udnscachesstats

다음을 사용하여 멀티캐스트 DNS 캐시에 대한 세부 사항을 검색할 수도 있습니다.

sudo discoveryutil mdnscachesstats

이 두 가지 모두 캐시된 DNS 항목 수에 대한 세부 정보를 제공하며 다음과 같은 보고서를 제공합니다.

UDNS 캐시 통계: 1750개 중 962개 캐시됨

flushcache 변형을 실행하기 전과 후에 해당 명령을 실행하면 다음과 같이 0 항목 캐시로 재설정되어야 합니다.

MDNS 캐시 통계: lo0: 캐시된 0/2000

변경되었는지 어떻게 알 수 있습니까?

캐시를 비운 후 이름 서버나 IP가 실제로 변경되었는지 확인하려면 다음과 같은 URL과 함께 'dig' 명령을 사용할 수 있습니다.

dig osxdaily.com

dig는 nslookup과 비슷하지만 출력이 더 좋고 쿼리 시간, 도메인에 액세스하는 데 사용되는 DNS 서버 설정, 타임스탬프 등 몇 가지 세부 정보가 포함되어 있다는 점이 다릅니다. 이름 서버 문제를 해결할 때 유용합니다. 그런데 이에 대한 쿼리 시간이 느린 것으로 표시되면 namebench와 같은 도구를 사용하여 더 빠른 DNS 서버(종종 Google DNS 또는 OpenDNS)를 찾아야 합니다.

OS X 최신 버전에 대한 또 다른 DNS 캐시 트릭을 알고 계십니까? 댓글로 알려주세요.

discoveryutil을 사용하여 OS X Yosemite에서 DNS 캐시를 플러시하는 방법