VMess
VMess protocolVMess는 Project V 생태계의 프록시 프로토콜로, 클라이언트와 서버 간 인증 및 데이터 교환을 담당합니다. 노드 설정에는 보통 사용자 식별자, 전송 방식, 보안 옵션도 포함되며, 양쪽 설정이 일치해야 합니다. 가져온 뒤 핸드셰이크에 실패하면 포트만 바꾸지 말고 전체 매개변수와 시스템 시간을 확인하세요.
설정 전 알아둘 개념
프로토콜은 연결 방식을 정하고, 코어는 이를 실행하며, 라우팅은 요청의 경로를 결정합니다. 설정 상황에 맞는 용어를 확인한 뒤 클라이언트의 실제 옵션과 대조해 보세요.
프로토콜, 전송 방식, 보안 메커니즘은 서로 다른 요소입니다. 설정을 가져올 때는 기존 조합을 유지하고, 이름이 비슷하다는 이유로 매개변수를 바꾸지 마세요.
VMess는 Project V 생태계의 프록시 프로토콜로, 클라이언트와 서버 간 인증 및 데이터 교환을 담당합니다. 노드 설정에는 보통 사용자 식별자, 전송 방식, 보안 옵션도 포함되며, 양쪽 설정이 일치해야 합니다. 가져온 뒤 핸드셰이크에 실패하면 포트만 바꾸지 말고 전체 매개변수와 시스템 시간을 확인하세요.
VLESS는 경량 프록시 프로토콜이며, 프로토콜 자체에서 전송 데이터를 암호화하지 않습니다. 실제 환경에서는 TLS 또는 REALITY와 함께 사용하는 경우가 많습니다. 사용자 식별자, 흐름 제어, 보안 메커니즘, 전송 방식은 모두 서버 설정과 일치해야 합니다. VLESS와 VMess는 서로 다른 프로토콜이므로 프로토콜 드롭다운만 바꿔서는 변환할 수 없습니다.
Trojan은 일반적으로 TLS로 보안 연결을 설정하는 프록시 프로토콜이며, 비밀번호로 인증합니다. 비밀번호가 맞는 것만으로는 충분하지 않습니다. 서버 이름, 인증서 검증, 전송 설정도 연결에 영향을 줍니다. 인증서 오류가 발생하면 검증을 끄기보다 먼저 서버 이름과 시스템 시간을 확인하세요.
REALITY는 Xray 생태계의 전송 보안 메커니즘이지, 독립적인 프록시 프로토콜이나 노드 관리 기능이 아닙니다. 클라이언트에는 보통 공개 키, 짧은 ID, 서버 이름을 입력해야 하며, 각 값은 해당 서버 설정에서 확인해야 합니다. 사용 가능 여부는 현재 코어와 프로토콜 조합에 따라 달라집니다. 설정을 가져왔다고 해서 모든 매개변수가 지원되는 것은 아닙니다.
전송 방식은 프록시 데이터를 전달하는 방법을 뜻하며, 대표적인 옵션으로 TCP, WebSocket, gRPC가 있습니다. VMess, VLESS 같은 프록시 프로토콜과는 서로 다른 계층이므로 서로 대체할 수 없습니다. WebSocket을 선택하면 경로와 호스트 이름을 설정해야 할 수 있고, gRPC를 사용한다면 서비스 이름 등의 매개변수도 확인해야 합니다. 서버 주소만 비교해서는 충분하지 않습니다.
인터페이스는 설정을 관리하고, 코어는 연결을 처리하며, 시스템 설정은 일부 앱의 접속 방식을 결정합니다. 문제를 해결할 때는 먼저 어느 계층에서 문제가 발생했는지 확인하세요.
클라이언트는 그래픽 인터페이스를 제공해 구독, 노드, 라우팅, 연결 상태를 관리하고 코어를 호출해 네트워크 작업을 수행합니다. v2rayN은 데스크톱 시스템용이며 v2rayNG와 v2flyNG는 Android용입니다. 클라이언트마다 메뉴 이름은 다를 수 있습니다. 화면에 특정 옵션이 있다고 해서 현재 코어 또는 노드가 이를 지원한다고 단정할 수는 없습니다.
코어는 프로토콜 처리, 라우팅 규칙 매칭, 연결 전달을 실제로 수행하는 프로그램입니다. 클라이언트는 인터페이스 설정을 코어가 읽을 수 있는 구성으로 변환합니다. 그래픽 인터페이스를 업데이트하는 것과 코어를 바꾸는 것은 별개의 작업이며, 기능 호환성도 각각 확인해야 합니다. 문제를 기록할 때는 클라이언트, 선택한 코어, 오류 메시지를 함께 적어 두면 ‘프로그램이 안 된다’는 설명보다 원인을 파악하기 쉽습니다.
Xray는 Project V 생태계와 관련된 프록시 코어 프로젝트로, 다양한 프로토콜과 전송 방식 조합을 지원하며 REALITY도 관련 기술 중 하나입니다. v2rayNG는 Xray 코어를 사용하지만, 실제 기능은 통합된 코어 버전과 인터페이스의 지원 여부에 따라 달라집니다. Xray 설정을 가져올 때는 클라이언트에서 모든 필드를 설정할 수 있는지 먼저 확인하세요.
V2Fly는 V2Ray를 중심으로 발전한 커뮤니티 프로젝트입니다. 코어를 통해 프록시 연결, DNS, 라우팅 등을 처리하며 Project V 관련 생태계에 속합니다. v2flyNG는 이 코어 계열을 사용하는 Android 클라이언트의 한 가지 선택지입니다. V2Fly와 Xray의 설정이 항상 호환되는 것은 아니므로 다른 코어 전용 매개변수를 그대로 적용하지 마세요.
시스템 프록시를 설정하면 운영체제의 프록시 주소가 클라이언트의 로컬 수신 주소를 가리킵니다. 앱이 이 경로를 사용하는지는 앱의 동작에 따라 달라집니다. 브라우저는 시스템 설정을 따를 수 있지만, 일부 프로그램은 별도의 프록시 옵션을 사용하거나 직접 연결합니다. 켠 뒤 특정 앱에서만 적용되지 않는다면 노드를 바꾸기 전에 해당 앱의 설정부터 확인하세요.
구독은 설정을 가져오고, 노드는 연결 정보를 제공하며, 속도 테스트는 특정 경로를 점검합니다. 한 작업의 성공 여부가 다른 작업의 성공을 보장하지는 않습니다.
구독은 일반적으로 여러 노드 설정을 가져오는 주소이며, 클라이언트가 업데이트할 때 응답 내용을 서버 항목으로 변환합니다. 업데이트에 성공했다는 것은 내용을 가져와 처리했다는 뜻이지, 모든 노드에 연결할 수 있다는 뜻은 아닙니다. 클라이언트가 노드를 자동으로 제공하는 것도 아닙니다. 주소에 접근 자격 증명이 포함될 수 있으므로 화면을 캡처하거나 로그를 공유하거나 온라인에서 도움을 요청할 때는 전체 링크를 먼저 가리세요.
노드는 클라이언트에서 사용하는 연결 설정 묶음으로, 서버 주소, 포트, 프로토콜, 인증, 전송 방식 등의 매개변수가 포함됩니다. 목록에 표시되는 이름은 식별용 라벨일 뿐이며 실제 접속 지역, 대역폭, 사용 가능 여부를 보장하지 않습니다. 직접 수정하기 전에는 원래 설정을 보관하고, 특히 같은 구독에 속한 서로 다른 노드의 인증 및 전송 매개변수를 섞지 마세요.
구독 그룹은 출처나 용도에 따라 노드를 정리해 업데이트, 필터링, 일괄 작업의 범위를 지정하는 데 도움이 됩니다. 그룹 이름이 트래픽 경로를 직접 결정하는 경우는 드뭅니다. 실제 연결은 활성 노드와 라우팅 규칙의 영향을 받습니다. 삭제, 중복 제거, 업데이트를 실행하기 전에 작업 대상이 전체 목록인지 특정 그룹인지 확인해 다른 출처의 설정을 잘못 수정하지 않도록 하세요.
지연 시간은 특정 테스트에 걸린 시간입니다. 테스트 방법을 고려해야 하며, 서로 다른 방식으로 측정한 속도 결과를 그대로 비교해서는 안 됩니다. TCP 연결 테스트는 주로 대상 포트에 연결을 설정할 수 있는지를 보여 주며, 프록시 프로토콜 인증 성공을 뜻하지 않습니다. 수치가 낮더라도 다운로드가 빠르다고 단정할 수 없습니다. 처리량, 패킷 손실, 대상 서비스까지의 경로도 실제 체감에 영향을 줍니다.
실제 연결 지연은 보통 노드를 거쳐 지정된 주소에 요청을 보내고 소요 시간을 측정합니다. 단순한 포트 확인보다 실제 프록시 접속에 가까운 테스트입니다. 결과는 테스트 주소, DNS, 네트워크 경로, 시간 제한에 따라 달라지며, 실패 원인은 로그와 함께 살펴봐야 합니다. 노드를 비교할 때는 가능한 한 같은 조건으로 테스트하고, 마지막으로 실제 앱에서 연결 상태를 확인하세요.
먼저 매칭 조건을 확인하고, 다음으로 규칙 순서를 살펴본 뒤, 마지막으로 대상 아웃바운드를 확인하세요. 도메인 데이터와 주소 데이터는 각각 적용 범위가 다릅니다.
분할 라우팅은 도메인, IP 주소 또는 기타 연결 조건에 따라 요청을 서로 다른 아웃바운드로 보냅니다. 대표적인 처리 결과는 직접 연결, 프록시, 차단입니다. 여러 노드의 대역폭을 자동으로 합산하는 기능도 아니며, 모든 요청이 같은 경로를 사용한다는 뜻도 아닙니다. 분할 라우팅 프리셋을 파악하려면 모드 이름만 보지 말고 실제 규칙과 기본 아웃바운드를 확인하세요.
라우팅 규칙은 매칭 조건과 대상 아웃바운드로 구성되며, 일반적인 V2Ray 설정에서는 순서대로 확인해 규칙이 일치하면 해당 경로를 선택합니다. 범위가 넓은 규칙이 앞에 있으면 뒤의 세부 규칙이 적용되지 않을 수 있습니다. 규칙을 수정할 때는 도메인 및 주소 매칭 조건을 함께 확인하고, 어떤 규칙에도 일치하지 않을 때 사용할 기본 아웃바운드를 지정하세요.
GeoSite는 범주별로 정리된 도메인 규칙 데이터입니다. 코어에서는 범주 이름으로 여러 도메인을 참조할 수 있어 하나씩 입력하지 않아도 됩니다. 각 범주의 실제 내용은 불러온 데이터 파일과 출처에 따라 다르며, 같은 이름이라도 포함된 항목이 다를 수 있습니다. GeoSite는 실시간 DNS 조회 결과가 아닙니다. 규칙이 적용되지 않는다면 대상 도메인이 데이터에 포함되어 있는지 확인하세요.
GeoIP는 지역이나 용도별로 정리된 IP 주소 범위 데이터이며, 라우팅의 주소 조건에서 참조할 수 있습니다. 데이터베이스의 분류를 나타내는 것으로, 연결할 때마다 실제 물리적 위치를 측정하거나 접속 품질을 보여 주는 것은 아닙니다. 공유 인프라나 동적 주소를 사용하는 대상은 지역 분류만으로 서비스의 전체 접속 요구 사항을 정확히 표현하기 어려울 수 있습니다.
아웃바운드는 코어가 수신한 연결을 대상까지 전달하는 방식을 정의합니다. 직접 연결하거나 프록시 서버로 전달하거나 차단할 수 있습니다. 라우팅에서는 보통 태그로 아웃바운드를 지정하므로 태그가 설정에 정의된 이름과 일치해야 합니다. 사용자 지정 아웃바운드를 설정할 때는 인증 매개변수, 프로토콜 지원 여부, 참조 관계를 함께 확인하세요. 아웃바운드를 추가했다고 트래픽이 자동으로 그 경로를 사용하는 것은 아닙니다.
이름 해석 경로와 연결 경로는 따로 확인해야 합니다. TUN은 트래픽을 처리하는 범위를 넓히지만 DNS 및 라우팅 설정을 대신하지는 않습니다.
DNS는 도메인에 해당하는 주소 등의 레코드를 조회하며, 많은 네트워크 연결에 앞서 필요한 이름 해석 과정입니다. 운영체제, 브라우저, 코어가 각자 다른 DNS 서비스를 사용할 수 있으므로 한 곳의 설정을 바꿔도 모든 요청에 적용되지 않을 수 있습니다. 웹 페이지가 열리지 않는다면 이름 해석 실패, 연결 실패, 앱 응답 오류를 구분하세요. 모든 문제를 노드 오류로 단정해서는 안 됩니다.
원격 DNS는 일반적으로 프록시 환경에서 사용하도록 설정한 DNS 서비스를 뜻하지만, ‘원격’이라는 이름만으로 조회가 프록시를 통과한다고 보장할 수는 없습니다. 요청의 아웃바운드, DNS 서버 주소를 해석하는 방법, 라우팅 간 순환 의존성이 생기지 않는지도 확인해야 합니다. 정책에 따라 직접 연결 요청과 프록시 요청에 서로 다른 DNS 경로를 사용할 수 있습니다. 서버 주소를 입력했는지만 확인하지 말고 설정 후 각각 테스트하세요.
TUN 모드는 가상 네트워크 인터페이스로 시스템 라우팅이 전달한 IP 패킷을 받아 클라이언트에서 처리합니다. 활성화하려면 일반적으로 필요한 권한이 있으며, 실제 트래픽 처리 범위는 라우팅, 제외 항목, 클라이언트 구현에 따라 달라집니다. 다른 가상 네트워크 도구와 함께 사용할 때는 인터페이스와 라우팅 충돌에 유의하세요. TUN을 켠다고 DNS 설정까지 자동으로 올바르게 바뀌는 것은 아닙니다.
FakeDNS는 도메인에 매핑용 가상 주소를 할당해 코어가 이후 연결에서 도메인 정보를 복원하고 적절히 처리하도록 합니다. 일반적인 공용 DNS가 아니며, 트래픽 가로채기, 매핑 복원, 우회 규칙과 함께 사용해야 합니다. 앱이 매핑 주소를 받은 뒤 코어를 거치지 않고 직접 연결하면 실패할 수 있습니다. 기능을 끈 뒤에도 사용 중인 DNS 캐시를 정리해야 할 수 있습니다.
DNS 유출은 DNS 요청이 예상한 네트워크 경로를 벗어나는 현상입니다. 직접 연결을 통한 DNS 조회가 보인다고 무조건 이상으로 판단하지 말고, 원래 설정한 분할 라우팅 정책에 따라 확인하세요. 검사 페이지에 표시된 DNS 서비스 정보는 단서일 뿐입니다. 브라우저의 보안 DNS, 시스템 DNS, 코어 로그도 함께 살펴보세요. 수정한 뒤에는 DNS 경로와 실제 접속을 모두 다시 테스트해 정상 연결에 영향이 없는지 확인하세요.
처음 사용하는 경우 v2rayN 사용 가이드에 따라 설정을 가져오고 노드를 선택한 뒤 연결을 확인하세요. 이미 연결할 수 있지만 구독 그룹, 분할 라우팅, DNS 경로를 조정하려면 고급 설정 매뉴얼을 참고하세요. 한 번에 한 종류의 설정만 바꾸고 결과를 기록하세요.
매개변수를 확인할 때는 현재 사용하는 클라이언트 인터페이스와 코어의 기능을 기준으로 삼으세요. 이름이 비슷한 옵션도 구현 방식이 다를 수 있으므로 설정을 옮기기 전에 지원 범위를 확인해야 합니다.