v2rayN·v2rayNG·v2flyNG 비교: V2Ray 클라이언트별 코어와 지원 플랫폼

세 클라이언트의 지원 플랫폼, 내장 코어, 구독·라우팅 기능과 사용성을 비교하고, 데스크톱에서 v2rayN을 우선 추천하는 이유와 Android 클라이언트 선택 기준을 정리합니다.

이 글의 핵심

데스크톱에서는 사용 중인 플랫폼에 맞는 v2rayN 설치 패키지를 먼저 확인하세요. Android에서 Xray 프로토콜이 필요하면 v2rayNG를, 기존 v2fly 설정을 유지해야 한다면 v2flyNG를 검토하면 됩니다. 플랫폼, 코어, 구독, 라우팅, 트래픽 처리 방식을 차례로 비교하고 두 기기에서 같은 구독을 사용할 때 확인할 사항도 살펴봅니다. 이름이 비슷한지가 아니라 노드 요구 사항과 실제 실행 코어가 맞는지가 선택의 기준입니다.

플랫폼을 먼저 확인한 뒤 클라이언트 기능을 비교하세요

세 프로그램은 모두 프록시 클라이언트이며 노드 서비스를 제공하지 않습니다. 설치 후 유효한 서버 설정이나 구독을 가져와야 합니다. v2rayN은 데스크톱용이고 v2rayNG와 v2flyNG는 Android용입니다. Android 설치 패키지를 데스크톱 프로그램과 혼용하지 말고, 이름이 비슷하다고 설정 파일을 그대로 서로 사용할 수 있다고 가정하지 마세요.

v2rayN: 데스크톱 우선 선택

추천

Windows, macOS, Linux에서 구독, 노드, 라우팅, 로그를 한곳에서 관리할 때 적합합니다. 설치 전에 현재 배포 패키지가 지원하는 운영체제와 프로세서 아키텍처를 확인하세요. 기존 WPF 버전은 Windows용이므로 다른 플랫폼의 데스크톱 패키지 대신 사용할 수 없습니다.

추천 대상: 데스크톱에서 매일 사용하거나 여러 노드를 관리하고 상세 로그를 확인하려는 사용자

v2rayNG: Android용 Xray 경로

Xray 코어로 연결을 처리하고 Android VPN 권한을 사용해 기기 트래픽을 전달합니다. 노드 선택, 구독 갱신, 연결 제어가 모바일 화면에 모여 있어 Xray가 지원하는 프로토콜과 전송 기능이 필요한 경우에 적합합니다.

추천 대상: Android에서 프록시를 사용하거나 앱별로 연결을 나누고, 노드에서 Xray를 명시적으로 요구하는 사용자

v2flyNG: Android용 v2fly 경로

v2fly 코어를 사용합니다. 기존 설정이 v2fly 형식으로 관리되고 프로토콜과 전송 방식이 현재 코어에서 모두 지원된다면 이 경로를 유지할 수 있습니다. Xray 전용 기능이 기본으로 제공된다고 간주해서는 안 됩니다.

추천 대상: 사용 가능한 v2fly 설정이 있고 같은 코어 동작을 유지하려는 Android 사용자

데스크톱에서 v2rayN을 우선 추천하는 이유는 데스크톱 사용 방식에 맞는 설정 관리 기능을 제공하기 때문입니다. 화면만 바꾼다고 노드 대역폭이 늘어나는 것은 아닙니다. Android 클라이언트는 먼저 노드 설정을 확인하세요. 서버 연결 매개변수에 Xray 기능이 필요하다면 같은 구독을 번갈아 가져와 원인을 추측하기보다 v2rayNG에서 먼저 호환성을 확인하는 편이 좋습니다.

코어 차이: 프로토콜 이름이 같아도 설정 호환성이 보장되지는 않습니다

클라이언트는 설정 저장, 화면 표시, 코어 호출, 시스템 트래픽 처리 방식 설정을 담당하고, 코어는 프로토콜, 전송, DNS, 라우팅을 실행합니다. V2Ray는 관련 기술 생태계에서 널리 쓰이는 명칭이며 v2fly와 Xray는 서로 다른 코어 프로젝트입니다. ‘V2Ray 클라이언트’라는 표현만으로 특정 기능을 지원한다고 단정할 수 없습니다.

