SEC. 보안 5 MIN READ UPDATED 2026. 04. 30.

VPN 켜도 접속 기록이 새는 이유 — DNS 유출의 원리와 확인법

VPN을 사용해도 DNS 유출로 인터넷 접속 기록이 통신사에 노출될 수 있다. DNS 유출이 발생하는 원리, 직접 확인하는 방법, 위험도별 대응법을 정리한다.

BY LIBRETIP 편집 K.H. DIGITAL SECURITY DISPATCH
VERIFIED 이 글의 기술적 사실과 가격 정보는 기준으로 검증되었습니다.

VPN을 켰다. 아무도 내 검색 기록을 못 본다고 생각했다. 발기부전 치료제를 검색하든, 우울증 상담센터를 찾든, 야동 사이트에 들어가든 — 터널 안이니까.

그런데 DNS 요청이 VPN 밖으로 새어나가면, 내가 어디에 접속했는지가 통신사에 고스란히 기록된다. VPN을 켰는데도.

DNS가 뭔데 유출이 되나?

DNS(Domain Name System)는 인터넷 전화번호부다. naver.com을 입력하면 컴퓨터가 “이 주소의 실제 IP가 뭐야?”라고 DNS 서버에 묻는다. DNS 서버가 숫자로 된 IP 주소를 알려주면 그때 접속이 시작된다.

문제는 이 DNS 서버를 누가 운영하느냐다.

기본 설정에서는 **통신사(ISP)**가 운영한다. KT를 쓰면 KT DNS, SKT를 쓰면 SKT DNS. 내가 어떤 사이트에 접속하려 했는지, 그 기록이 통신사에 쌓인다.

VPN을 켰는데 왜 DNS가 새나?

VPN을 켜면 인터넷 트래픽이 암호화된 터널을 통해 흐른다. 통신사는 트래픽 내용을 볼 수 없다.

그런데 운영체제(Windows, macOS, Android 등)가 가끔 오래된 습관을 부린다. VPN이 연결되어 있는데도 DNS 질문만 기존 통신사 서버로 보내는 경우가 있다.

트래픽 본문은 VPN 터널로 간다. 하지만 DNS 질문은 통신사 서버로 간다. 결과적으로 통신사는 내가 어떤 사이트에 접속하려 했는지 알 수 있다.

이게 **DNS 유출(DNS Leak)**이다.

DNS 유출은 왜 발생하나?

원인은 크게 세 가지다.

첫째, VPN 앱의 DNS 설정 미비. VPN 소프트웨어가 운영체제의 DNS 설정을 제대로 가로채지 못하는 경우다. 무료 VPN이나 소규모 VPN에서 자주 발생한다. NordVPN, ExpressVPN, ProtonVPN, Mullvad 같은 주요 유료 VPN은 자체 DNS 서버를 강제 적용하기 때문에 기본 설정에서는 이 문제가 거의 없다.

둘째, 브라우저의 DNS-over-HTTPS(DoH) 수동 설정. DoH는 DNS 질문 자체를 암호화하는 기술이다. Chrome이나 Firefox에서 DoH를 직접 수동으로 특정 DNS 서버(Google, Cloudflare 등)를 지정하면, 그 설정이 VPN의 DNS를 우회할 수 있다. 단, 브라우저 기본 설정 상태에서는 대부분 VPN의 DNS가 정상 적용된다. 문제가 되는 건 사용자가 직접 DoH 서버를 지정한 경우다.

셋째, IPv6 유출. IPv6(Internet Protocol version 6)는 기존 IPv4의 주소 부족 문제를 해결하기 위한 차세대 인터넷 주소 체계다. 일부 무료 VPN이나 오래된 VPN은 IPv4 트래픽만 터널링하고 IPv6 트래픽은 VPN 밖으로 빠져나가게 놔둔다. IPv6 DNS 쿼리도 마찬가지로 유출된다. 다만 2026년 기준, 주요 유료 VPN들은 IPv6를 자동 차단하거나 터널에 포함시키는 방식으로 대응을 완료한 상태다.

투명 DNS 프록시 — DNS를 바꿔도 소용없는 경우

일부 통신사는 **투명 DNS 프록시(Transparent DNS Proxy)**를 운영한다. 이렇게 작동한다.

  1. 내가 Google DNS(8.8.8.8)나 Cloudflare DNS(1.1.1.1)로 DNS 질문을 보낸다.
  2. 통신사가 그 패킷을 중간에서 가로채 자기 DNS 서버로 돌린다.
  3. 결과는 정상적으로 돌아온다. 나는 모른다.

DNS 서버를 바꿔봤자 통신사를 피할 수 없는 상황이다. VPN 터널 안에서 DNS를 처리해야만 이 함정을 벗어난다.

DNS 유출 확인하는 법

직접 테스트할 수 있다. 30초면 된다.

  1. VPN을 켠다.
  2. dnsleaktest.com에 접속한다.
  3. Extended test를 클릭한다.
  4. 결과를 확인한다.

VPN을 켠 상태에서 결과에 KT, SKT, LG U+ 같은 한국 통신사 이름이 뜨면 → DNS 유출이다. VPN을 켰는데도 DNS 요청이 통신사를 거치고 있다는 뜻이다. 내가 어떤 사이트에 접속하는지 통신사가 전부 보고 있는 상태.

