결론부터: 기기와 노드 형식에 맞춰 선택하기

클라이언트를 고를 때는 먼저 기기를 확인하고, 그다음 구독에 실제로 포함된 프로토콜을 살펴보세요. 데스크톱에서는 v2rayN을 사용하고, Android에서는 노드 유형에 따라 v2rayNG와 v2flyNG 중 선택하면 됩니다. 이 순서가 버튼 개수를 비교하는 것보다 정확합니다. 클라이언트 UI는 제어 계층일 뿐이며, 실제로 프로토콜을 해석하고 아웃바운드 연결을 만들며 라우팅을 수행하는 것은 커널이기 때문입니다.

Windows·macOS·Linux 사용자는 v2rayN을 우선 선택하면 됩니다. 서버 목록, 구독 관리, 지연 시간 테스트, 시스템 프록시, 라우팅 규칙, 로그 확인 기능을 제공해 여러 설정을 함께 관리하기 좋습니다. 세 데스크톱 시스템은 권한 모델과 프록시 연결 방식이 서로 다르므로 실제 기능은 시스템 환경과 설치 패키지에 따라 달라질 수 있지만, 일상적인 사용 흐름은 대체로 같습니다.

Android에서 주로 VLESS, REALITY 또는 Xray 생태계에서 생성된 구독을 사용한다면 v2rayNG를 우선 고려하세요. 구독이 V2Fly 기반임을 명확히 밝히고, VMess 등 V2Fly에서 흔히 쓰는 설정이 중심이며 V2Fly 커널과 가까운 설정 구조를 원한다면 v2flyNG를 고려할 수 있습니다. 앱 이름만 보고 호환성을 판단하지 말고 프로토콜, 전송 방식, 보안 계층, 커널 요구 사항을 확인하는 것이 가장 중요합니다.

지원 플랫폼: 데스크톱은 v2rayN, Android는 두 NG 클라이언트

세 클라이언트는 같은 플랫폼에서 경쟁하는 제품이 아닙니다. v2rayN은 Windows·macOS·Linux용이고, v2rayNG와 v2flyNG는 Android용입니다. 먼저 기기에 따라 범위를 좁히면 선택이 훨씬 쉬워집니다. 데스크톱과 모바일은 네트워크 연결 방식, 백그라운드 정책, 권한 안내가 크게 다르므로 한 플랫폼의 사용 경험을 다른 플랫폼에 그대로 적용해서는 안 됩니다.

클라이언트 플랫폼 주요 커널 방향 적합한 작업
v2rayN Windows、macOS、Linux Xray 생태계 설정을 중심으로 하며, 버전에 따라 제공되는 기능으로 해당 커널을 관리 데스크톱 구독 관리, 시스템 프록시, 라우팅 분할, 로그를 통한 문제 해결
v2rayNG Android Xray 커널 모바일에서 VLESS·VMess·REALITY 및 구독 연결
v2flyNG Android V2Fly 커널 V2Fly 설정 체계를 사용하는 모바일 연결

데스크톱에서 v2rayN이 더 적합한 이유

데스크톱에서 하는 일은 노드 하나에 연결하는 것만이 아닙니다. 시스템 프록시 모드를 전환하고, 로컬 리스닝 포트를 확인하고, 구독 그룹을 편집하고, 서버를 테스트하고, 커널 로그를 확인하며, 브라우저와 개발 도구에 서로 다른 프록시 경로를 지정해야 하는 경우가 많습니다. v2rayN은 이러한 작업을 그래픽 인터페이스에 모아 여러 설정을 장기간 관리하기 좋습니다.

시스템 프록시와 전체 트래픽 가로채기는 같은 기능이 아닙니다. 시스템 프록시를 켜면 시스템 프록시 설정을 따르는 프로그램이 요청을 로컬 프록시 포트로 전달하지만, 시스템 프록시를 무시하는 프로그램은 계속 직접 연결할 수 있습니다. 더 많은 트래픽을 처리해야 한다면 시스템 지원 여부에 따라 클라이언트의 TUN 관련 기능을 사용할 수 있지만, 권한·라우팅 테이블·DNS 설정이 필요해 문제 해결 과정이 더 복잡해집니다.

Android 클라이언트가 로컬 VPN 인터페이스를 사용하는 이유

v2rayNG와 v2flyNG는 일반적으로 Android가 제공하는 로컬 VPN 인터페이스를 통해 기기 트래픽을 받은 뒤, 규칙에 맞는 연결을 커널로 전달합니다. 이 인터페이스는 기기 내부의 트래픽 전달을 담당합니다. 시작할 때 시스템 권한 승인 안내가 표시되는 것은 정상입니다. 클라이언트 전환, 시스템의 백그라운드 작업 정리, 배터리 절전 정책으로 인해 연결이 끊길 수 있습니다.

