quickstart

V2Ray 사용법:구독과 연결

구독 가져오기 → 프록시 모드 선택 → 연결 시작 → 트래픽 확인. 처음 설정할 때는 순서대로 진행하세요. 이후에는 보통 구독을 업데이트하고 노드를 바꾸면 됩니다.

시작하기 전에 다운로드 페이지에서 기기에 맞는 클라이언트를 선택해 설치하세요. 서비스 제공업체에서 받은 유효한 구독 URL을 준비하고, 기기의 날짜와 시간대가 올바른지 확인한 뒤 일반 네트워크에 연결해 두세요. 클라이언트는 설정을 읽고 연결을 구성하지만 원격 서버를 제공하지는 않습니다. 아직 구독이나 노드 설정을 받지 못했다면 먼저 준비한 다음 진행하세요.

처음 사용하는 분을 위한 간단한 절차입니다. 최초 설정에는 약 10분 정도 잡을 수 있지만, 구독 업데이트와 연결 테스트 시간은 네트워크 상태에 따라 달라집니다. 우선 기본 로컬 포트를 사용하고 TUN을 동시에 켜거나 DNS를 한꺼번에 바꾸거나 여러 프록시 도구를 함께 실행하지 마세요. 변경 사항을 최소화해야 문제가 생겼을 때 구독, 노드, 앱 설정 중 원인을 찾기 쉽습니다. 원리와 고급 설정은 V2Ray 사용 설명서에서 확인하세요.

01 구독 가져오기: 그룹 만들기

구독 URL은 일반적으로 업데이트할 수 있는 노드 설정 모음을 가리키며, 브라우저에서 로그인하는 웹페이지가 아닙니다. 복사할 때는 전체 주소를 선택하고 앞뒤의 설명 문구, 공백, 줄바꿈이 함께 들어가지 않도록 하세요. QR 코드나 메시지에서 주소를 복사했다면 구독 URL인지 단일 노드 공유 링크인지 먼저 확인하세요. 둘 다 설정을 가져올 수 있지만 업데이트 방식은 다릅니다. 개념이 헷갈린다면 구독 및 노드 용어를 확인하세요.

v2rayN: 주소 추가 후 구독 업데이트

v2rayN을 열고 상단 메뉴에서 구독 그룹 관련 항목을 찾아 ‘구독 그룹 설정’으로 이동하세요. 그룹을 추가하고 이름란에 ‘일상 연결’처럼 알아보기 쉬운 이름을 입력한 다음 주소란에 구독 URL 전체를 붙여 넣습니다. 다른 필터나 자동 업데이트 옵션은 우선 기본값으로 두고 저장한 뒤 설정 창을 닫으세요. 이 단계에서는 주소만 저장한 상태이므로 메인 화면에 노드가 아직 표시되지 않아도 정상입니다.

메인 화면으로 돌아가 구독 메뉴에서 업데이트를 실행하세요. 그룹이 여러 개라면 다른 노드 출처에 영향을 주지 않도록 방금 추가한 그룹만 선택해 업데이트하는 것이 좋습니다. 처음 설정해 사용할 수 있는 프록시가 없다면 보통 ‘프록시 없이 업데이트’를 선택합니다. 이미 연결을 사용할 수 있고 구독 URL에 접속할 때 해당 연결이 필요한 경우에만 ‘프록시를 통해 업데이트’를 고려하세요. 프록시를 시작하기 전에 후자를 반복해서 선택하면 업데이트 요청이 계속 실패할 수 있습니다.

로그나 상태 메시지를 확인해 업데이트가 끝날 때까지 기다린 다음 해당 그룹으로 전환하세요. 노드 목록에 이름, 주소, 포트, 프로토콜 등의 항목이 표시되어야 합니다. 노드 수에 정해진 기준은 없으며 서비스 제공업체의 설정을 따르세요. 업데이트가 성공했다고 표시되는데 목록이 비어 있다면 다른 그룹을 보고 있는지, 이름 필터가 켜져 있는지 확인한 다음 구독 URL이 아직 유효한지 점검하세요. 이 단계에서는 설정이 정상적으로 불러와졌는지만 확인하면 됩니다. 노드의 전송 방식, 보안 계층, 인증 항목은 바꾸지 않아도 됩니다.

