REFERENCE / TERMINOLOGY

V2Ray 용어 가이드

프로토콜, 코어, 구독, 라우팅, 클라이언트 설정을 영역별로 살펴보세요. 각 항목에서 용어의 의미와 관련 설정, 사용 범위를 설명합니다. 항목 제목의 앵커를 저장하거나 공유할 수도 있습니다.

PROTOCOL / TRANSPORT

프로토콜과 전송

프록시 프로토콜은 연결의 의미를 정의하고, 전송 방식은 데이터를 전달하며, 보안 계층은 연결을 보호합니다. 노드 편집 창에서 함께 표시되더라도 같은 계층의 설정은 아닙니다.

프로토콜과 전송 / protocol

VMess

V2Ray 생태계에서 사용하는 프록시 프로토콜로, 인증과 데이터 보호 기능을 포함합니다. 설정에서 흔히 쓰이는 프로토콜 값은 vmess입니다. 사용자 ID, 서버 주소, 포트, 전송 설정이 서버 측 값과 일치해야 하며 주소만 맞다고 연결되는 것은 아닙니다. 인증 오류가 발생하면 매개변수뿐 아니라 기기 시간이 정확한지도 확인하세요. 오래된 안내에 나온 과거 필드를 현재 설정에 그대로 적용해서는 안 됩니다.

프로토콜과 전송 / protocol

VLESS

가벼운 프록시 프로토콜로 자체 데이터 암호화 기능은 없으며, 보통 TLS나 REALITY 같은 보안 계층과 함께 사용합니다. 연결을 전달하는 전송 방식과는 별도의 설정이므로, “VLESS 노드”라는 정보만으로 전체 연결 방식을 판단할 수 없습니다. 가져온 뒤 보안 계층, 서버 이름, 흐름 제어 등의 매개변수를 확인하고, 구체적인 필드는 선택한 코어와 서버 설정을 기준으로 삼으세요.

프로토콜과 전송 / protocol

Trojan

일반적으로 TLS 위에서 작동하며 비밀번호로 인증하는 프록시 프로토콜입니다. 클라이언트의 비밀번호, 서버 이름, 전송 매개변수는 서버 측 설정과 일치해야 합니다. 서버 주소와 인증서에 지정된 이름은 서로 다를 수도 있습니다. 핸드셰이크에 실패하면 인증서 검증을 우회해 설정 오류를 감추기보다 이름, 기기 시간, 인증서 신뢰 체인을 확인하세요.

프로토콜과 전송 / protocol

Shadowsocks

암호화 방식과 비밀번호 등의 매개변수로 연결하는 프록시 프로토콜입니다. 일반적인 설정 항목은 method와 password입니다. 암호화 방식마다 키 요구 사항과 코어 지원 범위가 다를 수 있으므로 임의의 비밀번호와 방식을 조합해서는 안 됩니다. 링크를 가져온 뒤 지원되지 않는 방식이라는 메시지가 표시되면 먼저 코어 기능과 원본 매개변수를 확인한 다음 설정 변경 여부를 결정하세요.

프로토콜과 전송 / security

REALITY

Xray 생태계의 전송 보안 기능이며 독립적인 노드 프로토콜은 아닙니다. 노드에는 보통 VLESS 같은 프록시 프로토콜도 필요합니다. 연결할 때 서버 이름, 공개 키, 짧은 ID 등의 매개변수를 확인하고, 클라이언트에 표시되는 이름과 내부 필드가 다를 수 있다는 점에 유의하세요. REALITY 옵션이 보인다고 해서 모든 코어에서 실행할 수 있는 것은 아니므로 실제로 사용하는 코어와 호환성을 먼저 확인해야 합니다.

CORE / ECOSYSTEM

코어와 생태계

프로젝트 이름, 실행 프로그램, GUI는 각각 다른 역할을 합니다. 오류를 해결할 때는 먼저 클라이언트 인터페이스에서 발생한 오류인지 코어 로그에 기록된 오류인지 확인하세요.

코어와 생태계 / origin

Project V

V2Ray의 기원과 관련된 프로젝트 생태계의 이름으로, 프록시 기술의 배경을 이해하는 데 쓰입니다. 노드 설정의 프로토콜 값은 아닙니다. 클라이언트 인터페이스, 프록시 프로토콜, 연결을 처리하는 코어는 서로 다른 개념입니다. 자료를 읽을 때는 V2Fly, Xray, 특정 클라이언트 중 무엇을 다루는지 확인하세요. “V2Ray”라는 표현만으로 모든 기능을 추정할 수는 없습니다.

코어와 생태계 / core family

V2Fly

