VPN이 진짜 나를 보호하는가? (DNS 유출의 함정)
VPN을 켜도 인터넷 사용 내역이 새어나갈 수 있다. DNS 유출이 정확히 무엇인지, 왜 발생하는지 파헤친다.
VPN을 켰다. 이제 안전하다고 생각한다.
절반만 맞다.
DNS가 뭔지부터 알아야 한다
인터넷에서 naver.com에 접속하면 컴퓨터는 먼저 이렇게 묻는다.
“naver.com의 실제 주소(IP)가 뭐야?”
이 질문을 받아서 답해주는 것이 DNS 서버다. 전화번호부 역할이라고 보면 된다. 도메인 이름(사람이 읽는 주소)을 숫자로 된 IP 주소(컴퓨터가 실제로 쓰는 주소)로 바꿔준다.
그리고 이 DNS 서버는 기본적으로 통신사(ISP)가 운영한다.
KT를 쓰면 KT DNS, SKT를 쓰면 SKT DNS. 당신이 어떤 사이트에 접속하려 했는지, 그 기록이 고스란히 통신사에 쌓인다.
VPN을 켜면 해결되는 줄 알았다
VPN(가상 사설망)을 켜면 인터넷 트래픽이 암호화된 터널을 통해 흐른다. 통신사는 내용을 볼 수 없다.
그런데 여기서 문제가 생긴다.
운영체제(Windows, macOS, Android)는 오래된 습관을 갖고 있다. VPN이 연결되어 있더라도 여전히 기존 DNS 서버(통신사 서버)에 DNS 쿼리를 보내는 경우가 있다.
트래픽 본문은 VPN 터널로 간다. 하지만 DNS 질문은 통신사 서버로 간다.
결과: 통신사는 당신이 어떤 사이트에 접속하려 했는지 알 수 있다.
이것이 **DNS 유출(DNS Leak)**이다.
투명 DNS 프록시: 더 교묘한 함정
끝이 아니다.
일부 통신사는 **투명 DNS 프록시(Transparent DNS Proxy)**를 쓴다. 기술적으로 이렇게 작동한다.
- 당신이 Google DNS(8.8.8.8)나 Cloudflare DNS(1.1.1.1)처럼 통신사 서버가 아닌 곳에 DNS 질문을 보낸다.
- 통신사가 그 패킷을 중간에 가로채서, 자기 DNS 서버로 슬그머니 돌린다.
- 결과는 정상적으로 돌아온다. 당신은 모른다.
DNS를 바꿔봤자 통신사를 못 피하는 상황이다.
어떻게 확인하나
직접 테스트할 수 있다.
dnsleaktest.com에서 VPN을 켠 채로 테스트를 돌려보면 된다. 결과에 통신사 이름이 뜨면 DNS 유출이 있는 것이다.
이상적인 결과라면 VPN 서버가 있는 나라의 모르는 서버 이름이 떠야 한다.
왜 이런 일이 생기나
원인은 주로 셋이다.
첫째, VPN 앱 설정 미비. VPN 소프트웨어가 DNS 설정을 제대로 강제하지 않은 경우다. 값싼 VPN이나 무료 VPN에서 자주 생긴다.
둘째, 웹브라우저의 DNS-over-HTTPS. Chrome이나 Firefox는 브라우저 자체에서 암호화된 DNS를 쓸 수 있다. 이게 VPN의 DNS 설정을 무시하고 자기 DNS 서버(Google, Cloudflare 등)로 질문을 보낼 수 있다. 이 서버가 프라이버시 친화적이지 않을 수도 있다.
셋째, IPv6 유출. 대부분의 VPN은 IPv4 트래픽만 터널링한다. IPv6 트래픽은 VPN 밖으로 새어나갈 수 있다. IPv6 DNS 쿼리도 마찬가지다.
해결책
VPN 앱에서 DNS 유출 방지 옵션을 켠다. 제대로 된 VPN이라면 이 설정이 있다. Mullvad, ProtonVPN, ExpressVPN 같은 유료 VPN은 대부분 기본으로 제공한다.
IPv6를 비활성화한다. 번거롭지만 가장 확실하다. Windows 설정 → 네트워크 어댑터 속성 → IPv6 체크 해제.
VPN 자체 DNS를 강제한다. VPN이 자체 DNS 서버를 가지고 있다면, 그것만 쓰도록 OS 설정을 강제해야 한다.
결론
VPN은 중요한 도구다. 하지만 켰다고 끝이 아니다.
DNS 유출 테스트를 한 번도 해본 적 없다면, 지금 당장 dnsleaktest.com에서 확인해보자. 결과가 놀라울 수도 있다.
보안은 “켰음”이 아니라 “동작 중”을 확인하는 것이다.
자주 묻는 질문
- DNS 유출이란 무엇인가요?
- VPN을 사용하고 있어도 DNS 요청이 VPN 터널을 우회하여 ISP(통신사) DNS 서버로 직접 전송되는 현상입니다. 이 경우 통신사가 어떤 사이트에 접속했는지 알 수 있습니다.
- DNS 유출이 발생하면 어떤 위험이 있나요?
- 통신사가 방문 사이트 목록을 볼 수 있고, 투명 DNS 프록시 환경에서는 DNS 서버를 바꿔도 통신사를 피할 수 없습니다. VPN의 프라이버시 보호가 사실상 무력화됩니다.
- DNS 유출을 확인하는 방법은?
- dnsleaktest.com 같은 테스트 사이트에서 VPN 연결 상태로 테스트하면 됩니다. ISP의 DNS 서버가 결과에 나타나면 유출이 발생하고 있는 것입니다.