VPN 서버가 위치한 국가의 서버 이름만 뜨면 → 정상이다. DNS 요청도 VPN 터널 안으로 잘 가고 있다.

유출이 확인됐다면 — 위험도별 대응법

모든 사람에게 같은 수준의 대응이 필요한 건 아니다.

🟢 일반 사용자 (유료 VPN 쓰고, 가끔 카페 와이파이 쓰는 정도)

유료 VPN을 쓰고 있다면 DNS 유출 방지는 보통 기본 설정으로 켜져 있다. 한 번만 확인하면 된다.

  1. dnsleaktest.com에서 테스트 실행
  2. 통신사 이름 안 뜨면 → 끝. 더 할 게 없다.
  3. 뜨면 → VPN 앱 설정에서 “DNS Leak Protection” 또는 “DNS 유출 방지” 옵션 켜기

주요 유료 VPN 기본 DNS 유출 방지 상태:

  • NordVPN — 자체 DNS 서버 자동 적용, 별도 설정 불필요
  • ExpressVPN — 자체 DNS 서버 자동 적용
  • ProtonVPN — DNS 유출 방지 기본 활성화
  • Mullvad — 자체 DNS 서버 자동 적용, 오픈소스 클라이언트

무료 VPN을 쓰고 있다면 반드시 테스트해봐야 한다. 유출 가능성이 높다.

🟡 민감한 상황 (회사 기밀, 금융거래, 의료정보 다루는 경우)

위 🟢 단계에 추가로:

  1. 브라우저 DNS-over-HTTPS 설정 확인 — Chrome chrome://settings/security, Firefox about:preferences#privacy에서 DoH를 수동 설정했다면 VPN 사용 시에는 끄거나 “기본” 상태로 되돌린다.
  2. VPN 킬스위치 활성화 — VPN 연결이 끊겼을 때 인터넷 자체를 차단하는 기능. 대부분의 유료 VPN에 있다.
  3. IPv6 유출 확인 — ipleak.net에서 IPv6 항목 확인. VPN 앱 설정에서 IPv6 보호가 켜져 있는지 확인한다.

🔴 OPSEC이 필요한 경우 (DNS 단 하나의 유출도 허용할 수 없는 환경)

일반인은 여기까지 할 필요 없다. 하지만 적대적 환경에서 통신 보안이 필수라면:

  1. 위 🟢🟡 단계 전부 적용
  2. OS 방화벽에서 VPN 터널 외 모든 트래픽 차단 규칙 설정 — VPN 앱 킬스위치보다 더 확실한 방법
  3. Mullvad 또는 ProtonVPN처럼 no-log 정책이 독립 감사를 거친 VPN 사용

구체적인 OS 방화벽 설정법은 별도 글에서 다룰 예정이다.

결론

VPN을 켜는 것과 VPN이 제대로 작동하는 것은 다른 이야기다.

DNS 유출은 VPN의 가장 흔한 사각지대고, 확인하는 데 30초면 된다. dnsleaktest.com에서 한 번만 테스트해보면 내 VPN이 실제로 동작하는지 바로 알 수 있다.

주요 유료 VPN을 기본 설정으로 쓰고 있다면 대부분 문제없다. 하지만 “대부분”과 “확실히”는 다르다. 30초짜리 테스트 한 번이면 확실해진다.

자주 묻는 질문

DNS 유출이란 무엇인가요?
VPN을 사용하고 있어도 DNS 요청이 VPN 터널을 우회하여 ISP(통신사) DNS 서버로 직접 전송되는 현상입니다. 이 경우 통신사가 어떤 사이트에 접속했는지 알 수 있습니다.
DNS 유출 여부를 확인하는 방법은?
VPN을 켠 상태로 dnsleaktest.com에 접속해 Extended test를 실행하세요. VPN을 켰는데도 결과에 한국 통신사(KT, SKT, LG U+) 이름이 뜨면 DNS 유출입니다. VPN 서버 국가의 서버만 뜨면 정상입니다.
유료 VPN을 쓰면 DNS 유출 걱정 안 해도 되나요?
NordVPN, ExpressVPN, ProtonVPN, Mullvad 등 주요 유료 VPN은 DNS 유출 방지가 기본 활성화되어 있습니다. 다만 수동으로 DNS 설정을 변경했거나, 브라우저에서 DNS-over-HTTPS를 별도 설정한 경우 유출이 발생할 수 있으므로 한 번은 테스트해보는 게 좋습니다.
투명 DNS 프록시란 무엇인가요?
통신사가 사용자의 DNS 요청을 중간에서 가로채 자기 DNS 서버로 돌리는 기술입니다. Google DNS(8.8.8.8)나 Cloudflare DNS(1.1.1.1)로 바꿔도 통신사가 이를 우회시킬 수 있습니다. VPN 터널 안에서 DNS를 처리해야 이를 피할 수 있습니다.
IPv6 유출은 어떻게 막나요?
2026년 기준 NordVPN, ExpressVPN, ProtonVPN, Mullvad 등 주요 유료 VPN은 IPv6 트래픽을 자동 차단하거나 터널에 포함합니다. 무료 VPN이나 소규모 VPN을 쓴다면 VPN 앱 설정에서 IPv6 보호 옵션을 확인하세요.

계속 읽기

댓글

댓글은 giscus를 통해 GitHub Discussions에 저장됩니다.