VMess 프로토콜
VMess는 Project V 생태계의 프록시 프로토콜로, 사용자 식별자를 인증에 사용하며 자체적인 데이터 보호 기능도 포함합니다. 설정을 가져온 뒤에는 주소와 포트뿐 아니라 이에 맞는 전송 방식과 보안 설정도 유지해야 합니다. 기기 시간이 크게 어긋나면 인증에 문제가 생길 수 있으므로 연결에 실패하면 기기 시간과 설정 출처를 함께 확인하세요.
프로토콜부터 구독까지 설정 계층별로 용어를 찾아보세요. 먼저 각 용어의 역할을 구분한 다음 v2rayN 또는 v2rayNG에서 해당 설정을 확인하면 됩니다.
프로토콜 종류, 전송 방식, 보안 계층은 서로 다른 설정 항목이므로 대체할 수 없습니다.
VMess는 Project V 생태계의 프록시 프로토콜로, 사용자 식별자를 인증에 사용하며 자체적인 데이터 보호 기능도 포함합니다. 설정을 가져온 뒤에는 주소와 포트뿐 아니라 이에 맞는 전송 방식과 보안 설정도 유지해야 합니다. 기기 시간이 크게 어긋나면 인증에 문제가 생길 수 있으므로 연결에 실패하면 기기 시간과 설정 출처를 함께 확인하세요.
VLESS는 자체적으로 트래픽을 암호화하지 않는 경량 프록시 프로토콜이며, 보통 TLS 또는 REALITY 같은 보안 방식과 함께 사용합니다. 사용자 식별자가 같더라도 VMess 설정을 VLESS로 바로 바꿀 수는 없습니다. 주소, 포트, 흐름 제어, 전송 보안 매개변수는 서버에서 제공한 조합을 사용해야 하며, 프로토콜 이름만 보고 나머지 설정을 추측해서는 안 됩니다.
Trojan은 보통 TLS 연결 위에서 작동하며 비밀번호로 인증합니다. 설정에 포함된 비밀번호, 서버 이름, 인증서 검증은 각각 역할이 다르므로 하나를 입력했다고 나머지를 대신할 수는 없습니다. 인증서 오류가 발생하면 도메인과 기기 시간을 확인하세요. 인증서 검증을 건너뛰는 방법은 일반적인 해결책으로 권장하지 않습니다.
REALITY는 Xray 생태계의 전송 보안 방식이며 VLESS와 나란히 놓이는 독립 프록시 프로토콜은 아닙니다. 관련 설정에는 공개 키, 서버 이름, 짧은 ID, 지문 등의 매개변수가 포함될 수 있으며, 구체적인 항목은 설정 조합에 따라 다릅니다. 변경하기 전에 기존 설정을 저장하고 현재 코어가 해당 기능을 지원하는지 확인하세요. 다른 설정의 매개변수를 임의로 조합하지 마세요.
전송 방식은 TCP, WebSocket, gRPC 등 프록시 데이터를 전달하는 방법을 정합니다. VMess, VLESS 같은 프로토콜 종류와는 다른 개념입니다. WebSocket 경로와 요청 헤더, gRPC 서비스 이름도 연결 설정을 맞추는 데 쓰일 수 있습니다. 전송 방식을 바꾸려면 서버도 이에 맞게 구성되어야 하므로 단순한 속도 조절 옵션으로 취급하면 안 됩니다.
소프트웨어 이름은 실행 진입점을 나타내고, 코어 기능은 설정을 실제로 어떻게 처리할지 결정합니다.
Project V는 V2Ray를 핵심 프로젝트로 발전한 네트워크 도구 생태계로, 프록시 프로토콜, 라우팅, 연결 처리 등의 기반 기능을 다룹니다. 그래픽 클라이언트 설치 파일이나 구독 서비스의 이름은 아닙니다. 문서를 읽을 때는 생태계 전반의 개념과 현재 클라이언트에서 제공하는 설정 항목을 구분해야 합니다.
Xray는 V2Ray 프로젝트에서 파생된 프록시 코어로, 독자적으로 발전한 프로토콜과 설정 기능을 갖추고 있습니다. v2rayNG는 Xray 코어를 사용하며, v2rayN에서 실제로 지원하는 기능은 사용 중인 코어와 클라이언트 지원 여부를 함께 확인해야 합니다. 코어 업데이트와 인터페이스 업데이트는 별개입니다. 설정 오류를 점검할 때는 클라이언트 이름만 보지 말고 각각 확인하세요.
V2Fly는 V2Ray를 지속적으로 관리하는 커뮤니티 프로젝트이며, v2flyNG는 이 코어 계열을 사용합니다. V2Fly와 Xray는 일부 역사와 개념을 공유하지만 지원 기능, 설정 항목, 기본 동작이 완전히 같지는 않습니다. 다른 환경으로 옮길 때는 설정을 그대로 재사용할 수 있다고 가정하지 말고 프로토콜과 전송 방식의 지원 여부를 확인하세요.
프록시 코어는 프로토콜 처리, 라우팅 규칙 적용, DNS 조회, 아웃바운드 연결을 담당하는 실행 구성 요소입니다. 클라이언트 화면이 실행된다고 코어도 정상적으로 작동하는 것은 아닙니다. 로컬 포트 충돌이나 호환되지 않는 설정 때문에 시작하지 못할 수 있습니다. 문제를 점검할 때는 먼저 코어의 실행 상태와 로그를 확인한 다음 원격 연결 문제인지 판단하세요.
v2rayN, v2rayNG, v2flyNG는 서버 저장, 구독 업데이트, 연결 설정 변경을 위한 그래픽 관리 화면을 제공합니다. 화면의 옵션은 보통 코어 설정으로 변환되므로 항목 이름이 내부 설정 이름과 일치하지 않을 수 있습니다. 설치 파일은 클라이언트 다운로드에서, 사용 환경별 비교는 클라이언트 비교에서 확인하세요.
먼저 트래픽이 클라이언트로 들어오는 방식을 확인한 뒤 테스트 결과와 연결 옵션을 점검하세요.
시스템 프록시는 운영체제에 로컬 프록시 주소를 등록하는 설정으로, 해당 설정을 따르는 앱에만 적용됩니다. v2rayN의 ‘시스템 프록시 → 시스템 프록시 자동 구성’은 이 기능을 설정합니다. 앱 자체 프록시 설정을 사용하거나 직접 연결하는 경우도 있습니다. 클라이언트를 종료하기 전에 시스템 프록시를 원래대로 되돌리지 않으면 앱이 더 이상 연결을 받지 않는 로컬 포트에 접속을 시도할 수 있습니다.
TUN 모드는 가상 네트워크 인터페이스로 트래픽을 받아 처리하므로 시스템 프록시 설정을 따르지 않는 앱에도 적용할 수 있습니다. v2rayN에서 ‘Tun 사용’을 켜려면 권한, 시스템 라우팅, DNS 설정도 함께 고려해야 합니다. 켰다고 해서 모든 요청이 프록시 아웃바운드로 전달되는 것은 아닙니다. 테스트 전에 기본 연결이 정상인지 확인하고 가상 인터페이스와 트래픽 분할 결과를 차례로 점검하세요.
앱별 프록시는 앱별로 트래픽을 클라이언트 처리 범위에 포함할지 결정합니다. v2rayNG의 ‘앱별 프록시’에서는 ‘선택한 앱만 프록시 사용’과 ‘선택한 앱 우회’를 구분해야 합니다. 같은 앱을 선택해도 설정에 따라 결과가 반대로 나올 수 있습니다. 처리 범위에 들어온 트래픽도 라우팅 판단을 거치므로 반드시 원격 프록시 아웃바운드를 사용하는 것은 아닙니다.
Mux는 여러 논리 연결을 더 적은 수의 하위 연결에 다중화해 연결 설정 및 데이터 전달 방식을 바꾸는 기능입니다. 모든 환경에서 속도를 높이는 옵션은 아니며 효과는 프로토콜 조합, 서버 지원 여부, 네트워크 상태에 따라 달라집니다. v2rayNG에서 ‘Mux 다중화’를 조정할 때는 한 번에 하나씩 변경하고 같은 앱과 환경에서 안정성을 비교하세요.
실제 연결 지연 시간은 프록시 경로를 거쳐 테스트 대상에 접속하는 데 걸린 시간으로, 일반적으로 TCP 핸드셰이크보다 많은 과정을 포함합니다. Tcping은 주로 대상 포트의 TCP 연결 상태를 확인하고, 다운로드 속도 테스트는 실제 처리량을 측정하므로 세 결과는 서로 대체할 수 없습니다. 실제 연결 테스트가 실패해도 테스트 대상이나 DNS가 원인일 수 있으니 로그와 실제 앱 접속 결과를 함께 확인하세요.
트래픽 진입, 규칙 매칭, 도메인 조회는 연속된 과정이며 하나의 설정 스위치가 아닙니다.
라우팅 규칙은 도메인, IP, 포트 등의 조건에 따라 아웃바운드를 선택해 요청을 직접 연결, 프록시 또는 차단으로 보냅니다. 이 과정을 보통 트래픽 분할이라고 합니다. 규칙은 대개 순서대로 적용되므로 앞쪽의 포괄적인 조건이 뒤쪽의 세부 조건보다 먼저 매칭될 수 있습니다. v2rayN의 라우팅 설정을 변경할 때는 개별 규칙뿐 아니라 규칙 순서와 매칭되지 않았을 때 사용할 기본 아웃바운드도 확인하세요.
GeoIP는 태그별로 정리한 IP 주소 모음으로, 라우팅 시 대상 주소를 매칭하는 데 사용합니다. 태그의 적용 범위는 실제로 불러온 데이터 파일에 따라 달라지며 요청 출처나 서비스 소속을 실시간으로 판별하는 기능은 아닙니다. 대상이 도메인뿐이라면 먼저 IP 주소로 조회할지 여부도 도메인 정책에 따라 달라집니다. 따라서 GeoIP 규칙을 추가해도 예상한 모든 요청이 바로 매칭되는 것은 아닙니다.
GeoSite는 태그별로 정리한 도메인 모음입니다. geosite:private는 해당 태그를 지원하는 데이터 파일에서 사설 도메인 모음을 매칭하는 데 사용할 수 있습니다. GeoSite는 도메인 조건을 처리하고 GeoIP는 주소 조건을 처리하므로 서로 대체할 수 없습니다. 규칙이 예상대로 작동하지 않으면 먼저 태그가 있는지 확인하고, 요청에 매칭 가능한 도메인 정보가 남아 있는지도 점검하세요.
FakeDNS는 앱에 가상 IP를 반환하고, 내부적으로 가상 주소와 도메인의 매핑을 저장해 이후 연결에서 원래 도메인을 복원할 수 있도록 합니다. 일반적인 공용 DNS 주소가 아니며 DNS 서버 하나만 바꿔서 설정할 수 있는 기능도 아닙니다. DNS 조회 가로채기, 트래픽 진입, 주소 복원이 함께 작동해야 합니다. 비활성화한 뒤에는 시스템이나 앱에 가상 주소가 캐시되어 있는지도 확인하세요.
DNS 누수는 도메인 조회가 예상하지 않은 경로를 사용하는 현상입니다. 예를 들어 지정된 경로로 조회하려 했지만 실제로는 시스템 기본 DNS 확인자를 사용할 수 있습니다. 브라우저에 표시되는 외부 IP가 정상이어도 DNS 경로가 올바르다는 뜻은 아닙니다. 문제를 점검할 때 시스템 DNS, 클라이언트 DNS, 브라우저의 암호화 DNS, TUN 처리 범위를 각각 확인하세요. 웹페이지 테스트 한 번만으로 결론을 내리면 안 됩니다.
구독은 설정을 가져오고 노드는 연결 정보를 설명합니다. 업데이트 성공이 연결 성공을 뜻하지는 않습니다.
구독 URL을 사용하면 서버 설정 묶음을 가져오고 나중에 같은 주소에 다시 요청해 내용을 업데이트할 수 있습니다. URL에 접근 인증 정보가 포함될 수 있으므로 스크린샷을 공유하거나 로그를 제출하기 전에 전체 주소와 관련 매개변수를 가리세요. 일반 웹 주소가 모두 구독 URL인 것은 아니며, 브라우저에서 열린다고 해서 클라이언트가 응답 설정 형식을 인식하는 것도 아닙니다.
‘노드’는 보통 주소, 포트, 프로토콜, 인증, 전송 설정을 포함해 클라이언트에 저장한 원격 연결 설정을 뜻합니다. 하나의 항목이 독립된 물리 서버 한 대에 해당한다고 단정할 수 없으며, 표시 이름은 식별을 위한 메모일 뿐입니다. 두 항목이 같은지 확인하려면 이름이나 지역 표시, 목록 순서가 아니라 실제 연결 설정을 비교해야 합니다.
공유 링크는 서버 설정 하나를 텍스트로 담습니다. 예를 들어 vmess:// 또는 vless://로 시작하는 형식입니다. 링크를 복사한 뒤 클라이언트의 클립보드 가져오기 기능으로 불러올 수 있지만, 가져온 설정은 보통 당시 내용의 복사본이라 원본 변경 사항이 자동 반영되지 않습니다. 인증 정보가 들어 있을 수 있으므로 민감한 설정으로 취급하고 공개 게시판에 올리지 마세요.
구독 그룹을 이용하면 출처별 구독 URL과 서버 항목을 정리해 각각 업데이트하고 필터링하거나 문제를 찾기 쉽습니다. v2rayN의 ‘구독 그룹’ 메뉴는 관리 기능의 진입점이며, 그룹 이름이 자동 속도 측정이나 자동 전환 기능을 뜻하지는 않습니다. 출처가 여러 개라면 따로 관리하고 필터 조건을 바꾸기 전에 기존 조건을 저장해 정상 항목이 목록에서 빠지지 않도록 하세요.
구독 업데이트는 구독 내용을 다시 가져와 파싱하는 작업이며 서버 항목을 추가, 교체 또는 삭제할 수 있습니다. 업데이트 성공은 설정을 가져와 파싱했다는 뜻일 뿐 원격 서버에 연결할 수 있다는 보장은 아닙니다. 업데이트에 실패하면 먼저 주소에 접속할 수 없는 문제인지, 응답 내용이 잘못된 것인지, 파싱에 실패한 것인지 구분하세요. v2rayN의 ‘구독 그룹’ 메뉴에서 업데이트 방식을 확인하고 로그를 함께 살펴보면 문제 지점을 찾는 데 도움이 됩니다.