v2rayN 처음 설치부터 초기 설정까지: Windows/macOS 공통 사항과 자주 하는 실수

설치 파일 다운로드부터 첫 실행까지, Windows와 macOS에서 v2rayN을 처음 설정하는 방법을 단계별로 안내합니다. 실행 환경 준비, 코어 확인, 시작 프로그램 등록과 언어 변경, 초보자가 자주 겪는 문제까지 정리했습니다.

이 글의 핵심

이 글은 v2rayN을 처음 사용하는 분을 위한 안내서입니다. 시스템 구조, 실행 환경과 압축 해제 위치부터 시작해 코어 선택, 구독 가져오기, 시스템 프록시, 언어 및 시작 프로그램 설정을 진행하고, 마지막으로 클라이언트가 실제로 작동하는지 확인하는 순서까지 설명합니다.

다운로드 전에 시스템과 실행 환경 확인

시작하기 전에 기기의 운영체제와 프로세서 아키텍처를 확인하세요. Windows에서는 「설정」→「시스템」→「시스템 정보」를 열고 ‘시스템 종류’에서 x64 또는 ARM64인지 확인합니다. macOS에서는 왼쪽 상단 시스템 메뉴의 「이 Mac에 관하여」에서 Apple Silicon인지 Intel인지 확인하세요. 설치 파일의 아키텍처가 기기와 맞지 않으면 프로그램이 실행되지 않거나 코어를 호출하는 순간 종료될 수 있습니다.

v2rayN 7.x의 데스크톱 인터페이스는 .NET 8 실행 환경이 필요합니다. 다운로드 페이지에 실행 환경이 포함된 패키지와 별도 설치가 필요한 패키지가 함께 있다면, 초보자는 설명이 충분하고 현재 아키텍처에 맞는 데스크톱 패키지를 우선 선택하세요. 간소화 패키지를 고를 경우에는 해당 아키텍처의 .NET 8 Desktop Runtime을 먼저 설치해야 합니다. 여기서 필요한 것은 데스크톱 런타임이며, 일반 Runtime, ASP.NET Core Runtime과 Desktop Runtime을 혼동하지 마세요.

7.x
이 글에서 다루는 v2rayN 주 버전
.NET 8
데스크톱 실행 환경 기준
10808
일반적인 로컬 혼합 프록시 포트
2가지
일반적인 데스크톱 프로세서 아키텍처

압축 해제, 첫 실행과 코어 확인

다운로드가 끝나면 압축 파일 전체를 고정된 폴더에 해제하세요. Windows에서는 D:\Apps\v2rayN처럼 일반적인 경로를 사용할 수 있고, macOS에서는 현재 계정에 읽기 및 쓰기 권한이 있는 애플리케이션 폴더에 넣는 것이 좋습니다. 압축 파일 미리보기 창에서 직접 실행하지 마세요. 주 프로그램은 같은 폴더의 설정, 리소스와 코어 파일을 읽어야 합니다.

경로는 가능한 한 짧게 유지하고, 자주 동기화되거나 정리되거나 쓰기가 제한되는 위치는 피하세요. v2rayN은 구독 그룹, 서버 목록, 로그와 인터페이스 설정을 저장합니다. 폴더 권한이 부족하면 설정이 저장되지 않거나 업데이트 후 노드가 사라지고, 다음 실행 때 언어가 기본값으로 돌아가는 문제가 발생할 수 있습니다.

  1. 전체 압축 해제

    압축 파일을 고정된 폴더에 해제하고 주 프로그램, 설정 폴더와 코어 관련 파일이 모두 저장되었는지 확인하세요. 실행 파일 하나만 따로 복사해서는 안 됩니다.

  2. 첫 실행

    v2rayN을 실행하세요. Windows에서 네트워크 액세스 허용 메시지가 나타나면 실제 사용 범위에 맞춰서만 허용하고, macOS에서 실행 확인 창이 나타나면 앱 이름과 다운로드 출처를 확인한 뒤 계속 진행하세요.

  3. 코어 설정

    「설정」→「매개변수 설정」→「Core 유형」으로 이동해 노드 프로토콜에 맞는 Xray 또는 v2fly를 선택하고 저장한 뒤 메인 화면으로 돌아오세요.

  4. 로그 확인

    로그 영역을 열고 코어를 한 번 실행해 ‘파일을 찾을 수 없음’, ‘권한 부족’ 또는 포트 사용 중 메시지가 계속 나타나지 않는지 확인하세요.

  5. 재시작으로 검증

    클라이언트를 종료한 뒤 다시 실행하고 언어, Core 유형과 로컬 포트 설정이 그대로 유지되는지 확인하세요.

