이 글의 핵심 내용

처음 사용할 때는 클라이언트, 코어, 서버의 차이부터 파악한 뒤 구독을 가져오고 노드를 선택해 트래픽을 연결하세요. 이 글에서는 이 순서에 따라 초보자가 궁금해하는 10가지를 설명합니다. 데스크톱과 Android의 메뉴 차이, 자주 쓰이는 포트의 의미, 웹페이지 접속과 로그를 통한 실제 연결 확인 방법도 다룹니다. 화면에 실행 중이라고 표시되는지만 확인해서는 충분하지 않습니다.

1. V2Ray, 클라이언트, 구독은 각각 무엇인가요?

V2Ray는 Project V의 프록시 도구 생태계입니다. 코어는 프로토콜, 라우팅, 네트워크 연결을 처리하고 클라이언트는 그래픽 인터페이스와 설정 관리를 제공합니다. 클라이언트를 내려받아도 사용할 수 있는 서버가 생기는 것은 아닙니다. 연결하려면 유효한 서버 설정이 필요하며, 보통 구독 링크나 개별 공유 링크로 제공됩니다.

구독 주소에는 계정 토큰이 포함될 수 있으므로 인증 정보처럼 안전하게 보관하세요. 전체 구독 링크를 공개 스크린샷이나 온라인 디코딩 페이지, 질문 게시물에 올리지 마세요.

2. v2rayN, v2rayNG, v2flyNG 중 무엇을 선택해야 하나요?

먼저 운영체제에 맞는 클라이언트를 고르고, 서버 설정과 호환되는지 확인하세요. 데스크톱에서는 v2rayN을 사용합니다. Android에서 Xray, VLESS, REALITY를 요구하는 설정이라면 v2rayNG의 지원 여부를 우선 확인하세요. 기존 V2Fly 설정이 있다면 v2flyNG를 고려할 수 있지만, 해당 버전이 사용하는 전송 방식을 지원하는지 확인해야 합니다.

v2rayN

추천

데스크톱 초보자를 위한 추천 클라이언트로 Windows, macOS, Linux를 지원합니다. 운영체제와 프로세서 아키텍처에 맞는 설치 파일을 선택하세요. 특정 프로토콜을 사용한다면 현재 사용하는 코어도 확인해야 합니다.

추천 용도: 데스크톱에서 구독 관리, 시스템 프록시, 라우팅 설정

v2rayNG

Xray 코어를 사용하는 Android 클라이언트입니다. 가져온 뒤 노드 매개변수가 빠짐없이 설정됐는지 확인하세요. 노드 이름이 표시된다는 것만으로 프로토콜 호환성이 확인된 것은 아닙니다.

추천 용도: Android에서 Xray 설정 및 지원되는 프로토콜 기능 사용

v2flyNG

V2Fly 코어를 사용하는 Android 클라이언트입니다. 서버 매개변수가 해당 코어의 기능과 맞는 설정에 적합합니다. Xray 전용 필드를 그대로 적용해서는 안 됩니다.

추천 용도: Android에서 호환되는 V2Fly 설정 사용

추천 항목은 데스크톱 입문용입니다. Android 기기에서도 데스크톱 프로그램을 선택해야 한다는 뜻은 아닙니다. 플랫폼과 아키텍처별 차이는 클라이언트 비교를 참고하세요.

3. v2rayN에서 구독 링크를 가져오려면 어떻게 하나요?