따라서 모바일에서는 시스템의 백그라운드 관리 방식도 고려해야 합니다. 연결이 자주 종료된다면 노드가 고장 났다고 단정하기보다 먼저 배터리 최적화, 백그라운드 활동 권한, 상시 알림 상태를 확인하세요. 같은 노드가 데스크톱에서는 작동하지만 Android에서 불안정하다면 모바일 네트워크 전환이나 백그라운드 제한이 원인일 수도 있습니다.

커널 계열: 인터페이스가 비슷해도 설정이 완전히 호환되는 것은 아닙니다

클라이언트는 설정을 가져오고 표시하고 수정하며, 커널은 프로토콜 핸드셰이크, 전송 캡슐화, TLS, DNS, 라우팅을 실행합니다. v2rayNG는 Xray 커널을, v2flyNG는 V2Fly 커널을 사용합니다. 두 커널은 비슷한 기술 흐름에서 출발해 일부 개념을 공유하지만 이후 발전 방향은 다릅니다. UI에서 설정을 가져올 수 있다고 해서 현재 커널이 모든 필드를 올바르게 실행한다는 뜻은 아닙니다.

Xray 생태계에서는 VLESS, REALITY 및 관련 흐름 제어 설정이 흔히 사용됩니다. V2Fly는 V2Ray의 설정 체계를 이어가며 VMess, 전송 계층 설정, DNS, 라우팅이 여전히 중요한 요소입니다. 출처가 불분명한 구독은 먼저 서비스 제공자가 명시한 커널 요구 사항을 확인하세요. 구독 설명에 Xray가 명확히 지정되어 있다면 UI 취향만으로 V2Fly 커널로 바꾸지 마세요.

공유 내용으로 커널 요구 사항 판단하기

  • VLESS와 REALITY가 보인다면: Xray 커널 계열 클라이언트를 우선 사용하고 주소, 포트, 사용자 식별자, serverName, 공개 키, shortId, fingerprint, flow 등의 필드가 모두 있는지 확인하세요.
  • VMess가 보인다면: 두 생태계 모두 일반적인 VMess 설정을 처리할 수 있지만 전송 방식, TLS, 경로, Host, 사용자 식별자, 추가 매개변수는 반드시 확인해야 합니다.
  • 구독 전용 안내가 있다면: 안내에서 지정한 커널로 가져오세요. 구독 변환 과정에서 필드가 다시 작성될 수 있으므로 최종적으로 표시된 노드 이름만 봐서는 안 됩니다.
  • 가져오기는 성공했지만 연결에 실패한다면: 로그를 열고 unsupported, invalid, missing, failed 등의 키워드를 찾아 먼저 필드 또는 기능 차이를 확인하세요.

v2rayN에서도 같은 기준으로 판단해야 합니다. 데스크톱 UI가 여러 설정 입력 방식을 제공하더라도 프로토콜 실행 여부는 현재 버전에 포함되거나 호출되는 커널이 결정합니다. 클라이언트를 업데이트한 뒤 설정 동작이 달라졌다면 UI 버전 번호만 비교하지 말고 커널 버전, 기본 라우팅, DNS 설정이 함께 바뀌었는지 확인하세요.

프로토콜 지원: VMess와 VLESS만이 아니라 전체 조합을 비교하세요

노드는 프로토콜 이름 하나만으로 완전히 설명되지 않습니다. VLESS를 예로 들면 실제 연결에는 TCP, WebSocket, gRPC 등의 전송 방식이 포함될 수 있고, TLS 또는 REALITY가 추가되며 서버 이름, 경로, Host, fingerprint, 흐름 제어 매개변수도 함께 사용됩니다. 클라이언트와 커널이 전체 조합을 이해해야 하며, 핵심 필드 하나라도 빠지면 핸드셰이크가 실패할 수 있습니다.

VMess도 사용자 식별자, 전송 계층, TLS, 경로, 서버 시간을 확인해야 합니다. 기기 시간이 크게 어긋나면 인증에 실패할 수 있고, 네트워크 환경에서 도메인을 해석하지 못하면 서버가 오프라인인 것처럼 보일 수 있습니다. 선택 단계에서는 이미 작동이 확인된 설정 하나로 교차 테스트한 뒤 전체 구독을 가져오는 것이 좋습니다.