첫 실행 때 노드가 없다고 해서 설치에 실패한 것은 아닙니다. 주 프로그램은 서버, 구독, 라우팅과 시스템 프록시를 관리하고 실제 연결은 선택한 코어가 담당합니다. 이때 가장 중요한 점검은 웹페이지를 여는 것이 아니라 인터페이스 설정이 정상적으로 저장되는지, 코어가 시작되는지, 로컬 수신 포트에 충돌이 없는지 확인하는 것입니다.

Core 유형은 어떻게 선택하나요?

v2rayN은 그래픽 클라이언트이고, 코어는 노드 매개변수를 해석해 실제 트래픽을 처리합니다. Core 유형은 익숙한 이름이 아니라 노드 프로토콜과 전송 방식을 기준으로 선택해야 합니다. VLESS, VMess, Trojan 등의 일반적인 설정에서는 구독에 필요한 매개변수가 포함되는 경우가 많으므로, 사용자는 프로토콜과 코어의 지원 범위가 맞는지만 확인하면 됩니다.

일상적으로 VLESS, Reality, XTLS Vision 또는 최신 Xray 기능을 사용한다면 보통 Xray 코어를 선택합니다. 기존 VMess, WebSocket, TLS 설정이 중심이고 서버가 v2fly 기능을 기준으로 구성되었다면 v2fly 코어를 선택할 수 있습니다. 변경 후에는 코어를 다시 시작해야 하며, 기존 프로세스는 방금 변경한 Core 유형을 자동으로 적용하지 않습니다.

Xray 코어

권장

일반적인 VLESS, VMess, Trojan 설정을 지원하며 Reality, XTLS Vision 등 Xray 측 기능도 사용할 수 있습니다.

적합한 경우: 새 구독, VLESS 노드, 주로 사용하는 연결

v2fly 코어

v2fly 사양에 맞게 구성된 VMess, WebSocket, TLS 등 기존 설정에 적합합니다. 구체적인 기능은 코어 버전에 따라 달라집니다.

적합한 경우: 기존 VMess 노드, 서버에서 v2fly를 지정한 설정

구독에 여러 프로토콜이 섞여 있다면 특정 노드 하나가 작동하지 않는다는 이유로 전체 Core 유형을 반복해서 바꾸지 마세요. 먼저 해당 노드의 프로토콜, 전송 방식, 보안 유형과 구독 안내를 확인한 뒤 코어가 맞지 않는 것인지 노드 매개변수가 만료된 것인지 판단하세요. 구독으로 자동 가져온 설정은 UUID, 공개 키, 짧은 ID, SNI 또는 전송 경로를 임의로 수정하지 않는 것이 좋습니다.

구독 가져오기와 주요 매개변수 확인

설치가 끝나면 보통 구독을 가져와야 합니다. 서비스 제공자가 전달한 전체 구독 주소를 복사한 뒤 v2rayN의 구독 그룹 관리 메뉴에서 새 그룹을 만들고 주소를 붙여넣어 저장한 다음 구독 업데이트를 실행하세요. 메뉴 이름은 7.x 세부 버전에 따라 달라질 수 있지만 순서는 항상 ‘구독 그룹 생성, 주소 저장, 서버 목록 업데이트’입니다.

업데이트가 완료되면 메인 목록에 서버 이름, 주소, 포트, 프로토콜과 전송 방식이 표시됩니다. 먼저 노드 하나를 선택해 활성 서버로 지정한 뒤 지연 시간을 테스트하거나 연결을 시작하세요. 지연 시간 결과는 제한 시간 안에 테스트 요청이 응답했는지만 보여 줄 뿐, 웹 접속, DNS 해석과 라우팅 분할이 모두 정상이라는 뜻은 아닙니다.

VLESS + Reality

프로토콜
VLESS
전송
TCP
Flow
xtls-rprx-vision
보안
Reality
핑거프린트
chrome

공개 키, 짧은 ID, SNI 등의 필드는 구독에서 가져온 값을 서버 설정과 한 글자까지 일치시켜야 합니다.

VMess + WS + TLS

프로토콜
VMess
전송
WebSocket
경로
구독에서 제공
보안
TLS
포트
일반적으로 443

Host, 경로와 TLS 서버 이름은 경험에 따라 임의로 입력하지 말고 서버 설정과 일치시켜야 합니다.

노드를 하나씩 수동으로 추가할 때 가장 자주 틀리는 부분은 ‘서버 주소’, ‘TLS 서버 이름’과 ‘WebSocket Host’를 같은 항목으로 생각하는 것입니다. 일부 설정에서는 세 값이 같을 수도 있지만 완전히 다를 수도 있습니다. VLESS Reality에는 공개 키, 짧은 ID, 핑거프린트와 대상 서버 이름도 사용되며, 어느 한 글자라도 다르면 핸드셰이크가 실패할 수 있습니다.