클라이언트플랫폼 및 코어 구성선택 시 확인할 사항
v2rayN데스크톱; 여러 코어를 관리할 수 있으며 구체적인 지원은 배포 패키지와 노드 유형에 따라 다름실제로 실행 중인 코어가 Xray인지 다른 설정 코어인지 확인하세요. 화면에 표시된 노드 유형만으로 실행 결과를 판단하지 마세요.
v2rayNGAndroid; Xray 코어내장된 Xray 버전이 노드 요구 사항을 충족하는지 확인하세요. 특히 최신 보안 및 전송 매개변수를 살펴보세요.
v2flyNGAndroid; v2fly 코어현재 v2fly가 지원하는 프로토콜과 전송 방식을 확인하세요. Xray 전용 필드를 그대로 사용할 수는 없습니다.

VLESS를 예로 들면 프로토콜 이름만 알아서는 충분하지 않습니다. 전송 유형, 보안 계층, 서버 이름, 관련 인증 매개변수도 확인해야 합니다. REALITY는 Xray 경로에서 지원하는 기능이므로 v2flyNG가 링크를 가져올 수 있다는 이유만으로 같은 방식으로 연결된다고 볼 수 없습니다. VMess, Trojan, Shadowsocks도 프로토콜 선택 목록에 같은 이름이 있는지만 보지 말고 구체적인 조합을 하나씩 확인하세요.

v2rayN에서 선택할 수 있는 코어와 패키지 구성은 배포 버전에 따라 달라집니다. 예를 들어 일부 노드 유형은 Xray나 sing-box로 처리할 수 있지만 라우팅 및 DNS 설정이 코어 간에 그대로 호환되지 않을 수 있습니다. 문제를 확인할 때는 먼저 시작 로그에서 코어 이름과 버전을 확인한 뒤 해당 코어의 매개변수를 살펴보세요. 클라이언트 화면만 업데이트해도 사용 중인 외부 코어가 업데이트되는 것은 아닙니다.

판단 기준: 노드에 필요한 기능을 확인한 뒤 클라이언트를 선택하세요

서버 요구 사항을 ‘프로토콜, 전송, 보안 계층, 인증 매개변수’ 네 항목으로 나눠 확인하세요. 하나라도 대상 코어에서 지원하지 않는 기능이라면 이전 테스트를 중단하고 호환되는 코어를 사용하세요. 구독을 반복해서 갱신해도 코어에 없는 기능이 추가되지는 않습니다.

구독과 라우팅: 노드 목록은 공유할 수 있어도 실행 방식은 각각 설정해야 합니다

일반 구독은 보통 노드 매개변수를 배포하는 용도이며 기기 설정 전체를 담고 있지는 않습니다. 양쪽 기기에 같은 구독을 가져와도 시스템 프록시, VPN 권한, DNS, 앱별 프록시, 로컬 라우팅 규칙은 다를 수 있습니다. 따라서 ‘컴퓨터에서는 연결되는데 휴대폰에서는 안 된다’는 이유만으로 구독이 만료됐다고 판단해서는 안 됩니다.

  1. 먼저 입력 형식을 확인하세요. 클라이언트가 인식할 수 있는 구독 링크나 노드 공유 링크인지, 계정 로그인 페이지인지 확인하세요. 웹페이지에서 받은 오류 안내를 노드 정보로 가져오지 마세요.
  2. 그다음 구독 그룹을 설정하세요. v2rayN에서는 보통 ‘구독 그룹’ → ‘구독 그룹 설정’으로 이동해 주소를 저장한 뒤 해당 그룹을 갱신합니다. v2rayNG에서는 보통 메인 화면의 메뉴에서 ‘구독 그룹 설정’을 열고 메인 화면으로 돌아와 구독을 갱신합니다. 메뉴 이름은 버전에 따라 조금 다를 수 있습니다.
  3. 노드 하나를 선택해 연결을 확인하세요. 먼저 프로토콜, 주소, 포트, 보안 매개변수가 빠짐없이 설정됐는지 확인한 뒤 코어 로그를 살펴보세요. 지연 시간 테스트에 성공해도 특정 탐색이 가능하다는 뜻일 뿐, 실제 웹 요청까지 성공한다고 보장하지는 않습니다.
  4. 마지막으로 라우팅 정책을 복원하세요. 클라이언트의 간단한 기본 규칙으로 연결을 확인한 다음 맞춤 도메인 규칙과 앱별 설정을 하나씩 추가하세요. 한 번에 한 종류의 조건만 변경하고 되돌릴 수 있도록 설정을 보관하세요.

라우팅 분기는 트래픽이 코어에 들어온 뒤에 적용됩니다. 브라우저가 시스템 프록시를 전혀 사용하지 않는다면 코어의 도메인 규칙을 수정해도 달라지는 것이 없습니다. Android의 앱별 프록시는 먼저 어떤 앱이 VPN 터널로 들어갈지 결정하고, 그다음 코어가 직접 연결, 프록시, 차단 중 하나를 선택합니다. 이 두 단계는 구분해야 합니다.