v2rayNG: 구독 그룹 설정에서 추가

v2rayNG에서 사이드 메뉴나 관련 메뉴를 열고 ‘구독 그룹 설정’으로 이동한 뒤 추가 버튼을 눌러 그룹을 만드세요. 이름과 구독 URL을 입력해 저장하고 노드 화면으로 돌아간 다음 오른쪽 상단 메뉴에서 ‘구독 업데이트’를 실행합니다. 일부 버전에서는 ‘프록시 없이 구독 업데이트’라고 표시되거나 업데이트할 그룹을 선택할 수 있습니다. 데스크톱과 마찬가지로 주소를 저장하는 것만으로 설정이 다운로드되지는 않습니다. 노드 항목을 확인하려면 업데이트를 실행해야 합니다.

단일 노드 공유 링크만 있다면 복사한 뒤 ‘클립보드에서 가져오기’와 같은 메뉴를 사용하세요. QR 코드는 스캔 메뉴로 불러오고 시스템 안내에 따라 필요한 권한을 허용합니다. 단일 노드를 가져와도 구독 그룹처럼 자동 업데이트되지는 않으므로 서버 설정이 바뀌면 다시 가져와야 할 수 있습니다. 같은 구독을 여러 그룹으로 중복 등록하지 마세요. 업데이트 후 목록이 뒤섞여 더 이상 유효하지 않은 항목을 선택할 수 있습니다.

이 단계는 간단히 확인할 수 있습니다. 해당 그룹에 노드가 있고 업데이트 로그에 오류가 계속 표시되지 않으면 됩니다. 다음으로 어떤 앱의 트래픽을 클라이언트로 보낼지, 전달된 트래픽에 어떤 라우팅을 적용할지 정하세요. ‘가져오기 완료’를 ‘연결 완료’로 혼동하지 마세요.

02 프록시 모드: 유입 경로와 출구 구분

데스크톱의 ‘시스템 프록시’와 ‘라우팅 모드’는 서로 다른 설정입니다. 시스템 프록시는 운영체제 설정을 따르는 앱이 요청을 로컬 클라이언트로 보내도록 합니다. 라우팅 모드는 클라이언트가 요청을 받은 뒤 원격 노드를 통해 전달할지, 대상에 직접 연결할지를 정합니다. 라우팅을 전역으로 설정하더라도 시스템 프록시를 사용하지 않거나 별도로 프록시를 설정하지 않은 앱은 클라이언트를 거치지 않을 수 있습니다. 이 차이를 알면 ‘전역으로 설정했는데 왜 특정 앱은 달라지지 않지?’라는 오해를 피할 수 있습니다.

v2rayN: 일상용 라우팅을 선택한 뒤 시스템 프록시 설정

하단 상태 표시줄이나 라우팅 메뉴에서 라우팅 설정을 찾으세요. 일반적인 웹 탐색에는 먼저 ‘중국 본토 우회’ 또는 비슷한 이름의 프리셋을 선택하면 됩니다. 프리셋 규칙과 일치하는 트래픽은 직접 연결되고 나머지는 해당 프리셋의 출구를 따릅니다. 실제 적용 결과는 규칙 내용과 분류 데이터에 따라 달라지며 웹페이지 언어만으로 결정되지 않습니다. 처음에는 기본 프리셋을 사용하고 도메인 규칙을 직접 추가하지 마세요. 규칙 순서와 DNS의 관계는 라우팅 분할 섹션에서 확인하세요.

그다음 ‘시스템 프록시’ 메뉴에서 ‘시스템 프록시 자동 설정’을 선택하세요. 그러면 시스템의 프록시 진입점이 클라이언트의 로컬 리스닝 주소를 가리키게 됩니다. Windows에서는 트레이 메뉴나 하단 상태 표시줄에서 설정하는 경우가 많습니다. Linux와 macOS에서는 데스크톱 환경, 권한, 시스템 인터페이스에 따라 자동 설정 결과가 달라질 수 있습니다. 설정 후에도 브라우저에 변화가 없다면 라우팅 모드를 반복해서 바꾸지 말고 시스템 네트워크 프록시 설정에 로컬 주소가 입력됐는지 확인하세요.