시스템 프록시, 언어와 시작 프로그램 설정

노드를 시작한 뒤에는 애플리케이션 트래픽을 v2rayN으로 보낼 방법을 정해야 합니다. 시스템 프록시를 켜면 시스템 프록시 설정을 따르는 브라우저와 데스크톱 프로그램이 요청을 로컬 수신 포트로 보냅니다. 시스템 프록시를 읽지 않는 프로그램은 자동으로 클라이언트에 연결되지 않으므로 HTTP 또는 SOCKS 프록시를 별도로 설정하거나 클라이언트가 제공하는 다른 연결 방식이 필요합니다.

처음 검증할 때는 시스템 프록시를 사용하는 것이 좋습니다. 적용 범위가 비교적 명확하고 끄기도 쉽기 때문입니다. 웹 접속과 로그가 정상인지 확인한 후 라우팅 분할을 설정하세요. 처음부터 시스템 프록시, DNS, 라우팅 규칙과 앱 내 프록시를 동시에 바꾸면 문제가 발생했을 때 원인을 찾기 어렵습니다.

설정 항목 권장 값 이유 및 확인 방법
인터페이스 언어 익숙한 언어 선택 「설정」→「매개변수 설정」에서 변경하고 저장한 뒤 화면 안내에 따라 클라이언트를 다시 시작하세요.
시작 프로그램 등록 연결이 안정된 후 활성화 먼저 수동으로 한 번 실행하고 종료해 보세요. 잘못된 설정이 로그인할 때마다 자동으로 실행되는 일을 막을 수 있습니다.
로컬 포트 현재 사용 가능한 값 유지 일반적인 혼합 포트는 10808입니다. 이미 사용 중이라면 사용하지 않는 포트로 변경하고 앱 설정도 함께 업데이트하세요.
시스템 프록시 검증할 때 수동으로 활성화 클라이언트를 종료하기 전에 시스템 프록시를 원래 상태로 되돌리면 앱이 이미 닫힌 로컬 포트로 계속 요청을 보내는 일을 막을 수 있습니다.
로그 수준 평소에는 기본값 유지 문제 해결을 할 때만 로그 상세 수준을 높이고 완료 후에는 되돌리세요. 로그가 빠르게 늘어나는 것을 막을 수 있습니다.

Windows와 macOS는 시스템 프록시 메뉴와 권한 안내가 다르지만 확인 방법은 같습니다. 먼저 켜기 전 시스템 프록시 상태를 기록하고, v2rayN에서 프록시를 설정한 뒤 클라이언트를 종료하기 전에 원래 상태로 되돌리세요. 클라이언트가 비정상적으로 종료된 후 모든 웹페이지에 접속할 수 없다면 시스템 네트워크 설정에 127.0.0.1과 이전 포트를 가리키는 프록시가 남아 있는지 먼저 확인해야 합니다.

첫 연결은 어떤 순서로 확인하나요?

연결 검증은 클라이언트 내부에서 외부 방향으로 단계별 진행해야 합니다. 먼저 활성 서버를 확인하고, 다음으로 코어 프로세스와 로컬 수신 포트를 확인한 뒤 시스템 프록시, DNS와 대상 웹사이트를 점검하세요. 단순히 ‘웹페이지가 열리지 않는다’를 노드 문제로 단정하면 포트 충돌, 시스템 프록시 미활성화 또는 노드가 활성 서버로 지정되지 않은 문제를 놓치기 쉽습니다.

  1. 활성 노드 확인: 메인 화면에 현재 선택한 서버가 명확히 표시되어야 하며, 구독 목록에만 머물러 있어서는 안 됩니다.
  2. 코어 로그 확인: 시작 후 로컬 수신 정보가 나타나야 하며, 계속 재시작되거나 즉시 종료되어서는 안 됩니다.
  3. 포트 확인: 매개변수 설정의 포트가 로그와 일치해야 하며, 다른 앱에서 프록시를 수동으로 입력할 때도 같은 포트를 사용해야 합니다.
  4. 시스템 프록시 확인: 프록시가 활성화되어 있고 시스템 네트워크 설정이 이전 폴더에 남은 다른 포트를 가리키지 않는지 확인하세요.
  5. 접속 로그 확인: 테스트 페이지를 열 때 새 연결 기록이 나타나야 합니다. 기록이 전혀 없다면 트래픽이 클라이언트로 들어오지 않은 것입니다.
  6. 라우팅 결과 확인: 연결 기록은 있지만 대상에 도달하지 못한다면 분할 규칙, DNS와 노드 상태를 추가로 확인하세요.

