v2rayN DNS 설정 방법|원격·국내 DNS를 나눠 쓰는 구성법

v2rayN에서 DNS 응답이 느리거나 특정 사이트가 열리지 않는다면 DNS 구성을 확인해 보세요. 원격 DNS와 국내 DNS를 상황에 맞게 선택하는 법, DNS 누수 점검, 기본값 복원 절차까지 단계별로 안내합니다.

v2rayN에서 노드 연결은 정상인데 국내 웹사이트가 느리거나 해외 도메인만 간헐적으로 열리지 않는다면 DNS 경로를 먼저 확인할 필요가 있습니다. DNS는 도메인 이름을 IP 주소로 바꾸는 과정이며, 프록시 트래픽 자체와는 별도의 요청으로 처리될 수 있습니다. 따라서 해외 사이트 접속은 원격 노드를 거치더라도 도메인 조회가 로컬 통신사 DNS에서 처리되면 지역별 응답 차이, 오염된 주소, DNS 유출이 발생할 수 있습니다.

반대로 모든 도메인을 무조건 해외 DNS로 보내는 구성도 항상 최선은 아닙니다. 국내 서비스는 국내 DNS에서 가까운 CDN 주소를 받는 편이 빠를 수 있고, 회사 내부 도메인이나 공유기 주소는 로컬 네트워크 DNS가 필요할 수 있습니다. 이 글에서는 v2rayN 7.x 계열을 기준으로 DNS 메뉴 위치를 찾는 방법, 국내·해외 도메인을 나누는 원리, 설정 후 실제 적용 여부를 확인하는 절차를 정리합니다.

이 글 한눈에 보기

v2rayN의 「설정」→「매개변수 설정」→「DNS」 계열 메뉴에서 기본 DNS, 원격 DNS, DNS 라우팅을 확인하고, 국내 도메인은 직접 연결에 맞는 DNS로, 해외 도메인은 프록시 경로의 원격 DNS로 나누는 방법을 설명합니다. 버전별 메뉴 차이를 구분하고, 로그·명령어·반복 접속으로 설정이 실제 적용됐는지도 확인합니다.

v2rayN DNS 설정이 필요한 이유

브라우저가 example.com 같은 주소에 접속할 때는 먼저 DNS 리졸버에 질의해 A 또는 AAAA 레코드를 받아야 합니다. 일반적인 시스템 프록시 모드에서는 브라우저의 TCP 연결은 v2rayN의 로컬 HTTP 또는 SOCKS 포트로 전달되지만, 브라우저와 운영체제가 DNS를 처리하는 방식은 별도로 남을 수 있습니다. 브라우저가 시스템 DNS를 사용하면 공유기나 통신사의 DNS가 조회를 맡고, 브라우저 자체의 보안 DNS가 켜져 있으면 지정한 DoH 서버로 HTTPS 요청을 직접 보낼 수도 있습니다.

v2rayN의 DNS 설정은 이 이름 해석 과정을 Xray 코어의 라우팅과 연결하는 역할을 합니다. 다만 DNS 메뉴에 주소를 입력했다고 해서 모든 애플리케이션의 조회가 자동으로 v2rayN을 통과하는 것은 아닙니다. 시스템 프록시를 무시하는 프로그램, TUN을 사용하지 않는 환경, 브라우저 자체 DoH가 활성화된 환경에서는 코어 DNS가 사용되지 않을 수 있습니다. 따라서 DNS 서버 주소와 함께 트래픽 가로채기 방식, 라우팅 규칙, 브라우저 설정을 함께 봐야 합니다.

앱이 도메인 요청 DNS 질의 포착 도메인 규칙 판정 국내·원격 DNS 선택 응답 후 목적지 연결
53
일반 DNS의 UDP·TCP 포트
853
DNS over TLS의 기본 포트
443
DNS over HTTPS가 주로 사용하는 포트
2개
국내·해외 분할 DNS 그룹

여기서 ‘원격 DNS’는 단순히 외국에 있는 공개 DNS 주소를 뜻하지 않습니다. 해당 DNS 요청이 로컬 네트워크에서 직접 전송되는지, 프록시 아웃바운드를 통해 전달되는지가 더 중요합니다. 예를 들어 https://1.1.1.1/dns-query를 입력했더라도 이 HTTPS 요청이 직접 연결되면 로컬 네트워크에서 확인 가능한 경로가 남을 수 있습니다. 반대로 DNS 요청을 Xray의 프록시 아웃바운드로 보내면 원격 노드 측에서 DoH 서버와 통신하는 구조가 됩니다.

v2rayN에서 DNS 메뉴 찾기