두 기기 함께 사용하기: 노드 출처는 공유하고 트래픽 처리 방식은 따로 관리하세요

데스크톱: v2rayN
  • 호환성을 확인한 구독을 가져온 뒤 알맞은 실행 코어를 선택하세요.
  • 먼저 브라우저가 시스템 프록시를 통해 웹사이트에 접속되는지 확인하세요.
  • 터미널은 프록시를 별도로 설정하세요. 모든 트래픽을 통합 처리해야 할 때만 TUN 사용을 검토하세요.
Android: v2rayNG 또는 v2flyNG
  • 구독에 포함된 프로토콜과 전송 방식을 해당 코어가 지원하는지 확인하세요.
  • 처음 실행할 때 시스템 VPN 권한을 허용하세요.
  • 기본 연결을 확인한 뒤 앱별 범위와 백그라운드 실행 권한을 설정하세요.

구독을 공유해도 두 기기의 설정이 자동으로 동기화되지는 않습니다. 노드 목록이 일치하는지는 갱신 시점과 각 클라이언트가 지원하는 노드 형식에도 달려 있습니다.

트래픽 처리와 포트: 시스템 프록시, TUN, Android VPN을 구분하세요

v2rayN의 시스템 프록시는 운영체제의 프록시 설정을 따르는 앱을 대상으로 합니다. 브라우저는 보통 이 설정을 사용하지만 명령줄 도구는 프록시 매개변수를 직접 지정하거나 환경 변수를 읽어야 할 수 있습니다. TUN은 가상 네트워크 인터페이스로 트래픽을 처리하지만 권한, 라우팅, DNS 설정도 필요합니다. 모든 문제를 해결하는 만능 스위치는 아닙니다.

v2rayNG와 v2flyNG는 Android의 VpnService로 로컬 VPN 인터페이스를 만들고 선택한 트래픽을 프록시 코어에 전달합니다. 상태 표시줄에 VPN 아이콘이 떠도 시스템 통로가 만들어졌다는 뜻일 뿐, 원격 서버 인증에 성공했거나 DNS와 라우팅이 올바르다는 뜻은 아닙니다. 일반적으로 한 사용자 환경에서는 VPN 서비스를 하나만 활성화할 수 있습니다. 다른 클라이언트를 시험하기 전에 현재 연결을 중지하세요.

10808
아래 예시의 SOCKS 인바운드 포트
10809
아래 예시의 HTTP 인바운드 포트

두 포트 번호는 문제 해결을 위한 예시이며 세 클라이언트의 공통 기본값이 아닙니다. 일부 버전은 혼합 인바운드를 사용해 한 포트에서 여러 프록시 프로토콜을 처리하고, 다른 버전은 포트를 각각 설정합니다. 먼저 v2rayN의 ‘설정’ → ‘매개변수 설정’에서 로컬 수신 설정을 확인하고 시작 로그에 표시된 실제 수신 주소를 기준으로 하세요. 혼합 포트만 활성화되어 있다면 별도의 HTTP 포트를 찾을 필요가 없습니다.

# 로컬에서 해당 인바운드를 활성화한 경우에만 사용하고, 포트는 실제 설정에 맞게 바꾸세요.
# SOCKS 예시: 대상 도메인 이름을 프록시에서 해석합니다
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 https://example.com/

# HTTP 예시: 활성화된 HTTP 또는 호환되는 혼합 인바운드에서만 사용
curl --proxy http://127.0.0.1:10809 --connect-timeout 10 https://example.com/

Android 클라이언트 선택: 호환성과 백그라운드 동작을 확인하세요

Android에서는 호환성이 확실한 노드 하나로 기준 상태를 만든 뒤 백그라운드 실행과 앱별 동작을 비교하세요. 클라이언트, 노드, 라우팅을 동시에 바꾸면 연결이 복구되더라도 어떤 변경이 원인이었는지 알기 어렵습니다. 테스트 중에는 노드 이름, 코어 버전, 네트워크 유형, 오류 로그만 기록하면 됩니다. 전체 구독 주소를 공개할 필요는 없습니다.

같은 구독인데 v2rayNG에서는 연결되고 v2flyNG에서는 안 되는 이유는 무엇인가요?

먼저 연결에 실패한 노드가 REALITY나 다른 Xray 전용 매개변수를 사용하는지 확인하세요. 공유 링크의 전송 및 보안 필드가 올바르게 가져와졌는지도 살펴보세요. 코어 기능 차이가 원인이라면 호환되는 v2rayNG를 사용하세요. 필요한 보안 필드를 삭제해 억지로 가져오지는 마세요.