VLESS·REALITY 사용자는 어떻게 선택할까

데스크톱은 v2rayN, Android는 v2rayNG를 사용하는 것이 가장 간단한 조합입니다. 가져온 뒤 보안 유형이 reality인지 확인하고 serverName, 공개 키, shortId, fingerprint, flow를 하나씩 점검하세요. 일부 구독은 공유 링크에 이 필드를 인코딩하지만 UI 표시 이름에는 지역과 회선만 적혀 있을 수 있으므로 메모만 보고 프로토콜을 판단해서는 안 됩니다.

로그에 reality, public key, short id, flow와 관련된 오류가 나타나면 먼저 구독을 다시 업데이트한 뒤 서비스 제공자가 안내한 매개변수와 대조하세요. 직접 복사할 때는 대소문자, 앞뒤 공백, 문자 누락에 주의해야 합니다. 여러 필드를 한꺼번에 자주 바꾸면 원인을 찾기 어려워지므로 한 번에 하나만 수정하고 다시 테스트하는 것이 좋습니다.

VMess 사용자는 어떻게 선택할까

데스크톱은 계속 v2rayN을 선택하면 됩니다. Android에서 구독 설명이 Xray를 대상으로 한다면 v2rayNG를 사용하고, V2Fly 기반임을 명확히 밝히며 Xray 고유 기능에 의존하지 않는 설정이라면 v2flyNG를 사용할 수 있습니다. VMess라는 이름이 같다고 해서 오래된 설정까지 모두 계속 호환되는 것은 아니며, 전송 계층 매개변수와 보안 설정도 서버와 맞아야 합니다.

라우팅과 DNS도 호환성의 일부입니다

연결은 성공한 것처럼 보이지만 일부 도메인만 접속되는 경우가 있습니다. 이때는 대개 프로토콜 핸드셰이크가 아니라 DNS 또는 라우팅 규칙이 예상대로 실행되지 않은 문제입니다. 클라이언트는 시스템 DNS, 원격 DNS, 내장 조회 규칙 또는 분할 라우팅에 따른 서로 다른 해석 경로를 사용할 수 있습니다. 복잡한 라우팅 설정을 데스크톱에서 Android로 옮길 때는 모바일 커널이 해당 규칙 구조를 지원하는지 확인해야 합니다.

문제 해결 시 먼저 변수를 최소화하세요. 확실히 작동하는 노드를 선택하고 기본 라우팅을 사용하며 사용자 지정 DNS 규칙을 잠시 끈 다음 분할 라우팅을 단계적으로 복원합니다. 이렇게 하면 노드 문제, 이름 해석 문제, 규칙 매칭 문제를 구분할 수 있습니다. 클라이언트를 바로 바꾸면 일시적으로 접속이 회복될 수 있지만 실제 설정 차이가 가려질 수 있습니다.

구독·그룹·라우팅: 노드 수보다 관리 기능이 중요합니다

구독은 서버 설정을 일괄 배포하는 기능입니다. 클라이언트가 구독을 업데이트하면 구독 주소에 요청을 보내고 응답 내용을 해석한 뒤 노드를 해당 그룹에 기록합니다. 세 클라이언트 모두 이 흐름을 따르지만, 데스크톱은 여러 구독 처리, 일괄 필터링, 복잡한 메모 관리에 더 적합하고 모바일은 빠른 업데이트와 전환에 초점을 둡니다.

v2rayN은 여러 구독을 정리하기 좋습니다

구독 출처가 여러 곳이라면 출처별로 독립된 그룹을 만들고 메모에 지역, 용도, 프로토콜 정보를 남기는 것이 좋습니다. 모든 서버를 분류 없는 하나의 목록에 섞지 마세요. 업데이트에 문제가 생겼을 때 독립 그룹이면 특정 구독 주소만 실패한 것인지, 네트워크 전체에서 구독 서비스에 접근할 수 없는 것인지 빠르게 판단할 수 있습니다.

서버 지연 시간 테스트는 특정 탐지 방식에서의 응답만 보여 주며 모든 앱의 실제 사용 경험을 의미하지는 않습니다. 노드를 선택할 때는 프로토콜 호환성, 대상 사이트 접속 여부, 일정 시간 동안의 안정성도 함께 확인하세요. 지연 시간이 표시되지 않는다고 반드시 노드를 사용할 수 없는 것은 아닙니다. 테스트 주소, DNS, 네트워크 정책도 결과에 영향을 줄 수 있습니다.

Android에서는 먼저 그룹을 단순하게 유지하세요

