v2rayN·v2rayNG·v2flyNG 비교: V2Ray 클라이언트 선택 가이드

지원 플랫폼, 코어, 구독 기능과 인터페이스를 비교해 PC와 안드로이드에서 사용할 클라이언트를 안내합니다.

핵심 내용

PC에서는 v2rayN을 먼저 살펴보고, 안드로이드에서는 노드 요구사항에 따라 v2rayNG와 v2flyNG 중 선택하세요. 이 글에서는 클라이언트 인터페이스, 프록시 코어, 구독 형식을 구분하고, 같은 구독을 가져왔는데도 연결되지 않는 이유를 설명합니다. PC와 안드로이드 설정, 앱별 프록시, 포트 확인 방법도 안내합니다. 이미 노드 설정이 있고 클라이언트 교체를 준비 중이라면, 어떤 설정을 그대로 쓸 수 있고 무엇을 다시 설정해야 하는지 확인할 수 있습니다.

1. 플랫폼을 먼저 확인하고 사용 방식 비교하기

이름은 비슷하지만 같은 앱의 테마만 다른 것이 아닙니다. v2rayN은 PC용으로 서버 목록, 구독 그룹, 라우팅, 코어 설정을 제공합니다. v2rayNG와 v2flyNG는 안드로이드용이며, 시스템의 VpnService를 통해 선택한 앱의 트래픽을 처리합니다. 클라이언트 자체에서 노드를 제공하지는 않으므로, 설치 후에는 사용 권한이 있는 서버 설정을 가져와야 합니다.

클라이언트 선택 기준
클라이언트 지원 플랫폼 코어 종류 인터페이스와 주요 기능
v2rayN Windows / macOS / Linux 버전, 프로토콜, 설정에 따라 코어 선택 가능. 일반적으로 Xray 사용 목록 관리, 구독 그룹, 시스템 프록시 및 라우팅 설정
v2rayNG Android Xray 코어 노드 목록, VPN 서비스, 앱별 프록시
v2flyNG Android V2Fly의 v2ray-core V2Fly 코어 기능에 맞춰 노드와 연결 관리

v2rayN은 PC 크로스 플랫폼 인터페이스와 기존 Windows WPF 인터페이스를 함께 제공합니다. 메뉴 위치와 기능은 서로 다를 수 있습니다. 설치 파일을 고를 때는 운영체제와 CPU 아키텍처를 먼저 확인하고, 실제 화면에 맞춰 설정을 찾으세요. Windows 화면 캡처에 나온 메뉴 위치가 모든 플랫폼에서 동일하다고 생각하면 안 됩니다.

2. Xray와 V2Fly의 차이가 노드 호환성을 좌우합니다

V2Ray는 여러 프록시 도구를 통칭하는 말로 자주 쓰이지만, 실제 연결에서는 코어가 설정을 읽고 전송을 구성하며 라우팅을 처리합니다. v2rayN은 관리 인터페이스이지 v2ray-core와 같은 것이 아닙니다. v2rayNG는 Xray를 사용하므로, 이름에 V2Ray가 들어간다는 이유로 다른 코어용 설정 안내를 그대로 적용해서는 안 됩니다.

VMess는 프로토콜, WebSocket은 전송 방식, TLS는 보안 계층으로 서로 다른 단계에 해당합니다. VLESS 노드는 REALITY를 사용할 수도 있습니다. 연결 가능 여부를 판단하려면 목록에 “VLESS”라는 글자가 있는지만 볼 게 아니라 관련 설정을 모두 확인해야 합니다. 특히 REALITY 설정을 Xray에서 v2flyNG로 그대로 옮겨 사용할 수는 없습니다.

v2rayNG: 안드로이드에서 Xray 사용

추천

안드로이드 클라이언트를 고를 때 먼저 확인할 항목입니다. 노드에서 Xray를 명시적으로 요구하거나 VLESS + REALITY를 사용하는 경우, 앱에 포함된 코어가 해당 설정을 지원하는지 확인한 뒤 서버 제공 설정을 가져오세요.

추천 대상: 안드로이드 주 사용 클라이언트가 필요하거나 Xray 기준으로 안내된 노드를 사용하는 경우

v2flyNG: 안드로이드에서 V2Fly 사용

기존 설정이 V2Fly 기준이고 프로토콜, 전송 방식, 보안 계층이 포함된 코어에서 모두 지원된다면 설정 의미를 유지하기 위해 v2flyNG를 선택할 수 있습니다. 사용자 지정 JSON도 해당 코어 형식에 맞는지 확인해야 합니다.

추천 대상: 기존 V2Fly 설정을 사용하거나 관련 코어 동작을 유지해야 하는 안드로이드 사용자

v2rayN: PC 관리 및 코어 설정

PC에서는 노드 프로토콜을 기준으로 코어를 선택하세요. 코어를 바꾼 뒤에는 설정 생성 결과와 시작 로그를 다시 확인해야 합니다. “전환 완료”가 모든 전송 설정의 호환성을 뜻하지는 않습니다.