휴대폰 화면을 잠그면 연결이 끊기는데 클라이언트를 바꿔야 하나요?

먼저 Android ‘설정’ → ‘앱’ → 해당 클라이언트 → ‘배터리’에서 백그라운드 제한을 확인하세요. 시스템에서 제공하는 옵션에 따라 백그라운드 실행을 허용하거나 제한 없음으로 설정하면 됩니다. 제조사에 따라 메뉴 경로는 다를 수 있습니다. 설정 후 화면이 켜진 상태와 잠긴 상태에서 각각 테스트한 다음 클라이언트를 바꿀지 판단하세요.

몇몇 앱만 프록시를 사용하게 하려면 어떤 설정부터 바꿔야 하나요?

클라이언트의 ‘설정’에서 ‘앱별 프록시’를 찾아 목록이 ‘선택한 앱만 프록시 사용’인지 ‘선택한 앱은 프록시 제외’인지 확인하세요. 저장한 뒤 연결을 중지했다가 다시 시작하고, 선택한 앱 하나와 선택하지 않은 앱 하나로 비교 테스트하세요. 목록의 의미를 반대로 이해하지 않도록 주의하세요.

두 클라이언트를 동시에 켜고 속도를 비교해도 되나요?

두 VPN 서비스가 시스템 통로를 동시에 사용하게 두지 마세요. 첫 번째 클라이언트를 중지한 다음 두 번째를 실행하세요. 같은 네트워크, 같은 노드, 같은 테스트 대상으로 각각 여러 번 측정하세요. 실제 다운로드 속도와 로그를 함께 기록하고, 지연 시간 한 번만으로 코어의 우열을 판단하지 마세요.

배터리 소모도 클라이언트 이름만으로 순위를 매길 수 없습니다. 신호가 약할 때의 재연결, 연결을 오래 유지하는 앱, 잦은 탐색, 실제 데이터 전송량이 모두 배터리 사용량에 영향을 줍니다. 비교하려면 같은 네트워크와 비슷한 사용 시간을 유지하고 시스템 배터리 통계를 함께 확인하세요. 조건이 제각각인 배터리 사용률은 클라이언트 선택의 근거로 적합하지 않습니다.

최종 선택과 이전 확인 목록

데스크톱에서는 v2rayN부터 시작해 ‘노드 연결, 코어 실행, 앱의 프록시 사용’까지 전체 경로를 확인하세요. Android에서 Xray 기능이 필요하면 v2rayNG를 선택하고, 기존 v2fly 설정이 현재 코어와 호환되는 것을 확인했다면 v2flyNG를 사용할 수 있습니다. 안정적으로 작동하는 설정이 있다면 이름이나 화면이 다르다는 이유만으로 옮길 필요는 없습니다.

  1. 현재 작동 상태를 기록하세요. 클라이언트 설정을 백업하고 실행 코어, 노드 유형, DNS 정책, 트래픽 처리 방식을 기록하세요. 백업에 인증 정보가 포함될 수 있으므로 안전하게 관리해야 합니다.
  2. 설치 패키지가 기기에 맞는지 확인하세요. 데스크톱에서는 운영체제와 x64, ARM64 등의 아키텍처를 확인하고, Android에서는 기기와 설치 패키지의 지원 범위를 확인하세요. 구체적인 지원 내용은 다운로드 페이지의 안내를 따르세요.
  3. 복잡한 규칙을 추가하기 전에 노드만 옮기세요. 사용 가능 여부를 확인한 설정 하나를 가져온 뒤 브라우저 접속과 로그를 확인하고 나머지 설정을 복원하세요.
  4. 사용하던 설정을 하나씩 복원하세요. 구독 갱신, 라우팅 분기, DNS, 시스템 프록시 또는 앱별 범위를 차례로 설정하세요. 문제가 생기면 가장 최근에 변경한 항목을 되돌리세요.
  5. 검증이 끝날 때까지 기존 설정을 보관하세요. 기기 재시작, 네트워크 전환, 백그라운드 실행 후에도 연결되는지 확인한 다음 사용하지 않는 설정과 남아 있는 시스템 프록시를 정리하세요.

설정 메뉴를 더 비교하려면 클라이언트 비교를 확인하세요. 처음 설정한다면 빠른 시작을 따르고, 라우팅 및 DNS 개념은 사용 안내에서 살펴볼 수 있습니다. 클라이언트를 선택한 뒤에는 같은 잘못된 매개변수를 세 프로그램에 반복해서 가져오기보다 재현 가능한 설정 검증에 집중하세요.

v2rayN 다운로드