v2rayN은 버전과 사용 중인 코어에 따라 메뉴 이름과 배치가 조금씩 다를 수 있습니다. 7.x 계열에서는 보통 메인 창 또는 트레이 메뉴의 「설정」→「매개변수 설정」으로 들어간 뒤 「DNS 설정」, 「DNS」 또는 라우팅 관련 하위 항목을 찾습니다. 어떤 빌드에서는 기본 DNS 주소를 매개변수 설정에서 입력하고, 도메인별 분기는 Xray 설정의 DNS·라우팅 항목에서 처리합니다. 메뉴가 보이지 않는다면 코어가 Xray인지, 단순 프로필 편집 화면인지 먼저 확인하세요.

설정 화면에서 다음 항목을 구분하면 혼동이 줄어듭니다. 첫째는 시스템에 표시되는 로컬 수신 포트이고, 둘째는 코어가 사용할 DNS 서버이며, 셋째는 DNS 요청 자체를 어느 아웃바운드로 보낼지 정하는 라우팅입니다. 로컬 HTTP 포트 10809나 SOCKS 포트 10808을 DNS 서버 입력란에 넣는 것은 올바른 설정이 아닙니다. 이 포트는 애플리케이션이 v2rayN에 접속하는 입구이고, DNS 리졸버 주소와는 역할이 다릅니다.

국내 도메인용 DNS

예시 주소
223.5.5.5 또는 1.1.1.1
대상
국내 서비스·일반 로컬 도메인
라우팅
직접 연결 또는 국내 아웃바운드
목적
가까운 CDN 응답과 낮은 지연

통신사와 네트워크에 따라 응답 품질이 다르므로 두 주소를 동시에 고정하기보다 실제 조회 시간을 비교하세요.

해외 도메인용 원격 DNS

예시 주소
https://1.1.1.1/dns-query
대상
해외 서비스·프록시 대상 도메인
라우팅
프록시 아웃바운드
목적
조회 경로 일치와 오염 방지

DoH 주소만 등록하지 말고 해당 DNS 요청이 프록시 경로로 나가도록 라우팅 조건도 확인해야 합니다.

공개 DNS 주소는 네트워크 환경과 정책에 따라 응답이 달라질 수 있습니다. 223.5.5.5, 1.1.1.1, 8.8.8.8처럼 잘 알려진 주소를 무조건 정답으로 볼 수는 없습니다. 국내 서비스의 CDN 선택이 나빠지거나 특정 네트워크에서 UDP DNS가 차단될 수 있으므로, 일반 DNS와 DoH를 각각 시험하고 실패할 때 이전 값으로 되돌릴 수 있게 설정을 기록해 두세요.

국내·해외 분할 DNS 구성하기

분할 DNS의 기본 원리는 도메인 목록을 기준으로 DNS와 최종 트래픽의 방향을 일치시키는 것입니다. 국내 도메인 목록에는 보통 geosite:cn 또는 클라이언트가 제공하는 국내 도메인 그룹을 사용하고, 나머지 해외 도메인은 원격 DNS 그룹에 넣습니다. 다만 구체적인 메뉴에서 이 표현을 그대로 지원하는지는 Xray 코어 버전과 v2rayN의 설정 화면에 따라 다르므로, 자동 생성 JSON이나 로그에서 실제 규칙이 반영되었는지 확인해야 합니다.

가장 안정적인 초기 구성은 규칙을 많이 넣지 않는 것입니다. 먼저 국내 도메인을 국내 DNS로 조회하고 직접 연결하는 규칙 하나, 해외 도메인을 원격 DNS로 조회하고 프록시로 연결하는 규칙 하나만 적용합니다. 회사 내부 도메인, 공유기 주소, 사설 IP 대역은 별도 예외로 남겨 두는 편이 좋습니다. 모든 DNS를 한꺼번에 원격으로 보내면 프린터, NAS, 사내 서비스 이름이 해석되지 않을 수 있고, 반대로 모든 DNS를 직접 연결하면 해외 도메인 조회 경로가 노출될 수 있습니다.

대상 DNS 처리 트래픽 출구 확인 포인트
국내 일반 사이트 국내 또는 지연이 낮은 DNS 직접 연결 CDN 주소와 접속 지연
해외 프록시 대상 원격 DoH 또는 원격 DNS 프록시 아웃바운드 DNS 요청의 직접 연결 여부
회사·가정 내부 도메인 내부 DNS 직접 연결 사설 주소와 로컬 접근성
광고·추적 도메인 차단 DNS 또는 차단 규칙 차단 오탐과 앱 로그인 영향

결론: DNS와 트래픽 출구를 같이 설계하세요

