설정 항목 · 쉬운 설명

V2Ray 용어 사전

프로토콜은 통신 방식을 정하고, 코어는 이를 실행하며, 라우팅은 연결의 경로를 결정합니다. 먼저 각 계층의 차이를 이해한 뒤 설정을 살펴보세요.

자주 쓰이는 용어 25개를 다섯 가지로 나눠 살펴봅니다. 제목 옆 링크로 각 항목을 바로 찾아볼 수 있습니다. 메뉴 이름은 클라이언트 버전에 따라 다를 수 있습니다.

설정 예시 / 라우팅 항목만 표시
{
  "routing": {
    "rules": [
      {
        "type": "field",
        "domain": ["geosite:cn"],
        "outboundTag": "direct"
      }
    ]
  }
}
PROTOCOL / TRANSPORT

프로토콜·전송 방식

프록시 프로토콜, 전송 방식, 보안 메커니즘은 서로 다른 개념입니다. VLESS, WebSocket, TLS가 함께 표시되어도 클라이언트가 세 개 설치된 것은 아닙니다.

VMess #

프록시 프로토콜 / 인증 및 데이터 보호

VMess는 V2Ray 생태계의 프록시 프로토콜입니다. 사용자 식별자 등의 매개변수로 인증하며 자체 데이터 보호 기능도 갖추고 있습니다. 노드의 주소, 포트, 사용자 식별자, 전송 설정은 서버 설정과 일치해야 합니다. 이름만 보고 호환 여부를 판단할 수는 없습니다. 인증에 문제가 있으면 기기 시간도 확인하세요. 시계가 크게 어긋나면 연결에 영향을 줄 수 있습니다.

VLESS #

프록시 프로토콜 / 간결한 프로토콜 계층

VLESS는 프록시 요청을 구성하고 인증하지만, 전송 데이터를 직접 암호화하지는 않습니다. 실제 배포에서는 보통 TLS나 REALITY 같은 보안 방식을 함께 사용하므로, “VLESS 지원”이 해당 노드의 모든 조합을 지원한다는 뜻은 아닙니다. 가져온 설정의 보안 옵션과 flow 등의 매개변수를 유지하고, 다른 노드의 설정을 그대로 적용하지 마세요.

Trojan #

프록시 프로토콜 / 비밀번호 인증

Trojan은 보통 TLS로 연결을 보호하고 비밀번호로 인증합니다. 비밀번호가 맞는 것만으로 연결이 성립하는 것은 아닙니다. 서버 주소, 포트, 서버 이름, 인증서 검증 설정도 일치해야 합니다. 인증서 오류가 나면 설정과 기기 시간을 확인하세요. 검증을 끄는 방법을 일반적인 해결책으로 삼아서는 안 됩니다.

TLS #

전송 보안 / 암호화 및 인증

TLS는 통신 내용을 보호하고 인증서 등의 방식으로 통신 상대의 신원을 확인합니다. 특정 프록시 프로토콜을 가리키는 이름은 아닙니다. 클라이언트의 서버 이름은 TLS 핸드셰이크와 인증서 검증에 사용되는 경우가 많으며, 입력한 연결 IP와 다를 수 있습니다. 포트 연결에는 성공했지만 TLS 핸드셰이크가 실패한다면 기본 네트워크 연결이 아니라 이후의 보안 협상에 문제가 있을 수 있습니다.

REALITY #

전송 보안 / Xray 생태계

REALITY는 Xray 생태계의 전송 보안 방식이지, VLESS를 단독으로 대체하는 프록시 프로토콜이 아닙니다. 사용하려면 클라이언트 코어가 이를 지원해야 하며, 공개 키, 서버 이름, short ID 등의 매개변수를 서버 설정에 맞춰야 합니다. 일반 TLS 설정은 이름만 바꾼다고 REALITY 설정이 되지 않습니다. 입력란이 있어도 코어가 해당 기능을 실행할 수 있다는 뜻은 아닙니다.

WebSocket #

전송 방식 / 흔히 WS로 표기

WebSocket은 양방향 통신 방식으로, 프록시 설정에서 프로토콜 데이터를 전달하는 데 사용할 수 있습니다. 경로와 Host 등의 항목은 서버나 리버스 프록시 설정과 일치해야 하며, 슬래시 하나 차이로 요청 경로가 바뀔 수도 있습니다. WebSocket과 TLS는 서로 다른 계층이므로 함께 사용할 수 있습니다. 문제를 확인할 때는 전송 방식과 보안 설정을 따로 점검하세요.

CORE / ECOSYSTEM

