DESKTOP
v2rayN 데스크톱 버전
먼저 시스템 프록시를 활성화한 다음 확인하기 쉬운 라우팅 모드를 선택합니다. 브라우저처럼 시스템 프록시를 읽는 프로그램의 요청이 클라이언트로 전달됩니다.
QUICK CONFIGURATION
이 가이드는 처음 사용할 때 필요한 구독 가져오기, 프록시 모드 선택, 연결, 클라이언트 경유 여부 확인의 네 가지 작업만 다룹니다. 순서대로 진행하면 보통 10분 안에 기본 설정을 마칠 수 있습니다.
BEFORE STARTING
설정을 시작하기 전에 기기에 해당 클라이언트가 설치되어 있는지 확인합니다. 데스크톱에서는 v2rayN을, 안드로이드에서는 v2rayNG를 사용합니다. 아직 설치하지 않았다면 클라이언트 다운로드 페이지에서 기기 플랫폼과 프로세서 아키텍처에 맞는 버전을 선택합니다. 설치가 끝나면 클라이언트를 한 번 실행해 기본 폴더와 실행 구성 요소를 초기화한 뒤 구독을 가져옵니다.
완전한 구독 주소도 준비해야 합니다. 구독 주소는 보통 https://로 시작하는 링크이며, 개별 VMess, VLESS, Trojan 또는 Shadowsocks 공유 링크와는 용도가 다릅니다. 구독 주소는 여러 서버 설정을 한꺼번에 가져오고, 단일 노드 공유 링크는 하나의 설정만 포함합니다. 복사할 때는 첫 글자부터 마지막 글자까지 선택하고, 메신저가 자동으로 붙인 제목·공백·문장 부호는 포함하지 않습니다.
마지막으로 기기의 날짜, 시간, 시간대를 확인합니다. TLS 연결은 시스템 시간으로 인증서 유효 기간을 판단하므로 시간이 크게 어긋나면 구독과 노드 설정이 정확해도 핸드셰이크 실패나 인증서 시간 오류가 발생할 수 있습니다. 먼저 시스템의 자동 시간 설정을 켠 다음 클라이언트를 완전히 종료했다가 다시 실행하는 것이 좋습니다. 여기서는 기본 사항만 확인하며, 인증서·SNI·DNS 관련 문제는 문제 해결 문서에서 증상별로 계속 점검할 수 있습니다.
SUBSCRIPTION INPUT
데스크톱에서 v2rayN을 연 뒤 기본 창 상단 메뉴에서 “구독 그룹” 또는 비슷한 이름의 구독 관리 메뉴를 찾아 새 구독을 추가합니다. 구독을 쉽게 구분할 수 있도록 “일상 설정”이나 서비스 제공처 이름 같은 메모를 입력하고, 복사한 전체 주소를 구독 주소 입력란에 붙여 넣습니다. 저장하기 전에 입력란의 앞뒤를 확인해 따옴표, 설명 문구, 줄바꿈이 함께 들어가지 않았는지 점검합니다.
구독 기록을 저장했다고 서버 설정까지 가져온 것은 아닙니다. 구독 메뉴로 돌아가 “모든 구독 업데이트”를 실행하거나 현재 그룹만 업데이트합니다. 업데이트 중에는 버튼을 연속으로 누르지 않습니다. 클라이언트가 먼저 구독 내용을 요청한 다음 노드를 해석해 목록에 기록하기 때문입니다. 완료되면 기본 창의 서버 영역에 하나 이상의 설정 항목이 나타나며, 보통 별칭·주소·포트·전송 방식 등을 확인할 수 있습니다. 이 단계에서는 목록이 생성되었는지만 확인하고 노드 내부 매개변수는 바로 수정하지 않습니다.
안드로이드에서 v2rayNG를 연 뒤 구독 설정으로 이동해 추가 버튼을 누르고 메모와 구독 주소를 입력합니다. 저장 후 기본 화면으로 돌아와 오른쪽 상단 메뉴에서 구독 업데이트를 실행합니다. 업데이트가 끝나면 설정 목록에 서버 항목이 표시됩니다. 기본 화면이 계속 비어 있다면 구독 설정으로 다시 들어가 방금 추가한 기록이 활성화되어 있는지 확인한 뒤 한 번 더 업데이트합니다. 일부 버전에서는 업데이트 메뉴가 원형 새로 고침 아이콘으로 표시되지만, 저장된 구독 주소에서 설정을 다시 읽는 기능은 같습니다.
vmess://, vless://, trojan:// 또는 ss://로 시작하는 공유 링크 하나만 있다면 “클립보드에서 가져오기” 또는 “설정 가져오기” 메뉴를 사용해야 하며, 구독 주소 입력란에 붙여 넣으면 안 됩니다. 가져온 뒤 목록에는 보통 설정 하나만 추가됩니다. QR 코드도 단일 설정을 가져오는 방식으로 기기 간 노드 전송에 적합하지만, 자동으로 업데이트되는 구독 그룹을 만들지는 않습니다.
서버 목록이 표시되어도 모든 노드를 바로 테스트할 필요는 없습니다. 구독 업데이트는 클라이언트가 설정을 성공적으로 읽고 해석했다는 뜻일 뿐, 현재 시스템 트래픽이 이미 클라이언트로 전달된다는 의미는 아닙니다. 다음 단계에서 프록시 적용 범위를 정해야 합니다. 그렇지 않으면 클라이언트는 실행 중으로 표시되지만 브라우저나 다른 프로그램은 계속 직접 연결할 수 있습니다.
완료 기준: 구독 기록을 저장하고 업데이트한 뒤 기본 화면에 선택 가능한 서버 설정이 표시됩니다.
TRAFFIC SCOPE
프록시 모드는 클라이언트가 처리할 요청을 결정하며, 처음 설정할 때 가장 혼동하기 쉬운 부분입니다. 데스크톱에는 보통 “시스템 프록시 상태”와 “라우팅 모드”라는 두 계층의 설정이 있습니다. 시스템 프록시는 시스템 프록시를 지원하는 프로그램에 요청을 v2rayN으로 보내도록 알리고, 라우팅 모드는 해당 요청이 클라이언트에 들어온 뒤 프록시로 보낼지, 직접 연결할지, 규칙에 따라 처리할지를 결정합니다. 두 설정의 역할은 다르므로 각각 확인해야 합니다.
처음 확인할 때는 v2rayN 시스템 트레이 메뉴에서 “시스템 프록시 자동 설정” 또는 현재 버전에서 같은 의미를 가진 항목을 선택하는 것이 좋습니다. 활성화하면 Windows 또는 macOS의 시스템 프록시가 클라이언트의 로컬 수신 포트를 가리키며, 일반적인 브라우저와 시스템 설정을 읽는 앱이 트래픽을 v2rayN으로 보냅니다. “시스템 프록시 변경 안 함”을 선택하면 클라이언트는 백그라운드에서 실행되지만 다른 프로그램이 자동으로 이를 사용하지는 않습니다. 이 방식은 포트를 직접 설정했거나 다른 트래픽 처리 방식을 사용하는 경우에 적합합니다.
다음으로 라우팅 모드를 확인합니다. 첫 검증에서는 변수를 줄이기 위해 클라이언트가 제공하는 전역 모드 계열을 사용해 노드 연결을 확인한 뒤 규칙 기반 분할 모드로 돌아가는 것이 좋습니다. 전역 모드 계열은 더 많은 요청을 선택한 노드로 보내 기본 경로가 작동하는지 판단하기 쉽습니다. 규칙 모드는 도메인·IP·프로토콜·사전 설정 규칙에 따라 출구를 결정하므로 일상적인 사용에 더 적합합니다. 처음부터 복잡한 규칙을 점검하면 문제가 노드·DNS·규칙 우선순위 중 어디에서 발생했는지 빠르게 구분하기 어렵습니다.
안드로이드에서는 처리 방식이 다릅니다. v2rayNG가 연결을 시작하면 시스템 VpnService 권한을 요청하고, 권한을 받은 뒤 시스템이 기기 트래픽을 클라이언트로 전달합니다. 처음 연결 요청이 표시되면 허용해야 합니다. 거부해도 설정은 목록에 정상적으로 저장되지만 연결은 수립되지 않습니다. 앱별 프록시를 사용한다면 현재 설정이 “선택한 앱만 프록시”인지 “선택한 앱 우회”인지 확인하고, 테스트할 브라우저가 올바른 범위에 포함되어 있는지도 점검합니다.
앱별 프록시는 기본 연결을 확인한 뒤 설정하는 것이 좋습니다. 처음에는 전체 기기 트래픽을 처리하는 기본 범위를 유지해야 결과를 판단하기 쉽습니다. 연결이 정상임을 확인한 뒤 필요에 따라 앱 범위를 제한합니다. 데스크톱의 TUN 모드는 시스템 프록시를 읽지 않는 프로그램도 처리할 수 있지만 가상 네트워크 인터페이스, 권한, DNS 처리까지 관련되므로 이 페이지의 기본 단계에는 포함하지 않습니다. 터미널 도구나 특수 앱까지 처리해야 한다면 체계적인 문제 해결로 이동해 계속 확인하세요.
DESKTOP
먼저 시스템 프록시를 활성화한 다음 확인하기 쉬운 라우팅 모드를 선택합니다. 브라우저처럼 시스템 프록시를 읽는 프로그램의 요청이 클라이언트로 전달됩니다.
ANDROID
연결을 시작할 때 VpnService 권한을 허용하고 앱별 프록시 범위를 확인합니다. 시스템 상태 표시줄에 연결 표시가 나타난 뒤 다음 단계로 진행합니다.
완료 기준: 데스크톱에서는 시스템 프록시와 라우팅 모드를 설정했고, 안드로이드에서는 처리 범위를 정한 뒤 연결 시 시스템 권한을 허용할 준비가 되었습니다.
ACTIVE CONNECTION
서버 목록으로 돌아가 구독 그룹에서 설정 하나를 선택합니다. 데스크톱에서는 서버 항목을 두 번 클릭하거나 마우스 오른쪽 버튼 메뉴에서 활성 서버로 지정할 수 있으며, 버전에 따라 Enter 키로 확정할 수도 있습니다. 선택한 항목에는 색상·강조 표시·체크 표시·활성 표시 등이 나타납니다. 하나만 선택하면 되며 여러 노드를 동시에 편집할 필요는 없습니다. 또한 “속도 측정 결과”를 유일한 판단 기준으로 삼지 마세요. 테스트 방식과 실제 앱 트래픽은 완전히 같지 않습니다.
활성 서버를 확인한 뒤 v2rayN의 시스템 트레이 상태를 살펴봅니다. 앞 단계에서 시스템 프록시를 활성화했다면 서버 선택 후 클라이언트가 해당 코어를 시작하는 경우가 많습니다. 일부 버전은 별도의 시작 또는 서비스 재시작 메뉴도 제공합니다. 기본 창 하단의 로그 영역을 열면 정상 시작 시 설정 로드, 로컬 수신 포트 생성, 코어 실행 등의 정보가 표시됩니다. 로그를 한 줄씩 해석할 필요는 없으며, 시작 실패·포트 사용 중·설정 파싱 오류가 계속 반복되지 않는지만 확인하면 됩니다.
로그에 로컬 포트가 이미 사용 중이라고 표시되면 다른 프로그램이나 클라이언트 인스턴스가 같은 포트를 수신하고 있다는 뜻입니다. 중복 실행된 v2rayN 창과 유사한 네트워크 도구를 먼저 종료한 뒤 현재 클라이언트를 다시 시작합니다. 용도를 모르는 상태에서 여러 포트를 연달아 변경하지 마세요. 시스템 프록시가 이전 포트를 계속 가리켜 “코어는 실행 중이지만 앱은 연결되지 않는” 불일치가 생길 수 있습니다. 포트를 변경해야 한다면 클라이언트의 수신 포트와 시스템 프록시 대상 포트를 함께 확인합니다.
안드로이드에서는 설정 목록에서 노드 하나를 눌러 현재 설정으로 지정한 다음 기본 화면의 연결 버튼을 누릅니다. 처음 연결할 때 시스템 권한 대화상자가 표시되므로 허용한 뒤 상태가 바뀔 때까지 기다립니다. 연결 버튼·상태 문구·시스템 상태 표시줄에 VpnService 연결이 설정되었다는 표시가 나타나며, 이때 v2rayNG가 코어를 시작하고 선택한 설정을 불러옵니다. 버튼이 잠시 바뀌었다가 바로 연결 해제로 돌아가면 노드를 계속 바꾸지 말고 로그를 열어 처음으로 명확하게 표시된 오류를 확인합니다.
연결 과정의 문제는 클라이언트가 정상적으로 시작되었는지와 원격 경로가 연결되는지의 두 층으로 나눌 수 있습니다. 전자는 설정 파싱, 로컬 포트, 시스템 권한을 주로 확인하고, 후자는 서버 주소·포트·프로토콜 매개변수·TLS·네트워크 접근성을 확인합니다. 코어가 정상 실행되는지 먼저 확인해야 브라우저 검증도 의미가 있습니다. 모든 노드에서 같은 시작 오류가 발생하면 로컬 설정을 우선 점검하고, 클라이언트는 정상 실행되지만 특정 노드만 시간 초과가 발생하면 같은 구독의 다른 노드와 비교합니다.
완료 기준: 대상 노드가 활성 설정으로 지정되고 클라이언트가 연결 상태를 유지하며, 로그에 로컬 시작 오류가 계속 나타나지 않습니다.
REQUEST VERIFICATION
연결 버튼이 실행 중으로 표시되어도 모든 앱의 트래픽이 클라이언트를 거친다는 뜻은 아닙니다. 확인할 때는 기존 테스트 페이지를 닫고 새 브라우저 창에서 평소 안정적으로 열리는 웹페이지에 접속합니다. 페이지가 로드되는 동안 클라이언트 로그를 확인합니다. 새로운 연결 기록·대상 도메인·출구 정보가 나타나면 브라우저 요청이 클라이언트로 들어온 것입니다. 페이지는 정상적으로 열리는데 로그가 전혀 변하지 않는다면 먼저 프록시 모드 단계로 돌아가 시스템 프록시나 앱별 범위를 확인합니다.
데스크톱에서는 한 번의 켜기·끄기 비교를 진행할 수 있습니다. 같은 브라우저 페이지를 유지한 채 v2rayN에서 시스템 프록시를 해제하고 새로 고침해 페이지 상태를 기록한 다음, 시스템 프록시 자동 설정을 다시 활성화하고 새로 고침합니다. 두 작업 사이에 노드·라우팅 모드·DNS 설정을 함께 바꾸지 않아야 어떤 변화가 결과를 만들었는지 판단할 수 있습니다. 시스템 프록시를 켠 뒤 로그에 요청이 나타나고 끄면 더 이상 늘지 않는다면 브라우저가 시스템 프록시 설정을 정상적으로 읽는 것입니다.
안드로이드에서는 연결된 상태로 브라우저를 열어 접속하면서 v2rayNG의 로그를 확인합니다. “선택한 앱만 프록시”를 사용한다면 현재 브라우저가 선택되어 있는지 확인합니다. “선택한 앱 우회”를 사용한다면 브라우저가 우회 목록에 포함되지 않았는지 확인합니다. 일부 앱은 기존 연결을 유지하므로 앱별 범위를 변경한 뒤에는 테스트 앱을 완전히 종료하고 다시 열어 새 네트워크 연결을 만들어야 합니다.
실패 유형도 관찰할 수 있습니다. 웹페이지가 즉시 연결할 수 없다고 표시되고 로그에 로컬 요청만 있으며 원격 응답이 없다면 노드에 접근할 수 없거나 매개변수가 맞지 않을 수 있습니다. 페이지가 해석 단계에서 오래 멈춘다면 DNS를 추가로 확인해야 합니다. 브라우저만 작동하고 터미널 명령은 작동하지 않는다면 터미널이 시스템 프록시 환경을 읽지 않는 경우가 많습니다. 모든 현상을 노드 문제로 단정하지 말고 “요청이 클라이언트에 들어왔는가”를 기준으로 계속 점검합니다.
확인이 끝나면 라우팅 모드를 일상 사용에 적합한 규칙 모드로 바꾼 뒤 브라우저 테스트를 다시 진행할 수 있습니다. 규칙 모드에서는 대상에 따라 프록시 또는 직접 연결이 사용되며, 이는 라우팅 규칙이 작동한 결과입니다. 특정 웹사이트가 전역 모드 계열에서는 열리지만 규칙 모드에서 실패한다면 구독을 다시 가져오기보다 규칙 일치 순서와 대상 출구를 확인해야 합니다. 라우팅 규칙·DNS 분할·TUN 처리에 대한 전체 점검 과정은 문제 해결 종합 가이드에 정리되어 있습니다.
완료 기준: 테스트 요청이 클라이언트에 들어오고 웹페이지 결과와 로그 변화가 일치하며, 프록시 상태를 전환했을 때 설명 가능한 비교 결과를 얻을 수 있습니다.
AFTER CONFIGURATION
기본 연결을 확인한 뒤에는 현재 작동하는 설정을 우선 보존하고 노드 내부 매개변수를 바로 변경하지 않습니다. 구독의 서버 정보는 제공처가 통합 관리하므로 주소·포트·사용자 식별자·전송 매개변수를 수동으로 수정하면 다음 구독 업데이트에서 변경 사항이 덮어써지거나 해당 노드가 구독 내용과 달라질 수 있습니다. 일상적인 작업은 구독 업데이트, 활성 노드 선택, 라우팅 모드 조정을 중심으로 진행합니다.
두 번째 확인 항목은 구독 업데이트 주기입니다. 설정을 새로 고쳐야 할 때는 구독 메뉴에서 직접 업데이트하면 되며, 클라이언트를 실행할 때마다 같은 주소를 다시 추가할 필요는 없습니다. 업데이트 후 서버 목록이 바뀌었다면 현재 활성 노드가 여전히 존재하는지 다시 확인합니다. 구독 업데이트가 실패하거나 빈 내용·형식 오류가 반환되면 기존 목록을 유지한 채 점검을 계속해, 아직 사용할 수 있는 설정을 삭제하지 않도록 합니다.
세 번째 확인 항목은 앱 적용 범위입니다. 데스크톱 브라우저가 정상적으로 작동한다고 해서 모든 터미널 도구가 시스템 프록시를 읽는 것은 아닙니다. 안드로이드에서 앱별 프록시를 활성화하면 해당 범위에 속한 앱만 클라이언트를 사용합니다. “한 프로그램은 되는데 다른 프로그램은 안 된다”면 노드 품질을 바로 판단하기보다 두 프로그램의 프록시 처리 방식을 먼저 비교합니다. 자주 발생하는 상황과 해결 메뉴는 자주 묻는 질문에서 빠르게 찾을 수 있습니다.