V2Ray 기술 체계를 이어가는 커뮤니티 프로젝트로, 코어는 흔히 v2fly-core라고 부릅니다. v2flyNG는 이 코어를 사용하는 Android 클라이언트입니다. 설정 형식과 프로토콜 지원 여부는 실제 코어 버전을 기준으로 확인해야 합니다. 다른 코어의 예시가 호환된다고 단정하지 마세요. 전환 전에는 프로토콜, 보안 계층, JSON 구조를 확인하고 전환한 뒤 시작 로그를 살펴보세요.

코어와 생태계 / core family

Xray-core

V2Ray 기술 체계에서 발전한 프록시 코어로, REALITY 관련 기능 등을 지원합니다. v2rayNG는 Xray 코어를 사용합니다. 기본 설정은 V2Fly와 일부 비슷하지만 프로토콜 확장, 필드, 동작 방식이 다를 수 있으므로 완전히 호환된다고 볼 수 없습니다. 필요한 기능을 기준으로 코어를 선택하고, 구체적인 차이는 코어 지원 비교에서 확인하세요.

코어와 생태계 / execution

코어

설정을 파싱하고 인바운드 연결을 수신하며 라우팅을 수행한 뒤 아웃바운드 연결을 생성하는 프로그램으로, 보통 GUI 클라이언트 뒤에서 실행됩니다. 클라이언트 창이 열려 있어도 코어가 시작되었다는 뜻은 아닙니다. 포트 충돌, 알 수 없는 필드, 규칙 데이터 누락 등이 시작 실패의 원인일 수 있습니다. 문제를 해결할 때는 코어 로그에서 처음 나타난 명확한 오류를 확인한 뒤 해당 설정 부분을 점검하세요. 관련 없는 여러 설정을 한꺼번에 바꾸지 마세요.

코어와 생태계 / interface

GUI 클라이언트

구독 관리, 노드 선택, 모드 전환, 로그 확인 기능을 제공하는 앱입니다. 예를 들어 v2rayN, v2rayNG, v2flyNG가 있습니다. 자동 업데이트 간격, 창 표시 설정, 구독 그룹은 대개 클라이언트에 저장되며 코어의 config.json에 기록되지 않을 수 있습니다. 설치할 앱을 고르려면 클라이언트 안내를 확인하고, 설정할 때는 인터페이스 옵션과 생성된 코어 필드를 구분하세요.

SUBSCRIPTION / PROFILE

구독과 노드

구독은 설정을 가져오는 출처이고, 노드는 개별 연결 매개변수이며, 테스트 결과는 특정 시점의 측정값입니다. 서로 대신할 수 있는 개념이 아닙니다.

구독과 노드 / source

구독

클라이언트가 여러 연결 설정을 가져오는 주소나 콘텐츠이며, 파싱 후에는 보통 노드 목록으로 표시됩니다. 구독을 업데이트하면 원본 데이터를 다시 읽지만 모든 노드가 연결된다는 뜻은 아닙니다. 가져오는 단계에서 접속에 실패할 수도 있습니다. 구독 주소에 접근 자격 증명이 포함될 수 있으므로 공개 스크린샷, 로그, 공유 문서에 노출하지 마세요. 업데이트 전에 직접 수정한 내용이 덮어써지는지도 확인해야 합니다.

구독과 노드 / profile

노드

클라이언트에서 선택 가능한 개별 연결 설정을 가리키는 일반적인 표현입니다. 보통 주소, 포트, 프로토콜, 인증 매개변수를 포함합니다. 표시 이름은 단순한 라벨일 뿐 서버 위치나 성능을 증명하지 않으며, 현재 코어에 적합하다는 보장도 없습니다. 연결에 실패하면 메모 이름만 바꾸지 말고 각 필드를 확인하세요. 노드를 선택한 뒤에는 실행 중인 설정에 실제로 적용됐는지도 확인해야 합니다.

구독과 노드 / organization

구독 그룹

클라이언트에서 구독 출처나 용도별로 노드를 정리해 개별 업데이트, 필터링, 선택을 쉽게 하는 관리 구조입니다. V2Ray 코어 JSON에 공통으로 정의된 필드는 아니므로 그룹 이름을 라우팅 아웃바운드 태그로 사용할 수 없습니다. 여러 구독을 함께 사용하는 경우 업데이트 전에 현재 그룹을 확인하세요. 정리 방법은 v2rayN 구독 그룹 및 노드 필터링에서 살펴보세요.

구독과 노드 / measurement

지연 시간

