Linux·Windows·macOS 데스크톱에서는 v2rayN을 먼저 살펴보세요. Android에서 Xray 기능이 필요하면 v2rayNG를, v2fly 설정을 사용한다면 v2flyNG를 고려하세요. 이 글에서는 클라이언트와 코어, 노드 프로토콜을 구분해 비교하고 구독 가져오기, 분할 라우팅 설정, 연결 확인 방법을 안내합니다. 구독 주소는 있지만 어떤 클라이언트를 설치할지 고민 중인 사용자에게 적합합니다.
1. 운영체제에 맞는 클라이언트를 고른 뒤 노드 요구사항 확인하기
세 도구는 같은 프로그램의 테마만 다른 버전이 아닙니다. v2rayN은 데스크톱용이고 v2rayNG와 v2flyNG는 Android용입니다. 이름의 대소문자는 지원 플랫폼을 바꾸지 않으며, Android 설치 파일을 Linux 데스크톱 프로그램처럼 실행할 수도 없습니다. 다운로드 전에 운영체제와 x64·ARM64 같은 프로세서 아키텍처를 확인하세요. 파일 이름에 “V2Ray”가 들어 있는지만 확인해서는 안 됩니다.
v2rayN: 데스크톱 설정 관리
추천노드 목록, 구독 그룹, 라우팅, 로그를 관리할 수 있습니다. 데스크톱에서 사용할 수 있는 코어와 트래픽 처리 방식은 플랫폼·설치 파일·버전에 따라 다릅니다. 한 운영체제의 설정 화면을 다른 운영체제에 그대로 적용하지 마세요.
적합한 환경: Linux·Windows·macOS 데스크톱에서의 일상적인 사용과 문제 해결.
v2rayNG: Android용 Xray 클라이언트
Xray 코어를 사용하며 Android VPN 서비스를 통해 트래픽을 처리합니다. 구독 관리와 앱별 프록시 범위 설정을 지원합니다. 노드 연결 가능 여부는 포함된 코어와 서버 설정이 호환되는지 확인해야 합니다.
적합한 환경: Android 휴대전화, Xray 프로토콜 및 전송 기능이 필요한 노드.
v2flyNG: Android용 v2fly 클라이언트
v2fly 코어를 사용하므로 기존 v2fly 설정이 있는 환경에 적합합니다. 선택 기준은 설정 호환성입니다. 이름이 V2Ray와 더 비슷해서도, 다른 클라이언트보다 빠르다고 단정해서도 안 됩니다.
적합한 환경: Android 기기, v2fly와 호환되는 것으로 확인된 노드 및 설정.
여기서 ‘추천’은 데스크톱 클라이언트 선택에 한정되며, 플랫폼을 넘나드는 성능 순위를 뜻하지 않습니다. 세 클라이언트는 무료 오픈 소스이지만, 오픈 소스라는 사실만으로 특정 회선의 속도를 알 수는 없습니다. 노드 설정도 별도로 확인해야 합니다.
2. 코어·프로토콜·전송 방식의 역할
클라이언트는 화면과 설정을 관리하고 코어는 실제 연결을 처리합니다. VMess와 VLESS는 프로토콜 이름이며 WebSocket과 gRPC는 전송 방식입니다. TLS와 REALITY는 연결 보안과 관련됩니다. VLESS 링크라고 해서 세 클라이언트에서 모두 사용할 수 있는 것은 아닙니다. 전송 방식과 보안 매개변수, 코어 지원 여부를 확인해야 합니다.
| 비교 항목 | v2rayN | v2rayNG | v2flyNG |
|---|---|---|---|
| 주요 플랫폼 | Windows、Linux、macOS | Android | Android |
| 코어 구성 | 여러 코어를 관리할 수 있으며, 실제 지원 여부는 현재 빌드와 설정에 따라 다름 | Xray | v2fly |
| VMess 노드 | 선택한 코어와 전송 매개변수 확인 | 전송 방식과 TLS 매개변수 확인 | 전송 방식과 TLS 매개변수 확인 |
| VLESS + REALITY | 해당 조합을 지원하는 Xray 코어를 사용하고 항목 확인 | 내장된 Xray 버전과 노드 매개변수 확인 | Xray의 REALITY 설정을 그대로 적용할 수 없음 |
| 트래픽 처리 방식 | 시스템 프록시와 로컬 프록시 포트. TUN 지원 여부는 플랫폼 및 버전에 따라 다름 | Android VPN 서비스, 앱 범위 설정 가능 | Android VPN 서비스, 앱 범위 설정 가능 |
예를 들어 VMess over WebSocket + TLS 노드에서는 주소, 포트, UUID, WebSocket 경로, Host, TLS serverName을 확인해야 합니다. VLESS + REALITY는 공개 키, shortId, 지문, flow도 필요할 수 있습니다. 화면에 표시되는 항목 이름은 버전에 따라 달라질 수 있지만, 서비스 제공업체가 안내한 매개변수의 의미는 바뀌지 않습니다. 하나라도 누락되면 “가져오기는 되지만 연결되지 않는” 문제가 발생할 수 있습니다.
선택 기준: 노드 설정 전체를 먼저 확인하세요
VLESS + REALITY 노드를 받았다면 데스크톱에서는 v2rayN이 사용하는 Xray를, Android에서는 v2rayNG를 먼저 확인하세요. 서버 설정이 v2fly와 호환된다고 명시된 경우에만 v2flyNG를 후보에 포함하세요. 노드를 가져오는 데 성공했다고 연결까지 확인된 것은 아닙니다.
3. 구독은 공유할 수 있지만 라우팅과 로컬 설정은 자동 동기화되지 않습니다
구독 주소는 보통 노드 목록을 가져오는 데 사용하며, 기기 설정 전체를 백업하는 것은 아닙니다. 서버가 두 클라이언트에서 인식할 수 있는 형식으로 노드를 제공하고 해당 프로토콜을 지원한다면 데스크톱과 Android에서 같은 구독을 사용할 수 있습니다. 동시 접속 허용 여부와 기기 수 제한은 구독 제공업체의 정책을 따릅니다.
설정 방법: 두 기기에서 호환되는 동일한 구독 가져오기
데스크톱: v2rayN
- 「구독 그룹」→「구독 그룹 설정」에서 그룹을 추가하고 구독 주소를 입력합니다.
- 저장한 뒤 업데이트를 실행하고 노드를 선택한 다음 시스템 프록시 상태를 확인합니다.
- 라우팅 규칙, 로컬 수신 포트, 필요한 DNS 설정은 별도로 저장합니다.
Android: v2rayNG
- 사이드 메뉴에서 「구독 그룹 설정」으로 이동해 이름과 주소를 추가합니다.
- 노드 목록으로 돌아가 「구독 업데이트」를 실행한 뒤 노드 이름과 개수를 확인합니다.
- 연결을 시작할 때 시스템 VPN 권한을 허용하고 프록시를 사용할 앱 범위를 설정합니다.
각 기기에서 업데이트를 실행해야 노드 목록이 갱신됩니다. 라우팅, 앱 목록, DNS는 각각 따로 설정해야 합니다. 메뉴 이름은 버전에 따라 조금 다를 수 있습니다.
v2flyNG에서도 먼저 구독이 제대로 파싱되는지 확인한 다음 노드 매개변수를 점검해야 합니다. 두 클라이언트에 표시되는 노드 수가 다르면 지원되지 않는 노드 유형, 파싱 오류, 그룹 필터링 여부부터 확인하세요. 곧바로 구독을 다시 구매할 필요는 없습니다. 구독 링크에는 접속 정보가 포함될 수 있으므로 스크린샷, 로그, 문의 내용에서는 전체 주소를 가리세요.
- 노드 목록: 구독을 업데이트하면 목록이 갱신되며, 서버에서 삭제된 노드는 목록에서 사라질 수 있습니다.
- 라우팅 규칙: 어떤 대상으로 직접 연결하고, 프록시를 사용하거나 차단할지 결정합니다. 구독에 규칙까지 포함된다고 단정할 수 없습니다.
- 로컬 설정: 포트, 시스템 프록시, 앱 범위, TUN 권한은 현재 기기에만 적용됩니다. 같은 구독을 가져와도 자동으로 일치하지 않습니다.
4. 데스크톱과 Android의 트래픽 분할 설정은 다릅니다
v2rayN의 데스크톱 화면에서는 노드, 로그, 라우팅 정보를 함께 확인할 수 있습니다. 처음 사용한다면 「설정」→「매개변수 설정」에서 로컬 수신 항목을 확인한 뒤 적절한 시스템 프록시 모드를 선택하세요. 시스템 프록시는 해당 설정을 따르는 프로그램에만 적용됩니다. 터미널, 일부 게임, 자체 네트워크 스택을 사용하는 앱은 프록시를 따르지 않을 수 있습니다. TUN은 더 많은 트래픽을 처리하지만 라우팅, DNS, 권한, 다른 네트워크 도구와의 충돌도 고려해야 합니다. 첫 연결부터 반드시 설정할 필요는 없습니다.
v2rayNG와 v2flyNG의 Android VPN 모드는 시스템 인터페이스를 통해 로컬 터널을 만듭니다. 그렇다고 노드 제공업체의 프로토콜이 다른 프로토콜로 바뀌는 것은 아닙니다. 앱별 설정은 어떤 앱의 트래픽을 터널로 보낼지 정하고, 도메인·IP 라우팅 규칙은 트래픽이 코어에 들어간 뒤 어떤 출구를 사용할지 정합니다. 두 단계의 규칙은 따로 이해해야 합니다.
- 처리 범위를 먼저 좁히세요: 데스크톱에서는 지정한 로컬 프록시부터 테스트하고, Android에서는 브라우저 하나만 프록시 범위에 넣어 여러 앱을 한꺼번에 바꾸지 않도록 합니다.
- 다음으로 라우팅 정책을 선택하세요: 사내 프린터나 LAN 서비스를 이용해야 한다면 사설 주소가 예상대로 직접 연결되는지 확인하세요. ‘LAN 우회’라는 이름만 보고 모든 규칙을 추측하지 마세요.
- 마지막으로 설정을 복잡하게 늘리세요: 기본 연결이 정상인지 확인한 뒤 사용자 지정 도메인 규칙, 앱별 목록, TUN을 추가하세요. 한 번에 한 항목씩 바꾸고 결과를 기록합니다.
5. 지연 시간 숫자만 보지 말고 같은 절차로 연결을 확인하세요
속도를 비교할 때는 노드, 네트워크, 대상 사이트, 테스트 시간을 최대한 동일하게 맞춰야 합니다. TCP 지연 시간은 연결 설정 과정의 일부만 보여 주며 다운로드 속도, 동영상 버퍼링, 복잡한 웹페이지 로딩을 대표하지 않습니다. 휴대전화와 컴퓨터가 서로 다른 Wi-Fi 주파수 대역에 연결된 것만으로도 결과가 달라질 수 있습니다. 테스트 조건을 무시한 속도 순위는 제시하지 않습니다.
- 두 기기에서 같은 노드를 선택하고 프로토콜, 전송 방식, TLS, 보안 매개변수를 확인하세요. 표시 이름만 비교해서는 안 됩니다.
- 클라이언트의 실제 연결 또는 사용 가능성 테스트를 실행한 뒤 같은 HTTPS 페이지를 열어 보세요. 밀리초 숫자만 기록하지 말고 어느 단계에서 실패했는지 적어 두세요.
- 앱 트래픽이 프록시를 통과하는지 확인하세요. 데스크톱에서는 명시적 프록시 명령으로 시스템 프록시 설정의 영향을 배제할 수 있습니다. Android에서는 VPN 권한과 앱 범위를 확인하세요.
- 로그에서 파싱 실패, 연결 시간 초과, TLS 핸드셰이크 실패, 로컬 포트 사용 중 여부를 확인한 뒤 DNS, 노드 매개변수, 로컬 설정 중 무엇을 조정할지 결정하세요.
아래 명령은 이 기기에서 SOCKS 인바운드가 활성화되어 있고 수신 포트가 10808로 확인된 경우에만 사용할 수 있습니다. 이 포트는 예시 설정이며 모든 버전의 기본값은 아닙니다. v2rayN의 「설정」→「매개변수 설정」에서 실제 수신 포트를 확인하고 명령의 숫자를 바꾸세요.
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
socks5h는 대상 도메인의 해석을 SOCKS 프록시에 맡기므로 프록시 연결을 통해 HTTPS 요청을 완료할 수 있는지 확인할 때 유용합니다. 정상 응답은 해당 명령의 트래픽이 지정한 프록시를 통과했다는 뜻일 뿐, 모든 앱의 트래픽이 처리된다는 뜻은 아닙니다. 127.0.0.1에 연결할 수 없다는 메시지가 나오면 먼저 코어 실행 여부와 포트 일치 여부를 확인하세요. 원격 노드부터 변경하지 마세요.
6. 설치 전후에 자주 묻는 선택 질문
컴퓨터에서 v2rayN을 쓴다면 휴대전화에도 같은 이름의 클라이언트를 설치해야 하나요?
그럴 필요 없습니다. 컴퓨터에서는 v2rayN을 사용하고, Android에서는 노드 요구사항에 따라 v2rayNG 또는 v2flyNG를 선택하세요. 호환되는 구독을 각 기기에 가져온 뒤 프록시 범위를 따로 설정하면 됩니다. 데스크톱 프로그램 폴더를 Android 설정 패키지처럼 복사하지 마세요.
v2rayNG에서 구독이 작동하는데 v2flyNG에서는 왜 연결되지 않나요?
먼저 노드 세부 정보를 열어 REALITY 또는 Xray에 의존하는 다른 설정을 사용하는지 확인하세요. 그런 노드는 호환되는 Xray 클라이언트로 연결해야 합니다. VMess처럼 양쪽에서 처리할 수 있는 조합이라면 경로, Host, serverName과 로그 오류를 확인하세요.
Linux에서 명령줄 연결은 되는데 브라우저가 열리지 않습니다. 클라이언트를 바꾸면 해결되나요?
우선 바꾸지 마세요. 명시적 프록시 명령이 성공한다면 브라우저가 데스크톱 시스템 프록시를 따르는지, 별도의 프록시가 설정되어 있는지 확인하세요. v2rayN의 시스템 프록시 상태, 라우팅, DNS도 점검하세요. 이는 트래픽 처리 경로의 문제일 수 있으며 코어 오류의 근거가 되지는 않습니다.
Android에서 클라이언트 두 개를 동시에 켜면 자동으로 더 나은 쪽을 선택하나요?
대개 그렇지 않습니다. Android에서는 같은 사용자 또는 프로필에서 한 앱만 시스템 VPN 서비스를 사용할 수 있는 경우가 많습니다. 테스트 전에 다른 클라이언트를 중지하고 현재 클라이언트를 시작한 뒤 권한을 확인하세요. VPN 터널이 교체된 일을 노드 연결 끊김으로 오해하지 않도록 주의해야 합니다.
구독 업데이트 시간 초과는 클라이언트를 잘못 선택해서 생긴 문제인가요?
먼저 주소가 완전한지, 만료되지는 않았는지 확인한 다음 직접 업데이트와 프록시를 통한 업데이트를 구분하세요. 사용할 수 있는 노드가 있다면 클라이언트에서 제공하는 방식으로 프록시를 통해 다시 시도할 수 있습니다. 사용할 수 있는 노드가 전혀 없다면 먼저 접속 가능한 구독 주소나 유효한 설정을 확보해야 합니다.
최종 선택: 플랫폼에 맞는 클라이언트를 고르고 코어를 확인한 뒤 연결 성공 후 라우팅 설정하기
데스크톱에서는 v2rayN을 먼저 설정하세요. Android의 Xray 노드는 v2rayNG를 사용하고, v2fly 호환이 명확히 필요한 경우에만 v2flyNG를 선택하세요. ‘구독 업데이트, 노드 연결, 앱 트래픽 처리, 로그 확인’을 한 차례 마친 뒤 설정을 저장하고 규칙을 늘리면 세 클라이언트를 동시에 설치하는 것보다 문제를 쉽게 찾을 수 있습니다.