Linux 데스크톱에서 직접 설정하려면 시스템 네트워크 설정의 프록시 방식을 ‘수동’으로 바꾸고 SOCKS 호스트에 127.0.0.1, 포트에 클라이언트의 실제 SOCKS 리스닝 포트를 입력하세요. 원격 노드 주소를 여기에 입력하면 안 됩니다. 시스템에서 HTTP 또는 HTTPS 프록시 항목을 요구한다면 클라이언트가 안내하는 HTTP 또는 혼합 리스닝 포트를 사용하세요. SOCKS 포트를 그대로 복사해 넣지 마세요. 아래 명령에서는 10808을 예시로 사용하며 실제 포트는 클라이언트 설정을 따릅니다.

v2rayNG: 라우팅 설정과 VPN 트래픽 처리

안드로이드 설정에서 라우팅 옵션을 열고 일상적인 사용에 적합한 우회 규칙을 선택하세요. 일부 버전에서는 라우팅 프리셋이 ‘미리 정의된 규칙’ 아래에 있습니다. 데스크톱과 메뉴 이름을 일일이 맞추기보다 설정 항목의 의미를 기준으로 찾으면 됩니다. 처음에는 앱별 프록시를 켜거나 앱 제외 목록을 수정하지 마세요. 제외된 앱은 계속 직접 연결될 수 있어 첫 연결을 확인하기 어려워집니다. 연결을 시작하면 안드로이드 시스템이 VPN 인터페이스를 통해 해당 트래픽을 클라이언트로 전달합니다.

‘전역’은 잠깐 비교 테스트할 때 사용할 수 있습니다. 일상 라우팅에서 웹사이트 접속이 실패하면 전역으로 바꿔 요청을 다시 보내고 결과가 달라지는지 확인하세요. 전역에서는 접속되지만 일상 라우팅에서는 안 될 때 규칙이나 DNS 경로를 점검하면 됩니다. 테스트가 끝나면 기존 라우팅으로 되돌리세요. 전역 설정은 작동하지 않는 노드를 고치는 기능이 아니며, 클라이언트를 거치지 않는 데스크톱 앱에 프록시를 자동 적용하지도 않습니다.

이제 구독을 준비했고 트래픽 진입점과 라우팅도 정했습니다. 다음으로 노드 하나만 선택해 연결한 뒤 전체 경로를 확인하세요. 코어를 바꾸거나 TUN, 복잡한 분할 라우팅을 설정하는 작업은 일단 미뤄 두세요.

03 연결 시작: 사용할 노드 선택

노드 목록으로 돌아가 서비스 제공업체가 사용 가능하다고 안내했으며 프로토콜 설정도 빠짐없이 가져온 항목을 우선 선택하세요. 처음부터 모든 노드를 연속으로 테스트하거나 노드 이름만 보고 품질을 판단할 필요는 없습니다. 목록의 테스트 결과는 특정 방식으로 측정한 성능일 뿐 실제 앱 접속을 대신하지 않습니다. 구독에 여러 프로토콜이 있다면 우선 가져온 기본 설정을 사용하세요. 프로토콜과 전송 방식의 차이는 프로토콜 용어 빠르게 보기를 참고하세요.

v2rayN: 활성 서버로 지정하고 로그 확인

사용할 노드에서 마우스 오른쪽 버튼을 눌러 ‘활성 서버로 설정’ 또는 비슷한 항목을 선택하세요. 일부 버전에서는 노드를 두 번 클릭해도 됩니다. 메인 화면의 선택 표시나 상태 표시줄에서 해당 노드가 지정됐는지 확인하세요. v2rayN은 활성 서버를 바꾸면 실행 설정을 생성하고 코어를 시작하거나 다시 시작하는 경우가 많아 눈에 띄는 ‘연결’ 버튼이 따로 없을 수 있습니다. 안드로이드와 같은 버튼을 찾기보다 로그와 현재 서버 상태를 확인하세요.

