맥 OS X 버전별 DNS 캐시를 초기화(DNS Flush)하는 방법... 'OS X 최신 버전 포함'

2016. 3. 2. 15:46    작성자: ONE™

업데이트 (2016/3/2) - OS X 10.11 El Capitan에서 DNS 캐시를 초기화 하는 방법을 추가했습니다.

평소 팍팍 잘 뜨던 웹 사이트가 어느 날 갑자기 로딩 속도가 확 느려지거나, 아예 접속이 뻗는 상황이 발생하곤 합니다.

이때 사이트 관리자나 인터넷 회사에 문의하면 "정상적으로 서버가 작동하고 있으니 고객님의 컴퓨터를 점검해 보세요" 같은 답변을 돌아오기 일쑤입니다. 다른 컴퓨터에서는 잘 뜨는데 유독 한 컴퓨터에서만 문제가 발생하면 이에 뭐라고 대꾸하기도 어렵습니다.

인터넷 접속 관련 문제는 변수가 워낙 다양하므로 정확히 원인을 집어내기 어렵지만, 시스템 내 저장된 DNS 캐시를 초기화하는 것으로 문제를 단번에 해결할 수 있는 경우가 많습니다. 원리를 간단하게 설명하면, 웹 브라우저에 "www.apple.com"과 같은 도메인 이름을 입력하면 인터넷 회사의 DNS 서버에 질의를 보내 실제 IP 주소(예: "17.149.160.49")를 받아옵니다. 사용자가 IP 주소를 일일이 외울 수 없기 때문인데, DNS 서버는 인터넷 서버의 도메인 이름과 IP 주소를 미리 저장해 놨다가 사용자로부터 도메인 이름을 전송받으면 IP 주소를 재전송하는 역할을 담당합니다.


* How DNS cache work

이때 사용자가 한 번 찾아갔던 웹 사이트는 이미 시스템 내부에 있는 DNS 캐시에 IP 주소가 저장되어 있어서 일정 기간 DNS 서버에 다시 질의를 보내지 않습니다. 인터넷 속도가 아무리 빠른들 시스템에 저장되어 있는 데이터를 이용하는 것보다는 느리기 때문입니다.

그런데… DNS 캐시에 오류가 발생하거나(흔히 캐시가 'corrupt' 됐다고 하죠), DNS 캐시가 새로 갱신되기 전에 서버 주소가 변경되면 기존 DNS의 흔적 때문에 실제 IP 주소로 제대로 연결하지 못하는 문제가 발생합니다. 증상은 첫 단락에 소개한 것처럼 잘 접속되던 사이트에 갑자기 느려지거나 아예 접속이 안 되는 것입니다.

이런 문제는 시스템을 재부팅하거나 시간이 지나면 저절로 해결되곤 하지만, 마치 화장실 변기를 내리듯(flush) 사용자가 임의로 DNS 캐시를 비워 문제를 신속하게 해결할 수 있습니다. (부가적으로 육중한 DNS 캐시가 깨끗하게 청소되면서 인터넷 속도가 향상되는 효과까지 볼 수 있는데, 요즘처럼 메모리/디스크 속도가 빠른 시기에 과연 통용되는 이야기인지는 모르겠습니다.)

이런 문제로 적지 않은 사용자가 불편을 겪는 만큼 애플도 공식 홈페이지를 통해 'OS X: DNS 캐시를 재설정하는 방법'이라는 고객지원 문서를 제공하고 있습니다. 설명은 장황하지만 별로 복잡할 것은 없고, 터미널을 열고 아래와 같은 명령어를 입력하는 것이 전부입니다. 다만, OS X 버전에 따라 명령어가 약간씩 다릅니다.

아래 최신 맥 운영체제인 OS X 10.11 엘 캐피탄부터 10.3 팬서까지 DNS 캐쉬를 초기화하는 명령어를 정리했으니 차후 이러한 문제를 겪을 때 참고하시기 바랍니다.

공통 사항

운영체제 버전에 상관 없이 터미널(Terminal)을 실행한 다음, 현재 사용 중인 OS X 버전에 맞는 터미널 명령어를 입력하는 식으로 진행됩니다. 터미널 앱은 '응용 프로그램 > 유틸리티' 폴더에 있으며, 명령어에 따라 사용자 계정 암호를 물어보는 경우도 있습니다.

터미널에 암호를 입력할 때 화면에 문자나 숫자가 표시되지 않지만, 실제로 입력이 되고 있으니 착오 없으시길 바랍니다.

OS X 10.11 엘 캐피탄

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

OS X 10.10 요세미티

sudo dscacheutil -flushcache

OS X 10.9 매버릭스

dscacheutil -flushcache;sudo killall -HUP mDNSResponder

OS X 10.8 마운틴 라이언 & 10.7 라이언

sudo killall -HUP mDNSResponder

OS X 10.6 스노우 레퍼드 및 10.5 레퍼드

dscacheutil -flushcache

OS X 10.4 타이거 및 10.3 팬서

lookupd -flushcache

코멘트

시스템을 재부팅하지 않아도 DNS 캐시가 초기화되기 때문에 바로 웹 브라우저를 열어 접속이 되지 않던 웹 사이트를 다시 접속합니다. 만약 위 방법으로도 문제가 해결되지 않으면 다른 네트워크에 연결되어 있는 컴퓨터 또는 와이파이를 끈 스마트폰으로 시도해 웹 사이트 측에 문제가 있는 것은 아닌지 재차 확입합니다. 또 공유기의 결함을 배제하기 위해 공유기를 거치지 않고 맥에 인터넷 케이블을 직접 연결한 테스트를 진행해 보시기 바랍니다.



참고
Apple - OS X: DNS 캐시를 재설정하는 방법
iHash - How To Clear DNS Cache In Mac OSX 10.9 Mavericks

관련 글
OS X 매버릭스 지도 앱에서 국내 지도가 보이지 않는 증상… DNS 설정 변경이 원인?
OS X에서 사파리가 예기치 않게 종료될 때 또는 실행 불가능 상태일 때 해결 방법
맥의 하드웨어 담당하는 PRAM과 SMC의 차이와 초기화(리셋)으로 해결할 수 있는 문제 유형
‘OS X’ 무선랜 오류, 엘 카피탠에서 해결되나...


    
  1. Blog Icon
    Chulyng

    고맙습니다! 터미널 활용을 좀 공부해야겠어여 ㅋㅋ

  2. Blog Icon
    오렌지과수원

    항상 고마워요~~ 저한텐 날마다 들르는 몇 않되는 유용한 곳이기도 합니다

  3. Blog Icon
    help@seriea.kr

    요세미티에서 하는 방법도 알려주세요~!

  4. Blog Icon
    리키안

    OSX 10.10 Yosemite 에서 DNS Clear 방법은 아래 방법으로 하시면 됩니다.
    dscacheutil -flushcache

  5. Blog Icon
    짱군

    아 정말 대단하심...

  6. Blog Icon
    명교명왕

    대단 하십니다.

    가상 머신을 몇개나 돌리는거래요 ?
    자원 리소스가 많이 부족 하실껀데 ㅎ

  7. Blog Icon
    tom

    오닉스에서 그냥 간단하게 클리어 되던데

  8. Blog Icon
    TWO

    이상은 없었지만 한번 실행해 두었습니다.

    감사합니다.