도메인 네임 서버(DNS)는 인터넷을 지탱하는 핵심 기반 중 하나입니다. DNS가 없다면 도메인 이름 체계 자체가 작동하지 않고, 우리는 매번 복잡한 IP 주소를 직접 입력해야만 웹을 탐색할 수 있었을 것입니다.
DNS 캐시란 무엇인가?
도메인에 접속할 때마다 운영체제는 해당 도메인이 가리키는 IP 주소를 기록해 둡니다. 이를 캐시(cache)라고 부릅니다. 캐시 덕분에 같은 사이트에 다시 방문할 때마다 수 초가 걸리는 DNS 조회 과정을 생략하고 훨씬 빠르게 페이지를 불러올 수 있습니다.
그러나 가끔 로컬 DNS 캐시가 실제 도메인과 IP 주소의 매핑 정보와 어긋나는 경우가 발생합니다. 이것이 바로 웹사이트가 분명 정상적으로 운영 중인데도 접속이 되지 않는 원인입니다. 특히 최근에 서버를 이전한 사이트에서 이런 현상이 자주 나타납니다.
DNS 캐시 플러시 방법
이런 문제가 생기면 DNS 캐시를 비우는 플러시(flush) 작업이 필요합니다. 다행히 Ubuntu를 포함한 Debian 계열 시스템에서는 터미널 명령어 한 줄로 간단히 해결할 수 있습니다.
1. dns-clean 명령어 사용
$ sudo /etc/init.d/dns-clean
2. systemd-resolved 사용 (최신 Ubuntu)
최근 Ubuntu 버전은 systemd-resolved를 기본 DNS 캐시 서비스로 사용합니다. 위 명령어가 동작하지 않는다면 아래 명령어를 실행해 보세요.
$ sudo resolvectl flush-caches
구버전에서는 다음 명령어를 사용할 수 있습니다.
$ sudo systemd-resolve --flush-caches
3. nscd 또는 dnsmasq 재시작
nscd나 dnsmasq를 캐시 데몬으로 사용 중이라면 서비스를 재시작하면 됩니다.
$ sudo systemctl restart nscd
$ sudo systemctl restart dnsmasq
DNS 최적화도 함께 고려해 보세요
DNS 캐시 플러시 외에도 알아두면 유용한 팁이 많습니다. 응답 속도가 빠른 DNS로 설정을 최적화하면 인터넷 체감 속도가 눈에 띄게 향상되고, 악성 사이트를 차단하는 보안 DNS로 변경하면 온라인 안전성도 함께 높일 수 있습니다.
이 방법이 도움이 되셨나요? 혹시 DNS 서비스를 사용 중이라면 어떤 서비스를 이용하는지 댓글로 알려주세요!