IPdidi
한국어

DNS 유출이란 무엇이고 어떻게 해결하나요?

VPN을 켜 두어도 기기가 방문하는 모든 웹사이트를 통신사에 물어보고 있을 수 있습니다. 이것이 DNS 유출입니다. 찾아내는 법과 막는 법을 알아봅니다.

30초 만에 이해하는 DNS

기기가 웹사이트를 열려면 먼저 example.com 같은 이름을 IP 주소로 바꿔야 합니다. 이를 위해 DNS 리졸버에 물어보는데, 보통 통신사가 운영합니다. 리졸버는 내가 조회한 모든 사이트 이름, 조회한 시각, 그리고 내 IP 주소를 알 수 있습니다.

DNS 유출이란?

VPN을 쓸 때는 이 조회가 암호화된 터널을 통해 VPN 자체 리졸버로 가야 합니다. DNS 유출은 조회가 터널을 우회해 통신사나 다른 외부 리졸버로 바로 가는 것을 말합니다.

트래픽 자체는 여전히 암호화되어 있지만, 리졸버는 내가 방문하는 모든 사이트 목록을 볼 수 있고, 내 연결을 지켜보는 누구라도 마찬가지입니다. 일부 나라에서는 통신사가 DNS로 웹사이트를 차단하기 때문에, 유출이 있으면 VPN을 켜도 차단된 사이트가 열리지 않을 수 있습니다.

DNS 유출이 있어도 웹사이트에 보이는 IP 주소는 바뀌지 않습니다. 대신 내가 어떤 사이트를 방문하는지가 통신사에 드러납니다. 그래서 IP 확인만으로는 찾아낼 수 없습니다.

DNS 유출 테스트 방법

  1. VPN에 연결합니다.
  2. DNS 유출 테스트를 엽니다. 브라우저가 저희 테스트 서버만 응답할 수 있는 무작위 이름 여러 개를 조회하게 하고, 어떤 리졸버가 그 조회를 요청하는지 기록합니다.
  3. 표시된 리졸버 목록을 확인합니다.

유출 없음: 모든 리졸버가 VPN 업체 소속이거나, VPN이 나가는 나라와 같은 나라에 있습니다.

유출 있음: 내 통신사의 리졸버가 보이거나, VPN 서버는 다른 나라인데 내 나라에 있는 리졸버가 보입니다.

Google(8.8.8.8)이나 Cloudflare(1.1.1.1) 같은 대형 공개 리졸버는 전 세계에 서버가 있습니다. 이런 경우 테스트는 리졸버가 전달한 클라이언트 서브넷도 보여 주는데, 리졸버 자체는 중립적으로 보여도 이것으로 실제 네트워크가 드러날 수 있습니다.

DNS 유출의 원인

DNS 유출 해결 방법

첫 번째 방법부터 시작해 단계마다 다시 테스트하세요.

  1. VPN의 DNS 유출 방지 기능을 켭니다. 좋은 VPN 앱 대부분에는 DNS 유출 방지, 'VPN DNS만 사용' 같은 설정이 있습니다. 킬 스위치도 켜세요.
  2. IPv6 유출 방지를 켜거나 VPN 앱에서 IPv6를 차단합니다. 이유는 IPv4와 IPv6 차이를 참고하세요.
  3. VPN 설정 파일에 DNS를 지정합니다. WireGuard는 [Interface] 섹션에 DNS = 줄을 추가합니다. OpenVPN은 윈도우에서 block-outside-dns를 사용합니다.
  4. 프록시 도구에서는 TUN 모드를 켭니다(Clash, sing-box 등에서는 TUN, 향상 모드, VPN 모드 등으로 부릅니다). 도구의 DNS 처리 기능도 켜서 모든 조회가 프록시를 거치게 합니다.
  5. 브라우저의 보안 DNS 설정을 확인합니다. Chrome이나 Edge에서는 설정 > 개인정보 보호 및 보안 > 보안 > 보안 DNS 사용에 있습니다. 꺼서 VPN 리졸버를 쓰게 하거나, 신뢰하는 리졸버로 지정하세요.
  6. 대비책으로 시스템 DNS를 공개 리졸버로 바꿉니다. 그 리졸버로 새는 것은 막지 못하지만, 통신사가 내 조회 기록을 보는 것은 막을 수 있습니다.

그런 다음 DNS 유출 테스트를 다시 실행하세요. WebRTC와 IPv6를 포함해 VPN 전체를 점검하려면 VPN 작동 확인 방법을 참고하세요.

자주 묻는 질문

DNS 유출은 위험한가요?

드러나는 것은 방문한 사이트이며, 비밀번호나 페이지 내용은 HTTPS로 계속 보호됩니다. 그래도 개인정보 보호를 위해 VPN을 쓴다면 유출은 VPN을 쓰는 의미를 상당 부분 없앱니다.

DNS 유출로 실제 IP가 드러나나요?

간접적으로는 그렇습니다. 통신사 리졸버는 내 실제 IP를 보고, 클라이언트 서브넷을 전달하는 리졸버는 웹사이트의 DNS 서버에 내 대략적인 위치를 알려 줍니다. 웹사이트 자체가 DNS를 통해 내 IP를 보지는 않습니다.

1.1.1.1이나 8.8.8.8을 쓰면 DNS 유출을 막을 수 있나요?

아니요. 조회를 보는 주체가 통신사에서 Cloudflare나 Google로 바뀔 뿐, 조회는 여전히 VPN 밖으로 나갈 수 있습니다. DNS를 VPN으로 보내야만 유출이 멈춥니다.

테스트에 왜 다른 나라 서버가 나오나요?

대형 리졸버는 나 또는 VPN 서버와 가장 가까운 데이터센터에서 질의를 보내는데, 그곳이 이웃 나라일 수 있습니다. 네트워크 이름을 확인하세요. VPN 업체이거나 VPN 서버 근처의 대형 공개 리졸버라면 괜찮습니다.