코어·생태계

클라이언트 이름과 코어 이름은 다릅니다. 설정을 사용할 수 있는지는 실제로 호출되는 코어와 버전, 관련 기능 지원 여부를 확인해야 합니다.

Project V #

프로젝트 생태계 / 모듈형 네트워크 도구

Project V는 모듈형 네트워크 프록시 도구를 중심으로 형성된 프로젝트 및 기술 생태계입니다. V2Ray는 그 핵심 프로젝트 중 하나입니다. 인바운드, 아웃바운드, 라우팅을 서로 다른 모듈로 구성하는 방식이며, 특정 GUI 클라이언트의 제품명이 아닙니다. 자료를 읽을 때는 생태계 개념인지, 특정 코어인지, 클라이언트 메뉴인지 구분하세요.

Xray #

프록시 코어 / 독립적으로 발전한 구현

Xray는 V2Ray 관련 코드에서 발전한 뒤 독립적으로 개발되어 왔으며, REALITY 등의 기능도 이 생태계와 밀접하게 연결되어 있습니다. v2rayNG는 Xray 코어를 사용하지만, 지원 범위는 포함된 코어 버전에 따라 다릅니다. 두 코어의 설정 형식이 비슷해 보여도 고유 항목이 포함된 전체 설정을 그대로 서로 바꾸어 사용하지 마세요.

V2Fly #

유지 관리 커뮤니티 / V2Ray 구현

V2Fly는 V2Ray 관련 구현과 문서를 꾸준히 관리하는 커뮤니티입니다. 흔히 말하는 “V2Fly 코어”는 보통 이 커뮤니티가 관리하는 V2Ray 구현을 뜻합니다. v2flyNG는 이 코어를 사용하는 Android 클라이언트 대안입니다. 코어 간 차이는 프로토콜, 보안 방식, 설정 항목을 기준으로 비교해야 하며, 같은 프로그램의 이전 버전과 새 버전으로 단순히 이해해서는 안 됩니다.

클라이언트와 코어 #

조작 화면 / 연결 실행

클라이언트는 구독을 관리하고 설정을 표시하며 구성을 생성합니다. 코어는 실제 연결을 수신하고 전달합니다. v2rayN은 GUI 클라이언트이지 V2Ray 코어의 다른 표기가 아닙니다. 코어 옵션은 사용 중인 버전의 화면을 기준으로 확인하세요. 실행에 실패하면 먼저 GUI 프로그램이 열리지 않는 문제인지, 화면은 열렸지만 코어가 시작되지 않는 문제인지 구분하세요. 두 경우의 점검 방법은 다릅니다.

SUBSCRIPTION / PROFILE

구독·노드

구독은 설정을 가져오는 경로이고, 노드는 가져온 연결 매개변수의 집합입니다. 테스트 결과는 특정 시점에 실행한 테스트의 결과일 뿐입니다.

구독 #

Subscription / 설정을 한 번에 가져오기

구독을 사용하면 클라이언트가 하나의 주소로 여러 연결 설정을 가져오므로 노드를 하나씩 입력할 필요가 없습니다. 구독 주소에는 접근 토큰이 포함될 수 있으므로 계정 정보처럼 안전하게 보관하고, 화면을 공유할 때도 주소 전체를 가리세요. 주소를 저장했다고 설정이 자동으로 내려받아지는 것은 아니며, 업데이트를 실행해야 합니다. 구독만으로 시스템 프록시가 자동 설정되지는 않습니다.

노드 #

연결 설정 / 서버 이름만으로 판단할 수 없음

노드는 보통 서버 주소, 포트, 인증 정보, 전송 방식, 보안 설정이 포함된 연결 구성입니다. 목록에 표시되는 이름은 구별을 위한 것이므로 이름만으로 서버 위치, 성능, 사용 가능 여부를 판단할 수 없습니다. 같은 서버에서 여러 설정을 제공할 수도 있습니다. 따라서 문제를 확인할 때는 노드 이름만 비교하지 말고 실제 매개변수와 로그를 살펴보세요.

구독 업데이트 #

가져오기 및 해석 / 프로그램 업데이트와 다름

구독 업데이트는 구독 주소에 다시 요청을 보내고, 응답 내용을 클라이언트에서 사용할 수 있는 설정으로 해석하는 작업입니다. 클라이언트 설치 파일을 업데이트하지 않으며 서버에 현재 연결할 수 있는지도 보장하지 않습니다. 업데이트가 실패하면 주소가 완전한지, 요청이 성공했는지, 응답 형식이 지원되는지 순서대로 확인하세요. “프록시를 통해 업데이트”하려면 기존 프록시가 작동해야 합니다.