구독 주소는 서버 주소 입력란이 아니라 구독 그룹에 추가해야 합니다. 아래는 중국어 인터페이스에서 흔히 사용하는 메뉴 이름을 기준으로 설명합니다. 버전에 따라 버튼 위치가 다를 수 있으니 ‘구독 그룹 설정’과 ‘구독 업데이트’ 기능을 찾아보세요.

  1. 그룹 만들기

    메인 화면에서 「구독 그룹」→「구독 그룹 설정」을 열고 추가 메뉴로 그룹을 만드세요. ‘일상용’처럼 알아보기 쉬운 이름을 입력하면 됩니다.

  2. 주소 입력

    전체 구독 링크를 주소 입력란에 붙여넣고, 시작 부분의 프로토콜과 끝부분의 매개변수가 빠지지 않았는지 확인하세요. 안내 문구나 공백, 줄바꿈까지 함께 복사하지 마세요.

  3. 목록 업데이트

    저장한 뒤 「구독 그룹」으로 돌아가 전체 구독을 업데이트하세요. 사용할 수 있는 프록시가 없다면 먼저 프록시를 거치지 않는 업데이트를 시도하세요. 직접 연결이 되지 않고 사용 가능한 노드가 있을 때는 프록시를 통한 업데이트를 시도할 수 있습니다.

  4. 노드 선택

    서버 목록에 항목이 표시되는지 확인하고 노드를 하나 선택해 활성 서버로 지정하세요. 그런 다음 시스템 프록시를 설정하고, 이 글의 9번 질문에 나온 방법으로 실제 연결을 확인하세요.

업데이트 결과가 비어 있다면 먼저 구독 업데이트 로그를 확인하세요. 로그인 페이지, 만료 안내, 일반 웹페이지는 클라이언트가 바로 해석할 수 있는 노드 목록이 아닙니다. 업데이트 버튼을 반복해서 눌러도 응답 형식은 바뀌지 않습니다.

4. Android에서 구독을 가져오는 방법과 VPN 권한의 의미는 무엇인가요?

v2rayNG의 구독 관리는 보통 메인 화면 메뉴의 「구독 그룹 설정」에 있습니다. 구독을 저장한 뒤 업데이트해야 하며, 그룹만 추가해서는 노드가 표시되지 않습니다. v2flyNG에서는 앱 안의 해당 구독 관리 메뉴를 사용하세요. 두 클라이언트의 버튼 위치가 같다고 가정하지 마세요.

  1. v2rayNG에서 「구독 그룹 설정」→「+」를 열고 이름과 구독 URL을 입력한 뒤 저장하고 메인 화면으로 돌아가세요.
  2. 메인 화면 메뉴에서 「구독 업데이트」를 실행하세요. 서버 목록에 항목이 표시되면 노드를 하나 선택합니다.
  3. 연결 버튼을 누르세요. 처음 실행하면 Android에 VPN 연결 요청이 표시됩니다. 요청을 보낸 앱을 확인한 뒤 권한을 허용하세요.
  4. 시스템에서 다른 VPN 연결을 이미 사용 중이라면 먼저 중지해야 하는지 확인하세요. 일반적인 개인 사용 환경에서는 시스템 VPN 서비스를 이용하는 연결을 동시에 두 개 유지하기 어렵습니다.

여기서 VPN 권한은 클라이언트가 시스템 인터페이스를 통해 트래픽을 처리하도록 허용하는 것입니다. 서버를 구매했다는 뜻도, 모든 목적지 주소가 원격 프록시를 거친다는 뜻도 아닙니다. 어떤 트래픽을 직접 연결하거나 프록시로 보내고 차단할지는 클라이언트의 앱 선택과 라우팅 설정에 따라 달라집니다.

5. 구독 링크, 공유 링크, Base64는 어떻게 다른가요?

문자열 길이가 아니라 용도를 기준으로 구분하세요. https://로 시작하는 링크는 구독 주소일 수도 있고 일반 웹페이지일 수도 있습니다. vmess://, vless://는 보통 개별 공유 설정을 나타냅니다. 가져오기 메뉴를 잘못 선택하면 ‘지원하지 않는 형식’이 표시되거나 항목 하나만 가져올 수 있습니다.

설정 제공자가 ‘사용 가능한 구독’이라고만 안내한다면 대상 클라이언트가 응답 형식을 지원하는지 확인하세요. 출처가 불분명한 온라인 변환 서비스에 인증 정보를 입력하지 마세요.

6. VMess, VLESS, REALITY를 직접 입력해야 하나요?

가능하면 구독에서 가져온 매개변수를 그대로 사용하세요. VMess와 VLESS는 프로토콜 이름이고, WebSocket은 전송 방식이며, TLS와 REALITY는 연결의 보안 계층과 관련됩니다. 서로 대체할 수 있는 항목이 아닙니다. 아래 카드는 확인할 항목을 정리한 것으로, 바로 연결할 수 있는 노드나 보편적인 고정값을 뜻하지 않습니다.