특정 테스트를 시작한 시점부터 응답을 받을 때까지 걸린 시간으로, 테스트 방식을 함께 고려해야 합니다. TCP 연결, 프로토콜 핸드셰이크, 전체 요청은 절차가 다르므로 결과를 직접 비교할 수 없으며 다운로드 속도를 나타내지도 않습니다. 노드를 비교할 때는 테스트 대상과 방법을 동일하게 유지하고 실제 사용 중의 연속적인 상태도 함께 살펴보세요. 한 번의 시간 초과는 해당 테스트가 제한 시간 내에 완료되지 않았다는 뜻일 뿐입니다.

구독과 노드 / request test

실제 연결 지연 시간

선택한 프록시 설정을 통해 테스트 주소에 요청을 보낸 뒤 클라이언트가 기록한 시간입니다. 측정 시작과 종료 시점은 클라이언트 구현에 따라 달라집니다. 테스트 대상, 제한 시간, 도메인 조회, 원격 서버의 응답이 결과에 영향을 주므로 단순한 네트워크 왕복 시간과 같지 않습니다. 테스트에 성공했다면 해당 시점에 해당 대상에 연결할 수 있었다는 뜻이며, 모든 앱과 대상에서 연결이 성공한다고 볼 수는 없습니다.

ROUTING / RESOLUTION

라우팅과 DNS

도메인 규칙, 주소 규칙, DNS 조회 정책은 서로 영향을 주고받습니다. 먼저 코어가 실제로 어떤 정보를 받았는지 확인한 다음 규칙이 적용되거나 적용되지 않은 이유를 살펴보세요.

라우팅과 DNS / decision

프록시 라우팅

도메인, 목적지 주소, 포트, 인바운드 태그 등의 조건에 따라 아웃바운드를 선택하는 과정입니다. 규칙을 순서대로 확인해 일치하는 규칙이 나오면 해당 경로로 처리합니다. 규칙의 outboundTag는 outbounds 안의 tag와 일치해야 합니다. 이는 이름을 참조하는 값이지 아웃바운드를 자동으로 만드는 명령이 아닙니다. 라우팅을 점검할 때는 규칙 순서, 매칭 조건, 일치하는 규칙이 없을 때의 기본 동작을 함께 확인하세요.

라우팅과 DNS / address set

GeoIP

IP 주소 범위를 참조하는 규칙 데이터 체계입니다. 예를 들어 geoip:private는 사설 주소 범위에 매칭할 수 있습니다. 주소 집합을 대상으로 매칭하며 앱 이름을 직접 판별하지 않습니다. 지리 태그가 주소의 실제 위치를 실시간으로 보장하는 것도 아닙니다. 사용 전에 규칙 데이터가 로드되었는지 확인하세요. 도메인 연결에 추가 주소 매칭이 적용되는지는 코어의 도메인 조회 정책에 따라 달라집니다.

라우팅과 DNS / domain set

GeoSite

도메인 목록을 참조하는 규칙 데이터 체계입니다. 예를 들어 geosite:cn은 cn이라는 목록을 참조하며, 도메인 접미사만으로 단순히 추측하는 방식이 아닙니다. 사용할 수 있는 목록 태그는 실제로 로드된 데이터 파일에 따라 달라지고, 데이터 출처별 내용도 다를 수 있습니다. 규칙이 적용되지 않으면 태그가 존재하는지, 대상 도메인이 목록에 포함되어 있는지, 연결 과정에서 도메인 정보가 유지되는지 확인하세요.

라우팅과 DNS / resolver

DNS

도메인을 주소 등의 레코드로 변환하는 시스템으로, 조회 결과는 연결 대상과 일부 라우팅 판단에 영향을 줍니다. 운영체제, 브라우저, 클라이언트, 코어가 각각 DNS 설정을 가질 수 있으므로 한 곳을 수정해도 다른 조회 경로가 바뀌는 것은 아닙니다. 문제를 해결할 때는 조회를 시작한 주체, 요청한 리졸버, 예상한 아웃바운드 경로를 기록한 뒤 캐시와 IP 주소 계열 설정도 확인하세요.

라우팅과 DNS / synthetic address

FakeDNS

도메인에 가상 주소를 할당하고 매핑을 저장하는 방식입니다. 이후 연결은 이 매핑에서 원래 도메인을 찾아 프록시 전달과 라우팅에 사용합니다. 후속 연결이 매핑을 인식할 수 있는 경로로 전달되어야 하며, 가상 주소 자체는 서버의 실제 주소가 아닙니다. DNS만 전환하고 관련 연결을 처리하지 않으면 접속이 실패할 수 있으므로 사용 전에 클라이언트가 필요한 기능을 모두 지원하는지 확인하세요.

라우팅과 DNS / path mismatch

DNS 누수