추천 대상: 여러 구독을 관리하거나 라우팅과 코어 로그를 확인해야 하는 PC 사용자

확인 순서: 설정을 먼저 확인한 다음 클라이언트 선택

설정 제공자에게 “프로토콜 + 전송 방식 + 보안 계층”을 확인하고, 클라이언트에 포함된 코어가 이를 지원하는지 살펴보세요. REALITY 공개 키, 서버 이름 또는 WebSocket 경로가 빠졌다면 앱 세 개를 차례로 설치해 보는 대신 먼저 필요한 설정을 확인해야 합니다.

3. 구독을 함께 쓸 수 있어도 가져오기 결과까지 같지는 않습니다

구독 링크는 설정을 가져오는 경로일 뿐, 모든 클라이언트와 호환된다는 보증이 아닙니다. 구독에는 공유 링크 목록, Base64로 인코딩된 목록, 특정 코어용 JSON 등이 포함될 수 있습니다. 클라이언트는 외부 형식을 인식하는 동시에 내부 프로토콜 설정도 처리할 수 있어야 합니다. 어느 한쪽이라도 맞지 않으면 목록이 비거나 일부 항목이 누락되고, 실행에 실패할 수 있습니다.

  1. 먼저 구독 형식 확인: 현재 클라이언트에 맞는 형식으로 구독을 제공하는지 구독 제공자에게 문의하세요. 웹페이지 주소, 로그인 페이지, 노드 데이터가 반환되는 구독 주소는 서로 다릅니다.
  2. v2rayN에서 그룹 추가: 일반적인 경로는 「구독 그룹」→「구독 그룹 설정」입니다. 이름과 주소를 추가한 다음 구독 업데이트를 실행하세요. 메뉴 이름은 현재 버전에 따라 다를 수 있습니다.
  3. v2rayNG에서 목록 업데이트: 메뉴에서 「구독 그룹 설정」으로 이동해 주소를 저장한 뒤 메인 화면으로 돌아와 「구독 업데이트」를 실행하세요. 주소를 저장하는 것만으로 노드 가져오기가 완료되는 것은 아닙니다.
  4. 대표 노드 설정 확인: 실제로 사용할 노드를 하나 선택해 주소, 포트, 사용자 ID, 전송 방식, TLS / REALITY 설정을 확인한 뒤 연결하세요.

v2flyNG에서는 자체 구독 관리 메뉴를 사용하고, 반환되는 내용이 V2Fly에 적합한지 확인해야 합니다. 기본 JSON은 인바운드, 아웃바운드, 라우팅을 포함한 전체 실행 설정일 수 있어 일반 노드 목록처럼 나눠 가져오지 못할 수 있습니다. 공유 링크에 DNS, 분할 라우팅, 앱별 설정이 모두 포함된다는 보장도 없습니다. 따라서 “같은 구독”은 출처가 같다는 뜻일 뿐, 기기에서의 동작까지 같다는 의미는 아닙니다.

4. PC 시스템 프록시와 안드로이드 VPN 모드는 별도로 이해해야 합니다

v2rayN의 시스템 프록시는 일반적으로 시스템 프록시 설정을 따르는 앱이 로컬 프록시 포트로 연결하도록 합니다. 모든 프로세스의 트래픽을 자동으로 처리하지는 않습니다. 명령줄 도구, 게임 또는 자체 네트워크 설정을 사용하는 앱은 시스템 프록시를 무시할 수 있습니다. TUN 모드는 가상 네트워크 인터페이스, 라우팅, 권한이 필요한 별도의 방식이므로 “시스템 프록시 설정”과 같은 기능으로 보아서는 안 됩니다.

안드로이드 클라이언트는 보통 VpnService로 로컬 VPN 인터페이스를 만들고, 선택한 트래픽을 프록시 코어로 전달합니다. 처음 실행할 때 시스템 권한을 허용해야 합니다. 같은 안드로이드 사용자 환경에서는 다른 VPN 앱이 현재 연결을 대체할 수 있습니다. 앱별 프록시는 어떤 앱의 트래픽을 이 경로로 보낼지 정하고, 라우팅 규칙은 코어에 들어온 요청을 프록시로 보낼지 직접 연결할지 결정하므로 각각 확인해야 합니다.

10808
문제 해결 예시: 로컬 SOCKS 수신 포트
10809
문제 해결 예시: 로컬 HTTP 수신 포트

아래 포트는 확인 방법을 설명하기 위한 예시이며, 세 클라이언트의 공통 기본값이 아닙니다. 실제 설정이 SOCKS 127.0.0.1:10808, HTTP 127.0.0.1:10809라면 앱에서도 프록시 종류와 포트를 각각 일치시켜야 합니다. 일부 버전은 통합 포트를 사용하므로 클라이언트 설정과 시작 로그를 확인하세요.

5. PC와 안드로이드에서 구독을 함께 쓰는 설정 방법