해외 도메인을 원격 DNS로 조회하면서 최종 연결은 직접 연결로 보내면 지연과 지역 판정이 예상과 달라질 수 있습니다. 분할 DNS를 적용할 때는 각 도메인 그룹의 DNS 경로와 프록시·직접 연결 출구가 같은 의도를 갖는지 함께 확인하는 것이 핵심입니다.

라우팅 순서도 중요합니다. 일반적으로 사설 주소와 로컬 도메인 예외를 먼저 두고, 국내 도메인 그룹과 해외 프록시 그룹을 그 다음에 배치합니다. 마지막에 남는 요청을 직접 연결할지 프록시로 보낼지는 사용 목적에 따라 정합니다. 규칙이 위에서 아래로 평가되는 구성에서는 너무 넓은 geosite:geolocation-!cn 또는 모든 도메인 대상 규칙을 앞에 두면 뒤의 국내 예외가 도달하지 못할 수 있습니다.

설정 적용과 실제 동작 확인

DNS 값을 입력한 뒤 저장만 하고 바로 결과를 단정하지 마세요. 기존 브라우저와 운영체제 DNS 캐시, 연결된 HTTP/2 세션, 브라우저의 보안 DNS가 이전 결과를 계속 사용할 수 있습니다. 먼저 정상 작동하는 노드를 선택하고 일반 시스템 프록시를 켠 상태에서 테스트한 다음, 변경 후 v2rayN 코어를 재시작하는 순서가 안전합니다. TUN을 함께 사용하는 경우에는 TUN 상태와 DNS 가로채기 옵션도 별도로 확인해야 합니다.

  1. 현재 설정 저장

    v2rayN의 「설정」→「매개변수 설정」에서 DNS 주소, 라우팅 모드, 코어 종류를 기록합니다. 현재 사용 중인 노드와 로컬 포트 10808, 10809도 함께 적어 두면 변경 전후 비교가 쉽습니다.

  2. DNS 그룹 구성

    DNS 설정에서 국내용과 원격용 주소를 등록하고 도메인 그룹을 연결합니다. 처음에는 국내 도메인 그룹 하나와 해외 도메인 그룹 하나만 사용하고, 광고 차단이나 사용자 지정 예외는 나중에 추가하세요.

  3. 라우팅 출구 지정

    국내 그룹은 직접 연결, 해외 그룹은 프록시 아웃바운드로 지정합니다. DNS 요청을 프록시로 보낼 수 있는 항목이 따로 있다면 원격 DNS에 연결하고, 로컬 도메인과 사설 IP는 내부 네트워크에 맞게 예외 처리합니다.

  4. 코어 재시작

    설정을 저장한 뒤 현재 노드의 코어를 중지하고 다시 시작합니다. 변경 사항이 반영되지 않으면 v2rayN을 트레이 메뉴까지 완전히 종료한 다음 다시 실행하고, 로그에 설정 파싱 오류가 없는지 확인하세요.

  5. 국내외 접속 비교

    국내 사이트와 해외 사이트를 각각 새 비공개 창에서 열고, 명령 프롬프트의 nslookup 결과와 브라우저 개발자 도구의 연결 주소를 비교합니다. 한 번의 성공보다 캐시를 비운 뒤 세 차례 반복해 같은 경로가 유지되는지 확인하세요.

Windows에서 기본 DNS 응답을 확인하려면 명령 프롬프트에서 다음처럼 실행할 수 있습니다. 이 명령은 현재 시스템 리졸버의 응답을 보여 주므로 Xray 내부 DNS가 반드시 이 결과와 같아야 한다는 뜻은 아닙니다. 시스템 프록시 모드와 TUN 모드를 나누어 비교하는 기준선으로 사용하세요.

ipconfig /flushdns
nslookup example.com
nslookup www.example.kr

v2rayN 로그에서는 dns, query, outbound, routing 같은 단어를 찾습니다. 로그에 실제 도메인과 선택된 서버가 표시되는 정도는 코어와 로그 수준에 따라 다르지만, 설정을 저장한 시각 이후 질의가 발생했는지와 오류가 반복되는지는 확인할 수 있습니다. 브라우저의 보안 DNS가 활성화된 상태라면 브라우저가 v2rayN DNS를 우회할 수 있으므로, 첫 검증에서는 이 기능을 잠시 끄고 클라이언트 경로를 분리해 확인하는 편이 좋습니다.

자주 발생하는 오류와 복구 방법

DNS 변경 뒤 웹사이트가 전혀 열리지 않는다면 주소를 많이 추가하기보다 가장 단순한 구성으로 되돌리는 것이 빠릅니다. 국내 DNS 하나와 원격 DNS 하나만 남기고 사용자 지정 규칙을 잠시 제거한 뒤, 먼저 노드와 일반 시스템 프록시가 정상인지 확인하세요. DNS 설정 오류와 노드 TLS 핸드셰이크 오류는 서로 다른 단계에서 발생하므로 로그에서 어느 시점에 실패하는지 구분해야 합니다.

