v2rayN·v2rayNG·v2flyNG 선택 가이드: 세 클라이언트의 기능과 코어 차이 비교

플랫폼, 코어, 프로토콜, 구독, 라우팅의 다섯 가지 기준으로 세 클라이언트를 비교합니다. 데스크톱과 Android를 나누어 판단해 이름이 비슷하다는 이유만으로 잘못 설치하지 않도록 안내합니다.

핵심 요약

Windows, macOS, Linux에서는 v2rayN을 우선 사용하고, Android에서 Xray 프로토콜 기능이 필요하면 v2rayNG를, 기존 v2fly 코어 설정 체계를 유지하려면 v2flyNG를 선택합니다. 클라이언트 설치, 구독 이전, VLESS·VMess·Reality 호환성 확인이 필요한 사용자를 위해 노드 프로토콜과 사용 환경에 따른 선택 기준을 정리했습니다.

플랫폼과 노드 유형부터 후보를 좁히기

세 소프트웨어는 이름이 비슷하지만 용도가 다릅니다. v2rayN은 Windows, macOS, Linux를 지원하는 데스크톱 클라이언트이고, v2rayNG와 v2flyNG는 Android용입니다. 플랫폼만 확인해도 대부분의 잘못된 선택을 걸러낼 수 있습니다. 데스크톱에서는 바로 v2rayN 설정으로 들어가고, Android에서는 코어 계열에 따라 둘 중 하나를 고르면 됩니다.

두 번째 판단 기준은 노드 설정입니다. 구독에 VMess, Shadowsocks 또는 일반적인 VLESS만 있다면 세 클라이언트의 해당 코어가 흔한 조합을 일부 처리할 수 있습니다. 하지만 설정에 VLESS, XTLS Vision, Reality, Mux 매개변수 또는 Xray 전용 전송 필드가 명시되어 있다면 Xray 코어 클라이언트를 우선 선택해야 합니다. 클라이언트가 링크를 가져올 수 있다고 해서 현재 코어가 링크의 모든 필드를 완전히 실행할 수 있다는 뜻은 아닙니다.

세 번째 판단 기준은 설정 출처입니다. 서비스 제공자가 Xray, VLESS Reality 또는 Vision을 명시했다면 데스크톱에서는 v2rayN, Android에서는 v2rayNG를 사용합니다. 기존 v2fly JSON 설정을 보유하고 있거나 v2fly 라우팅 의미를 유지해야 하거나 노드 관리자가 v2fly-core 기준으로 설정을 생성한다면 Android에서는 v2flyNG가 더 직접적인 선택입니다.

v2rayN

추천

구독, 시스템 프록시, 라우팅 규칙, 여러 코어 설정을 한곳에서 관리할 수 있는 데스크톱용 통합 클라이언트입니다.

적합한 환경: Windows, macOS, Linux 주력 기기

v2rayNG

Android용 Xray 코어 클라이언트로, VLESS, Reality, VMess 및 앱별 프록시가 필요한 모바일 환경에 적합합니다.

적합한 환경: Xray 노드, Android 일상 연결

v2flyNG

Android용 v2fly 코어 클라이언트로, 설정 모델이 v2fly 생태계와 일치하며 기존 VMess 및 표준 라우팅 구성에 적합합니다.

적합한 환경: v2fly 설정, 기존 노드 호환

결론: 기능 수보다 플랫폼이 우선

먼저 현재 운영체제에 맞춰 후보를 좁힌 다음 구독에서 사용하는 코어 기능을 확인하세요. 데스크톱에서는 세 제품을 반복해서 비교할 필요가 없고, Android에서도 화면이 비슷하다는 이유로 Xray와 v2fly의 설정 차이를 무시해서는 안 됩니다.

코어 계열과 프로토콜 지원 차이

클라이언트는 화면, 구독, 설정 생성, 시스템 연결을 담당하고 실제 연결은 코어가 수립합니다. v2rayN과 v2rayNG의 주요 설정 경로는 Xray-core를 중심으로 하며, v2flyNG는 v2fly-core에 대응합니다. 두 코어 모두 VMess, 일반적인 전송 방식과 라우팅 규칙을 처리할 수 있지만, VLESS, XTLS Vision, Reality 조합에서는 Xray가 명확한 생태계 대응 관계를 갖습니다.