기본 테스트에서는 먼저 유형이 다른 웹사이트 두 곳을 열어 로그에 각각 연결 기록이 생성되는지 확인하고, 시스템 프록시를 끈 뒤 접속 동작이 원래대로 돌아오는지도 확인하세요. 지연 시간 숫자만 믿어서는 안 됩니다. 특정 노드가 80ms 또는 200ms로 표시되어도 이는 해당 테스트의 참고값일 뿐이며, 실제 다운로드 속도는 회선 대역폭, 대상 서버, 피크 시간대 혼잡과 전송 방식의 영향을 받습니다.

라우팅 분할을 사용한다면 먼저 클라이언트 기본 규칙으로 테스트한 후 사용자 지정 도메인 또는 IP 규칙을 하나씩 추가하세요. 규칙은 보통 일치 조건에 따라 트래픽을 프록시, 직접 연결 또는 차단 출구로 보냅니다. 앞의 포괄적인 규칙이 먼저 일치하면 뒤의 정밀한 규칙은 실행될 기회를 얻지 못할 수 있습니다. 수정 후에는 연결을 한 번 새로 만들고 로그의 대상 주소와 출구 결과를 확인하세요.

첫 설치 시 자주 발생하는 문제와 해결 방법

더블클릭해도 화면이 나타나지 않으면 무엇부터 확인해야 하나요?

먼저 압축 파일 전체가 해제되었는지, 시스템 아키텍처와 다운로드한 패키지가 일치하는지, .NET 8 Desktop Runtime이 설치되어 있는지 확인하세요. 그런 다음 시스템에 권한 또는 보안 확인 메시지가 표시되었는지 살펴보고, 현재 계정에 읽기 및 쓰기 권한이 있는 짧은 경로로 프로그램을 옮겨 실행해 보세요.

구독 업데이트는 성공했는데 서버 목록이 비어 있는 이유는 무엇인가요?

먼저 방금 만든 구독 그룹을 업데이트했는지 확인한 다음 작업 로그의 HTTP 상태와 파싱 메시지를 살펴보세요. 구독 주소가 완전하지 않거나 만료되었거나, 지원되는 구독 형식이 아닌 내용이 반환되면 목록이 비어 있을 수 있습니다. 클라이언트를 반복해서 재설치하는 것으로 구독 확인을 대신하지 마세요.

노드 테스트에는 지연 시간이 표시되는데 웹페이지가 열리지 않으면 어떻게 하나요?

해당 노드가 활성 서버로 지정되었는지, 시스템 프록시가 켜져 있는지 확인하고 웹페이지를 열 때 새 로그가 생성되는지 살펴보세요. 접속 기록이 없다면 트래픽이 v2rayN으로 들어오지 않은 것입니다. 기록은 있지만 연결 시간이 초과된다면 노드 매개변수, Core 유형, DNS와 라우팅 출구를 확인하세요.

v2rayN을 종료한 뒤 모든 웹페이지에 접속할 수 없으면 어떻게 하나요?

시스템 네트워크 설정에서 여전히 127.0.0.1을 가리키는 HTTP, HTTPS 또는 SOCKS 프록시를 끄세요. 클라이언트를 종료하면 로컬 포트가 더 이상 수신하지 않으므로, 남아 있는 시스템 프록시는 요청을 사용할 수 없는 포트로 계속 보냅니다.

언어나 설정이 재시작 후 기본값으로 돌아가는 이유는 무엇인가요?

프로그램 폴더에 쓰기 권한이 없거나, 임시 압축 해제 위치에서 실행 중이거나, 여러 v2rayN 폴더를 번갈아 실행하는 것이 일반적인 원인입니다. 고정 폴더 하나만 사용하고 설정을 완료한 뒤 정상적으로 한 번 종료한 다음 같은 폴더에서 다시 시작해 확인하세요.

문제를 해결할 때는 한 번에 한 항목만 변경하세요. 포트 충돌이 의심된다면 먼저 로컬 포트만 바꾸고 코어를 다시 시작하세요. 동시에 노드, Core 유형과 라우팅 규칙까지 변경하지 마세요. 변경할 때마다 관련 로그를 남겨야 결과가 개선되었는지, 변화가 없는지 또는 새로운 오류가 생겼는지 판단할 수 있습니다.

처음부터 다시 시작해야 한다면 먼저 정상적으로 작동하는 구독과 사용자 지정 규칙을 내보내거나 기록한 뒤 시스템 프록시를 끄고 클라이언트를 종료하세요. 압축 파일을 다시 해제한다고 모든 문제가 해결되는 것은 아닙니다. 구독 자체의 만료, 서버 매개변수 변경, 부정확한 시스템 시간이나 네트워크 제한은 새 폴더에서도 그대로 재현될 수 있습니다.

v2rayN 다운로드