v2rayNG 또는 v2flyNG에서는 먼저 구독 하나를 가져와 연결 테스트를 완료한 다음 다른 출처를 추가하세요. 구독 업데이트 후 노드가 사라졌다면 그룹 선택, 필터 조건, 구독 응답 내용을 확인하세요. 기존 노드는 남아 있는데 새 매개변수가 덮어쓰이지 않았다면 해당 그룹을 삭제하고 다시 가져올 수 있지만, 직접 만든 설정은 먼저 저장해야 합니다.

QR 코드, 클립보드, 구독 주소는 서로 다른 입력 방식일 뿐입니다. 최종적으로는 커널이 이해할 수 있는 설정이 되어야 합니다. QR 코드를 가져온 뒤에도 프로토콜 유형을 확인하고, 클립보드에서 가져올 때는 안내 문구와 링크를 함께 복사하지 마세요. 구독을 사용할 때는 접근 자격 증명이 포함된 주소를 함부로 공개하지 않아야 합니다.

라우팅 규칙은 적은 수부터 추가하세요

  1. 먼저 단일 노드가 연결되고 기본적인 도메인 이름 해석이 완료되는지 확인하세요.
  2. 기본 분할 라우팅을 활성화하고 직접 연결 대상과 프록시 대상이 각각 올바른 아웃바운드로 전달되는지 테스트하세요.
  3. 그다음 도메인, IP, 프로세스 규칙을 추가하되 한 번에 한 그룹만 늘리세요.
  4. 문제가 발생하면 로그에서 대상 주소, 아웃바운드 태그, DNS 결과를 확인하세요.
  5. 데스크톱과 Android의 규칙은 각각 저장하고 양쪽의 규칙 형식이 완전히 같다고 가정하지 마세요.

업데이트 주기: 클라이언트·커널·설정 형식을 함께 확인하세요

클라이언트 버전과 커널 버전은 별도의 업데이트 경로입니다. UI 버전 업데이트는 구독 해석, 권한 처리, 상호작용을 바꿀 수 있고, 커널 업데이트는 프로토콜 기능을 추가하거나 전송 문제를 해결하거나 설정 검증 방식을 조정할 수 있습니다. 업그레이드가 필요한지 판단할 때는 앱 이름 옆의 버전 번호만 보지 말고 두 버전을 함께 확인해야 합니다.

v2rayNG는 Xray 생태계의 기능을 따라가므로 최신 VLESS 및 REALITY 설정이 필요한 Android 사용자에게 적합합니다. v2flyNG는 V2Fly 커널을 중심으로 작동하며 업데이트 방향은 Xray와 다릅니다. 데스크톱 제어 도구인 v2rayN은 그래픽 UI, 시스템 프록시, 커널 파일, 멀티플랫폼 실행 환경까지 조율하므로 시스템별 배포 내용이 다를 수 있습니다.

업데이트가 필요한 경우

  • 구독에 현재 버전이 인식하지 못하는 새 필드나 프로토콜 조합이 추가된 경우.
  • 로그에 설정 기능이 지원되지 않는다고 명확히 표시되며 최신 버전에 관련 지원이 포함된 경우.
  • 시스템 업그레이드 후 프록시 설정, 권한 또는 로컬 네트워크 인터페이스에 호환성 문제가 발생한 경우.
  • 현재 버전에 연결, 구독 해석, 라우팅 실행에 영향을 주는 알려진 문제가 있는 경우.

서둘러 바꾸지 않아도 되는 경우

현재 설정이 안정적이라면 업데이트 전에 버전, 커널 유형, 리스닝 포트, DNS 모드, 라우팅 설정을 기록하세요. 업그레이드 후 문제가 생겨야 항목별로 비교할 수 있습니다. 클라이언트 업데이트, 구독 교체, 라우팅 수정, 네트워크 환경 변경을 동시에 진행하지 마세요. 네 가지 변수가 한꺼번에 바뀌면 로그만으로 단일 원인을 찾기 어렵습니다.

v2flyNG에서 v2rayNG로 또는 반대로 전환할 때는 원본 구독에서 다시 가져오는 것이 좋습니다. 이전 클라이언트에서 내보낸 전체 설정을 범용 형식으로 간주하지 마세요. 공유 링크의 표준 필드는 대체로 이전하기 쉽지만 사용자 지정 라우팅, DNS, 인바운드, 아웃바운드 태그는 별도로 확인해야 합니다.

사용 상황별 선택: 자주 나오는 여섯 가지 답

상황 1: Windows에서만 사용

