Computer >> 컴퓨터 >  >> 문제 해결 >> 컴퓨터 유지 보수

맥(Mac)에서 DNS 캐시를 플러시하는 방법 완벽 가이드

인터넷을 사용하는 사람이라면 누구나 일종의 디지털 발자국을 남기게 됩니다. 쿠키와 자바스크립트는 웹사이트 방문자의 행동을 추적하는 데 널리 사용되죠.

그런데 운영체제 역시 사용자의 인터넷 활동에 대한 정보를 저장한다는 사실을 알고 계셨나요? 이 역할을 하는 것이 바로 DNS 캐시이며, 각종 문제를 예방하려면 정기적으로 정리해 주는 것이 좋습니다.

이 글에서는 DNS 캐시가 무엇인지, 컴퓨터가 왜 이를 저장하는지, 그리고 맥에서 DNS 캐시를 플러시하는 방법까지 자세히 알아보겠습니다.

DNS 캐시란 무엇인가?

DNS 서버는 www.abc.com과 같은 도메인 이름을 컴퓨터 시스템이 처리할 수 있는 숫자 형태의 IP 주소로 변환합니다. 기본 설정상 브라우저는 웹 주소에 접속할 때마다 DNS 서버에 조회를 요청합니다. 특정 URL의 방문자가 많아질수록 DNS 서버의 부담도 커지며, 이로 인해 "DNS 서버가 응답하지 않습니다"와 같은 오류가 발생할 수 있습니다.

이런 부담을 줄이고 동일한 웹사이트에 접속할 때마다 불필요하게 조회하는 일을 방지하기 위해, Windows나 macOS 같은 운영체제는 한 번 확인된 주소를 자체 캐시에 저장합니다. 이것이 바로 DNS 캐시입니다. DNS 캐시에는 이름 확인(name resolution)에 필요한 모든 관련 정보가 담겨 있어, 브라우저가 매번 DNS 서버에 접속하지 않아도 됩니다.

모든 DNS 캐시 항목에는 다음과 같은 정보가 포함됩니다.

  • 리소스 데이터(rdata) – 레코드를 설명하는 데이터로, 주소나 호스트 이름 등이 해당됩니다.
  • 레코드 유형 – 생성된 항목의 종류를 나타냅니다.
  • 레코드 이름 – 항목이 만들어진 대상 객체의 도메인 이름입니다.
  • TTL(Time to Live) – 리소스 레코드의 유효 기간으로, 보통 초 단위로 저장됩니다.
  • 클래스 – 해당 리소스가 속한 프로토콜 그룹입니다.
  • 리소스 데이터 길이 – 리소스 데이터의 길이 값입니다.

맥에서 DNS 캐시를 삭제해야 하는 이유

그렇다면 DNS 캐시를 정기적으로 플러시해야 하는 이유는 무엇일까요? 앞서 말씀드린 것처럼 DNS 캐시 플러시에는 분명한 목적이 있습니다. 다만 이 과정은 자동으로 이루어지지 않으며, 설정된 TTL이 만료되지 않는 한 항목은 계속 캐시에 남아 있습니다. 따라서 사용자가 직접 플러시를 실행해야 하는데, 그 이유는 다음과 같습니다.

검색 활동 숨기기

사용자 행동 추적은 주로 쿠키나 자바스크립트 등을 통해 이루어지지만, DNS 캐시 역시 상당히 중요한 정보를 담고 있어 데이터 수집자들의 잠재적 표적이 됩니다. 캐시에 저장된 주소 목록과 추가 정보만 있으면 누구나 방문 기록을 분석할 수 있습니다. 즉, 캐시에 쌓인 웹 주소들은 어떤 사이트를 자주 방문하는지 고스란히 드러내며, 축적된 주소가 많을수록 개인 활동에 대한 노출도 커집니다.

보안 강화

