처음 설치한다면 먼저 Windows 아키텍처를 확인하고 Desktop 또는 WPF 배포판을 선택하세요. 압축 파일을 모두 풀고 런타임 안내를 해결한 뒤 구독을 가져오고 서버를 선택해 시스템 프록시를 켠 다음 실제 접속을 확인하면 됩니다. 처음 사용하는 분이나 업데이트 후 실행되지 않는 분을 위해 화면, 코어, 로컬 리스너, 시스템 프록시를 구분해 설명합니다. 서로 다른 문제를 같은 원인으로 오해하지 않도록 각 단계별 점검 방법도 정리했습니다.
먼저 배포판 선택: WPF와 Desktop의 차이
WPF는 Windows UI 기술이며, v2rayN WPF 버전은 기존 데스크톱 방식의 조작 환경을 유지합니다. Desktop 버전은 크로스 플랫폼 UI를 사용합니다. 두 버전의 차이는 기본적으로 UI와 배포 형태에 있으며, 프록시 프로토콜이 다른 것도 아니고 어느 한쪽의 속도가 더 빠르다고 단정할 수도 없습니다. 같은 서버를 사용해도 실제 성능은 코어, 라우팅, 전송 설정과 네트워크 환경에 따라 달라집니다.
Desktop 버전
추천v2rayN을 처음 사용하거나 크로스 플랫폼 UI를 선호한다면 우선 고려해 보세요. 다운로드 전 해당 배포판이 지원하는 Windows 버전, 프로세서 아키텍처와 종속성 안내를 확인해야 합니다. 이름에 Desktop이 포함됐다는 이유만으로 호환성을 판단하지 마세요.
추천 대상: 처음 설치하거나 크로스 플랫폼 UI에 익숙한 사용자
WPF 버전
기존 Windows UI를 유지하므로 익숙한 조작 방식을 선호하는 사용자에게 적합합니다. WPF라고 해서 모든 구형 시스템에서 실행되는 것은 아닙니다. 최신 버전에 필요한 런타임과 시스템 요구 사항은 해당 배포판의 안내를 확인하세요.
추천 대상: 기존 UI에 익숙하고 안정적인 Windows 사용 환경을 갖춘 사용자
Windows에서 「설정」→「시스템」→「정보」를 열고 「시스템 종류」를 확인하세요. x64 시스템은 보통 x64 패키지를 선택하고, ARM64 장치는 해당 아키텍처용 패키지를 우선 선택합니다. 시스템이 64비트라고 해서 프로세서가 반드시 x64인 것은 아닙니다. 런타임 아키텍처와 클라이언트 아키텍처가 맞지 않는 패키지를 섞어 설치하지 마세요.
다운로드 및 압축 해제: 쓰기 가능한 프로그램 폴더 사용
클라이언트 다운로드 페이지에서 Windows용 항목을 선택하세요. 배포 파일은 설치 프로그램이나 압축 파일일 수 있으므로 실제 파일 형식에 맞게 진행해야 합니다. 설치 프로그램은 안내에 따라 설치하고, 압축 파일은 먼저 전체 압축을 푼 뒤 폴더 안의 실행 파일을 시작하세요. 압축 프로그램의 미리보기 창에서 파일을 바로 실행하지 마세요.
-
아키텍처 확인
Windows의 「설정」→「시스템」→「정보」에서 x64 또는 ARM64인지 확인한 다음 다운로드 페이지에 표시된 UI 유형과 아키텍처를 대조하세요. 아이콘이나 파일 크기만으로 판단하지 마세요.
-
압축 파일 전체 풀기
압축 파일을 마우스 오른쪽 버튼으로 클릭해 「모두 압축 풀기」를 선택하세요. 예를 들어 현재 사용자에게 쓰기 권한이 있는
D:\Tools\v2rayN에 저장하면 됩니다. 압축 파일 안의 하위 폴더를 모두 유지하고v2rayN.exe만 따로 복사하지 마세요. -
첫 실행
주 프로그램을 실행하세요. 런타임 설치 안내가 표시되면 프레임워크 이름, 주 버전과 아키텍처를 기록하고 프로그램을 종료한 뒤 안내에 맞는 종속성을 설치하세요. 설치가 끝나면 다시 실행합니다.
-
코어 확인
「설정」→「매개변수 설정」에서 현재 버전의 코어 관련 설정을 확인한 다음 연결을 시작하고 로그를 살펴보세요. 코어 프로그램을 찾을 수 없다는 메시지가 표시되면 패키지의 폴더가 모두 풀렸는지와 보안 프로그램의 격리 기록을 확인하세요.
-
작업 폴더 유지
설정이 정상적으로 저장되는지 확인한 뒤 바로가기를 만드세요. 업그레이드 전에는 기존 프로세스를 종료하고 설정을 백업하세요. 새 버전은 별도 폴더에서 먼저 테스트하고, 여러 버전의 프로그램 파일과 코어 파일을 한 폴더에 섞어 두지 마세요.
설정 파일을 저장해야 하는 포터블 폴더는 보호된 시스템 디렉터리에 두지 않는 것이 좋습니다. 일반적인 시스템 프록시 설정에는 관리자 권한이 필요하지 않습니다. 문제가 생길 때마다 관리자 권한으로 실행하면 누락된 파일은 해결되지 않고 폴더 권한 문제만 가려질 수 있습니다. TUN 등 특정 기능에 권한이 필요한 경우에는 프로그램 안내에 따라 처리하세요.
런타임 종속성: 오류 메시지에 맞춰 설치하고 버전을 짐작하지 않기
“.NET이 설치되어 있음”만으로 필요한 종속성이 모두 갖춰졌다고 볼 수는 없습니다. 프레임워크 종속형 배포판은 특정 런타임 계열을 요구할 수 있습니다. 자체 포함형 배포판은 보통 필요한 런타임을 함께 제공하지만, 운영체제와 네이티브 구성 요소 요구 사항은 여전히 적용됩니다. 자체 포함 여부는 배포 안내에서 확인하고 파일 확장자로 추측하지 마세요.
| 메시지 또는 증상 | 먼저 확인할 항목 | 해결 방법 |
|---|---|---|
| .NET 설치 또는 업데이트 안내 | 안내에 표시된 프레임워크 이름, 주 버전, 아키텍처 | Microsoft 공식 배포 채널에서 호환되는 런타임을 설치하세요. 일반적인 프로그램 실행에는 SDK가 필요하지 않습니다. |
| Microsoft.WindowsDesktop.App 누락 | 일반 .NET Runtime만 설치했는지 여부 | 안내에 따라 해당 Windows Desktop Runtime을 설치하고 x64 또는 ARM64 아키텍처가 맞는지 확인하세요. |
| 특정 DLL이 없다는 안내 | 압축 해제 상태, 격리 기록, 구체적인 파일 이름 | 배포 파일 전체를 다시 받아 종속성을 확인하세요. 임의의 다운로드 사이트에서 DLL만 따로 받아 끼워 넣지 마세요. |
| 창이 잠깐 나타났다가 사라짐 | 이전 프로세스 잔류 여부, 시스템 호환성, 실행 로그 | 새 폴더에서 전체 패키지를 먼저 테스트하고 로그나 Windows 이벤트 기록을 바탕으로 원인을 찾으세요. |
| UI는 열리지만 코어 시작 실패 | 코어 파일 경로, 리스닝 포트, 설정 생성 결과 | 코어 단계의 오류를 해결하세요. UI가 열린다고 프록시 연결까지 완료된 것은 아닙니다. |
서로 다른 .NET 주 버전은 함께 설치할 수 있지만, 최신 주 버전을 설치해도 구버전 요구 사항이 자동으로 충족되는 것은 아닙니다. WPF가 데스크톱 런타임에 의존하는 경우에는 Windows Desktop Runtime과 일반 .NET Runtime을 구분해야 합니다. 오래된 안내에 나온 특정 런타임을 무조건 설치하지 말고, 실행 메시지의 요구 사항을 하나씩 확인하세요.
첫 구독 가져오기: 목록을 업데이트한 다음 활성 서버 설정
주 프로그램이 실행되는 것을 확인한 뒤 구독을 설정하세요. 구독 주소는 여러 서버 설정을 가져오고 업데이트하는 데 사용합니다. vmess://, vless:// 등의 공유 링크는 보통 단일 노드를 나타냅니다. 단일 노드 링크를 구독 주소 입력란에 붙여넣는 것은 클립보드에서 노드를 가져오는 것과 다릅니다.
- 그룹 만들기:「구독 그룹」→「구독 그룹 설정」을 열고 그룹을 추가한 뒤 알아보기 쉬운 이름을 입력하세요. 주소 입력란에 전체 구독 주소를 붙여넣고 저장합니다.
- 노드 가져오기:주 화면으로 돌아가 「구독 그룹」 메뉴에서 해당 구독 업데이트 기능을 실행하세요. 버전에 따라 현재 그룹 업데이트, 모든 그룹 업데이트, 프록시를 통한 업데이트 옵션이 따로 있을 수 있습니다. 실제 메뉴에 표시된 문구를 기준으로 선택하세요.
- 결과 확인:그룹에 노드가 표시되는지 확인하고 로그에서 네트워크 오류, 인증 실패 또는 지원되지 않는 형식에 관한 메시지가 있는지 살펴보세요. 그룹 이름이 보인다고 해서 구독 내용까지 정상적으로 다운로드된 것은 아닙니다.
- 서버 선택:목록에서 대상 노드를 마우스 오른쪽 버튼으로 클릭하고 「활성 서버로 설정」을 선택하세요. 현재 상태가 선택한 노드와 일치하는지 확인한 다음 실제 연결을 테스트합니다.
처음 설치할 때 아직 사용할 수 있는 프록시가 없다면 “프록시를 통해 업데이트”를 무조건 선택하지 마세요. 직접 연결로 구독 주소에 접속할 수 없다면 주소가 유효한지, 현재 네트워크에서 접근이 허용되는지 먼저 확인한 뒤 사용할 수 있는 기존 연결로 업데이트하세요. 반대로 정상 작동하는 프록시가 이미 있다면 특정 안내를 따라야 한다는 이유만으로 직접 연결로 바꿀 필요는 없습니다.
구독은 정상적으로 가져왔지만 연결에 실패하면 서비스 만료 여부, 기기 시간이 정확한지, 노드 매개변수가 모두 있는지 확인하세요. VMess와 VLESS는 프로토콜 이름이고 구독은 설정을 배포하는 방식입니다. 구독을 가져온다고 서버와 클라이언트 간 설정 불일치가 자동으로 해결되지는 않습니다.
시스템 프록시와 로컬 포트: 실행 중인 코어로 트래픽 전달
먼저 코어가 실행 중인지 확인한 다음 v2rayN의 「시스템 프록시」 메뉴에서 「시스템 프록시 자동 설정」을 선택하세요. Windows의 「설정」→「네트워크 및 인터넷」→「프록시」에서 시스템 프록시 상태를 다시 확인할 수 있습니다. 시스템 프록시는 해당 설정을 따르는 앱에만 적용되며 모든 프로세스의 트래픽을 처리하는 것은 아닙니다.
아래 두 카드는 문제 해결을 위한 설정 예시이며 모든 버전의 기본값은 아닙니다. 「설정」→「매개변수 설정」에서 실제 리스닝 포트와 인바운드 유형을 확인하세요. 해당 포트가 HTTP 또는 혼합 프록시를 지원하는 경우에만 아래 HTTP 테스트 명령을 그대로 사용할 수 있습니다. 오래된 안내의 포트를 복사해 현재 시스템의 실제 포트라고 가정하지 마세요.
클라이언트 리스너 예시
- 리스닝 주소
127.0.0.1- 로컬 포트
10808- 인바운드 유형
- HTTP 또는 혼합 인바운드
- LAN 접속
- 사용 안 함
이 컴퓨터에서만 사용할 경우 루프백 리스너를 유지해 실수로 LAN에 프록시를 공개하지 않도록 하세요.
시스템 프록시 확인 항목
- 프록시 주소
127.0.0.1- 프록시 포트
- 실제 HTTP 인바운드와 일치
- 코어 상태
- 정상적으로 시작됨
- 서버 상태
- 활성 서버 설정됨
시스템 프록시는 트래픽이 들어오는 지점일 뿐입니다. 들어온 트래픽을 프록시, 직접 연결 또는 차단 중 무엇으로 처리할지는 라우팅 규칙이 결정합니다.
로컬 포트가 이미 사용 중이면 코어가 시작되지 않아도 Windows에 기존 프록시 주소가 남아 있을 수 있습니다. 이 경우 브라우저는 정상적으로 리스닝하지 않는 포트로 요청을 보내므로 인터넷 전체가 끊긴 것처럼 보일 수 있습니다. 포트를 변경한 뒤에는 시스템 프록시도 함께 업데이트하고, 앱 내부에 수동으로 설정한 프록시가 이전 포트를 가리키지 않는지 확인하세요.
연결 확인: 리스너, 프록시, 라우팅 순서로 점검
먼저 로컬 포트를 확인하고, 이어서 프록시를 통한 요청을 점검한 다음 실제 앱에서 테스트하세요. 아래 명령은 HTTP 프록시가 127.0.0.1:10808에서 리스닝 중임을 확인했다고 가정하며 PowerShell에서 실행합니다. 실제 설정이 다르면 포트를 먼저 바꾸세요. 요청 대상은 예시일 뿐이며, 한 웹사이트의 결과로 모든 사이트에 접속할 수 있는지 판단할 수는 없습니다.
Get-NetTCPConnection -LocalPort 10808 -State Listen
Test-NetConnection 127.0.0.1 -Port 10808
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://www.microsoft.com/
- 리스닝 기록이 없음:코어 로그로 돌아가 포트 충돌, 설정 오류, 파일 누락 여부를 확인하세요. 브라우저 설정을 계속 바꾸지 마세요.
- 로컬 포트에는 연결되지만 요청 실패:노드, DNS, TLS와 라우팅을 확인하세요. TCP 포트에 연결된다는 것은 로컬 진입점이 있다는 뜻일 뿐 원격 연결이 성공했다는 의미는 아닙니다.
- 명시적 프록시 요청은 성공하지만 브라우저는 실패:브라우저 자체의 프록시 설정, 확장 프로그램, 정책을 확인하고 다른 프로그램이 시스템 프록시 설정을 변경했는지도 살펴보세요.
- 일부 앱에서만 실패:해당 앱이 시스템 프록시를 따르는지 확인하세요. 필요한 경우 TUN을 검토하되 방화벽을 끄는 방식으로 해결하려고 하지 마세요.
curl.exe에서 HTTP 상태 코드가 반환되면 요청이 적어도 어떤 HTTP 응답 지점에는 도달한 것입니다. 접근 거부 등의 상태가 반환되어도 로컬 프록시가 실행되지 않았다는 뜻은 아닙니다. 또한 라우팅에서 테스트 도메인을 직접 연결로 지정했다면 로컬 프록시를 명시해도 코어가 직접 연결을 시도할 수 있습니다. 노드가 실제 트래픽을 처리하는지 확인하려면 라우팅 규칙의 적용 결과와 연결 로그를 함께 확인하세요.
확인 방법: 시스템 프록시부터 점검하고 필요할 때 TUN 검토
일반적인 브라우저 사용
- 먼저 시스템 프록시 자동 설정을 켭니다.
- 브라우저가 시스템 프록시를 사용하는지 확인합니다.
- 노드 로그에서 라우팅과 접속 결과를 확인합니다.
시스템 프록시를 따르지 않는 앱
- 먼저 앱에서 별도로 프록시를 설정할 수 있는지 확인합니다.
- 더 많은 트래픽을 처리해야 할 때 TUN을 검토합니다.
- 사용하기 전에 권한, DNS, 다른 VPN과의 충돌을 확인합니다.
한 번에 설정 한 단계만 변경하세요. 시스템 프록시가 정상 작동하는 것을 확인한 뒤 더 복잡한 트래픽 처리와 분할 라우팅을 설정합니다.
업그레이드와 종료: 프록시 잔류, 파일 혼용, 설정 손실 방지
업그레이드 전에 UI 유형, 실제 리스닝 포트, 라우팅 설정과 설정 저장 위치를 기록하고 프로그램을 종료한 다음 설정을 백업하세요. 포터블 패키지와 설치형 프로그램은 설정 위치가 다를 수 있으므로 설정 파일이 항상 실행 파일 옆에 있다고 가정하지 마세요. 구독 주소에는 접속 인증 정보가 포함되는 경우가 많습니다. 백업 파일은 관리되는 폴더에 보관하고 문제 화면을 캡처해 공개할 때 함께 노출하지 마세요.
| 자주 묻는 문제 | 먼저 할 일 | 피해야 할 방법 |
|---|---|---|
| 새 버전 실행 후 설정 이상 | 기존 폴더와 백업을 보존하고 별도 폴더에서 새 버전을 확인한 뒤 지원되는 방법으로 설정을 옮기세요. | 두 UI 버전의 파일을 한 폴더에 덮어써서 섞기. |
| 주소가 이미 사용 중이라는 메시지 | 해당 포트를 사용하는 프로세스를 찾아 중복 실행을 종료하거나 리스닝 포트를 변경하세요. | 같은 포트를 차지하려고 여러 인스턴스를 연달아 실행하기. |
| 종료 후 브라우저에서 인터넷에 접속할 수 없음 | Windows 프록시 설정을 확인하고 중지된 로컬 서비스로 향하는 프록시 설정을 제거하세요. | 원인을 확인하지 않고 네트워크 설정 전체를 초기화하기. |
| 구독 업데이트 후 노드 수가 줄어듦 | 그룹 필터, 업데이트 로그, 구독 서버의 응답 내용을 확인하세요. | 문제 해결에 필요한 단서까지 잃게 되는 모든 로컬 설정을 즉시 삭제하기. |
| 관리자 권한으로 실행해야만 저장됨 | 설정 폴더의 권한을 확인하고 현재 사용자가 쓸 수 있는 위치로 옮기세요. | 권한을 바로잡지 않고 계속 관리자 권한으로 실행하기. |
정상적으로 종료하기 전 「시스템 프록시」에서 「시스템 프록시 지우기」를 선택한 다음 클라이언트를 종료할 수 있습니다. 프로그램이 비정상적으로 종료됐다면 Windows의 「설정」→「네트워크 및 인터넷」→「프록시」에서 수동 프록시나 스크립트가 중지된 로컬 서비스를 가리키는지 확인하세요. 회사나 기관 네트워크에 지정된 프록시 정책이 있다면 먼저 기존 설정을 기록하고 무조건 모두 지우지 마세요.