v2rayN을 선택하세요. 구독을 가져온 뒤 먼저 서버 목록을 업데이트하고 노드를 선택한 다음 시스템 프록시 모드와 로컬 포트를 확인하세요. 브라우저는 접속되지만 터미널이 연결되지 않는다면 시스템 프록시와 터미널의 프록시 환경을 각각 확인하고, 이를 클라이언트 선택 오류로 단정하지 마세요.

상황 2: macOS 또는 Linux 데스크톱에서 그래픽 관리가 필요함

v2rayN을 선택하고 시스템 아키텍처와 패키징 방식에 맞는 버전을 다운로드하세요. 처음 실행할 때 실행 권한, 데스크톱 환경, 시스템 프록시 설정 권한을 확인하세요. 시스템 프록시를 자동으로 설정할 수 없다면 클라이언트에 표시된 로컬 리스닝 주소를 사용해 시스템 또는 앱에 직접 설정할 수 있습니다.

상황 3: Android 구독이 VLESS·REALITY 중심임

v2rayNG를 선택하세요. 구독을 업데이트한 뒤 노드 세부 정보에서 프로토콜, 보안 계층, 핵심 핸드셰이크 매개변수를 확인하세요. 연결에 실패하면 노드를 계속 바꾸지 말고 먼저 로그를 확인하세요. 같은 구독의 REALITY 노드가 모두 동시에 실패한다면 클라이언트와 Xray 커널 버전, 기기 시간, 구독 매개변수를 우선 점검하세요.

상황 4: Android에서 명확한 V2Fly 설정을 사용함

v2flyNG를 선택하세요. 설정 출처가 V2Fly용임을 명확히 밝히고, 필요한 프로토콜과 전송 기능을 현재 커널이 지원한다는 전제가 필요합니다. VMess를 사용할 때도 전송 및 TLS 필드를 확인해야 하며 링크 접두사만으로 설정이 완전하다고 판단해서는 안 됩니다.

상황 5: 데스크톱과 Android에서 같은 구독을 사용함

데스크톱은 v2rayN을 사용하고, Android에서는 구독의 커널 요구 사항에 따라 v2rayNG 또는 v2flyNG를 선택하세요. 같은 구독을 쓴다고 해서 모든 로컬 설정까지 공유되는 것은 아닙니다. 노드 매개변수는 구독으로 동기화할 수 있지만 시스템 프록시, VPN 인터페이스, DNS, 라우팅 규칙은 각각 설정해야 합니다. 이렇게 하면 반복 입력을 줄이면서 플랫폼 전용 설정이 구독에 섞이는 것도 막을 수 있습니다.

상황 6: 구독에 여러 프로토콜이 함께 포함됨

주요 프로토콜 조합을 지원하는 커널을 선택하고 클라이언트의 필터 또는 그룹 기능으로 사용하지 않는 노드를 숨기세요. 가끔 쓰는 설정 하나를 남기기 위해 일상적으로 사용하는 모든 노드를 잘못된 커널에 맞출 필요는 없습니다. 필요하다면 한 기기에 여러 클라이언트를 둘 수 있지만, 같은 시간에는 하나의 클라이언트만 로컬 VPN 인터페이스 또는 시스템 프록시를 제어하게 하여 포트와 라우팅 충돌을 피하세요.

최종 점검 목록

  • 기기가 데스크톱 시스템인지 Android인지.
  • 구독의 주요 프로토콜이 VMess인지 VLESS인지.
  • 설정에 REALITY, flow 등 Xray 생태계 매개변수가 사용되는지.
  • 구독 설명에 Xray 또는 V2Fly 커널이 명확히 지정되어 있는지.
  • 데스크톱에서 여러 구독, 시스템 프록시, 복잡한 라우팅을 관리해야 하는지.
  • 현재 클라이언트와 커널 버전이 모든 핵심 필드를 해석할 수 있는지.
  • 연결 실패 시 노드 지연 시간만 보지 않고 로그를 확인했는지.

정리하면 v2rayN, v2rayNG, v2flyNG의 역할은 분명합니다. v2rayN은 데스크톱을 담당하고, v2rayNG는 Android에서 Xray 설정을, v2flyNG는 Android에서 V2Fly 설정을 처리합니다. 먼저 플랫폼으로 범위를 좁히고 커널과 프로토콜로 호환성을 확인한 다음 UI 사용성과 업데이트 방식까지 비교하세요. 이렇게 선택하면 클라이언트를 안정적으로 운영하기 쉽고 이후 문제 해결을 시작할 기준도 명확해집니다.