지연 시간 #

Latency / 테스트 방식부터 확인

지연 시간은 특정 테스트를 시작한 뒤 응답을 받을 때까지 걸리는 시간입니다. 화면에 표시된 밀리초 값은 테스트 방식을 함께 고려해야 합니다. 포트 연결 테스트, 프록시 요청 테스트, 웹페이지 전체 로딩 측정은 서로 다른 값을 확인합니다. 값이 낮다고 다운로드 속도가 더 빠른 것은 아니며, 일시적인 시간 초과만으로 노드를 장기간 사용할 수 없다고 단정할 수도 없습니다. 같은 조건에서 다시 테스트하세요.

실제 연결 지연 시간 #

프록시 경로 테스트 / 클라이언트마다 다를 수 있음

실제 연결 지연 시간은 보통 선택한 프록시 설정으로 테스트 주소에 요청하는 데 걸린 시간을 말하며, 서버 포트만 확인하는 것보다 실제 프록시 접속에 가깝습니다. DNS 조회나 핸드셰이크 등의 단계가 포함되는지는 클라이언트 구현과 테스트 설정에 따라 다릅니다. 테스트 실패 원인은 노드, DNS 리졸버, 테스트 대상 자체일 수 있으므로 로그와 다른 테스트 대상을 함께 확인하세요.

ROUTING / DNS

라우팅 규칙

연결이 클라이언트에 들어온 다음 규칙에 따라 출구가 정해집니다. 도메인, IP 주소, DNS 조회 결과에 따라 규칙의 매칭 방식이 달라질 수 있습니다.

라우팅 규칙 #

Routing rules / 조건과 출구

라우팅 규칙은 도메인, 대상 IP, 포트 등의 조건에 따라 연결에 사용할 아웃바운드를 선택합니다. 일반적으로 규칙을 순서대로 확인하므로, 앞쪽의 포괄적인 조건이 뒤에 있는 세부 조건보다 먼저 일치할 수 있습니다. 규칙을 변경하기 전에 어떤 대상을 매칭하고 어떤 출구로 보낼지 정한 뒤, 아웃바운드 태그가 실제로 존재하는지 확인하세요. 기본 처리 방식은 전체 설정과 사용 중인 코어에 따라 달라집니다.

분기 라우팅 #

조건별 처리 / 직접 연결, 프록시 또는 차단

분기 라우팅은 규칙에 따라 연결마다 직접 연결, 프록시, 차단 등의 처리 방식을 적용합니다. 트래픽을 여러 노드에 균등하게 나누는 기능은 아닙니다. 클라이언트의 “중국 본토 우회” 같은 이름은 보통 미리 설정된 규칙을 가리키며 실제 적용 범위는 규칙과 데이터 파일에 따라 달라집니다. 설정을 전환한 뒤에는 버튼이 선택되었는지만 보지 말고 대상별 연결 경로를 확인하세요.

GeoIP #

IP 주소 집합 / geoip.dat

GeoIP는 주소 집합을 사용해 라우팅에서 대상 IP를 매칭합니다. 흔히 geoip:cn 형식으로 참조하며 관련 데이터는 geoip.dat에 저장됩니다. IP 주소의 분류를 기준으로 매칭하는 기능이지, 특정 웹사이트의 운영 주체나 콘텐츠 언어를 직접 판별하는 기능은 아닙니다. 데이터 출처와 업데이트 시점, IP 주소의 변경에 따라 결과가 달라질 수 있으므로 위치를 실시간으로 정확하게 판별하지는 못합니다.

GeoSite #

도메인 집합 / geosite.dat

GeoSite는 도메인을 분류별 집합으로 구성합니다. 규칙에서 geosite:cn 등의 형식으로 참조하며, 흔히 사용하는 데이터 파일 이름은 geosite.dat입니다. IP 주소를 기준으로 매칭하는 GeoIP와는 다른 데이터를 사용합니다. 사용할 수 있는 태그는 실제 데이터 파일에 따라 다릅니다. 존재하지 않는 태그를 그대로 입력하면 설정을 불러오지 못할 수 있으므로 규칙을 업데이트할 때 데이터 출처도 확인하세요.

DNS #

도메인 시스템 / 이름을 주소로 변환