버전은 클라이언트 이름만 보고 판단할 수 없습니다. 예를 들어 v2rayN 7.x와 v2rayNG 1.10.x의 화면 체계에서는 클라이언트 버전과 코어 버전이 별도로 업데이트됩니다. 클라이언트를 업그레이드한 뒤에도 정보 페이지, 코어 관리 페이지 또는 실행 로그에서 실제로 로드된 코어를 확인해야 합니다. 구독 링크의 프로토콜 이름은 첫 번째 정보일 뿐이며 전송 방식, 보안 계층, 흐름 제어 필드도 호환성에 영향을 줍니다.

3개 플랫폼
v2rayN은 Windows, macOS, Linux를 지원합니다
2개 코어
Xray와 v2fly 두 가지 선택 경로
10808
일반적인 로컬 SOCKS 수신 포트
10809
기존 설정에서 흔히 사용하는 HTTP 프록시 포트
세 클라이언트의 핵심 기능 비교
비교 항목 v2rayN v2rayNG v2flyNG
주요 플랫폼 Windows、macOS、Linux Android Android
주요 코어 경로 Xray-core를 사용하며 버전에 따라 다른 코어 진입점도 제공할 수 있습니다 Xray-core v2fly-core
VMess 지원 지원 지원
VLESS Xray 설정에 적합 Xray 설정에 적합 v2fly 코어와 설정 필드를 기준으로 확인
Reality와 Vision 우선 선택 우선 선택 이 유형의 노드에는 우선 선택하지 않음
시스템 연결 방식 시스템 프록시 및 TUN 등 데스크톱 경로 Android VPN 인터페이스 및 앱별 프록시 Android VPN 인터페이스 및 라우팅 설정

구독 관리와 여러 기기 조합

구독 관리의 핵심은 버튼 수가 아니라 업데이트, 그룹화, 오류 복구 과정을 얼마나 명확하게 확인할 수 있는지에 있습니다. v2rayN은 여러 구독 소스를 관리하고 그룹별로 노드를 저장하며 데스크톱에서 지연 시간 측정, 필터링, 활성 서버 지정까지 처리하기 좋습니다. 업데이트 후 목록이 비어 있다면 먼저 구독 그룹이 활성화되어 있는지 확인한 뒤 업데이트 로그에서 네트워크 오류와 파싱 오류를 확인하세요.

v2rayNG와 v2flyNG 모두 Android에서 구독을 관리하기에 적합하지만, 같은 구독이라도 두 코어에 완전히 동일한 노드 필드를 제공하지 않을 수 있습니다. 일부 구독 서비스는 클라이언트 유형에 따라 다른 내용을 반환하거나 Xray 전용 노드와 범용 VMess 노드를 한 목록에 함께 넣기도 합니다. 가져오기가 끝나면 노드 이름만 보지 말고 상세 정보에서 주소, 포트, 전송 방식, 보안 계층, SNI를 확인하세요.

데스크톱과 Android에서 같은 구독을 사용할 때 기기 사이에서 데이터베이스를 내보낼 필요는 없습니다. 같은 구독 주소를 각 기기에 따로 추가하고 기기별로 독립적으로 업데이트하는 편이 안정적입니다. 노드 삭제, 정렬, 현재 선택 상태는 대개 로컬 데이터이므로 한 기기에서 수동으로 정렬한 결과가 다른 기기에 자동 동기화된다고 기대해서는 안 됩니다.

추천 구성: 데스크톱과 Android에서 별도로 구독

데스크톱(v2rayN)
  • 구독 그룹을 추가하고 원본 주소 저장
  • 업데이트 후 먼저 지연 시간을 측정한 다음 활성 서버로 지정
  • 「설정」→「매개변수 설정」에서 로컬 포트 확인
  • 앱 요구 사항에 따라 시스템 프록시 또는 TUN 선택
Android(v2rayNG)
  • 같은 구독 주소 추가
  • Reality 노드에서 SNI와 지문 필드 확인
  • 필요할 때 앱별 프록시 활성화
  • 네트워크를 전환한 뒤 연결 테스트 다시 실행