오류: DNS request timed out

원인과 해결 방법:지정한 DNS 서버에 직접 접근할 수 없거나 DoH 주소가 프록시 경로와 맞지 않을 수 있습니다. 먼저 일반 DNS 주소로 응답 여부를 확인하고, 원격 DoH는 프록시 아웃바운드와 함께 다시 연결하세요.

오류: failed to parse DNS configuration

원인과 해결 방법:주소 형식, 따옴표, JSON 자동 생성 값이 현재 코어 문법과 맞지 않습니다. 사용자 지정 항목을 제거하고 v2rayN 화면에서 주소를 다시 저장한 뒤 코어 로그의 첫 번째 파싱 오류를 확인하세요.

오류: 국내 사이트만 접속 지연

원인과 해결 방법:국내 도메인이 원격 DNS로 조회되거나 프록시 출구를 통과하면서 CDN 위치가 달라졌을 수 있습니다. 국내 도메인 그룹을 직접 연결 규칙보다 앞에 배치하고 국내용 DNS 응답을 비교하세요.

오류: DNS 설정 후에도 로컬 리졸버가 표시됨

원인과 해결 방법:브라우저 보안 DNS, 운영체제 직접 조회 또는 다른 VPN·보안 프로그램이 별도 경로를 사용하고 있을 수 있습니다. 브라우저 DoH를 끄고 다른 네트워크 도구를 종료한 뒤 TUN 또는 시스템 프록시 경로를 하나씩 시험하세요.

DNS 설정이 적용되지 않는다고 해서 곧바로 클라이언트 재설치나 구독 삭제를 할 필요는 없습니다. 먼저 설정 저장 여부, 코어 재시작 여부, 사용 중인 코어 종류, 브라우저의 자체 DNS, 그리고 TUN 인바운드가 실제로 실행 중인지 확인하세요. 특히 TUN을 사용하는 경우에는 DNS 요청을 가상 인터페이스가 가로채는지와 포트 53·853·443 연결이 직접 연결 규칙에 의해 우선 처리되지 않는지를 함께 봐야 합니다.

v2rayN DNS 설정 FAQ

DNS 주소를 8.8.8.8 하나만 넣으면 충분한가요?

단순한 테스트에는 가능하지만 모든 네트워크에서 가장 빠르거나 안정적이지는 않습니다. 국내 사이트가 느려지면 국내 리졸버와 비교하고, 해외 DNS를 사용할 때는 해당 요청이 직접 연결인지 프록시 연결인지까지 확인하세요.

v2rayN DNS 메뉴가 보이지 않으면 어떻게 하나요?

「설정」→「매개변수 설정」 안의 일반, DNS, 라우팅 탭을 차례로 확인하고 Xray 코어가 선택되어 있는지 봅니다. 버전에 따라 DNS 항목이 별도 화면이 아니라 라우팅 또는 JSON 편집 영역에 표시될 수 있으므로 현재 v2rayN 7.x 빌드의 메뉴 이름을 기준으로 찾으세요.

브라우저에서만 다른 DNS가 표시되는 이유는 무엇인가요?

브라우저의 보안 DNS가 시스템과 v2rayN 설정을 우회하고 있을 가능성이 큽니다. 브라우저 개인정보 보호 설정에서 보안 DNS 제공업체를 확인하고, 검증 단계에서는 기능을 잠시 끈 뒤 결과를 비교하세요.

분할 DNS를 사용하면 국내 사이트도 프록시를 거치나요?

DNS 분할과 트래픽 분할은 별도의 규칙입니다. 국내 DNS를 선택했다고 반드시 직접 연결되는 것은 아니며, 라우팅의 국내 도메인 규칙에 직접 연결 출구가 지정되어 있는지 확인해야 합니다.

정리하면 v2rayN DNS 설정은 공개 DNS 주소를 입력하는 작업보다 경로를 설계하고 검증하는 작업에 가깝습니다. 국내 도메인은 가까운 DNS와 직접 연결을 사용하고, 해외 도메인은 원격 DNS와 프록시 출구를 묶으면 일반적인 분할 구성을 만들 수 있습니다. 다만 브라우저 DoH, TUN 가로채기, 운영체제 캐시, 다른 VPN 프로그램이 개입하면 화면의 DNS 값과 실제 조회 경로가 달라질 수 있으므로 변경 전후를 반복해서 비교해야 합니다.

클라이언트 다운로드