DNS는 도메인을 IP 주소 등의 레코드로 변환해 앱이 연결 대상의 위치를 확인하도록 합니다. 운영체제, 브라우저, 프록시 코어가 각각 DNS 설정을 사용할 수 있으므로 클라이언트의 DNS 설정을 변경해도 모든 앱에 적용되는 것은 아닙니다. “도메인은 열리지 않지만 IP 주소로는 접속되는” 문제를 확인할 때는 DNS 조회 실패, 응답 결과의 차이, 연결 실패를 구분하세요. 처음부터 모든 노드 설정을 바꾸지 않는 것이 좋습니다.

FakeDNS #

가상 주소 / 도메인 매핑

FakeDNS는 도메인에 가상 IP를 할당하고 도메인과 주소의 매핑을 보관합니다. 이후 트래픽을 가로챌 때 이 정보를 이용해 대상 도메인을 복원할 수 있습니다. 가상 IP는 웹사이트의 실제 서버 주소가 아니므로 DNS 조회와 트래픽 가로채기가 함께 작동해야 합니다. 앱이 가상 주소를 받았는데 매핑을 처리할 수 있는 클라이언트를 거치지 않으면 연결에 실패할 수 있습니다. 모든 DNS 문제를 해결하는 만능 스위치도 아닙니다.

CLIENT / LOCAL NETWORK

클라이언트 설정

먼저 앱이 연결을 클라이언트로 전달하는지 확인한 다음 클라이언트의 처리 방식을 점검하세요. 트래픽을 받는 진입점과 라우팅 규칙은 서로 다른 문제를 해결합니다.

시스템 프록시 #

앱의 연결 경로 / 시스템 설정을 따르는 앱에 적용

시스템 프록시는 운영체제에서 제공하는 프록시 설정입니다. 이 설정을 따르는 앱은 요청을 지정된 로컬 프록시 주소로 전달합니다. v2rayN의 “시스템 프록시 자동 설정”은 이 주소를 설정하는 기능이지 모든 프로그램과 네트워크 프로토콜을 가로채는 기능은 아닙니다. “시스템 프록시 지우기”를 선택하면 관련 설정을 제거하는 것이며 구독이나 노드를 삭제하지 않습니다. 종료 후 인터넷이 연결되지 않으면 종료된 클라이언트를 가리키는 프록시 설정이 남아 있는지 확인하세요.

TUN 모드 #

가상 네트워크 인터페이스 / 라우팅으로 트래픽 가로채기

TUN 모드는 가상 네트워크 인터페이스와 시스템 라우팅으로 트래픽을 가로채며, 시스템 프록시를 따르지 않는 일부 앱에도 적용할 수 있습니다. 보통 추가 권한과 라우팅·DNS 설정이 필요하며 다른 네트워크 프로그램과 충돌할 수도 있습니다. “전역 프록시”와 같은 뜻은 아닙니다. 트래픽을 가로챈 뒤에도 규칙에 따라 직접 연결하거나 프록시를 사용할 수 있습니다. Android 클라이언트는 시스템 VPN 인터페이스로 트래픽을 처리하는 경우가 많으며 메뉴 이름에 TUN이 들어가지 않을 수도 있습니다.

DNS 유출 #

예상된 조회 경로에서 벗어남 / 설정한 정책에 따라 판단

DNS 유출은 일반적으로 도메인 조회가 예상된 경로로 처리되지 않고 다른 DNS 리졸버로 전달되는 현상을 말합니다. 브라우저의 보안 DNS, 시스템 DNS 서비스, 클라이언트 DNS 설정이 모두 결과에 영향을 줄 수 있으므로 특정 옵션 하나만 확인해서는 안 됩니다. 점검할 때는 어떤 조회가 어떤 경로를 사용해야 하는지 먼저 정한 뒤 실제 DNS 응답의 출처와 비교하세요. 일반적인 직접 연결 조회가 설정된 정책에 맞는다면 프록시를 거치지 않았다는 이유만으로 유출이라고 볼 수 없습니다.

Mux 다중화 #

논리 연결 다중화 / 항상 속도를 높이는 기능은 아님

Mux는 적은 수의 하위 연결에 여러 논리 연결을 실어 보내 반복적인 연결 설정에 드는 비용을 줄일 수 있습니다. 효과는 프로토콜, 네트워크 상태, 양쪽 구현에 따라 다릅니다. 일부 조합에서는 적합하지 않을 수 있고 패킷 손실이 발생하면 여러 연결에 영향을 줄 수도 있습니다. 특별한 이유가 없다면 클라이언트 권장값을 유지하세요. 설정 효과를 비교할 때는 같은 노드와 테스트 조건에서 한 번에 하나씩 확인하고 여러 매개변수를 동시에 바꾸지 마세요.