구독 소스는 동일하게 유지하되 클라이언트 설정은 각각 관리하세요. 데스크톱 규칙과 모바일 앱 목록이 서로 덮어쓰지 않아 문제를 더 쉽게 추적할 수 있습니다.

결론: 같은 구독이 같은 실행 설정을 의미하지는 않음

노드 서버는 공유할 수 있지만 시스템 프록시, DNS, 라우팅, 앱별 목록은 기기 측 설정입니다. 클라이언트를 바꿀 때는 구독 주소를 먼저 옮긴 뒤 새 플랫폼에 맞춰 연결 방식을 다시 설정하세요.

라우팅, 시스템 프록시, 앱별 연결 기능

라우팅 기능은 어떤 연결을 프록시로 보내고 어떤 연결을 직접 연결할지 결정합니다. v2rayN의 장점은 데스크톱 시스템 프록시, 규칙 기반 라우팅, TUN 환경을 하나의 클라이언트에서 관리할 수 있다는 점입니다. 일반 브라우저와 시스템 프록시를 따르는 앱은 먼저 시스템 프록시를 활성화하고, 시스템 프록시를 읽지 않는 프로그램에만 TUN을 검토하세요. 두 연결 방식을 동시에 활성화할 때는 DNS와 라우팅이 중복 처리되지 않는지 확인해야 합니다.

Android에는 데스크톱의 시스템 프록시와 같은 운영 방식이 없습니다. v2rayNG와 v2flyNG는 일반적으로 시스템이 제공하는 VPN 인터페이스로 트래픽을 연결하고 앱별로 프록시 사용 여부를 정할 수 있습니다. 은행 앱, 로컬 네트워크 도구, 업무용 앱을 직접 연결로 유지해야 한다면 도메인 규칙을 하나씩 작성하는 것보다 앱별 프록시가 더 간단합니다. 사이트 도메인, 대상 IP 또는 지역 규칙에 따라 분기해야 할 때는 코어 라우팅을 사용하세요.

라우팅 규칙은 일반적으로 순서대로 매칭됩니다. 도메인 규칙이 일치하면 지정된 출구로 전달되고, IP 확인이 필요한 규칙은 DNS 결과의 영향을 받을 수 있으며, 일치하지 않는 연결은 최종 기본 출구로 들어갑니다. 포괄적인 규칙을 앞에 두면 뒤의 세부 규칙이 실행될 기회를 잃습니다. 따라서 사용자 지정 규칙은 먼저 정확한 도메인과 대상 주소를 배치하고, 그다음 범위가 넓은 geosite, geoip 또는 기본 규칙을 배치하세요.

  1. 1단계: 최소 설정 구성.확실히 작동하는 노드 하나만 남기고 추가 라우팅과 복잡한 DNS 옵션을 끈 뒤 기본 연결을 먼저 확인합니다.
  2. 2단계: 연결 방식 확인.v2rayN에서는 시스템 프록시 상태와 10808, 10809 등의 로컬 포트를 확인하고, Android에서는 시스템 상태 표시줄의 VPN 연결 상태를 확인합니다.
  3. 3단계: 규칙을 하나씩 추가.한 번에 도메인 또는 IP 조건 한 그룹만 추가하고 코어 로그에서 대상 주소, 아웃바운드 태그, 오류 원인을 확인합니다.
  4. 4단계: 직접 연결과 프록시 테스트.직접 연결되어야 하는 사이트와 프록시를 사용해야 하는 대상을 각각 방문해 단일 웹페이지만으로 모든 규칙을 판단하지 않도록 합니다.
  5. 5단계: 앱 범위 복원.Android에서는 앱별 목록을 다시 추가하고, 데스크톱에서는 TUN 연결이 필요한 프로그램을 다시 실행합니다.

이전과 검증: 연결 성공에서 장기 사용까지

클라이언트를 이전할 때 가장 흔한 실수는 생성된 JSON을 그대로 복사하는 것입니다. 클라이언트는 자체 버전, 코어, 화면 옵션에 따라 실행 설정을 다시 생성하므로 기존 파일의 아웃바운드 태그, DNS 구조, 실험 필드가 새 환경에 맞지 않을 수 있습니다. 구독 주소와 단일 노드 공유 링크를 우선 이전한 뒤 대상 클라이언트에서 라우팅과 시스템 연결 설정을 다시 구성하세요.

