처음 설정한다면 먼저 운영체제에 맞는 클라이언트를 선택한 뒤, 보유한 구독을 가져오고 서버를 선택해 적절한 프록시 연결 방식을 켜세요. 이 글에서는 클라이언트, 코어, 프로토콜, 라우팅을 나누어 설명하고 데스크톱 구독 설정, Android 사용 방법, 포트 확인 예시를 안내합니다. 기본 설정을 마친 다음 ‘구독 → 코어 → 연결 방식 → 라우팅’ 순서로 문제를 확인하면 모든 설정을 한꺼번에 바꾸지 않고도 원인을 찾을 수 있습니다.
1. V2Ray, 클라이언트, 노드는 각각 무엇인가요?
클라이언트는 설정 화면을 제공하고, 코어는 트래픽을 처리하며, 노드는 원격 서버 연결 정보를 담습니다. 셋은 서로 다른 개념입니다. v2rayN을 설치해도 서버가 생기는 것은 아니며, 노드를 가져와도 브라우저가 자동으로 프록시를 사용하는 것은 아닙니다.
| 항목 | 역할 | 초보자가 확인할 사항 |
|---|---|---|
| v2rayN / v2rayNG / v2flyNG | 설정 가져오기, 노드 선택, 프록시 연결 방식 설정 | 운영체제와 프로세서 아키텍처가 맞는지 |
| Xray / V2Fly | 프로토콜 연결, DNS, 라우팅, 아웃바운드 처리 | 노드에서 요구하는 프로토콜과 매개변수를 지원하는지 |
| 노드 | 원격 서버 주소, 포트, 인증 매개변수 | 주소, 유효 기간, 트래픽 한도가 정상인지 |
| 구독 | 하나의 주소로 여러 노드를 가져오고 업데이트 | 링크가 온전하며 유효한 설정을 반환하는지 |
‘V2Ray’는 프로젝트를 가리키기도 하고, 이런 종류의 프록시 도구를 통칭하는 말로 쓰이기도 합니다. 문제를 확인할 때는 단순히 ‘V2Ray가 안 된다’고만 하지 말고 클라이언트와 코어 이름, 프록시 모드, 오류 내용을 함께 기록하세요. 그래야 해당 설정을 정확히 찾을 수 있습니다.
2. Windows, macOS, Linux, Android에서는 어떤 클라이언트를 설치해야 하나요?
데스크톱에서는 v2rayN부터 시작하고, Android에서는 필요한 코어에 따라 v2rayNG 또는 v2flyNG를 선택하세요. 먼저 운영체제와 아키텍처를 확인하고 노드 요구 사항을 살펴보면 됩니다. 클라이언트 여러 개를 한꺼번에 설치해 하나씩 시험할 필요는 없습니다.
v2rayN 데스크톱 클라이언트
추천Windows, macOS, Linux에서 데스크톱으로 사용할 수 있습니다. Desktop 버전은 크로스 플랫폼 인터페이스를 제공하며, WPF 버전은 Windows용입니다. 설치 파일 이름에 v2rayN이 들어 있다고 해서 두 버전이 같은 운영체제에서 작동하는 것은 아닙니다.
추천 대상: PC에서 처음 설정하는 경우, 구독 관리와 라우팅 설정
v2rayNG Android 클라이언트
Xray 코어를 사용하는 Android 클라이언트입니다. 노드에 VLESS, REALITY 등이 포함되어 있다면 클라이언트에 포함된 코어가 해당 기능을 지원하는지도 확인하세요.
추천 대상: Android 기기, Xray 프로토콜이 필요한 구독
v2flyNG Android 클라이언트
V2Fly 코어를 사용하는 Android 클라이언트입니다. 이름이 비슷하다고 서로 완전히 호환되는 것은 아니므로, 기존 설정과 V2Fly 호환 요구 사항을 기준으로 선택하세요.
추천 대상: Android 기기, 기존 V2Fly 호환 설정
아키텍처도 맞춰야 합니다. Windows는 보통 x64를 사용하고, macOS는 arm64와 x64를 구분해야 합니다. Linux는 deb와 rpm 패키지 형식도 확인하세요. Android는 일반적으로 arm64를 선택하면 됩니다. 기기의 아키텍처를 모르겠다면 다운로드 페이지에서 범용 패키지 안내를 확인하세요. 설치 파일과 포터블 압축 파일은 실행 방법이 다르므로 선택한 패키지의 안내를 따르세요.
3. 구독은 어디서 받으며, 단일 공유 링크와 무엇이 다른가요?
구독 주소는 서버 운영자나 자체 서버의 관리 화면에서 발급받습니다. 클라이언트가 사용할 수 있는 원격 노드를 자동으로 만들어 주지는 않습니다. 구독은 설정 묶음을 업데이트하는 경로이며, 공유 링크 하나는 보통 연결 설정 하나를 나타냅니다.
- 구독 주소: 보통 HTTPS URL이며 계정 토큰이 포함될 수 있습니다. 구독 그룹에 추가한 다음 업데이트하면 노드 목록을 가져올 수 있습니다.
- 공유 링크: 보통
vmess://또는vless://로 시작합니다. 구독 주소 입력란이 아니라 클립보드에서 설정을 가져오는 기능을 사용하세요. - 설정 파일: 코어 설정이나 클라이언트 내보내기 파일일 수 있습니다. 가져오는 방법과 지원 형식을 따로 확인해야 하며, 모든 JSON 파일을 구독으로 취급해서는 안 됩니다.
처음 업데이트했는데 노드가 하나도 표시되지 않아도 클라이언트 문제라고 단정할 수는 없습니다. 먼저 구독 유효 기간과 트래픽 한도를 확인한 다음, 서버가 노드 데이터 대신 로그인 페이지나 오류 메시지, 리디렉션 페이지를 반환했는지 살펴보세요. 브라우저에서 웹페이지가 열린다고 해서 클라이언트가 그 내용을 노드로 해석할 수 있는 것은 아닙니다.
4. v2rayN과 v2rayNG에서 구독을 가져오는 방법
데스크톱에서는 먼저 그룹을 만든 다음 구독을 업데이트하고 노드 하나를 활성 서버로 선택하세요. 아래는 v2rayN에서 흔히 볼 수 있는 메뉴 이름을 기준으로 설명합니다. 배포판에 따라 버튼 위치가 다를 수 있으므로 ‘구독 그룹 설정’, ‘구독 업데이트’, ‘활성 서버로 설정’에 해당하는 작업을 찾으면 됩니다.
-
그룹 만들기
메인 화면에서 ‘구독 그룹’ → ‘구독 그룹 설정’을 열고 ‘추가’ 또는 ‘+’를 눌러 그룹을 만드세요. 알아보기 쉬운 이름을 입력합니다.
-
주소 붙여넣기
그룹의 URL 입력란에 전체 구독 주소를 붙여넣으세요. 주소의 시작과 끝, 토큰이 잘리지 않았는지 확인한 뒤 설정을 저장합니다. 따옴표가 포함된 채팅 문장 전체를 붙여넣지 마세요.
-
구독 업데이트
‘구독 그룹’ 메뉴로 돌아가 ‘모든 구독 업데이트(프록시 사용 안 함)’를 실행하세요. 처음부터 사용할 수 있는 노드가 없다면 직접 연결로 업데이트를 시작합니다. 프록시가 꼭 필요하고 이미 사용할 수 있는 노드가 있을 때만 프록시를 통한 업데이트를 시도하세요.
-
서버 선택
노드 목록에서 사용할 항목을 마우스 오른쪽 버튼으로 클릭하고 ‘활성 서버로 설정’을 선택하세요. 시스템 프록시를 설정하기 전에 로그에서 코어가 정상적으로 시작되었는지 확인하세요. 목록에 노드가 표시되는지만 확인해서는 안 됩니다.
v2rayNG에서는 보통 사이드 메뉴의 ‘구독 그룹 설정’ → 오른쪽 위 ‘+’를 눌러 이름과 구독 URL을 입력하고 저장합니다. 메인 목록으로 돌아가 오른쪽 위 메뉴에서 ‘구독 업데이트’를 실행하세요. 노드를 선택한 다음 연결 버튼을 누르고, 처음 연결할 때는 Android 시스템의 VPN 연결 요청을 승인해야 합니다. 메뉴 이름이 조금 다르다면 설치된 버전의 구독 관리 메뉴를 확인하세요.
5. Xray와 V2Fly 코어 중 무엇을 선택해야 하나요?
속도를 이름만으로 추측하지 말고 노드 요구 사항에 맞는 코어를 선택하세요. VMess와 VLESS는 프로토콜 이름이고 WebSocket은 전송 방식이며, TLS와 REALITY는 보안 관련 설정입니다. 각 계층은 조합할 수 있지만 모든 코어가 모든 조합을 지원하는 것은 아닙니다.
Xray 설정 확인
- 주요 판단 기준
- 구독에서 Xray 기능을 요구하는지
- 일반적인 프로토콜
- VLESS、VMess
- 특수 요구 사항
- REALITY、xtls-rprx-vision
- Android에서 사용할 클라이언트
- v2rayNG
REALITY 또는 Vision 매개변수가 포함되어 있다면 해당 조합을 지원하는 Xray 버전을 사용하고, 항목은 서버 설정과 일치시켜야 합니다.
V2Fly 설정 확인
- 주요 판단 기준
- 서버에서 V2Fly 호환 설정을 제공하는지
- 일반적인 조합
- VMess + WebSocket + TLS
- 호환성 확인
- 전송 방식, 인증, 설정 문법
- Android에서 사용할 클라이언트
- v2flyNG
Xray 전용 항목을 그대로 복사하지 마세요. 기존 설정이 작동한다면 우선 코어와 매개변수를 그대로 유지하세요.
v2rayN의 ‘설정’ → ‘매개변수 설정’에서 Core 유형 관련 항목을 찾을 수 있습니다. 일부 버전에서는 프로토콜별로 코어를 따로 지정할 수도 있습니다. 설정을 변경한 뒤에는 클라이언트 코어를 다시 시작해야 합니다. 로그에 알 수 없는 항목이나 전송 유형이 표시되면 서버 포트를 반복해서 바꾸기보다 노드 설정과 코어 지원 여부부터 확인하세요. 코어가 시작되는 것은 첫 단계일 뿐이며, 인증 매개변수와 원격 핸드셰이크도 올바르게 설정되어야 합니다.
6. 시스템 프록시와 TUN 모드는 어떻게 다른가요?
먼저 시스템 프록시로 브라우저 접속을 확인하고, 시스템 프록시를 따르지 않는 앱이 실제로 있을 때 TUN을 고려하세요. 시스템 프록시는 프록시 주소를 시스템 설정에 적용합니다. TUN은 가상 네트워크 인터페이스를 만들어 라우팅을 통해 더 많은 앱의 트래픽을 받지만, 권한과 DNS, 로컬 네트워크 접속도 함께 설정해야 합니다.
| 연결 방식 | 사용 상황 | 주의 사항 |
|---|---|---|
| 시스템 프록시 | 브라우저와 시스템 프록시 설정을 따르는 앱 | 일부 앱은 자체 프록시 설정을 사용하거나 시스템 설정을 무시합니다 |
| 앱에서 수동으로 프록시 설정 | HTTP / SOCKS 주소를 입력할 수 있는 개별 앱 | 클라이언트가 실제로 수신 대기 중인 주소와 포트를 사용하세요 |
| TUN | 더 많은 앱의 트래픽을 처리해야 하는 데스크톱 환경 | 권한, DNS, 라우팅, 로컬 네트워크 제외 규칙을 확인하세요 |
| Android VPN 연결 | v2rayNG 등 클라이언트가 시스템 VPN 터널을 만듭니다 | 앱별 적용 범위를 확인하고 다른 VPN이 연결 방식을 차지하지 않도록 하세요 |
v2rayN의 시스템 프록시 메뉴에서 먼저 ‘시스템 프록시 자동 설정’을 사용하세요. 사용을 중단할 때는 ‘시스템 프록시 지우기’를 선택합니다. TUN을 켜도 만료된 구독이나 잘못된 비밀번호가 해결되지는 않습니다. TUN은 트래픽이 클라이언트로 들어오는 방식을 바꿀 뿐, 노드 연결 자체를 대신하지 않습니다.
7. ‘전체 프록시’와 ‘분할 라우팅’ 중 무엇을 선택해야 하나요?
평소에는 적절한 분할 라우팅 규칙을 사용하고, 문제를 확인할 때는 프록시 라우팅으로 잠시 전환해 비교해 보세요. 프록시 연결 방식과 라우팅 정책은 서로 다른 설정입니다. 앱이 먼저 트래픽을 클라이언트로 보내면 코어가 이를 직접 연결, 프록시 또는 차단 중 어디로 보낼지 결정합니다.
- 직접 연결: 선택한 프록시 서버를 거치지 않고 연결합니다. 로컬 네트워크로 나가야 하는 대상에 적합합니다.
- 프록시: 설정된 프록시 아웃바운드로 전달합니다. 선택한 활성 노드는 일반적으로 이 단계에서 적용됩니다.
- 차단: 규칙에 일치하는 연결을 거부합니다. 속도가 느린 상태와는 다르며 노드 연결이 끊긴 것으로 오해해서는 안 됩니다.
- 규칙 순서: 보통 설정된 순서대로 규칙을 적용합니다. 앞쪽의 범위가 넓은 규칙이 뒤쪽의 세부 규칙보다 먼저 적용될 수 있습니다.
분할 라우팅 예시(그대로 가져올 수 있는 설정은 아닙니다):
로컬 네트워크 주소 → direct
프록시가 필요한 도메인 → proxy
그 외 연결 → 현재 라우팅의 기본 아웃바운드에 따라 처리
시스템 프록시 메뉴의 ‘자동 설정’은 ‘자동 분할 라우팅’과 같은 뜻이 아닙니다. 현재 라우팅 프리셋과 최종 기본 아웃바운드도 확인하세요. 규칙에서 geosite:cn 또는 geoip:cn을 사용한다면 해당 규칙 데이터가 있어야 합니다. 규칙 이름만 입력한다고 전체 도메인 분류가 자동으로 생기지는 않습니다.
8. 노드 응답 지연은 있는데 웹페이지가 열리지 않는 이유는 무엇인가요?
지연 시간 테스트에 성공했더라도 전체 접속 경로가 정상이라는 뜻은 아닙니다. TCP 탐색 성공은 원격 포트에 연결할 수 있다는 점만 보여줄 수 있습니다. 실제 웹 접속에는 프록시 핸드셰이크, 인증, DNS, TLS, 라우팅도 필요합니다. 숫자 하나만 보지 말고 어떤 테스트를 했는지 확인하세요.
구독 업데이트가 계속 시간 초과되면 어떻게 해야 하나요?
먼저 구독 메뉴에서 프록시를 사용하지 않고 업데이트해 보세요. 구독에 접속하려면 프록시가 필요한 네트워크라면, 기존 노드 하나가 작동하는지 확인한 뒤 프록시를 통해 업데이트하세요. 작동하지 않는 노드를 구독 업데이트의 유일한 연결 경로로 삼지 마세요.
노드 응답 지연은 확인되는데 브라우저가 열리지 않나요?
노드가 활성 서버로 지정되어 있고 시스템 프록시가 켜져 있는지 확인한 뒤 코어 로그를 살펴보세요. TCP 지연 테스트만 했다면 실제 연결 테스트도 진행해 포트 접속 가능 여부와 프로토콜 핸드셰이크 성공 여부를 구분하세요.
인증서 오류나 TLS 핸드셰이크 실패가 표시되나요?
먼저 시스템 시간 자동 동기화를 켜고, 노드의 서버 이름과 TLS 설정이 서버 요구 사항에 맞는지 확인하세요. 인증서 검증을 건너뛰는 방법을 일반적인 해결책으로 사용하지 마세요.
TUN을 켠 뒤 로컬 기기에 접속할 수 없나요?
먼저 TUN을 끄고 비교해 로컬 네트워크에 접속할 수 있는지 확인한 다음, 라우팅 규칙이 로컬 네트워크 대역까지 포함하는지 살펴보세요. 실제 네트워크 설정에 맞춰 로컬 주소를 제외하고, 모든 라우팅 규칙을 무작정 지우지는 마세요.
한 번에 변수 하나만 바꾸고 변경 전후 오류를 기록하세요. 구독 업데이트 오류는 설정을 가져오는 단계에서, 코어 시작 오류는 로컬 실행 단계에서, 원격 인증 오류는 연결 단계에서 발생합니다. 이 문제들을 한데 묶어 처리하면 원래 작동하던 설정까지 망가질 수 있습니다.
로컬 포트는 어떻게 설정하고, 충돌 여부는 어떻게 확인하나요?
앱이 연결해야 하는 대상은 원격 서버 포트가 아니라 클라이언트의 로컬 수신 대기 포트입니다. 먼저 v2rayN의 ‘설정’ → ‘매개변수 설정’에서 실제 수신 대기 설정을 확인한 다음 앱에 프록시 주소를 입력하세요. 아래에서는 127.0.0.1:10808로 확인 방법을 설명합니다. 예시일 뿐이므로 모든 버전의 기본값이라고 볼 수는 없습니다.
# Windows PowerShell: 예시 포트에서 TCP 연결을 수신 대기 중인지 확인
Get-NetTCPConnection -LocalPort 10808 -State Listen
# Linux: TCP 수신 대기 목록을 확인하고 출력에서 10808을 찾으세요
ss -lntp
# macOS: 예시 포트를 사용하는 수신 대기 프로세스 확인
lsof -nP -iTCP:10808 -sTCP:LISTEN
포트에서 수신 대기 중인 항목이 없다면 먼저 코어가 시작되었는지 확인하세요. 로그에 address already in use가 표시되면 포트를 점유한 프로세스를 찾아 중복 실행 중인 클라이언트를 종료하거나 수신 대기 포트를 변경하세요. 포트를 바꾼 뒤에는 앱의 수동 프록시 주소도 함께 업데이트해야 합니다. 기존 포트가 자동으로 바뀌지는 않습니다.
10. 설정이 완료되었는지 확인하고 복구할 수 있도록 보관하려면 어떻게 해야 하나요?
‘연결됨’ 아이콘만 믿지 말고 실제 접속, 로그, 모드 전환 결과를 기준으로 설정을 확인하세요. 첫 설정을 마친 뒤에는 클라이언트, 코어, 수신 대기 포트, 라우팅 프리셋을 기록해 두세요. 이후 업그레이드하거나 노드를 바꿀 때 비교할 기준이 됩니다.
- 시작 상태 확인: 활성 서버를 선택한 뒤 코어가 정상적으로 시작되었는지 확인하고, 로그에서 포트 점유나 설정 구문 오류가 반복되지 않는지 살펴보세요.
- 접속 확인: 직접 연결해야 하는 대상과 프록시를 사용해야 하는 대상을 각각 테스트하고, 연결 로그에서 실제 아웃바운드를 확인하세요.
- DNS 확인: 다른 연결은 정상인데 도메인 접속만 실패한다면 DNS 설정을 확인하세요. IP 주소로 직접 접속하는 것만으로 HTTPS 서비스를 판단하지 마세요.
- 종료 확인: 시스템 프록시를 사용했다면 시스템 프록시를 지운 뒤 클라이언트를 종료하고 일반 네트워크 접속이 복구되었는지 확인하세요.
- 설정 저장: 클라이언트의 백업 또는 내보내기 기능을 사용해 구독과 인증 정보가 포함된 파일을 안전하게 보관하세요. 문제 해결 정보를 공유하기 전에는 민감한 정보를 가리세요.
업그레이드 전에는 복구할 수 있는 설정을 보관하고, 업그레이드한 뒤에는 기존 노드와 라우팅을 유지한 채 먼저 확인하세요. 코어를 바꾸고 DNS를 수정하고 TUN까지 켜는 일을 한꺼번에 하지 마세요. 원인을 찾기 어려운 오류가 발생했다면 ‘운영체제, 클라이언트 버전, 코어, 프로토콜 조합, 재현 단계, 민감 정보를 가린 로그’ 여섯 가지를 정리한 뒤 FAQ 또는 전체 설명서를 참고해 하나씩 확인하세요. 문제를 다시 설치만 반복하는 대신 어느 단계에서 발생했는지 좁힐 수 있습니다.
플랫폼에 맞는 클라이언트 다운로드
Windows, macOS, Android, Linux용 설치 파일을 선택한 다음 가이드에 따라 구독 가져오기와 프록시 설정을 완료하세요.