V2Ray 사용자 지정 라우팅 규칙 문법: domain·ip·geosite 작성법과 매칭 우선순위
domain, full, regexp, ip, geosite, geoip 등 규칙 작성법을 정리하고, 위에서 아래로 적용되는 매칭 순서와 자주 발생하는 충돌을 설명합니다. 바로 활용할 수 있는 예시도 함께 제공합니다.
글 읽기 →기기에 맞는 오픈 소스 클라이언트를 선택하고 구독 가져오기부터 라우팅까지 차례로 설정해 로컬 프록시를 구성하세요.
클라이언트 화면 예시 · 메뉴와 기본 포트는 클라이언트 설정에 따라 달라질 수 있습니다
운영체제별 선택
데스크톱에서는 v2rayN, Android에서는 v2rayNG를 우선 선택하세요. 설치 전에 운영체제와 프로세서 아키텍처를 확인하고, 설치 파일과 지원 조건 및 업데이트 정보는 다운로드 페이지에서 확인할 수 있습니다.
클라이언트는 설정을 관리하고 코어를 실행하며 로컬 연결 지점을 설정합니다. 연결에 필요한 서버 주소와 인증 정보, 구독 주소는 별도로 준비해야 합니다. 설치 후 목록이 비어 있어도 설정을 아직 가져오지 않은 경우가 많으므로 설치 실패라고 볼 수 없습니다. 구독에는 서버가 여러 개 포함될 수 있으니 하나를 활성 서버로 선택한 뒤 연결을 테스트하세요.
같은 구독이라도 클라이언트마다 프로토콜 지원 범위, 전송 설정, 구독 형식에 따라 가져온 결과가 다를 수 있습니다. 이전하기 전에 기존 설정을 보관하고 서버 하나가 정상적으로 작동하는지 확인한 뒤 구독 그룹 전체를 가져오세요. 기기 아키텍처는 설치 파일의 실행 여부를, 프로토콜 호환성은 설정의 연결 여부를 좌우하므로 각각 따로 확인해야 합니다.
클라이언트 설정 안내
요청이 클라이언트로 들어오는지 먼저 확인한 다음, 요청을 어디로 전달할지 설정하세요. 아래에 자주 사용하는 설정을 일상적인 구성 순서대로 정리했습니다.
구독 그룹을 사용하면 같은 출처의 서버를 묶어 따로 업데이트하고 필터링하거나 삭제할 수 있습니다. 먼저 ‘구독 그룹 설정’을 열어 메모와 전체 구독 주소를 입력하고 저장한 뒤 ‘모든 구독 업데이트(프록시 사용 안 함)’를 실행하세요. 현재 네트워크에서 구독 주소에 접속할 수 없다면 기존 프록시를 통해 업데이트해야 하는지 확인합니다. 구독 업데이트에 성공해도 서버 연결이 보장되는 것은 아닙니다. 활성 서버를 선택하고 실제 요청을 테스트해야 합니다. 설정을 하나씩 붙여넣는 것보다 그룹으로 관리하는 편이 꾸준히 유지하기 쉽지만, 구독 주소는 접근 권한이 포함된 정보이므로 스크린샷이나 공개 로그에 노출하지 마세요.
구독 그룹 → 구독 그룹 설정
구독 그룹 → 모든 구독 업데이트(프록시 사용 안 함)
시스템 프록시는 시스템 설정을 따르는 앱의 요청을 클라이언트의 로컬 리스닝 포트로 전달합니다. 사용 가능한 서버를 선택하고 ‘시스템 프록시 자동 설정’을 적용한 다음 브라우저에서 대상 사이트를 열어 확인하세요. 모든 앱을 한꺼번에 제어하는 기능은 아니므로 자체 네트워크 설정을 사용하는 프로그램은 프록시를 거치지 않을 수 있습니다. TUN을 바로 켜는 것보다 시스템 프록시가 영향을 미치는 범위를 파악하기 쉬워 처음 설정할 때 적합합니다. 로컬 포트를 다른 클라이언트가 사용 중이라면 중복 실행된 프로세스를 먼저 종료하세요. 정상적으로 종료하기 전에 시스템 프록시를 해제하면 클라이언트를 닫은 뒤에도 앱이 작동하지 않는 연결 지점을 가리키는 일을 방지할 수 있습니다.
시스템 프록시 → 시스템 프록시 자동 설정
설정 → 매개변수 설정 → 로컬 리스닝 포트
시스템 프록시 → 시스템 프록시 해제
라우팅은 코어에 들어온 요청을 프록시, 직접 연결, 차단 중 어디로 보낼지 결정합니다. 요청이 들어오는 경로를 설정하는 시스템 프록시와는 다른 단계입니다. 일반적으로 ‘중국 본토 우회’부터 시작해 대상 도메인과 주소별로 처리 방법을 정하세요. 특정 사이트를 점검할 때는 ‘전역’ 모드로 잠시 바꿔 결과를 비교할 수 있습니다. 전역 모드는 코어에 들어온 뒤의 처리 방식만 바꾸므로 시스템 프록시를 따르지 않는 프로그램까지 자동으로 연결하지는 않습니다. 앱에 프록시 주소 하나만 입력하는 것보다 규칙 라우팅으로 세밀하게 접근 방식을 지정할 수 있습니다. 사용자 지정 규칙은 가능한 한 구체적으로 작성하고, 먼저 일치한 규칙이 뒤의 규칙보다 우선할 수 있다는 점에 유의하세요.
라우팅 → 중국 본토 우회 / 전역
설정 → 라우팅 설정
규칙 확인: 대상 도메인 → 일치 규칙 → 아웃바운드
TUN은 가상 네트워크 인터페이스를 통해 트래픽을 받아 시스템 프록시를 따르지 않는 앱에 적합합니다. 켜기 전에 시스템 프록시로 서버가 작동하는지 확인하고, 클라이언트 안내에 따라 권한을 허용한 뒤 필요한 구성 요소가 준비되었는지 점검하세요. 시스템 프록시보다 시스템 라우팅과 DNS 동작에 더 큰 영향을 주며, 다른 VPN이나 가상 네트워크 어댑터, 네트워크 관리 소프트웨어와 충돌할 가능성도 높습니다. 켠 뒤 로컬 네트워크 접속에 문제가 생기면 TUN을 끄고 결과를 비교하세요. 여러 라우팅 규칙을 동시에 변경하지 마세요. 데스크톱과 Android는 VPN 연결 방식이 다르므로 설정 항목과 권한 부여 절차를 그대로 적용할 수 없습니다.
메인 화면 → TUN 사용
확인 순서: 서버 연결 → 권한 → DNS → 라우팅
문제 비교: TUN을 끈 뒤 다시 테스트
그래픽 클라이언트는 인터페이스를 제공하고 코어는 설정을 해석해 연결을 구성합니다. v2rayN은 설정 유형에 따라 해당 코어를 사용할 수 있으며, 실제 선택지는 설치된 구성 요소에 따라 달라집니다. 코어를 바꾸기 전에 서버의 프로토콜, 전송 방식, 보안 옵션을 확인하세요. 이름만으로 호환성을 판단하면 안 됩니다. ‘지원하지 않는 필드’나 설정 파싱 오류는 코어를 계속 바꾸는 것보다 실행 로그를 확인하는 편이 빠르게 원인을 찾을 수 있습니다. v2rayNG는 Xray 코어를, v2flyNG는 V2Fly 코어를 사용합니다. 서로 다른 구현이므로 한쪽에서 지원하는 확장 옵션을 다른 쪽에서도 사용할 수 있다고 단정할 수 없습니다.
설정 → 매개변수 설정 → Core 유형
업데이트 확인 → 클라이언트 및 코어 업데이트 확인
실행 로그 → 설정 파싱 / 코어 시작 정보
여러 플랫폼에서 사용할 때는 대개 클라이언트 내장 클라우드 동기화가 아니라 구독을 다시 가져오거나 설정을 내보내고 가져옵니다. 이전할 때 재사용할 수 있는 서버 매개변수와 기기별 설정을 구분하세요. 권한이 허용된 범위에서 구독 주소를 새 기기에 다시 입력할 수 있지만, 로컬 포트와 시스템 프록시, TUN 권한은 새 기기에서 별도로 설정해야 합니다. 프로그램 폴더 전체를 복사하는 것보다 경로와 아키텍처 차이를 쉽게 확인할 수 있습니다. 라우팅 규칙을 그대로 사용할 수 있는지는 양쪽에서 지원하는 문법에 따라 달라집니다. 가져온 뒤 서버 하나를 먼저 테스트하고 DNS와 분할 라우팅을 확인한 다음 내보낸 파일을 안전하게 보관하세요.
기존 기기: 설정 내보내기 / 구독 주소 저장
새 기기: 설정 가져오기 → 서버 선택 → 연결 확인
별도 설정: 로컬 포트 / 시스템 프록시 / TUN 권한
화면에 표시되는 ‘연결 성공’은 단계별로 이해해야 합니다. 코어가 시작되었다면 설정이 실행 단계에 들어간 것이고, 로컬 포트가 리스닝을 시작했다면 앱이 연결할 지점이 마련된 것입니다. 대상 사이트에 접속할 수 있어야 해당 요청이 거치는 전체 경로가 작동한다고 볼 수 있습니다. 시작 로그만으로 모든 서버나 앱이 정상이라고 판단할 수는 없습니다.
한 번에 설정 하나만 바꾸고 변경 전 상태를 기록해 두세요. 브라우저는 되는데 특정 앱이 안 된다면 해당 앱이 시스템 프록시를 따르는지 먼저 확인하세요. 모든 앱에서 접속할 수 없다면 활성 서버와 포트, 코어 로그를 점검하세요. 요청 진입 문제와 전달 문제를 나누어 보면 프로토콜, DNS, 라우팅을 한꺼번에 바꾸는 것보다 원인을 찾기 쉽습니다. 플랫폼별로 확인하려면 전체 플랫폼 설치 및 설정 가이드를 참고하세요.
처음 사용할 때의 순서
먼저 설정을 가져오고 트래픽 진입 경로를 설정한 다음 연결을 확인하세요. 변경을 최소화해 연결 하나를 먼저 작동시키고, 그다음 분할 라우팅이나 TUN을 추가하세요.
사용할 수 있는 구독 주소를 준비해 v2rayN의 ‘구독 그룹 설정’에 저장한 뒤 구독 업데이트를 실행하세요. 서버 목록에 항목이 표시되면 사용할 서버를 선택해 활성 서버로 지정합니다. Android에서는 v2rayNG의 추가 메뉴에서 설정을 가져오거나 구독을 관리한 다음 구독 내용을 업데이트할 수 있습니다. QR 코드, 클립보드, 구독 주소는 각각 다른 입력 방식이므로 보유한 자료에 맞는 방법을 선택하세요.
목록이 비어 있으면 주소가 완전한지, 만료되지 않았는지, 업데이트 로그에 가져오기 실패가 표시되는지 먼저 확인하세요. 같은 주소를 계속 가져와 중복 그룹을 만들지 마세요. 중복 항목은 연결 가능성을 높이지 않고, 테스트 결과를 잘못된 설정과 연결하기 쉽습니다. 구독 주소는 접근 자격 정보로 간주해 안전하게 보관하세요.
데스크톱에서는 먼저 ‘시스템 프록시 자동 설정’을 선택하고 라우팅은 ‘중국 본토 우회’로 시작하세요. Android에서는 연결 버튼을 누른 뒤 시스템 VPN 권한을 허용하세요. 이미 다른 VPN이 실행 중이라면 어떤 앱이 현재 연결을 처리하는지 확인해야 합니다. 이 과정을 마치면 클라이언트가 해당 앱에서 보낸 요청을 받을 수 있습니다.
처음 설정할 때 모든 기능을 동시에 켤 필요는 없습니다. 브라우저에 시스템 프록시만으로 충분하다면 우선 이 방식으로 사용하세요. 시스템 프록시를 따르지 않는 앱도 연결해야 할 때 TUN을 살펴보면 됩니다. 기기에서 프록시 클라이언트를 여러 개 실행하면 로컬 포트를 서로 사용하거나 시스템 설정을 덮어쓸 수 있습니다. 테스트할 때는 클라이언트 하나만 활성화해야 결과를 쉽게 판단할 수 있습니다.
대상 사이트를 열고 클라이언트 로그에 해당 연결이 표시되는지 확인하세요. 지연 시간 테스트는 현재 네트워크의 응답을 비교하는 데 유용하지만, 테스트 실패가 서버를 전혀 사용할 수 없다는 뜻은 아니며 테스트 성공이 모든 사이트 접속을 보장하지도 않습니다. 실제 앱에서 요청을 보내 결과를 확인하고 분할 라우팅이 예상대로 적용되는지도 점검하세요.
시간 초과가 발생하면 서버 주소와 포트, 네트워크부터 확인하세요. 핸드셰이크에 실패하면 시간 설정, TLS, 연결 매개변수를 점검하세요. 포트가 사용 중이라면 중복 실행된 프로세스를 먼저 종료하세요. 확인이 끝나면 정상 작동한 설정 조합을 기록하세요. 다음에 업데이트하거나 기기를 옮길 때는 확인된 설정을 먼저 복원한 뒤 하나씩 변경하세요.
오픈 소스 생태계와 클라이언트의 역할
V2Ray는 생태계 전체를 가리키는 말로 자주 사용됩니다. 다운로드할 때는 그래픽 클라이언트, 프록시 코어, 서버 설정을 구분해야 하며 각각 맡은 역할이 다릅니다.
Project V는 모듈식 네트워크 프록시 도구를 중심으로 기술 체계를 구축했으며, V2Ray는 널리 사용되는 구현 중 하나입니다. V2Fly 커뮤니티는 V2Ray 관련 구현과 문서를 이어서 관리하고, Xray는 이 기술 계보에서 발전해 독립적인 코어 프로젝트가 되었습니다. 일부 개념과 설정 방식은 공유하지만 이후 기능과 전송 방식, 설정 세부 사항은 완전히 같지 않습니다. 서로 언제든 바꿔 쓸 수 있는 동일한 프로그램으로 보면 안 됩니다.
그래픽 클라이언트를 사용하는 경우 코어의 차이는 특정 프로토콜이나 확장 옵션을 인식하는지, 생성된 설정이 현재 코어의 요구 사항에 맞는지에 주로 영향을 줍니다. 서버에서 제공하는 매개변수는 클라이언트가 사용하는 코어와 호환되어야 합니다. 낯선 전송 방식이 보이면 지원 여부를 먼저 확인한 뒤 클라이언트를 업데이트하거나 코어를 바꾸세요. 같은 설치 파일을 반복해서 다시 설치할 필요는 없습니다.
v2rayN은 데스크톱용 오픈 소스 그래픽 클라이언트로 서버 관리, 구독 업데이트, 시스템 프록시, 라우팅 설정을 지원해 컴퓨터에서 연결을 관리하기 좋습니다. v2rayNG는 Android용으로 Xray 코어를 사용하며, 모바일에서 설정을 가져오고 VPN에 연결할 때 자주 사용됩니다. v2flyNG도 Android용이며 V2Fly 코어를 사용합니다. 기존 설정이 해당 코어와 호환되는 경우 대안으로 사용할 수 있습니다.
세 클라이언트는 각각 서버 서비스를 제공하는 것이 아니며 설치만으로 연결 매개변수가 생성되지도 않습니다. 인터페이스는 로컬 설정을 만들고 관리하는 데 도움을 주며, 실제 원격 연결은 가져온 내용에 따라 달라집니다. 따라서 클라이언트 이름이 같다고 구독 출처까지 같은 것은 아닙니다. 구독에 특정 프로토콜이 포함되어 있어도 모든 클라이언트에서 확장 기능까지 전부 사용할 수 있는 것은 아닙니다.
오픈 소스는 해당 라이선스에 따라 소스 코드를 공개한다는 뜻이며, 사용·수정·재배포 시 각 프로젝트의 라이선스 조건을 따라야 합니다. V2Ray와 Xray 코어는 MPL-2.0 라이선스를 사용합니다. 클라이언트와 의존성은 각자 포함된 라이선스 안내를 확인하세요. 오픈 소스 라이선스는 코드 사용 규칙을 정할 뿐, 구독 출처와 서버 이용 권한, 로컬 개인정보 설정에 대한 판단을 대신하지 않습니다.
커뮤니티에서는 인터페이스, 코어, 문서를 각각 관리하는 경우가 많습니다. 기능이 코어에 먼저 추가된 뒤 클라이언트에서 설정 항목을 제공할 수도 있고, 새로운 설정 형식이 필요할 수도 있습니다. 업데이트 안내를 읽을 때는 변경된 부분이 어느 계층인지 확인하세요. 인터페이스에 해당 항목이 없다고 해서 프로토콜을 지원하지 않는다고 단정할 필요는 없습니다. 다른 코어의 필드를 현재 설정에 그대로 복사해서도 안 됩니다.
클라이언트 업데이트, 코어 업데이트, 구독 업데이트는 서로 다른 작업입니다. 클라이언트 업데이트는 인터페이스와 관리 로직을 바꾸고, 코어 업데이트는 연결 기능과 설정 파싱에 영향을 주며, 구독 업데이트는 서버 목록이나 매개변수를 바꿉니다. 문제를 점검할 때 방금 실행한 업데이트 종류를 기록해 두면 원인 범위를 크게 좁힐 수 있습니다. 한 번의 테스트에서 설치 파일과 구독, 라우팅 규칙을 동시에 바꾸지 마세요.
업데이트 전에 필요한 설정과 사용자 지정 규칙을 저장하세요. 업데이트 후에는 이전에 작동하던 서버 하나를 먼저 테스트한 다음 자주 사용하는 사이트, 로컬 네트워크 접속, 앱의 프록시 동작을 확인하세요. 특정 앱에서만 문제가 발생하면 진입 경로 설정을 우선 점검하고, 시작하자마자 설정 오류가 나면 코어 호환성을 먼저 확인하세요. 이 사이트는 다운로드와 그래픽 인터페이스 설정 경로를 정리합니다. 실제 연결 서비스는 사용자가 선택한 설정 출처에서 제공됩니다.
설정 기록 및 문제 해결
기본 연결이 작동하면 구체적인 문제에 맞는 글을 확인하세요. 라우팅 글에서는 요청이 전달되는 경로를, 로그 글에서는 실패 지점을 찾는 방법을 다룹니다. 입문 가이드에서는 기본 절차를 빠르게 다시 확인할 수 있습니다.
domain, full, regexp, ip, geosite, geoip 등 규칙 작성법을 정리하고, 위에서 아래로 적용되는 매칭 순서와 자주 발생하는 충돌을 설명합니다. 바로 활용할 수 있는 예시도 함께 제공합니다.
글 읽기 →로그 수준에 따라 Xray 코어 출력 구조를 설명하고, 포트 사용 중·핸드셰이크 실패·시간 초과 같은 대표 오류를 하나씩 풀이해 설정, 네트워크, 서버 문제를 구분할 수 있도록 안내합니다.
글 읽기 →v2rayN을 처음 사용할 때 자주 묻는 10가지 질문을 정리했습니다. 구독 링크 입력 방법, 시스템 프록시 선택, 브라우저 접속 문제 등을 다루며 각 항목마다 따라 할 수 있는 점검 절차를 안내합니다.
글 읽기 →