로그 영역에서 설정을 읽지 못함, 포트 사용 중, 권한 부족, 코어 프로세스 종료 등의 메시지가 있는지 확인하세요. 시작 오류가 없다면 시스템 프록시가 계속 자동 설정 상태인지 확인합니다. 노드를 바꾸면 기존 연결이 끊길 수 있으므로 테스트할 때는 웹페이지를 새로 열거나 요청을 다시 보내세요. 이미 로드된 페이지를 보는 것만으로 판단하지 마세요. ‘LAN 연결 허용’은 켤 필요가 없습니다. 같은 기기의 브라우저라면 보통 루프백 주소를 사용하면 됩니다.

v2rayNG: 노드를 선택하고 VPN 권한 확인

사용할 노드를 눌러 선택 표시가 바뀌었는지 확인한 다음 메인 화면의 연결 버튼을 누르세요. 처음 실행하면 안드로이드 시스템에서 VPN 연결 요청이 표시됩니다. 현재 사용하는 v2rayNG에서 온 요청인지 확인한 뒤 권한을 승인하세요. 연결 버튼 상태가 바뀌고 시스템에 VPN 표시가 나타나면 로컬 트래픽 처리가 시작된 것입니다. 원격 노드가 실제로 작동하는지는 다음 단계의 접속 테스트로 확인해야 합니다.

다른 앱이 시스템 VPN을 사용 중이면 먼저 연결을 끊은 뒤 v2rayNG를 시작하세요. 일반적으로 같은 사용자 환경에서는 일반 VPN 서비스 두 개가 동시에 트래픽을 처리할 수 없습니다. 두 앱을 번갈아 자주 실행하면 연결되자마자 끊기는 문제가 생길 수 있습니다. 브라우저로 돌아온 직후 연결이 끊긴다면 안드로이드의 배터리 및 백그라운드 실행 제한을 확인하고 기기 설정에서 클라이언트의 백그라운드 실행을 허용하세요. 처음부터 모든 절전 옵션을 바꾸지 말고 실제로 백그라운드에서 연결이 끊기는 경우에만 조정하세요.

연결에 실패하면 먼저 오류가 발생한 지점을 확인하세요. 코어가 시작되지 않는다면 로컬 포트나 권한 문제부터 해결합니다. 코어는 시작되지만 요청 시간이 초과된다면 현재 네트워크와 노드의 사용 가능 여부를 확인하세요. 설정 항목을 지원하지 않는다는 로그가 있다면 선택한 코어와 노드 프로토콜이 호환되는지 점검합니다. 포트, 라우팅, DNS, 프로토콜을 한꺼번에 바꾸면 운 좋게 해결되더라도 원인을 파악하기 어렵습니다. 구체적인 오류는 문제 해결에서 확인하세요.

활성 노드가 올바르고 코어가 계속 오류 없이 실행되며 시스템 프록시나 VPN 진입점이 켜져 있으면 연결 준비가 끝난 것입니다. 이제 실제 앱으로 요청 경로를 확인하세요.

04 작동 확인: 앱 접속과 로그 비교

먼저 실제로 사용할 브라우저에서 대상 웹사이트를 열고, 일반적으로 접속할 수 있는 웹사이트도 하나 열어 비교하세요. 캐시, 연결 재사용, 백그라운드 사전 로드로 결과가 달라질 수 있으므로 기존 탭만 새로고침하지 마세요. 새 창에서 요청을 다시 보내고 같은 시간대에 클라이언트 로그를 확인할 수 있습니다. 웹페이지가 열리고 로그에 해당 요청이 표시되면 이번 앱 요청은 클라이언트에 도달한 것입니다. 원격 노드를 거쳤는지는 적용된 라우팅과 출구 표시를 함께 확인해야 합니다.

데스크톱: 로컬 SOCKS 연결을 따로 테스트

브라우저가 열리지 않으면 명령어로 ‘클라이언트 연결’과 ‘브라우저 시스템 프록시’를 나눠 확인하세요. 클라이언트 설정에서 SOCKS 리스닝 포트를 확인합니다. 아래 예시에서는 127.0.0.1:10808을 사용하므로 포트가 다르면 실제 값으로 바꾸세요. 명령어의 socks5h는 대상 도메인 처리를 프록시 측에 맡기므로 지정한 요청 경로를 점검하는 데 적합합니다. 터미널에 curl이 설치되어 있어야 하며, 브라우저가 시스템 프록시를 따르는지와는 무관합니다.

curl -x socks5h://127.0.0.1:10808 -I https://www.example.com

