v2rayN은 Windows에서 구독, 노드, 라우팅 규칙과 시스템 프록시를 관리하는 그래픽 클라이언트이며, 실제 연결은 Xray 또는 v2fly 코어가 처리합니다. 설치할 때 가장 헷갈리는 부분은 프로토콜 매개변수보다 설치 패키지의 런타임, 압축 해제 위치, 프록시 모드와 로컬 포트입니다. 패키지 선택, 실행, 가져오기, 활성화, 확인 순서로 진행하면 대부분의 문제를 로그에서 찾을 수 있습니다.
v2rayN을 처음 설치하거나 이전하려는 Windows 10 및 Windows 11 사용자를 위한 안내입니다. 데스크톱판과 WPF판 선택, .NET 런타임, 구독 가져오기, Xray 코어 실행, 시스템 프록시 확인과 포트 충돌 및 보안 소프트웨어 차단 문제를 다룹니다.
데스크톱판과 WPF판, 어떻게 선택할까
v2rayN 7.x 시리즈는 그래픽 인터페이스 기술과 런타임 구성에 따라 여러 Windows 설치 패키지를 제공할 수 있습니다. 차이는 주로 인터페이스, 시스템 런타임 의존성, 패키지 크기에 있으며 구독에 포함된 VMess, VLESS, Trojan 등의 노드 매개변수는 바뀌지 않습니다. 같은 Xray 코어 버전으로 동일한 노드를 사용할 경우 연결 성능은 일반적으로 인터페이스 종류보다 코어 버전과 서버 설정에 좌우됩니다.
WPF 자체 포함 패키지
권장런타임이 설치 패키지에 포함되어 있어 압축을 해제한 뒤 바로 실행할 수 있습니다. PC에 필요한 .NET Desktop Runtime이 설치되어 있는지 확실하지 않을 때 적합합니다. 대신 다운로드 용량과 디스크 사용량이 더 큽니다.
적합한 경우: 첫 설치, 독립 디렉터리 배포, 런타임 문제 최소화
WPF 프레임워크 종속 패키지
패키지 크기는 작지만 Windows에 해당 버전과 호환되는 64비트 .NET Desktop Runtime이 설치되어 있어야 합니다. 런타임이 없으면 시작 단계에서 바로 오류가 발생합니다.
적합한 경우: .NET 실행 환경을 일관되게 관리하는 PC
크로스 플랫폼 데스크톱 UI 패키지
WPF판과 인터페이스 배치가 다르지만 핵심 설정과 구독 데이터는 같은 연결 절차에 사용됩니다. 오래된 PC에서는 먼저 시스템 버전과 그래픽 환경의 호환성을 확인하세요.
적합한 경우: 새 데스크톱 UI 선호, 일관된 조작 레이아웃 필요
설치 패키지가 자체 포함인지 판단할 때 압축 파일 크기만 봐서는 안 됩니다. 파일 이름의 SelfContained 표시와 해당 버전 설명을 함께 확인해야 합니다. 실행 시 “.NET을 설치하거나 업데이트해야 합니다”라는 안내가 나오면 현재 패키지가 외부 런타임에 의존한다는 뜻입니다. 시스템 아키텍처에 맞는 x64 Desktop Runtime을 설치한 뒤 v2rayN을 다시 실행하세요. 일반적인 x64 Windows 장치에 Arm64 런타임을 함께 설치하지 마세요.
| 확인 항목 | 권장 값 | 불일치 시 증상 |
|---|---|---|
| 시스템 버전 | Windows 10 22H2 또는 Windows 11 23H2 이상 | 인터페이스 초기화 실패 또는 시스템 구성 요소 호출 오류 |
| 시스템 아키텍처 | 일반적인 장치는 x64 선택 | 프로그램이 시작되지 않거나 런타임 아키텍처 오류 발생 |
| .NET 종류 | 기본 Runtime만이 아닌 Desktop Runtime | WPF 창 시작 실패 |
| 코어 아키텍처 | 클라이언트 및 시스템 아키텍처와 일치 | 코어가 시작 직후 종료됨 |
결론: 런타임 상태가 확실하지 않다면 자체 포함 패키지 선택
자체 포함 패키지는 첫 실행 시 확인해야 할 변수를 시스템 아키텍처, 압축 해제 권한, 보안 정책 세 가지로 줄여 줍니다. 환경이 안정된 뒤 용량이 작은 프레임워크 종속 패키지를 고려하세요.
압축 해제, 첫 실행 및 설정 디렉터리
v2rayN은 일반적으로 압축 파일 형태로 배포됩니다. 압축 프로그램의 미리 보기 창에서 주 프로그램을 바로 두 번 클릭하지 마세요. 코어, 언어 파일과 설정 구성 요소가 완전히 풀리지 않을 수 있습니다. D:\Apps\v2rayN\과 같은 고정 디렉터리를 만들고 전체 압축을 해제한 뒤 실행하는 것이 좋습니다. 경로에는 가급적 일반 문자만 사용하고 현재 Windows 계정에 쓰기 권한이 있는지 확인하세요.
- 이전 버전의 v2rayN을 종료하고 작업 표시줄 알림 영역에 남은 프로세스가 없는지 확인합니다.
- 압축 파일을 독립 디렉터리에 완전히 해제하고 아직 실행 중인 이전 디렉터리를 덮어쓰지 마세요.
- 처음 주 프로그램을 실행한 뒤 알림 영역에 v2rayN 아이콘이 나타나는지 확인합니다.
- 「설정」→「매개변수 설정」을 열고 인터페이스 언어, Windows 시작 시 실행, 로컬 수신 포트를 확인합니다.
- 로그 창을 열어 코어 시작 실패, 설정 구문 분석 실패 또는 포트 충돌 메시지가 없는지 확인합니다.
프로그램을 바탕 화면, 다운로드 폴더 또는 시스템 보호 디렉터리에 두면 업데이트 덮어쓰기, 권한 상속, 경로 변경 문제가 생길 수 있습니다. 데이터베이스, 구독과 라우팅 설정을 보존하려면 고정 디렉터리가 적합합니다. 이전 버전에서 옮길 때는 기존 파일 전체를 새 버전에 바로 덮어쓰지 마세요. 기존 디렉터리를 보존한 채 새 버전을 실행하고 구독을 가져온 다음 사용자 지정 라우팅과 매개변수를 항목별로 이전하는 편이 안전합니다.
처음 실행한 뒤 주 창이 보이지 않는다고 반드시 실행에 실패한 것은 아닙니다. v2rayN은 작업 표시줄 알림 영역으로 최소화될 수 있으며 아이콘을 두 번 클릭하면 창을 복원할 수 있습니다. 알림 영역에도 아이콘이 없다면 작업 관리자에서 주 프로그램이 바로 종료되는지 확인한 뒤 Windows 이벤트 뷰어에서 .NET Runtime 또는 Application Error 기록을 확인하세요.
권장 설치 디렉터리:
D:\Apps\v2rayN\
일반적인 로컬 수신 포트:
SOCKS 127.0.0.1:10808
HTTP 127.0.0.1:10809
실제 포트는 「설정」→「매개변수 설정」의 로컬 수신 설정을 기준으로 합니다.
구독 가져오기, 업데이트 및 노드 선택
구독 주소는 여러 노드 설정을 한 번에 가져오는 데 사용됩니다. 단일 VMess 또는 VLESS 링크도 아니며 로컬 설정 파일과도 다릅니다. 가져오기 전에 주소가 완전한지 확인하고 복사할 때 줄바꿈, 중국어 따옴표 또는 끝 공백이 들어가지 않도록 하세요. 구독 내용은 서버에서 제공하며 v2rayN은 이를 읽어 로컬 서버 목록으로 변환합니다.
권장 방식: 구독과 수동 노드를 분리해 관리
구독 노드
- 「구독 그룹」→「구독 그룹 설정」에서 주소 추가
- 저장한 뒤 「모든 구독 업데이트」 실행
- 업데이트 전에 현재 선택된 노드 기록
- 서버 변경 후 속도 다시 측정
수동 노드
- 클립보드에서 단일 공유 링크 가져오기
- 주소, 포트, 전송 계층과 TLS 매개변수 확인
- 임시 테스트 또는 문제 분리에 사용
- 이름이 같은 구독 노드와 혼동하지 않기
구독을 업데이트하면 노드가 추가, 삭제 또는 이름 변경될 수 있습니다. 사용자 지정 라우팅 규칙은 별도로 저장하고 노드 표시 이름을 유일한 판단 기준으로 사용하지 마세요.
일반적인 경로는 「구독 그룹」→「구독 그룹 설정」→「추가」입니다. 별칭과 구독 주소를 입력해 저장한 다음 「구독 그룹」→「모든 구독 업데이트」를 실행하세요. 7.x의 세부 버전에 따라 메뉴 문구가 조금 다를 수 있지만, 핵심은 먼저 구독 그룹을 만든 뒤 직접 업데이트하는 것입니다. 현재 네트워크에서 구독 서버에 직접 접근할 수 없다면 먼저 사용 가능한 노드에 연결한 뒤 구독 설정에서 프록시를 통한 업데이트를 활성화하세요.
노드를 가져온 뒤 지연 시간 열만 확인해서는 안 됩니다. 지연 시간 테스트는 일반적으로 대상과 연결을 수립할 수 있는지 판단하는 용도이며 실제 처리량과 같지 않습니다. 먼저 노드를 선택해 실제 지연 시간 테스트를 실행한 뒤 브라우저로 대상 서비스에 접속하세요. 목록의 모든 노드가 동시에 실패하면 구독 유효성, 시스템 시간과 코어 로그를 우선 확인하세요. 하나의 노드만 실패한다면 해당 노드의 주소, 포트, UUID, 전송 계층, TLS와 서버 설정이 일치하는지 확인합니다.
- VMess: 사용자 식별자, 서버 포트, 전송 방식과 TLS 설정을 중점적으로 확인합니다.
- VLESS: 사용자 식별자 외에도 flow, SNI, Reality 공개 키와 short ID 등 서버 매개변수를 확인해야 합니다.
- WebSocket: 경로와 Host는 서버 설정과 일치해야 하며 슬래시 하나가 더 있어도 핸드셰이크가 실패할 수 있습니다.
- gRPC: 서비스 이름은 정확히 일치해야 하며 노드 메모로 대신할 수 없습니다.
시스템 프록시 활성화 및 트래픽 경로 확인
노드를 선택하고 코어를 시작했다는 것은 로컬 프록시 포트가 수신 대기 중이라는 뜻일 뿐, Windows 애플리케이션이 반드시 해당 포트로 트래픽을 보낸다는 의미는 아닙니다. 브라우저와 시스템 프록시를 따르는 데스크톱 프로그램은 시스템 프록시를 추가로 활성화해야 하는 경우가 많습니다. 시스템 프록시를 읽지 않는 프로그램은 SOCKS 또는 HTTP 주소를 직접 입력하거나 v2rayN이 제공하는 다른 연결 방식으로 설정해야 합니다.
- 서버 목록에서 노드를 선택하고 활성 서버로 지정합니다.
- 알림 영역 아이콘을 마우스 오른쪽 버튼으로 클릭하고 「시스템 프록시」→「시스템 프록시 자동 설정」을 선택합니다.
- 실행 상태에 코어가 시작되었다고 표시되고 로그에 반복적인 재시작이 없는지 확인합니다.
- Windows 「설정」→「네트워크 및 인터넷」→「프록시」에서 스크립트 또는 프록시 상태가 변경되었는지 확인합니다.
- 새 브라우저 창을 열어 테스트하고 기존 연결 재사용으로 인한 오판을 피하세요.
v2rayN의 일반적인 기본 포트는 SOCKS 10808, HTTP 10809이지만 사용자가 변경했거나 포트 증가 규칙과 버전별 설정에 따라 실제 값이 달라질 수 있습니다. 정확한 값은 「설정」→「매개변수 설정」에 표시된 로컬 수신 설정과 시작 로그를 기준으로 하세요. 다른 소프트웨어를 수동으로 설정할 때 서버 주소에는 127.0.0.1을 입력하고 원격 노드 주소는 입력하지 마세요.
| 확인 단계 | 확인 방법 | 정상 결과 |
|---|---|---|
| 코어 프로세스 | v2rayN 실행 로그 확인 | 설정 로드 완료, 프로세스가 반복 종료되지 않음 |
| 로컬 포트 | netstat -ano | findstr 10808 실행 |
127.0.0.1에 해당하는 포트가 LISTENING 상태 |
| 시스템 프록시 | Windows 프록시 설정 확인 | 상태가 v2rayN의 현재 모드와 일치 |
| 브라우저 요청 | 새 창에서 대상 사이트 접속 | 페이지가 로드되고 로그에 아웃바운드 기록 표시 |
| 규칙 일치 | 라우팅 로그와 대상 도메인 확인 | 트래픽이 예상한 direct, proxy 또는 block 아웃바운드로 진입 |
결론: 먼저 수신 대기를 확인한 뒤 노드 품질 판단
10808 또는 인터페이스에 표시된 포트가 수신 대기 중이 아니라면 문제는 로컬 코어 또는 설정에 있습니다. 포트는 열려 있지만 대상 요청이 로그에 나타나지 않는다면 시스템 프록시, 애플리케이션 프록시 설정 또는 연결 재사용 문제일 가능성이 큽니다.
시스템 프록시 모드는 브라우저와 Windows 프록시 설정을 따르는 대부분의 소프트웨어에 적합합니다. 전역 모드 또는 규칙 모드는 v2rayN으로 들어온 요청이 어느 아웃바운드로 나갈지를 결정하며, 두 설정은 서로 다른 계층에 있습니다. 문제를 확인할 때는 먼저 명확한 프록시 모드로 연결을 확인한 뒤 도메인 및 IP 기반 라우팅 규칙을 다시 적용하세요. GeoSite, GeoIP 또는 사용자 지정 규칙의 영향을 줄일 수 있습니다.
자주 발생하는 문제: 런타임, 포트 및 보안 정책
설치가 끝났는데 사용할 수 없는 문제는 대개 네 가지로 나뉩니다. 주 프로그램이 시작되지 않았거나, 코어가 시작되지 않았거나, 로컬 포트가 수신 대기하지 않거나, 애플리케이션 트래픽이 프록시로 들어오지 않는 경우입니다. 구독, DNS, 라우팅과 시스템 프록시를 동시에 변경하지 마세요. 한 번에 하나만 바꾸고 변경 전 로그를 보관해야 문제가 어느 계층에서 발생했는지 판단할 수 있습니다.
v2rayN을 두 번 클릭하면 창이 잠깐 나타났다가 사라지나요?
먼저 작업 표시줄 알림 영역을 확인하세요. 아이콘이 없다면 이벤트 뷰어에서 .NET Runtime 기록을 확인합니다. 프레임워크 종속 패키지라면 시스템 아키텍처에 맞는 .NET Desktop Runtime을 설치한 뒤 주 프로그램을 다시 시작하세요.
로그에 포트가 사용 중이라고 표시되면 어떻게 하나요?
명령 프롬프트에서 netstat -ano | findstr 10808을 실행해 포트를 점유한 PID를 기록한 다음 작업 관리자에서 프로세스를 확인하세요. 충돌하는 프로그램을 종료하거나 「설정」→「매개변수 설정」에서 로컬 포트를 10818로 변경하고 다른 소프트웨어의 프록시 포트도 함께 수정할 수 있습니다.
구독 업데이트는 성공했지만 모든 노드가 시간 초과되나요?
먼저 Windows의 날짜, 시간과 시간대를 맞춘 뒤 노드 하나를 선택해 코어 로그를 확인하세요. TLS 핸드셰이크가 집중적으로 실패하면 SNI, 시스템 시간과 서버 상태를 계속 확인하고, 연결이 거부되면 원격 포트가 여전히 유효한지 확인합니다.
코어 파일이 보안 소프트웨어에 격리되었다면 어떻게 하나요?
먼저 보안 소프트웨어의 격리 기록에서 처리된 파일 경로와 탐지 시간을 확인하고 설치 패키지가 공식 다운로드 페이지에서 받은 것인지 확인하세요. 복원하기 전에 실행 중인 v2rayN을 종료하고, 복원 후 누락된 구성 요소를 다시 압축 해제한 뒤 실행해 코어 버전 정보를 확인합니다.
v2rayN을 종료한 뒤에도 웹페이지에 접속할 수 없나요?
Windows에 로컬 포트를 가리키는 프록시 설정이 남아 있을 수 있습니다. v2rayN을 다시 시작하고 「시스템 프록시」→「시스템 프록시 지우기」를 실행한 뒤 종료하고 「설정」→「네트워크 및 인터넷」→「프록시」를 다시 확인하세요.
포트 충돌은 다른 v2rayN 인스턴스, 다른 로컬 네트워크 도구 또는 비정상 종료 후 남은 코어 프로세스 때문에 자주 발생합니다. 작업 관리자에서 프로세스를 종료하기 전에 PID로 프로그램의 신원을 확인하세요. 포트를 10808에서 10818로 바꾸면 충돌을 피할 수 있지만 브라우저 확장 프로그램, 다운로드 도구와 개발 도구에 저장된 프록시 주소도 함께 수정해야 합니다.
보안 소프트웨어가 코어 파일을 처리한 뒤에도 v2rayN 주 인터페이스는 정상적으로 열릴 수 있지만 노드를 클릭하면 코어가 즉시 종료될 수 있습니다. 이때 로그에는 “파일을 찾을 수 없음”, “프로세스 시작 실패” 또는 경로 접근 거부가 자주 표시됩니다. 먼저 실제로 처리된 파일을 확인한 뒤 전체 설치 패키지에서 해당 버전을 복원하고, 서로 다른 버전의 코어와 리소스 파일을 같은 디렉터리에 섞지 마세요.
- 주 인터페이스 오류: .NET Desktop Runtime, 시스템 아키텍처와 디렉터리 권한을 우선 확인하세요.
- 코어 오류: 설정 구문, 코어 파일, 포트 충돌과 버전 호환성을 우선 확인하세요.
- 구독 오류: 주소의 완전성, 네트워크 연결 가능 여부, 시스템 시간과 프록시 업데이트 옵션을 우선 확인하세요.
- 웹페이지 오류: 시스템 프록시 상태, 브라우저 프록시 설정, DNS와 라우팅 규칙 일치 결과를 우선 확인하세요.
업그레이드 이전 및 최종 점검
이전 버전에서 업그레이드할 때는 기존 디렉터리와 새 디렉터리를 함께 유지하는 방법이 가장 안전합니다. 이전 버전을 종료하고 디렉터리 전체를 백업한 다음 새 버전을 새 디렉터리에 압축 해제해 별도로 실행하세요. 구독, 노드, 라우팅과 시스템 프록시가 정상적으로 작동하는지 확인한 뒤 기존 설정을 옮길지 결정합니다. 이렇게 하면 새 버전이 이전 필드를 읽지 못해도 즉시 기존 디렉터리로 돌아가 재현하고 비교할 수 있습니다.
사용자 지정 라우팅은 특히 별도로 확인해야 합니다. 이전 설정의 도메인 규칙, GeoSite 태그, GeoIP 태그 또는 아웃바운드 이름은 데이터 파일과 코어 버전이 바뀌면서 맞지 않을 수 있습니다. 업그레이드 후 최소한 직접 연결해야 하는 사이트, 프록시를 사용해야 하는 사이트와 차단해야 하는 도메인을 각각 하나씩 테스트하고 로그에서 실제 아웃바운드를 확인하세요. 페이지가 열리는지만 확인해서는 안 됩니다.
- 설치 패키지 아키텍처가 Windows 아키텍처와 일치하는지 확인합니다.
- 프레임워크 종속 패키지에 해당 .NET Desktop Runtime이 설치되어 있는지 확인합니다.
- v2rayN이 쓰기 가능한 고정 디렉터리에 완전히 압축 해제되었는지 확인합니다.
- 구독 업데이트가 완료되고 현재 노드 매개변수가 완전한지 확인합니다.
- Xray 또는 v2fly 코어가 시작된 후 반복 종료되지 않는지 확인합니다.
- 로컬 SOCKS 및 HTTP 포트가 수신 대기 상태인지 확인합니다.
- 시스템 프록시 모드가 현재 사용 환경에 맞는지 확인합니다.
- 브라우저 요청이 로그에 기록되고 예상 라우팅 규칙과 일치하는지 확인합니다.
- 종료하기 전에 시스템 프록시를 지우거나 명확한 Windows 시작 시 실행 정책을 유지합니다.
이 점검을 완료하면 v2rayN의 설치 상태를 “아이콘 색상” 하나에 의존하지 않고 프로세스, 포트, 프록시 설정, 로그와 실제 요청으로 함께 확인할 수 있습니다. 이후 구독이나 노드가 바뀌어도 같은 순서로 점검해 로컬 문제와 원격 설정 문제를 빠르게 구분할 수 있습니다.