VLESS + REALITY

프로토콜
VLESS
보안 계층
REALITY
서버 이름
서버에서 지정한 SNI와 일치하는지 확인
인증 매개변수
UUID, 공개 키, shortId 확인

해당 조합을 지원하는 Xray 설정을 사용하세요. flow 입력 여부와 값은 서버 요구 사항을 따르세요.

VMess + WebSocket + TLS

프로토콜
VMess
전송 방식
WebSocket
보안 계층
TLS
요청 매개변수
Host, 경로, SNI 확인

WebSocket 경로를 임의로 루트 경로로 바꾸지 마세요. 서버 주소, Host, SNI가 서로 다를 수도 있습니다.

노드 이름에 프로토콜이 표시되어도 설정의 모든 필드가 올바르다는 뜻은 아닙니다. 제공자가 새 매개변수를 명확히 안내한 경우에만 직접 수정하세요. 한 번에 하나씩 바꾸고, 되돌릴 수 있도록 기존 설정을 보관하세요.

7. 시스템 프록시와 TUN 모드 중 무엇을 선택해야 하나요?

데스크톱에서는 먼저 시스템 프록시로 기본 연결을 확인하세요. 시스템 프록시는 해당 설정을 따르는 앱이 요청을 로컬 프록시 포트로 보내도록 합니다. 일부 프로그램은 시스템 설정을 따르지 않습니다. TUN은 가상 네트워크 인터페이스로 트래픽을 처리해 보통 더 많은 앱에 적용되지만, 권한과 라우팅, DNS 설정이 복잡해질 수 있습니다.

TUN을 켰다고 모든 요청이 프록시를 거치는 것은 아닙니다. 라우팅 분할 설정에 따라 특정 도메인이나 주소는 직접 연결될 수 있습니다. 시스템 프록시를 사용해도 브라우저의 모든 연결이 같은 경로를 이용한다고 단정할 수 없습니다.

8. 10808, 10809, 443 포트는 각각 무엇인가요?

로컬 수신 포트와 원격 서버 포트는 서로 다른 위치에 있습니다. 아래 숫자는 설명을 위한 흔한 예시일 뿐이며 모든 버전의 기본값은 아닙니다. 최신 버전은 혼합 수신 포트를 사용할 수 있습니다. 실제 설정은 v2rayN의 「설정」→「매개변수 설정」에서 로컬 수신 항목을 확인하거나 실행 로그를 살펴보세요.

10808
로컬 SOCKS 포트 예시
10809
로컬 HTTP 포트 예시
443
원격 TLS 서버 포트 예시

예를 들어 로컬 HTTP 수신 포트가 실제로 10809로 설정되어 있다면, 수동 프록시를 지원하는 프로그램에 주소 127.0.0.1과 포트 10809를 입력할 수 있습니다. 원격 서버 주소를 로컬 루프백 주소로 입력하지 마세요. 이 예시에 맞추려고 구독의 원격 포트를 바꾸지도 마세요.

9. 연결한 뒤 요청이 실제로 프록시를 거치는지 어떻게 확인하나요?