HTTP 응답 헤더가 반환되면 해당 대상에 보낸 명시적 SOCKS 요청이 응답을 받은 것입니다. 모든 앱이나 웹사이트가 정상이라는 뜻은 아니며 현재 라우팅이 반드시 원격 출구를 사용한다는 뜻도 아닙니다. 로컬 주소에 연결할 수 없다는 오류가 나오면 먼저 클라이언트가 실행 중인지, 포트가 일치하는지 확인하세요. Linux에서는 리스닝 상태를 확인해 로컬 포트가 열려 있는지 점검한 다음 클라이언트 로그에서 시작 오류를 찾을 수 있습니다.

ss -tlnp

출력에서 클라이언트가 실제로 사용하는 포트를 찾으세요. 권한 때문에 일부 프로세스 정보가 표시되지 않을 수 있으므로 프로세스 이름이 없다고 포트가 열려 있지 않은 것은 아닙니다. 명령어는 성공하지만 브라우저가 실패한다면 시스템 프록시 설정이 적용됐는지, 브라우저에 별도의 프록시 확장 프로그램이나 독립 네트워크 설정이 있는지 확인하세요. 일부 터미널 앱은 데스크톱 시스템 프록시를 따르지 않아 별도로 설정해야 합니다. 이런 앱의 실패만으로 클라이언트가 작동하지 않는다고 판단하지 마세요.

안드로이드: 대상 앱이 VPN을 사용하는지 확인

v2rayNG 연결을 유지한 채 브라우저로 전환해 대상 웹사이트에 다시 접속한 다음 클라이언트 로그를 확인하세요. 특정 앱만 실패하고 브라우저는 정상이라면 앱별 프록시가 켜져 있는지, 대상 앱이 제외 목록에 들어 있는지 확인하세요. 앱 자체의 네트워크 제한도 고려해야 합니다. 모든 앱이 실패하면 사용 가능한 것으로 확인된 다른 노드로 잠시 바꿔 테스트하세요. 그래도 달라지지 않으면 기기 시간과 기본 네트워크부터 확인하고 문제 해결 질문을 따라 항목별로 점검하세요. 바로 반복해서 재설치할 필요는 없습니다.

문제는 연결 경로에 따라 나눠 볼 수 있습니다. 로컬 포트 연결에 실패하면 실행 상태와 포트부터 확인하세요. SOCKS 요청은 성공하지만 브라우저가 실패하면 시스템 프록시를 점검합니다. 전역에서는 되지만 일상 라우팅에서는 실패하면 규칙과 DNS 해석을 확인하세요. 일부 앱만 실패하면 해당 앱의 설정을 살펴보세요. DNS를 자세히 설정하는 방법은 DNS 설정 섹션을 참고하세요. 한 번에 하나씩만 바꾸고 요청을 다시 보내 결과를 기록한 뒤 다음 조치를 결정하세요.

사용 마무리: 프록시 해제 후 연결 종료

데스크톱 사용을 마치기 전에 ‘시스템 프록시 해제’를 선택한 다음 v2rayN을 종료하세요. Linux 네트워크 프록시를 직접 바꿨다면 시스템 설정에서도 기존 방식으로 복구해야 합니다. 메인 창을 닫아도 트레이로 최소화될 뿐 실행이 계속될 수 있습니다. 반대로 코어가 멈췄는데 시스템 프록시가 여전히 로컬 포트를 가리키면 해당 설정을 따르는 앱이 인터넷에 연결되지 않을 수 있습니다. 안드로이드에서는 연결 끊기 버튼을 누르고 시스템 VPN 표시가 사라졌는지 확인하세요.

마지막으로 일반 웹사이트를 열어 네트워크 접속이 정상적으로 복구됐는지 확인하세요. 처음 설정을 마쳤다면 확인된 그룹, 노드, 라우팅 조합을 유지하고 일상적으로는 구독 업데이트와 활성 노드 선택부터 시작하면 됩니다. 새로운 문제가 생기면 4단계 중 해당하는 부분을 다시 확인하세요. 규칙 작성, TUN, 일상적인 유지 관리가 필요할 때는 전체 사용 설명서를 참고하세요. 처음 연결할 때 모든 기능을 한꺼번에 설정할 필요는 없습니다.