이것이 아마도 DNS 캐시를 정기적으로 삭제해야 하는 가장 중요한 이유일 것입니다. 캐시 데이터는 웹 페이지를 빠르게 불러오는 데 유용하지만, 악의적인 공격자의 손에 들어가면 치명적일 수 있습니다. 해커가 DNS 캐시에 접근하면 항목을 조작해 사용자를 가짜 사이트로 리디렉션하거나 조작된 검색 결과를 보여줄 수 있습니다. 이러한 공격을 DNS 포이즈닝(DNS Poisoning) 또는 DNS 스푸핑(DNS Spoofing)이라고 하며, 주로 온라인 뱅킹 등의 로그인 정보를 탈취하는 데 악용됩니다. DNS 캐시를 플러시하면 이런 사이버 범죄에 노출될 위험을 크게 줄일 수 있습니다.

기술적 문제 해결

특정 웹사이트 접속이나 웹 애플리케이션 사용에 문제가 생겼을 때, DNS 캐시 플러시는 기본적인 문제 해결 절차 중 하나입니다. 예를 들어 캐시에 저장된 도메인 이름이 잘못되었거나 오래된 IP 주소를 가리키고 있다면, 구버전 웹사이트가 표시되거나 접속 자체가 실패할 수 있습니다. 이 경우 DNS 캐시를 지우면 요청이 캐시가 아닌 올바른 DNS 서버로 다시 전달되어 주소 정보가 갱신되고, 웹 페이지와의 연결이 정상적으로 복원됩니다.

macOS Catalina·Big Sur에서 DNS 캐시 플러시하기

DNS 캐시 삭제의 중요성을 알았으니, 이제 실제로 macOS Catalina와 Big Sur에서 DNS 캐시를 플러시하는 방법을 살펴보겠습니다.

참고로 구버전 macOS에서는 명령어가 다르기 때문에 아래 방법이 작동하지 않을 수 있습니다. 최소한 Catalina 이상의 버전을 사용 중이어야 합니다.

다음 단계를 따라 해 보세요.

  1. Finder > 이동 > 유틸리티로 이동해 터미널(Terminal)을 엽니다. Spotlight(⌘+Space)에서 '터미널'을 검색해도 됩니다.
  2. 터미널 창에 다음 두 명령어를 차례로 입력합니다.
    • sudo dscacheutil -flushcache
    • sudo killall -HUP mDNSResponder
  3. Enter 키를 눌러 명령을 실행합니다.
  4. 관리자 비밀번호를 요청받으면 입력합니다.
  5. 터미널을 닫습니다.

위 단계를 모두 완료하면 DNS 캐시가 성공적으로 삭제된 것입니다. 만약 캐시 재설정 과정에서 문제가 발생한다면 다음 방법들을 시도해 보세요.

  • 맥을 재시작한 후 다시 캐시를 삭제해 봅니다.
  • 방화벽과 보안 소프트웨어를 일시적으로 끕니다.
  • 맥 최적화 앱을 사용해 정크 파일을 정리합니다.
  • 안전 모드(Safe Mode)로 부팅한 상태에서 DNS 캐시를 삭제해 봅니다.

구버전 macOS에서 DNS 캐시 플러시하기

위의 방법은 macOS Catalina와 Big Sur에서만 작동합니다. 구버전 macOS를 사용 중이라면 아래에 해당하는 명령어를 사용하세요. 역시 터미널을 통해 입력하며, 명령어만 조금씩 다릅니다.

Sierra / High Sierra

  • sudo killall -HUP mDNSResponder

Yosemite(OS X 10.10.4) / El Capitan

  • sudo dscacheutil -flushcache
  • sudo killall -HUP mDNSResponder

Yosemite(OS X 10.10.1 ~ 10.10.3)

  • sudo discoveryutil mdnsflushcache
  • sudo discoveryutil udnsflushcaches

Mavericks

  • sudo dscacheutil -flushcache
  • sudo killall -HUP mDNSResponder

마무리

위 명령어로 DNS 캐시를 삭제하면 프로세스가 성공했다는 별도의 확인 메시지는 표시되지 않습니다. DNS 캐시가 정상적으로 재설정되었는지 확인하는 유일한 방법은, 이전에 접속 문제가 있던 웹 페이지에 다시 정상적으로 접속되는지 확인하는 것입니다. 평소 인터넷 속도 저하나 접속 오류가 잦다면, DNS 캐시 플러시를 습관처럼 실천해 보시기 바랍니다.