DNS 요청이 예상한 조회 경로를 우회해 다른 리졸버로 전송되는 현상입니다. 예상 경로와 실제 경로가 일치하는지 확인해야 합니다. 브라우저의 별도 조회 설정, 운영체제의 대체 동작, 앱 자체의 DNS 처리도 결과에 영향을 줄 수 있으므로 DNS 주소 하나만 바꿔서는 판단하기 어렵습니다. 조회 로그, 브라우저 설정, 클라이언트 라우팅을 함께 확인하세요. 암호화 DNS를 사용한다고 해서 예상한 경로를 따르는 것은 아닙니다.

CLIENT / NETWORK ENTRY

클라이언트 설정

프록시 모드는 먼저 트래픽이 클라이언트로 들어오는 방식을 결정합니다. 이름이 비슷한 모드라도 적용 범위, 권한 요구 사항, DNS 동작이 같지는 않습니다.

클라이언트 설정 / virtual interface

TUN 모드

가상 네트워크 인터페이스로 IP 패킷을 받아 프록시 구성 요소에서 처리하는 모드입니다. 시스템 프록시를 따르지 않는 연결도 일부 처리할 수 있습니다. 지원 범위는 클라이언트, 트래픽 전달 구성 요소, 운영체제 권한에 따라 달라집니다. TUN을 모든 V2Ray 코어에 공통으로 적용되는 JSON 스위치 하나로 단순화할 수는 없습니다. 사용 후 네트워크가 끊기면 라우팅 충돌, DNS 설정, 다른 가상 네트워크 프로그램을 확인하고 하나씩 복구하며 테스트하세요.

클라이언트 설정 / application proxy

시스템 프록시

운영체제에 프록시 주소와 포트를 등록해 해당 설정을 따르는 앱이 프록시를 사용하도록 합니다. 보통 클라이언트의 로컬 인바운드를 가리킵니다. 기기의 모든 네트워크 연결을 자동으로 처리하지는 않으며, 일부 프로그램은 별도로 설정하거나 다른 연결 방식을 사용해야 합니다. 클라이언트를 종료하기 전에 시스템 프록시 설정이 복구되었는지 확인하세요. 브라우저가 더 이상 대기하지 않는 로컬 포트를 가리키면 접속이 되지 않을 수 있습니다.

클라이언트 설정 / listener

로컬 인바운드

프록시 코어가 앱 연결을 수신하는 리스너로, HTTP와 SOCKS 유형이 흔하며 설정에서는 inbounds에 해당합니다. 리슨 주소, 포트, 인증 설정에 따라 접근 범위가 달라집니다. 루프백 주소는 보통 이 기기에서만 사용할 수 있고, 전체 인터페이스에 바인딩하면 추가 접근 제어가 필요합니다. 앱에 입력하는 프록시 유형은 인바운드 유형과 일치해야 합니다. 둘 다 프록시 포트라는 이유만으로 HTTP 포트를 SOCKS 포트처럼 사용할 수는 없습니다.

클라이언트 설정 / domain detection

트래픽 스니핑

연결 초반의 프로토콜 정보를 분석해 도메인 등을 추출하고 라우팅 판단을 돕는 기능으로, 설정에서는 흔히 sniffing이라고 합니다. 앱의 암호화된 콘텐츠 전체를 복호화하지 않으며 모든 연결에서 도메인을 추출할 수 있는 것도 아닙니다. 사용 시 라우팅에만 활용하는지, 목적지를 다시 쓰는지 구분하세요. 구체적인 옵션은 코어 버전과 현재 DNS 구성에 맞춰 확인해야 합니다.

클라이언트 설정 / shared listener

LAN 공유

같은 LAN에 연결된 다른 기기가 컴퓨터의 프록시 인바운드에 접속하도록 합니다. 리슨 주소와 포트, 기기 간 통신, 방화벽 규칙을 모두 확인해야 합니다. 다른 기기에서는 루프백 주소가 아니라 컴퓨터의 LAN 주소를 입력하세요. 네트워크 격리 설정에 따라 같은 Wi-Fi에 연결된 기기끼리도 통신이 차단될 수 있습니다. 신뢰할 수 있는 네트워크에서만 공유하고 필요에 따라 인증을 설정하세요. 설정 방법은 LAN 연결 허용 설정을 참고하세요.

용어는 개념에, 필드는 구현에 대응합니다. 인터페이스의 이름이 다르거나 예시를 불러올 수 없다면 현재 클라이언트가 생성한 설정과 코어 로그부터 확인하세요. 자주 발생하는 현상은 자주 묻는 질문에서 살펴볼 수 있습니다.

용어 목록으로 돌아가기 ↑