업데이트 (2016/3/2) - OS X 10.11 El Capitan에서 DNS 캐시를 초기화 하는 방법을 추가했습니다.
평소 팍팍 잘 뜨던 웹 사이트가 어느 날 갑자기 로딩 속도가 확 느려지거나, 아예 접속이 뻗는 상황이 발생하곤 합니다.
이때 사이트 관리자나 인터넷 회사에 문의하면 "정상적으로 서버가 작동하고 있으니 고객님의 컴퓨터를 점검해 보세요" 같은 답변을 돌아오기 일쑤입니다. 다른 컴퓨터에서는 잘 뜨는데 유독 한 컴퓨터에서만 문제가 발생하면 이에 뭐라고 대꾸하기도 어렵습니다.
인터넷 접속 관련 문제는 변수가 워낙 다양하므로 정확히 원인을 집어내기 어렵지만, 시스템 내 저장된 DNS 캐시를 초기화하는 것으로 문제를 단번에 해결할 수 있는 경우가 많습니다. 원리를 간단하게 설명하면, 웹 브라우저에 "www.apple.com"과 같은 도메인 이름을 입력하면 인터넷 회사의 DNS 서버에 질의를 보내 실제 IP 주소(예: "17.149.160.49")를 받아옵니다. 사용자가 IP 주소를 일일이 외울 수 없기 때문인데, DNS 서버는 인터넷 서버의 도메인 이름과 IP 주소를 미리 저장해 놨다가 사용자로부터 도메인 이름을 전송받으면 IP 주소를 재전송하는 역할을 담당합니다.
이때 사용자가 한 번 찾아갔던 웹 사이트는 이미 시스템 내부에 있는 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’ 무선랜 오류, 엘 카피탠에서 해결되나...