두 기기에서 같은 구독을 쓰면 노드 주소를 중복 입력할 필요가 줄지만, 기기별 설정까지 대신해 주지는 않습니다. 두 기기의 연결 상태를 비교할 때는 같은 노드와 네트워크, 테스트 대상을 사용하세요. 측정 방식, 동시 연결 수, 테스트 주소가 다르면 화면의 지연 시간만으로 클라이언트 성능을 직접 비교할 수 없습니다.

설정 방법: 구독 출처는 공유하고 트래픽 처리와 라우팅은 기기별로 관리

PC: v2rayN
  • 구독 그룹을 추가하고 직접 업데이트한 뒤 주요 설정 항목을 확인합니다.
  • 노드 요구사항에 맞는 코어를 선택하고 시작 오류가 없는지 로그를 확인합니다.
  • 먼저 시스템 프록시로 브라우저 연결을 확인하고 필요하면 TUN을 설정합니다.
  • 로컬 수신 포트, DNS, 라우팅 모드를 기록합니다.
안드로이드: v2rayNG 또는 v2flyNG
  • 코어 호환성에 따라 클라이언트를 선택하고 알맞은 구독 형식을 가져옵니다.
  • VPN 권한을 허용하고 다른 VPN이 연결을 차지하지 않는지 확인합니다.
  • 기본 연결을 확인한 다음 앱별 프록시 규칙을 추가합니다.
  • 화면을 잠근 뒤에도 백그라운드 연결이 유지되는지 다시 확인합니다.

두 기기에서 각각 구독을 업데이트한 뒤 노드를 확인하세요. DNS, 라우팅, 앱별 규칙, 업데이트 일정은 각 기기에서 별도로 설정해야 합니다.

v2rayNG에서 v2flyNG로 옮길 때는 호환되는 구독이나 공유 링크를 다시 가져오는 것이 좋습니다. 앱 전용 데이터를 그대로 복사하지 마세요. 기존 클라이언트에서 사용자 지정 JSON을 사용했다면 대상 코어에서 각 항목을 지원하는지 먼저 확인하세요. 특정 코어에만 있는 전송, 보안 계층, 라우팅 옵션은 대개 수정해야 사용할 수 있습니다.

6. 클라이언트를 고른 뒤 자주 묻는 질문

같은 구독인데 PC에서는 되고 안드로이드에서는 연결되지 않는 이유는 무엇인가요?

두 기기에서 같은 노드를 선택해 전송 방식, 보안 계층, 사용자 ID를 비교하세요. 그런 다음 안드로이드 로그에서 “지원하지 않는 설정”, “연결 시간 초과”, “인증서 오류”를 구분해 확인합니다. 노드가 REALITY를 요구하는데 안드로이드에서 v2flyNG를 사용 중이라면 먼저 코어 호환성을 확인하세요. 시간 초과가 발생하면 네트워크와 서버 접속 가능성을 살펴보세요.

v2rayN에 연결됨으로 표시되는데 브라우저에서만 접속되는 이유는 무엇인가요?

대상 앱이 시스템 프록시를 따르는지 확인하세요. 수동 프록시를 지원하는 앱이라면 클라이언트에서 실제로 사용하는 수신 주소와 포트를 입력할 수 있습니다. 더 많은 트래픽을 처리해야 한다면 안내에 따라 TUN을 설정하세요. 서버 목록에서 노드를 선택했다는 이유만으로 앱 트래픽이 프록시를 통과한다고 판단하지 말고, 로그에 해당 앱의 요청이 실제로 기록되는지 확인하세요.

안드로이드에서 화면을 잠근 뒤 연결이 끊깁니다. 클라이언트를 바꿔야 하나요?

먼저 시스템의 배터리 제한, 백그라운드 실행 권한, 다른 VPN의 상태를 확인하고 화면을 다시 켠 뒤 로그를 살펴보세요. 화면이 켜져 있을 때는 연결되지만 잠근 뒤 시스템이 서비스를 종료한다면 백그라운드 관리 설정을 먼저 조정하세요. 로그에 원격 서버 종료나 네트워크 전환이 나타난다면 연결 경로와 재연결 과정을 계속 점검해야 합니다. 이 현상만으로 코어의 우열을 판단할 수는 없습니다.

최종 선택: 플랫폼을 먼저 확인하고 코어 호환성과 트래픽 처리 방식을 따로 검증하세요

PC에서는 v2rayN부터 살펴보세요. 안드로이드의 Xray 노드는 v2rayNG를 우선 확인하고, V2Fly 설정에 의존하는 경우에는 v2flyNG를 고려하세요. 먼저 노드 하나를 안정적으로 연결한 뒤 구독 업데이트, 라우팅, 앱별 프록시를 차례로 설정하세요. 한 번에 설정 하나만 바꾸면 이후 문제를 더 쉽게 찾을 수 있습니다.

v2rayN 다운로드플랫폼 및 설치 파일 확인