v2rayN을 처음 설정할 때는 아키텍처와 UI 버전 선택 → 압축 파일 전체 풀기 → 런타임 설치 여부 확인 → 구독 가져오기 → 노드 선택 → 시스템 프록시와 라우팅 설정 순서로 진행하세요. Windows에서는 Desktop 버전부터 사용해 볼 수 있습니다. WPF 버전이 안정적으로 작동하고 있다면 연결 기능만을 이유로 옮길 필요는 없습니다. 이 글에서는 UI 프레임워크, 프록시 코어, 트래픽 연결 방식을 구분해 설명하고 포트 확인과 실행 오류 점검 순서도 안내합니다.
WPF와 Desktop: UI를 먼저 고르고 코어를 확인하세요
v2rayN은 설정과 프록시 연결을 관리하는 클라이언트이며 프록시 프로토콜 자체는 아닙니다. WPF 버전은 Windows WPF UI 프레임워크를 사용하고, Desktop 버전은 크로스 플랫폼 데스크톱 UI를 사용합니다. 레이아웃과 화면 배율, 일부 메뉴 위치는 다를 수 있지만 연결 여부는 주로 사용하는 코어, 노드 설정, 네트워크 환경, 서버 상태에 따라 달라집니다.
Desktop 버전
추천처음 설치한다면 Desktop 버전부터 사용해 보세요. 여러 데스크톱 운영체제에서 비슷한 방식으로 사용하고 싶은 경우에 적합합니다. 세부 기능은 현재 Windows 빌드 안내를 확인하세요.
추천 대상: 처음 설정하는 사용자, 여러 데스크톱 운영체제에서 사용하는 경우
WPF 버전
WPF는 Windows용 UI 기술입니다. 기존 설정이 안정적으로 작동하고 이전 레이아웃에 익숙하다면 계속 사용해도 됩니다. UI를 바꾸기 위해 작업 디렉터리를 옮길 필요는 없습니다.
추천 대상: Windows에서 주로 사용하거나 기존 사용 방식을 유지하려는 경우
VLESS와 VMess는 프록시 프로토콜이고 Xray는 프록시 코어입니다. WPF와 Desktop은 클라이언트 UI 버전입니다. VLESS와 REALITY를 사용하는 노드는 이를 지원하는 코어가 필요합니다. UI 버전만 바꾼다고 프로토콜 지원이 추가되지는 않습니다. 구독을 가져온 뒤에는 노드 요구 사항을 먼저 확인하고 코어를 설정하세요. 실제 확인 없이 “WPF가 더 빠르다”거나 “Desktop은 모든 노드를 지원한다”고 판단해서는 안 됩니다.
Windows 설치 파일: 아키텍처, 런타임, 압축 해제 폴더
v2rayN을 다운로드하기 전에 Windows에서 설정 → 시스템 → 시스템 정보로 이동해 ‘시스템 종류’를 확인하세요. 일부 Windows 버전에서는 이 메뉴가 ‘정보’로 표시됩니다. 일반적인 Intel·AMD 64비트 PC는 보통 x64를 선택합니다. ARM 기기는 제공되는 빌드와 실행 요건을 확인해야 합니다. 64비트라는 이유만으로 같은 아키텍처라고 단정하지 마세요. 현재 제공되는 Windows 패키지는 다운로드 페이지의 목록을 확인하세요.
런타임 확인: 패키지 안내에 따라 두 가지 경우로 나뉩니다
자체 포함 빌드
- 해당 빌드 실행에 필요한 .NET 런타임 파일이 포함되어 있습니다.
- 패키지에 포함된 폴더를 모두 유지해야 합니다. 실행 파일만 따로 복사하지 마세요.
- 빌드에서 요구하는 Windows 버전은 충족해야 합니다.
시스템 런타임 필요
- 실행 안내에 따라 필요한 주 버전과 아키텍처의 런타임을 설치하세요.
- WPF 빌드는 보통 .NET Desktop Runtime이 필요합니다.
- Desktop 빌드는 패키지 안내와 누락된 프레임워크 알림을 확인하세요.
v2rayN에 런타임을 별도로 설치해야 하는지는 빌드 방식에 따라 다릅니다. WPF나 Desktop이라는 이름만으로 판단할 수 없습니다.
v2rayN이 압축 파일로 배포되는 경우 먼저 D:\Tools\v2rayN\처럼 쓰기 가능한 폴더에 압축을 모두 푼 다음, 폴더 안의 v2rayN.exe를 실행하세요. 압축 프로그램의 미리보기 화면에서 바로 실행하거나 실행 파일만 바탕 화면으로 옮기지 마세요. 설정, 로그, 코어 관련 파일을 모두 함께 보관해야 합니다. 바탕 화면에 아이콘을 만들려면 실행 파일을 옮기지 말고 바로 가기를 만드세요.
- 권한: 일반적인 시스템 프록시는 관리자 권한으로 계속 실행할 필요가 없습니다. TUN에서 가상 네트워크 어댑터나 서비스를 사용하는 경우 안내에 따라 권한을 허용하세요.
- 런타임: 오류 메시지에 표시된 프레임워크를 확인하세요. 일반적인 문제 해결을 위해 SDK부터 설치할 필요는 없습니다.
- 폴더: 쓰기 권한이 없는 위치는 피하고, 두 버전이 같은 설정 파일을 동시에 사용하지 않도록 하세요.
- 보안 안내: 다운로드 출처와 Windows 보안 센터의 구체적인 기록을 확인하세요. 보안 기능 전체를 바로 끄지 마세요.
처음 실행하기: 구독을 가져오고 노드 선택하기
v2rayN에는 바로 사용할 수 있는 원격 노드가 포함되어 있지 않습니다. 구독 주소는 서비스 제공자가 발급하며, 계정 리소스에 접근할 수 있는 토큰이 포함되는 경우가 많으므로 비밀번호처럼 안전하게 보관하세요. 아래에서는 일반적인 중국어 UI의 메뉴 이름을 사용합니다. 릴리스에 따라 ‘구독 그룹 설정’이나 업데이트 메뉴의 이름이 달라질 수 있습니다. 이름이 완전히 같은 버튼을 찾으려 하지 말고 기능에 맞는 메뉴를 선택하세요. 관련 없는 설정은 변경하지 마세요.
-
압축 파일 전체 풀기
기존 실행 인스턴스를 종료하고 압축 파일을 별도 폴더에 푼 다음
v2rayN.exe를 실행하세요. 필요한 프레임워크가 없다는 안내가 표시되면 런타임을 설치한 뒤 다시 시작하세요. -
그룹 만들기
‘구독 그룹’ → ‘구독 그룹 설정’을 열고 그룹을 추가하세요. 알아보기 쉬운 이름을 입력하고 구독 주소 칸에 전체 링크를 붙여 넣은 다음 저장합니다.
-
구독 업데이트
‘구독 그룹’으로 돌아가 ‘모든 구독 업데이트(프록시 사용 안 함)’를 실행하세요. 아직 프록시 연결을 설정하지 않았다면 먼저 직접 연결로 업데이트합니다. 직접 연결에 실패하고 사용할 수 있는 프록시가 있을 때만 프록시를 통한 업데이트를 시도하세요.
-
노드 선택
노드 목록에서 항목을 선택하고 마우스 오른쪽 버튼을 눌러 ‘활성 서버로 설정’을 실행하세요. 활성 표시가 선택한 노드와 일치하는지 확인한 다음 로그에서 코어 실행 오류가 있는지 살펴보세요.
-
브라우저 연결
메인 창이나 트레이 메뉴의 ‘시스템 프록시’에서 ‘시스템 프록시 자동 설정’을 선택한 다음 현재 라우팅 프리셋을 확인하세요. 처음 연결을 테스트할 때는 브라우저를 사용하고 TUN은 함께 켜지 않아도 됩니다.
v2rayN에서는 ‘서버’ → ‘클립보드에서 URL 일괄 가져오기’를 통해 서비스 제공자가 공유한 노드 링크를 가져올 수도 있습니다. 단일 노드 가져오기는 구독과 다릅니다. 구독은 노드 목록을 다시 가져올 수 있지만 개별 링크는 서비스 제공자의 변경 사항을 자동으로 반영하지 않습니다. 가져온 뒤 VLESS의 UUID, REALITY 공개 키, 짧은 ID, 서버 이름을 임의로 수정하지 마세요. 이 값은 서버 설정과 일치해야 합니다.
시스템 프록시와 라우팅: 최소 설정으로 먼저 확인하세요
v2rayN의 시스템 프록시는 주로 Windows 프록시 설정을 따르는 앱에 적용됩니다. 일부 명령줄 프로그램, 게임, 자체 네트워크 스택을 사용하는 앱은 이 설정을 자동으로 따르지 않습니다. 라우팅 프리셋은 트래픽이 코어에 들어온 뒤 사용할 출구를 선택합니다. 전역 프록시는 보통 프록시 포트로 들어온 트래픽을 프록시로 보내고, 중국 본토 우회 규칙은 조건에 맞는 로컬 목적지로 직접 연결합니다. 실제 동작은 규칙의 내용과 순서에 따라 달라집니다.
첫 연결 확인
- 활성 노드
- 사용 가능한 것으로 확인된 노드 선택
- 시스템 프록시
- 시스템 프록시 자동 설정
- 라우팅 프리셋
- 전역 프록시 규칙을 임시로 사용
- TUN
- 일단 사용하지 않음
분할 라우팅과 가상 네트워크 어댑터 변수를 먼저 줄이세요. 연결을 확인한 뒤 평소 사용하는 라우팅을 복원하면 됩니다.
일상적인 웹 브라우징 설정
- 활성 노드
- 사용 가능한 것으로 확인된 노드 사용
- 시스템 프록시
- 시스템 프록시 자동 설정
- 라우팅 프리셋
- 필요에 따라 중국 본토 우회 규칙 선택
- 로컬 네트워크 접근
- 공유할 필요가 없다면 끄기
회사 내부망을 사용하는 경우 도메인과 주소 규칙을 확인해 내부망 트래픽이 원격 출구로 전송되지 않도록 하세요.
v2rayN의 로컬 수신 포트는 ‘설정’ → ‘매개변수 설정’의 기본 또는 인바운드 설정에서 확인하세요. 항목 분류는 버전에 따라 다를 수 있습니다. 아래에서는 HTTP와 SOCKS를 지원하는 것으로 확인된 혼합 인바운드 예시로 127.0.0.1:10808을 사용합니다. 모든 버전의 공통 기본값은 아닙니다. 현재 설정에서 HTTP와 SOCKS 포트를 별도로 사용한다면 명령에 해당 포트를 입력하세요.
# PowerShell에서 예시 포트가 수신 대기 중인지 확인
Get-NetTCPConnection -State Listen -LocalPort 10808
# HTTP를 지원하는 로컬 인바운드로 테스트 사이트에 접속
curl.exe --proxy http://127.0.0.1:10808 --max-time 15 -I https://example.com
# SOCKS 인바운드로 테스트하고 도메인 이름은 프록시 측에서 확인
curl.exe --proxy socks5h://127.0.0.1:10808 --max-time 15 -I https://example.com
v2rayN에서 프록시를 명시한 명령은 HTTP 응답을 받지만 브라우저에서 접속되지 않는다면 브라우저 프록시 확장 프로그램, 브라우저 자체 설정, Windows 프록시 상태를 확인하세요. 로컬 포트가 수신 대기 중이 아니라면 원격 노드를 계속 바꾸지 말고 코어 실행이나 포트 충돌부터 해결하세요. 한 번 HTTP 응답을 받았다고 해서 모든 사이트와 앱이 연결된 것은 아닙니다.
자주 발생하는 오류: 발생 단계에 따라 확인하기
v2rayN 문제를 해결할 때는 가장 먼저 나타난 오류부터 확인하세요. 메인 창이 열리지 않으면 실행 환경 문제입니다. 창은 정상적으로 열리지만 수신 포트가 없다면 코어나 인바운드 설정을 확인해야 합니다. 포트는 열려 있지만 원격 핸드셰이크에 실패할 때 노드 설정과 네트워크를 점검하세요. 단계를 나누어 확인하면 런타임 재설치, 코어 변경, DNS 수정 등을 한꺼번에 하는 것보다 효과적입니다.
| 증상 | 먼저 확인할 항목 | 해결 방법 |
|---|---|---|
| .NET 설치 또는 업데이트 안내가 표시됨 | 오류 메시지에 표시된 프레임워크 이름, 주 버전, x64 또는 ARM64 | 빌드 요구 사항에 맞는 런타임을 설치하세요. WPF에서는 Desktop Runtime과 일반 Runtime을 구분해야 합니다. |
| 두 번 클릭하면 창이 바로 닫힘 | 압축 파일을 모두 풀었는지, 시스템이 지원되는지, 폴더에 쓰기 권한이 있는지 | 쓰기 가능한 별도 폴더에 다시 압축을 풀고 로그나 Windows 이벤트 기록을 확인하세요. 기존 설정을 먼저 덮어쓰지 마세요. |
| 로그에 address already in use가 표시됨 | 다른 인스턴스가 로컬 수신 포트를 사용 중인지 | 포트 확인 명령으로 사용 중인 프로세스를 찾고 중복 실행을 종료하세요. 또는 인바운드 포트를 변경한 뒤 앱 설정도 함께 업데이트하세요. |
| 구독 업데이트 실패 또는 노드 목록이 비어 있음 | 주소가 완전한지, 계정이 유효한지, 구독 데이터 대신 웹 페이지가 반환되지는 않았는지 | 서비스 제공자가 안내한 클라이언트용 구독 형식을 확인하세요. 직접 연결 업데이트와 프록시를 통한 업데이트를 구분하고 구독 토큰을 공개하지 마세요. |
| 노드 지연 시간은 표시되지만 웹 페이지가 열리지 않음 | 활성 노드, 시스템 프록시, 실제 요청 로그 | 지연 시간 테스트 성공이 프록시 요청 전체의 성공을 뜻하지는 않습니다. 프로토콜 핸드셰이크, DNS, 라우팅 출구를 계속 확인하세요. |
| 종료한 뒤 브라우저에서 인터넷에 연결할 수 없음 | Windows에 중지된 포트를 가리키는 프록시 설정이 남아 있는지 | 클라이언트를 다시 실행해 시스템 프록시를 해제하세요. 필요하면 Windows 설정 → 네트워크 및 인터넷 → 프록시에서 상태를 확인합니다. |
VLESS와 REALITY를 사용할 때 인증서 또는 핸드셰이크 관련 오류가 발생하면 서버 주소, 포트, 서버 이름, 공개 키, 짧은 ID, 기기 시간을 함께 확인하세요. VMess에서도 시스템 시간이 정확해야 합니다. 구독에 포함된 매개변수가 만료된 경우 구독을 업데이트하거나 서비스 제공자에게 확인하세요. 보안 검사를 끄고 설정 오류를 숨기지 마세요.
v2rayN이 열리면 프록시 코어도 정상 작동하는 건가요?
v2rayN의 UI 프로세스와 프록시 코어는 별개입니다. 메인 창이 열린다는 것은 UI 실행 환경이 기본 요건을 충족한다는 의미일 뿐입니다. 코어 실행 로그와 로컬 수신 포트를 확인하세요. 코어 파일 누락, 호환되지 않는 설정, 포트 충돌이 있으면 UI는 정상적으로 열려도 프록시를 사용할 수 없습니다.
브라우저는 되는데 터미널 프로그램은 프록시를 사용하지 않으면 어떻게 하나요?
v2rayN에서 시스템 프록시를 설정해도 터미널 도구가 이를 자동으로 읽지 않을 수 있습니다. 먼저 --proxy 매개변수를 사용하는 테스트 명령으로 프록시가 작동하는지 확인한 뒤 도구 설명서에 따라 프록시 주소를 설정하세요. 더 많은 앱의 트래픽을 처리해야 하는 경우에만 TUN 사용을 검토하고 권한, DNS, 라우팅을 별도로 확인하세요.
업그레이드와 버전 전환: 백업 후 확인하기
v2rayN을 WPF에서 Desktop으로 바꾸거나 이전 버전에서 업그레이드할 때는 새 폴더에서 먼저 테스트하세요. 버전에 따라 설정 형식이 달라질 수 있으므로 모든 버전이 양방향 호환된다고 가정하면 안 됩니다. 이전 버전에서 구독 그룹, 활성 노드, 인바운드 포트, 사용자 지정 라우팅을 기록한 뒤 현재 버전에서 지원하는 백업 또는 마이그레이션 방법을 사용하세요.
- 종료 후 백업: 트레이에서 기존 인스턴스를 종료하고 프록시 상태가 복구되었는지 확인한 다음 설정 폴더를 백업하세요. 쓰기 중인 파일을 복사하지 마세요.
- 별도 폴더 사용: 새 버전은 패키지에 포함된 파일을 모두 자체 폴더에 보관하세요. 두 버전의 프로그램과 코어를 한 폴더에서 섞어 덮어쓰지 마세요.
- 최소한으로 확인: 구독 하나를 가져오고 노드를 선택한 다음 포트와 브라우저 접속을 확인하세요. 그 뒤 복잡한 분할 라우팅 규칙을 복원합니다.
- 이전 버전 유지: 새 버전 검증이 끝날 때까지 이전 폴더를 보관하세요. 단, 같은 수신 포트를 사용하는 두 인스턴스를 동시에 실행하지 마세요.
- 민감 정보 가리기: 오류를 문의할 때 버전, UI 종류, 시스템 아키텍처와 오류 전후의 로그를 제공하세요. 구독 주소, UUID, 계정 토큰은 가려야 합니다.
v2rayN 설치 완료는 “메인 창이 표시되는 것”만으로 판단할 수 없습니다. 활성 노드가 확인되고 코어가 정상적으로 포트를 열며 테스트 요청이 예상대로 작동하고 종료 후 시스템 프록시를 복구할 수 있어야 합니다. 이 조건을 확인한 다음 자동 구독 업데이트, 사용자 지정 라우팅, TUN을 하나씩 추가하세요. 한 번에 하나만 변경하면 문제가 생겼을 때 원인을 찾기 쉽습니다.