V2Ray 용어 사전
프로토콜, 코어, 클라이언트 설정을 구성 계층별로 살펴보세요.
낯선 필드를 만나면 먼저 어느 계층에 속하는지 확인하세요. 프로토콜은 양쪽이 통신하는 방식을 정하고, 전송 방식은 트래픽을 전달하는 방법을 정하며, 코어는 연결 로직을 실행하고 클라이언트는 설정을 관리합니다. 이름이 비슷한 옵션이라도 서로 바꿔 쓸 수 있는 것은 아닙니다. 이 페이지에서 개념의 차이를 확인한 다음 심화 설정에서 구체적인 방법을 살펴보세요.
프로토콜과 전송
인증, 전송 방식, 연결 보안을 구분하세요. 프로토콜 이름이 같아도 전송 매개변수는 다를 수 있습니다.
- VMess프록시 프로토콜 · 사용자 ID 인증
- VMess는 Project V 생태계의 프록시 프로토콜로, 사용자 ID를 사용해 인증하고 자체 보안 메커니즘도 포함합니다. 최신 설정에서는 보통 AEAD를 사용하며, 오래된 가이드의 일부 매개변수는 그대로 적용하지 않는 것이 좋습니다. 가져올 때는 사용자 ID뿐 아니라 포트, 전송 방식, TLS 설정도 확인하세요. 프로토콜을 올바르게 선택했다고 해서 연결 매개변수가 모두 갖춰진 것은 아닙니다.
- VLESS프록시 프로토콜 · UUID
- VLESS는 UUID로 사용자를 식별하며, 프로토콜 자체적으로 페이로드를 암호화하지 않습니다. 연결 보안은 TLS나 REALITY 같은 메커니즘과 함께 살펴봐야 합니다. VLESS는 VMess의 다른 표시 이름이 아니므로 두 프로토콜의 필드를 서로 바꿔 쓸 수 없습니다. 사용 전 코어가 전송 방식과 flow 매개변수를 지원하는지도 확인하세요. 프로토콜 선택 메뉴만 VLESS로 바꾸는 것으로는 충분하지 않습니다.
- Trojan프록시 프로토콜 · 비밀번호 인증
- Trojan은 일반적으로 TLS로 연결을 보호하고 비밀번호로 인증합니다. 여기서 말하는 것은 프로토콜이며, 같은 이름의 악성 프로그램과는 관련이 없습니다. 비밀번호가 맞아도 인증서 검증이 실패할 수 있으며, 서버 이름과 시스템 시간도 핸드셰이크에 영향을 줍니다. 클라이언트의 주소, TLS 서버 이름, 전송 옵션을 각각 확인하고, 설정 오류를 감추기 위해 검증을 건너뛰는 것은 피하세요.
- REALITY연결 보안 메커니즘 · Xray 생태계
- REALITY는 Xray 생태계의 연결 보안 메커니즘으로, 보통 VLESS 등의 프로토콜과 함께 사용하며 독립적인 노드 프로토콜은 아닙니다. 설정에는 공개 키, 서버 이름, shortId 등이 사용되며, 구체적인 필드는 코어와 클라이언트 버전에 따라 다릅니다. 주소와 UUID만 복사해서는 설정이 부족한 경우가 많습니다. 노드에서 제공한 전체 매개변수를 가져오고 선택한 코어가 해당 필드를 해석할 수 있는지 확인하세요.
- WebSocket전송 방식 · WS
- WebSocket은 양방향 통신 방식으로, 프록시 트래픽을 전달하는 계층으로 사용할 수 있습니다. VMess나 VLESS 같은 프록시 프로토콜과는 다른 계층입니다. 설정의 경로와 Host는 서버 요구 사항에 맞아야 하며, TLS 서버 이름은 별도로 설정해야 합니다. 경로의 대소문자나 앞쪽 슬래시, Host가 일치하지 않으면 전송 단계에서 연결이 실패할 수 있습니다.
코어와 생태계
클라이언트 UI는 관리를, 코어는 실제 실행을 담당합니다. 클라이언트를 선택할 때 프로토콜 지원과 설정 입력 방법도 함께 확인하세요.
- Project V오픈소스 프로젝트 생태계
- Project V는 V2Ray 및 관련 네트워크 도구를 중심으로 형성된 오픈소스 프로젝트 생태계이며, 특정 데스크톱 클라이언트의 이름은 아닙니다. 생태계에는 네트워크 로직을 실행하는 코어와 사용자가 설정을 관리하도록 돕는 UI 프로그램이 있습니다. “V2Ray 지원”이라는 문구만으로 판단하지 말고 어떤 프로토콜과 코어를 지원하는지, 노드에 필요한 매개변수를 설정할 수 있는지 확인하세요.
- V2FlyV2Ray 커뮤니티 유지보수 프로젝트
- V2Fly는 V2Ray 코어와 관련 생태계를 관리하는 커뮤니티 프로젝트이며, 해당 코어 계열을 가리키는 말로도 쓰입니다. Xray와 같은 생태적 배경을 공유하지만 프로토콜 지원, 설정 구조, 버전 발전이 완전히 같지는 않습니다. 설정을 옮기기 전에 각 필드의 의미를 확인하세요. 클라이언트에서 링크를 가져올 수 있다고 해서 모든 연결 기능을 지원한다고 단정할 수는 없습니다.
- Xray독립 코어 프로젝트
- Xray는 V2Ray 생태계에서 발전한 독립 코어 프로젝트로, 프로토콜, 전송 방식, 설정이 자체적으로 발전해 왔습니다. REALITY 등의 기능은 코어 버전뿐 아니라 클라이언트가 필요한 설정을 생성할 수 있는지에 따라 사용할 수 있습니다. 코어 이름이 속도를 보장하지는 않습니다. 선택할 때는 노드의 기술 요구 사항을 먼저 확인하고 클라이언트의 설정 기능과 유지보수 방식도 살펴보세요.
- 코어Core · 설정 실행 프로그램
- 코어는 프로토콜 처리, 라우팅 판단, DNS 로직, 네트워크 연결을 실제로 담당합니다. 그래픽 UI는 보통 사용자의 설정을 코어 설정으로 변환합니다. 클라이언트 UI가 열리더라도 코어가 정상적으로 시작되었다는 뜻은 아닙니다. 필드 오류나 포트 충돌로 실행이 막힐 수 있습니다. 문제를 해결할 때는 클라이언트 로그와 코어 출력을 구분하고, 코어별 지원 기능 비교에서 기능 범위를 확인하세요.
- 그래픽 클라이언트v2rayN / v2rayNG / v2flyNG
- 그래픽 클라이언트는 노드 목록, 구독 업데이트, 설정 생성, 실행 제어를 맡아 코어 설정을 직접 편집하는 수고를 덜어줍니다. v2rayN은 데스크톱 플랫폼용이며, v2rayNG와 v2flyNG는 Android용입니다. 코어와 기능 지원 여부는 각각 확인해야 합니다. 클라이언트 이름, 코어 이름, 프록시 프로토콜은 서로 다른 개념이므로 UI 모양만 보고 노드 호환성을 판단하지 마세요.
구독과 노드
구독은 설정 출처를 관리하고, 노드는 연결 매개변수를 저장합니다. 업데이트, 변환, 필터링은 각각 다른 기능입니다.
- 구독Subscription · 설정 배포 주소
- 구독은 보통 여러 노드의 설정을 가져올 수 있는 주소이며, 클라이언트가 요청한 뒤 내용을 연결 설정으로 변환합니다. 구독 업데이트는 주로 노드와 그 매개변수를 새로 가져오며, 로컬 라우팅 규칙이나 DNS 설정까지 동기화되지는 않습니다. 주소에 접근 정보가 포함될 수 있으니 민감한 정보로 다루세요. 공개적으로 문제를 문의할 때 전체 링크를 올리지 말고 구독 가져오기 단계를 먼저 확인하세요.
- 노드Node · 서버 연결 설정
- 노드는 클라이언트에 저장되는 서버 연결 매개변수로, 보통 주소, 포트, 인증 정보, 프로토콜, 전송 옵션을 포함합니다. 노드 메모는 식별을 위한 이름일 뿐 실제 서버 위치나 회선 특성과 정확히 일치한다고 보장할 수 없습니다. 노드를 가져올 수 있어도 연결된다는 뜻은 아닙니다. 설정이 완전한지, 서비스가 동작하는지 확인하고 실제 요청으로 연결 상태를 살펴보세요.
- 구독 그룹클라이언트 관리 단위
- 구독 그룹은 출처나 용도에 따라 노드를 정리해 목록을 업데이트하고 필터링하기 쉽게 합니다. 그룹 이름은 클라이언트 관리 계층의 항목으로, 코어의 아웃바운드 tag와 다르며 라우팅에 직접 사용되지 않을 수도 있습니다. 그룹 삭제, 노드 제거, 업데이트 비활성화는 각각 다른 작업일 수 있습니다. 목록 정리를 서버 설정 변경으로 오해하지 않도록 실행 전에 클라이언트 안내를 확인하세요.
- 구독 변환Subscription conversion
- 구독 변환은 한 형식의 설정 내용을 다른 클라이언트에서 인식할 수 있는 형식으로 정리하는 작업입니다. 서버에 없는 매개변수가 새로 생기는 것은 아닙니다. 특수 전송 필드가 누락되거나 그룹 및 라우팅 표현이 바뀔 수 있으므로 가져온 뒤에도 확인해야 합니다. 변환 서비스가 구독 주소와 노드 인증 정보를 처리할 수 있으니, 가능하면 클라이언트의 기본 지원 형식을 사용하고 데이터가 누구에게 전달되는지 확인하세요.
- 트래픽 배율할당량 환산 계수
- 트래픽 배율은 구독 서비스가 특정 노드에 적용하는 과금 또는 할당량 환산 규칙입니다. 클라이언트 코어의 성능 지표는 아닙니다. 예를 들어 배율이 2라면 실제 트래픽 1단위를 사용했을 때 할당량 2단위가 차감되는 경우가 많지만, 구체적인 기준은 서비스 안내를 확인해야 합니다. 배율이 높다고 반드시 빠른 것도, 낮다고 반드시 느린 것도 아닙니다. 실제 안정성, 용도, 남은 할당량을 함께 고려하세요.
라우팅과 분할 라우팅
규칙은 트래픽 경로를 결정하고 분류 데이터는 매칭 조건을 제공합니다. 먼저 규칙 순서를 확인한 다음 아웃바운드 식별자를 살펴보세요.
- 라우팅 규칙routing.rules
- 라우팅 규칙은 도메인, IP, 포트 등의 조건으로 트래픽을 매칭한 뒤 해당 아웃바운드를 선택합니다. 규칙은 보통 위에서 아래 순서로 확인되며, 먼저 일치한 규칙에 따라 같은 연결에 뒤쪽 규칙이 적용되지 않을 수 있습니다. 구체적인 규칙을 포괄적인 규칙보다 앞에 배치하고 참조하는 아웃바운드가 실제로 있는지 확인하세요. 여러 조건을 조합하는 방법은 사용 중인 코어의 설정 문법에 따라 달라집니다.
- 분할 라우팅조건별 아웃바운드 선택
- 분할 라우팅은 서로 다른 트래픽에 서로 다른 아웃바운드를 적용하는 설정 방식입니다. 예를 들어 일부 요청은 직접 연결하고, 일부는 프록시를 거치며, 나머지는 차단할 수 있습니다. 규칙, 데이터 리소스, 트래픽 유입 경로가 필요하므로 모드 버튼 하나를 바꾸는 것만으로 끝나지 않습니다. DNS 조회 결과와 코어가 도메인을 확인할 수 있는지도 매칭에 영향을 줍니다. 확인할 때는 페이지가 열리는지만 보지 말고 실제로 적용된 규칙과 아웃바운드를 확인하세요.
- GeoIPIP 주소 모음 · geoip:private
- 설정에서 GeoIP는 보통 지역이나 용도별로 정리된 IP 주소 모음을 가리킵니다. 규칙에서 해당 분류를 참조해 IP 주소를 매칭할 수 있습니다. 예를 들어
geoip:private는 보통 사설 IP 범위에 사용되지만, 해당 분류를 사용할 수 있는지는 불러온 데이터에 따라 달라집니다. 실시간 회선 위치를 측정하는 기능이 아니며, 데이터가 오래되었거나 도메인 조회 결과가 바뀌면 실제 매칭 결과에 영향을 줄 수 있습니다.
- GeoSite도메인 모음 · geosite:cn
- GeoSite는 서비스나 용도별로 정리된 도메인 모음을 참조해 많은 도메인 규칙을 일일이 관리하지 않도록 도와줍니다. 분류 이름과 포함 범위는 사용하는 데이터 파일에 따라 달라지며, 같은 이름의 모음도 출처별로 내용이 다를 수 있습니다. 코어에 대상 IP만 전달되고 도메인 정보가 없다면 도메인 모음으로 바로 매칭되지 않을 수 있으므로 DNS, 스니핑, 트래픽 유입 방식을 함께 확인하세요.
- 아웃바운드Outbound · outboundTag
- 아웃바운드는 코어가 외부 트래픽을 처리하는 단위로, 프록시 연결, 직접 연결, 차단 등의 동작을 담당할 수 있습니다. 라우팅은 보통 tag로 아웃바운드를 참조합니다.
direct와block은 흔히 쓰이는 이름일 뿐이며 실제 설정과 일치해야 합니다. 클라이언트의 노드 메모가 아웃바운드 tag와 같다고 볼 수는 없습니다. 규칙을 직접 작성하기 전에 생성된 설정에서 실제 식별자를 확인하세요.
DNS와 네트워크 스택
DNS 조회 경로와 실제 트래픽 경로는 별개입니다. 트래픽 가로채기, 암호화된 쿼리, 도메인 매핑을 같은 기능으로 혼동하지 마세요.
- DNSDomain Name System
- DNS는 도메인을 IP 주소 등의 레코드로 변환합니다. 클라이언트 내장 리졸버와 시스템 리졸버가 서로 다른 요청을 처리할 수 있습니다. 서비스 연결이 프록시를 거친다고 해서 앞서 발생한 DNS 쿼리도 프록시를 거쳤다는 뜻은 아닙니다. 설정할 때 누가 쿼리를 보내는지, 어떤 리졸버에 전달되는지, 어떤 아웃바운드를 통하는지 각각 확인하고 DNS 설정 안내를 참고해 조회와 라우팅이 어떻게 연동되는지 살펴보세요.
- DNS over HTTPSDoH · HTTPS DNS 쿼리
- DoH는 DNS 쿼리를 HTTPS 연결로 전송해 클라이언트와 리졸버 사이의 쿼리 내용을 보호합니다. 쿼리가 암호화되어도 자동으로 프록시를 거치는 것은 아니며, 조회 결과가 현재 회선에 적합하다고 보장하지도 않습니다. 리졸버 주소 자체가 도메인이라면 최초 조회에 필요한 경로도 고려해야 합니다. 문제를 해결할 때는 주소가 HTTPS로 시작하는지만 보지 말고 연결 경로와 최초 조회를 확인하세요.
- FakeDNS가상 IP와 도메인 매핑
- FakeDNS는 도메인에 가상 IP를 반환하고 로컬에 매핑 정보를 유지해, 이후 연결에서 도메인을 복원하고 라우팅 판단에 사용할 수 있도록 합니다. 실제 공인 IP를 제공하는 일반 DNS 서비스가 아니며, 트래픽 가로채기 및 매핑 복원 기능과 함께 사용해야 합니다. 가상 주소가 가로채기 범위를 벗어나거나 앱이 이전 매핑을 캐시하면 연결이 실패할 수 있습니다. 기능을 켜거나 끈 뒤에는 캐시와 라우팅 설정이 여전히 일치하는지 확인하세요.
- DNS 누수예상한 DNS 조회 경로에서 벗어남
- DNS 누수는 쿼리가 예상과 다른 리졸버에 도달하거나 의도하지 않은 경로를 거치는 현상입니다. 먼저 어떤 쿼리가 프록시를 통해 처리되어야 하는지 정하세요. 시스템, 브라우저, 앱이 각자 DNS 조회 방식을 사용할 수 있어 클라이언트 DNS만 바꿔서는 모든 요청을 처리하지 못할 수 있습니다. 테스트 결과는 로그와 설정을 함께 보고 판단해야 합니다. 직접 연결하도록 의도한 DNS 조회가 프록시를 거치지 않는다는 이유만으로 문제라고 단정하지 마세요.
- TUN 모드가상 네트워크 인터페이스 · IP 트래픽 가로채기
- TUN 모드는 가상 네트워크 인터페이스를 통해 IP 트래픽을 클라이언트 네트워크 스택으로 전달하므로, 시스템 프록시만 설정하는 것보다 더 넓은 범위의 트래픽을 처리합니다. 보통 관리자 권한, 시스템 라우팅, DNS 가로채기 설정이 필요하며 다른 네트워크 도구의 가상 인터페이스와 충돌할 수도 있습니다. TUN을 사용한다고 모든 트래픽이 프록시를 거치는 것은 아니며, 최종 경로는 라우팅 규칙으로 결정됩니다. 시작하기 전에 TUN 모드 설정을 확인하세요.
클라이언트 설정
트래픽 처리 범위, 수신 연결 지점, 테스트 지표는 각각 다른 질문에 답합니다. 먼저 테스트 대상을 정한 뒤 결과를 해석하세요.
- 시스템 프록시운영체제 프록시 설정
- 시스템 프록시는 운영체제 설정을 따르는 앱에 프록시 연결 지점을 제공하며, 보통 클라이언트의 로컬 수신 주소와 포트를 가리킵니다. 자체 네트워크 설정을 사용하는 프로그램은 시스템 프록시를 따르지 않을 수 있으므로, 기능을 켜도 모든 연결이 가로채지는 않습니다. 시스템 프록시를 해제해도 코어가 종료되거나 TUN이 비활성화되는 것은 아닙니다. 클라이언트를 종료할 때는 각 상태를 따로 확인하세요.
- 로컬 수신 포트Inbound · 로컬 연결 지점
- 로컬 수신 포트는 앱에서 클라이언트로 들어오는 연결을 받으며, 원격 노드 포트와는 다릅니다. 앱에 설정한 프록시 포트를 클라이언트의 실제 수신 포트와 일치시켜야 하고, HTTP와 SOCKS 같은 연결 유형도 구분해야 합니다. 같은 기기에서만 사용할 때는 보통 루프백 주소에 바인딩합니다. 다른 기기에서 접속하도록 열기 전에 접근 제어와 네트워크 경계를 확인해 접근 범위가 불필요하게 넓어지지 않도록 하세요.
- TcpingTCP 연결 설정 시간
- Tcping은 보통 대상 포트에 TCP 연결을 설정하는 데 걸리는 시간을 측정해 포트 접근성과 핸드셰이크 시간을 간단히 확인하는 데 사용합니다. 성공은 이 단계가 완료되었다는 뜻일 뿐 프록시 인증, TLS, DNS, 서비스 요청이 모두 정상이라는 의미는 아닙니다. 도구마다 재시도와 측정 방식이 다를 수 있으므로 같은 조건에서 결과를 비교하세요. 다운로드 속도 순위를 매기는 지표로 사용해서는 안 됩니다.
- 실제 연결 지연 시간프록시 요청에 걸리는 시간
- 실제 연결 지연 시간은 보통 선택한 노드를 통해 지정된 테스트 주소에 요청을 보내 측정하며, TCP 핸드셰이크만 측정하는 것보다 실제 프록시 연결에 가깝습니다. 측정에는 DNS 조회, 프록시 핸드셰이크, 대상 서버 응답이 포함될 수 있지만 구체적인 범위는 클라이언트 구현에 따라 달라집니다. 테스트 주소가 바뀌면 결과도 달라질 수 있으며, 시간 초과가 모든 서비스의 장애를 뜻하는 것은 아닙니다. 대역폭 측정과도 다른 지표입니다.
- 도메인 스니핑Sniffing · 도메인 단서 추출
- 도메인 스니핑은 일부 HTTP 요청이나 TLS 핸드셰이크 정보처럼 식별 가능한 연결 초기 정보에서 도메인 단서를 추출해 라우팅에 활용합니다. 통신 내용을 복호화하는 기능은 아니며 모든 프로토콜과 연결을 식별할 수 있는 것도 아닙니다. 원래 대상 주소를 덮어쓸지, 라우팅에만 사용할지는 별개의 설정입니다. 기능을 켠 뒤 동작이 달라졌다면 각 옵션의 의미를 따로 확인하세요.