‘실행 중’ 표시는 로컬 서비스가 시작됐다는 뜻일 뿐입니다. 지연 시간 테스트가 성공해도 특정 테스트 경로에 응답이 있었다는 것만 확인됩니다. 앱의 트래픽이 연결되고, 라우팅 규칙이 적용되며, 원격 접속이 이뤄지는지 함께 확인해야 합니다. 합법적으로 접속할 수 있고 프록시를 거칠 것으로 예상되는 HTTPS 페이지를 테스트에 사용하세요.

  1. 로컬 실행 확인

    클라이언트 로그에서 시작 실패, 설정 파싱 실패, 포트 사용 중 안내가 없는지 확인하세요. Android에서는 시스템 VPN 연결이 계속 실행 중인지도 확인합니다.

  2. 새 요청 보내기

    데스크톱에서는 시스템 프록시가 적용됐는지 확인한 뒤 브라우저 창을 새로 열어 대상 페이지에 접속하세요. 캐시된 탭이 계속 표시되는지만 확인하지 마세요.

  3. 라우팅 확인

    로그에서 연결 기록을 지원한다면 대상 도메인과 아웃바운드 표시를 확인해 direct 연결과 프록시 연결을 구분하세요. 로그 수준에서 요청을 기록하지 않는다면 기록이 없다는 이유만으로 연결 실패라고 판단하지 마세요.

  4. 교차 확인

    프록시를 거쳐야 하는 다른 대상도 테스트하고, 필요하면 연결 전후의 외부 IP 주소를 비교하세요. 분할 라우팅을 사용 중이라면 직접 연결하는 웹사이트의 외부 IP가 그대로인 것이 정상일 수 있습니다.

브라우저 접속, 예상한 라우팅 규칙 적용, 외부 연결 상태가 모두 설정과 일치해야 이번 테스트가 예상대로 이뤄졌다고 볼 수 있습니다. 웹페이지 하나가 열리지 않는 원인은 대상 서비스 자체의 장애일 수도 있으므로 바로 클라이언트를 재설치하지 마세요.

10. 구독을 가져왔는데 인터넷이 안 될 때 무엇부터 확인해야 하나요?

‘구독 응답 내용 → 로컬 서비스 → 앱 트래픽 연결 → 원격 연결’ 순서로 확인하세요. 매번 오류 메시지를 기록하고 설정은 하나씩만 바꾼 뒤 같은 접속 테스트를 반복하세요. 이렇게 하면 설정을 가져오는 단계의 문제인지 실제 트래픽을 전달하는 단계의 문제인지 구분할 수 있습니다.

구독 업데이트가 계속 시간 초과되면 먼저 프록시를 켜야 하나요?

반드시 그런 것은 아닙니다. 먼저 프록시를 사용하지 않고 업데이트해 보세요. 구독 주소에 직접 접속할 수 없고 사용 가능한 노드가 있다면 프록시를 통해 업데이트할 수 있습니다. 사용할 수 있는 노드가 전혀 없다면 업데이트 방식을 바꿔도 프록시 연결이 새로 생기지는 않습니다. 제공자에게 주소에 접속할 수 있는지 확인하세요.

노드는 목록에 있는데 웹페이지가 열리지 않아요.

먼저 해당 노드가 활성 서버로 지정됐는지 확인한 다음 시스템 프록시나 Android VPN 연결 상태를 살펴보세요. 이어서 로그에서 연결 시간 초과, 연결 거부, 이름 확인 실패가 있는지 확인하고 라우팅 규칙에 따라 요청이 올바른 아웃바운드로 전송되는지 점검하세요.

인증서 또는 핸드셰이크 오류가 표시되는데 검증을 꺼도 되나요?

먼저 시스템 날짜와 시간을 동기화한 뒤 TLS 서버 이름, 전송 방식, 구독 매개변수를 확인하세요. 인증서 검증 건너뛰기를 일반적인 해결책으로 사용하지 마세요. 매개변수가 서버 설정과 다르면 설정을 업데이트하거나 제공자에게 문의해야 합니다.

앱 하나만 실패해도 DNS를 바꿔야 하나요?

먼저 해당 앱이 시스템 프록시를 따르는지, Android의 앱별 라우팅에서 제외됐는지, 별도 프록시 설정을 사용하는지 확인하세요. 로그에 이름 확인 실패가 나타날 때 DNS를 항목별로 점검하세요. 노드와 DNS, 라우팅을 동시에 바꾸면 원인을 찾기 어려워집니다.

도움을 요청할 때는 운영체제, 클라이언트 버전, 현재 코어, 연결 모드, 오류 발생 시각, 민감 정보를 가린 로그 일부를 제공하세요. 구독 토큰, UUID, 서버 인증 정보는 삭제해야 합니다. 라우팅 분할과 DNS 설정 구조를 더 알아보려면 고급 설정을 참고하고, 기본 용어는 용어 빠른 확인에서 찾아보세요.