단일 노드 검증 시 서버 주소, 원격 포트, 프로토콜, 전송 방식, 보안 계층의 다섯 가지 정보를 기록해야 합니다. VLESS Reality에서는 serverName, publicKey, shortId, flow도 확인하고, VMess WebSocket에서는 Host와 경로를 확인하며, TLS 연결에서는 SNI를 점검해야 합니다. 구독 변환기가 필드 하나라도 누락하면 노드는 표시되지만 핸드셰이크가 실패할 수 있습니다.

성능 비교에서도 변수를 통제해야 합니다. 같은 네트워크에서 같은 서버를 선택하고 연결 수립 시간과 다운로드 속도를 세 번 연속 측정하세요. 클라이언트를 바꿀 때마다 기존 연결이 종료될 때까지 기다립니다. 한 클라이언트는 전체 프록시를 사용하고 다른 클라이언트는 규칙 분기를 사용한다면 테스트 결과만으로 코어 성능을 직접 비교할 수 없습니다. 문제를 찾을 때는 단일 지연 시간보다 로그의 시간 초과, DNS 실패, 연결 거부가 더 유용합니다.

선택 순서
1. 운영체제: 데스크톱 / Android
2. 노드 프로토콜: VMess / VLESS / Reality
3. 코어 요구 사항: Xray / v2fly
4. 연결 방식: 시스템 프록시 / TUN / 앱별 프록시
5. 검증 결과: 로그, 포트, DNS, 라우팅 출구

자주 묻는 선택 질문

이름이 비슷하다고 설정 호환성이 자동으로 보장되지는 않습니다. 가져오기 실패, 연결 후 인터넷 끊김, 일부 앱만 작동하는 문제가 생기면 플랫폼, 코어, 프로토콜, 연결 방식의 네 가지 계층으로 돌아가 확인해야 합니다. 아래 질문은 설치 후 자주 마주치는 판단 기준을 다룹니다.

Windows에는 v2rayNG를 설치해야 하나요?

아니요. Windows, macOS, Linux에서는 v2rayN을 사용하고 v2rayNG는 Android용입니다. 데스크톱에 설치한 뒤 먼저 구독을 업데이트하고 「설정」→「매개변수 설정」에서 로컬 포트를 확인하세요.

Android에 Reality 노드가 있는데 무엇을 선택해야 하나요?

Xray 코어를 사용하는 v2rayNG를 선택하세요. 가져온 뒤 노드 상세 정보에서 VLESS, Reality, SNI, publicKey, shortId, flow가 모두 있는지 확인하고 연결 테스트를 실행합니다.

VMess 구독은 반드시 v2flyNG를 사용해야 하나요?

아니요. VMess는 Xray와 v2fly 경로 모두에서 처리할 수 있습니다. Android 구독에 VLESS Reality 노드도 포함되어 있다면 v2rayNG를 우선 선택하고, 설정 관리자가 v2fly 코어를 명확히 사용한다면 v2flyNG를 선택하세요.

구독은 성공적으로 가져왔지만 모든 노드가 시간 초과되면 어떻게 하나요?

먼저 기기 시간과 현재 네트워크를 확인한 다음 서버 주소, 원격 포트, 보안 계층을 점검하세요. 데스크톱에서는 코어 로그에 DNS 실패나 포트 사용 중 메시지가 있는지 확인하고, Android에서는 네트워크를 한 번 전환한 뒤 다시 연결합니다.

세 클라이언트를 모두 설치해야 하나요?

아니요. 기기에 맞는 클라이언트만 유지하면 됩니다. 데스크톱은 v2rayN을 사용하고 Android는 코어 요구 사항에 따라 v2rayNG와 v2flyNG 중 하나를 선택하세요. 같은 종류의 클라이언트를 동시에 실행하면 포트 또는 VPN 연결 충돌이 발생할 수 있습니다.

클라이언트 입구 네 가지 플랫폼용 설치 패키지 보기