Windows에서 v2rayN을 처음 설정하거나 프로그램이 실행되지 않거나, 구독 목록이 비어 있거나, 브라우저에서 프록시가 작동하지 않는 경우에 유용한 가이드입니다. 먼저 인터페이스와 아키텍처에 맞는 버전을 고르고, 설치하거나 압축 파일을 온전히 풀어 주세요. 이후 ‘프로그램 실행 → 구독 업데이트 → 서버 선택 → 시스템 프록시 → 필요할 때 TUN 사용’ 순서로 확인합니다. 한 번에 한 항목씩 바꿔 런타임, 구독 연결, 라우팅 문제를 구분하세요.
1. 설치 파일: 데스크톱 버전과 WPF 버전 구분하기
v2rayN은 서버 설정을 관리하고 코어를 실행하며 프록시 연결 방식을 설정하는 클라이언트 인터페이스입니다. 프로그램 설치만으로 사용할 서버가 준비되는 것은 아니므로, 유효한 설정이나 구독을 가져와야 합니다. Windows 사용자는 익숙한 인터페이스에 따라 데스크톱 버전이나 WPF 버전을 선택하면 됩니다. 두 버전이 서로 다른 구독 서비스를 제공하는 것은 아닙니다.
데스크톱 버전(Avalonia)
권장크로스 플랫폼 인터페이스를 사용합니다. 처음 사용하거나 기존 인터페이스에 익숙하지 않다면 이 버전부터 시작해 보세요. 설치 파일의 아키텍처와 시스템 요구 사항은 별도로 확인해야 합니다.
추천 대상: 처음 설정하는 사용자 또는 여러 데스크톱 운영체제에서 비슷한 방식으로 사용하고 싶은 사용자
WPF 버전
Windows 데스크톱 인터페이스를 사용합니다. 기존 메뉴 구성에 익숙하다면 이 버전을 선택할 수 있습니다. 같은 노드의 지연 시간을 자동으로 낮춰 주는 버전은 아닙니다.
추천 대상: 주로 Windows를 사용하며 기존 인터페이스에 익숙한 사용자
먼저 Windows ‘설정’ → ‘시스템’ → ‘정보’에서 ‘시스템 종류’를 확인하세요. 일반적인 Intel 또는 AMD 64비트 PC라면 x64 패키지를 선택합니다. ARM 기반 프로세서로 표시되면 다운로드 페이지에서 호환되는 빌드와 실행 조건을 확인하세요. ‘64비트’라는 표시만으로 호환 여부를 판단하면 안 됩니다. 구형 Windows도 현재 패키지의 최소 시스템 요구 사항을 먼저 확인해야 합니다.
- 실행 파일 설치 패키지: 설치 마법사의 안내를 따르세요. 설치 프로그램 자체를 압축 해제해야 하는 포터블 압축 파일로 취급하지 마세요.
- 압축 파일: 먼저 ‘모두 압축 풀기’를 선택한 다음 압축을 푼 폴더에서 실행하세요. 압축 프로그램의 미리보기 창에서 바로 더블클릭해 실행하면 안 됩니다.
- 인터페이스 변경: 기존 설정을 먼저 백업한 뒤 별도 폴더에서 확인하세요. 두 배포 패키지를 한 폴더에 덮어써서 함께 사용하지 마세요.
2. 폴더와 런타임: 프로그램을 안정적으로 실행하기
압축 파일을 사용한다면 현재 계정에 쓰기 권한이 있는 별도 폴더를 선택하세요. 예를 들어 D:\Tools\v2rayN을 사용할 수 있으며, D 드라이브가 없어도 사용자 폴더에 저장하면 됩니다. 중요한 것은 드라이브 문자가 아니라 프로그램이 설정, 로그, 업데이트 파일을 저장할 수 있는지입니다. 시스템 폴더, 임시 폴더, 자동 동기화되거나 정리되는 폴더는 장기간 실행할 위치로 적합하지 않습니다.
-
압축 파일 전체 풀기
파일 탐색기에서 압축 파일을 선택하고 ‘모두 압축 풀기’를 눌러 폴더 구조를 그대로 유지하세요.
v2rayN.exe만 따로 꺼내지 마세요. 코어, 종속 파일, 리소스도 실행에 필요할 수 있습니다. -
종속 구성 요소 확인
처음 실행할 때 .NET이 없다는 안내가 표시되면 대화상자에 나온 런타임 이름, 주 버전, 아키텍처를 확인하세요. WPF 빌드는 일반적으로 해당 버전의 .NET Desktop Runtime이 필요합니다. SDK나 ASP.NET Core Runtime만 설치해서는 요구 사항을 충족하지 못할 수 있습니다.
-
차단 여부 확인
‘Windows 보안’ → ‘바이러스 및 위협 방지’ → ‘보호 기록’을 열어 관련 파일이 격리되었는지 확인하세요. 먼저 파일 출처와 구체적인 경고 내용을 확인하고, 전체 보호 기능을 끄는 것으로 문제를 해결하려고 하지 마세요.
-
첫 실행
프로그램을 실행해 창이 열리고 설정을 저장할 수 있는지 확인한 뒤, 로그에 코어 파일 누락 메시지가 있는지 살펴보세요. 일반 시스템 프록시 모드는 우선 일반 권한으로 사용하고 TUN은 일단 켜지 마세요.
-
바로 가기 만들기
정상 실행을 확인한 다음 실제 프로그램 파일의 바로 가기를 만드세요. 나중에 폴더 전체를 옮기면 바로 가기도 새 위치로 바꿔야 합니다. 그래야 바탕 화면 아이콘이 이전 버전을 가리키는 일을 막을 수 있습니다.
3. 구독 가져오기: 주소 저장 후 업데이트까지
구독 주소는 클라이언트가 설정 목록을 가져오는 데 사용하는 주소입니다. 일반 웹사이트의 첫 페이지도 아니고 단일 vmess:// 또는 vless:// 공유 링크와도 다릅니다. 주소를 받으면 먼저 전체가 복사되었는지 확인하고 줄바꿈, 공백, 메신저가 덧붙인 문장 부호가 없는지 살펴보세요. 구독 주소에는 접근 자격 정보가 포함될 수 있으므로 스크린샷을 공유하거나 도움을 요청할 때 주소 전체를 가리세요.
아래 안내는 일반적으로 사용되는 중국어 메뉴 이름을 기준으로 설명합니다. 인터페이스 버전에 따라 버튼 위치나 ‘프록시 사용’ 괄호 표기가 다를 수 있으니 같은 기능을 찾아 사용하세요. 같은 아이콘을 찾으려고 출처가 불분명한 구버전을 설치하지 마세요.
- 메인 화면에서 ‘구독 그룹’ → ‘구독 그룹 설정’을 열고 그룹을 추가한 뒤, 설명과 ‘주소(URL)’를 입력하세요. 사용 설정을 확인하고 저장합니다.
- ‘구독 그룹’으로 돌아가 ‘모든 구독 업데이트(프록시 사용 안 함)’를 선택해 처음 업데이트를 시도하세요. 아직 사용할 수 있는 프록시가 없다면 먼저 직접 연결로 업데이트해야 원인을 파악하기 쉽습니다.
- 업데이트가 끝나면 해당 그룹을 선택해 서버 목록에 항목이 표시되는지 확인하세요. 로그에는 성공으로 나오는데 목록이 비어 있다면 먼저 그룹 필터를 확인한 다음, 구독 응답이 클라이언트에서 지원하는 형식인지 살펴보세요.
- 목록에서 항목 하나를 선택하고 마우스 오른쪽 버튼 메뉴의 ‘활성 서버로 설정’을 눌러 현재 사용할 서버로 지정한 다음 코어가 정상적으로 실행되는지 확인하세요.
구독 사이트에 프록시로만 접속할 수 있고 이미 사용할 수 있는 서버가 있다면 ‘모든 구독 업데이트(프록시 사용)’를 선택할 수 있습니다. 모든 구독 업데이트 실패에 통하는 해결책은 아닙니다. 사용할 서버가 없는 상태에서 프록시를 통해 업데이트를 시도하면 ‘연결하려면 업데이트가 필요하고, 업데이트하려면 연결이 필요한’ 상황에 빠질 수 있습니다. 단일 공유 링크는 구독 주소 입력란이 아니라 ‘서버’ → ‘클립보드에서 URL 일괄 가져오기’를 사용하세요.
4. 시스템 프록시: 브라우저 연결부터 확인하기
서버를 선택한 다음 메인 화면이나 트레이 메뉴의 ‘시스템 프록시’에서 ‘시스템 프록시 자동 설정’을 선택하세요. 여기서 ‘자동 설정’은 v2rayN 메뉴의 동작을 뜻하며, 브라우저가 반드시 PAC를 사용한다는 의미는 아닙니다. 이어서 Windows ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 프록시 주소와 로컬 수신 포트가 일치하는지 확인하세요.
‘설정’ → ‘매개변수 설정’을 열어 로컬 수신 또는 인바운드 설정을 확인하고 실제 포트를 기록하세요. 일부 버전은 혼합 수신 포트를 사용하고, 구형 설정은 HTTP와 SOCKS 포트를 따로 지정할 수 있습니다. 다른 사람의 포트 스크린샷을 그대로 따라 하지 마세요. 시스템 프록시가 가리키는 포트는 HTTP 프록시 요청을 받아야 합니다. SOCKS만 지원하는 포트를 잘못 입력하지 않도록 주의하세요.
| 증상 | 먼저 확인할 항목 | 다음 단계 |
|---|---|---|
| 모든 브라우저에서 프록시 연결 실패 | 로컬 코어가 실행 중인지, 포트가 일치하는지 | 먼저 코어 로그를 확인하고 수신 대기가 정상적으로 시작된 뒤 웹페이지를 테스트하세요 |
| 브라우저는 되지만 특정 앱은 안 됨 | 해당 앱이 시스템 프록시 설정을 읽는지 | 앱 자체 프록시 설정을 확인한 뒤 TUN 사용을 검토하세요 |
| 일부 사이트는 직접 연결되고 일부는 프록시로 연결됨 | 현재 라우팅 규칙과 일치하는 아웃바운드 | 접속 로그를 확인하세요. 외부 IP가 바뀌지 않았다는 이유만으로 프록시가 작동하지 않는다고 판단하지 마세요 |
| 클라이언트를 종료한 뒤 웹페이지가 열리지 않음 | Windows에 로컬 프록시 주소가 남아 있는지 | 클라이언트를 다시 열어 시스템 프록시를 해제하거나 남아 있는 수동 프록시 설정을 끄세요 |
시스템 프록시는 해당 설정을 읽는 앱에만 적용되며, ‘모든 트래픽이 프록시를 통과한다’는 뜻도 아닙니다. 앱 요청이 코어에 도달하더라도 라우팅 규칙에 따라 일부 대상은 직접 연결될 수 있습니다. 처음 확인할 때는 접근 권한이 있고 응답이 안정적인 HTTPS 페이지를 열고, 로그를 함께 살펴 요청이 실제로 코어에 도달했는지 판단하세요.
5. TUN: 필요한 앱에 맞춰 트래픽 처리 범위 확대하기
TUN은 가상 네트워크 인터페이스로 트래픽을 받아 시스템 프록시를 사용하지 않는 앱에 적합하지만, 라우팅, DNS, 권한과 관련된 변수가 늘어납니다. 먼저 구독과 서버가 정상 작동하는지 확인한 다음 TUN을 켜세요. 그래야 ‘서버 자체가 작동하지 않는 문제’와 ‘PC의 트래픽 처리 설정이 충돌하는 문제’를 구분할 수 있습니다.
사용 방식 선택: 시스템 프록시부터 시작하고 필요할 때 TUN 사용
시스템 프록시 우선
- 주로 브라우저와 프록시를 지원하는 데스크톱 앱을 사용합니다.
- 일반 권한으로 먼저 확인할 수 있어 문제를 파악하는 과정이 간단합니다.
- 앱이 시스템 프록시를 읽는지에 따라 적용 여부가 달라집니다.
필요할 때 TUN 사용
- 대상 앱이 시스템 프록시를 사용하지 않고 적절한 수동 설정도 없습니다.
- 클라이언트 안내에 따라 관리자 권한 또는 서비스 권한을 설정하세요.
- 사용 후 DNS, 라우팅 및 다른 가상 네트워크 어댑터와의 충돌을 확인하세요.
TUN은 트래픽을 받아들이는 범위를 넓히지만 모든 라우팅을 자동으로 프록시로 바꾸지는 않으며, 잘못된 서버 설정도 해결하지 못합니다.
메인 화면에서 ‘TUN 사용’을 처음 켤 때는 작업 중인 내용을 저장하고 안내에 따라 권한을 높이세요. 변수를 줄이려면 먼저 ‘시스템 프록시’에서 ‘시스템 프록시 해제’를 선택한 뒤 TUN만 따로 확인할 수 있습니다. 두 기능이 반드시 서로 배타적인 것은 아니지만, 처음 문제를 진단할 때 두 연결 방식을 동시에 바꿀 필요는 없습니다. 회사 네트워크나 다른 연결 도구가 특정 가상 네트워크 어댑터에 의존한다면 먼저 사용 제한을 확인하세요. 어댑터를 함부로 삭제하거나 PC의 네트워크 설정을 초기화하지 마세요.
- TUN을 켠 뒤 도메인이 열리지 않음: 코어 로그에서 DNS 오류를 확인하고 현재 DNS 설정이 순환 구조를 만들지 않는지 살펴보세요. 서버 도메인을 출처를 알 수 없는 IP 주소로 임의 변경하지 마세요.
- 로컬 네트워크 기기에 접속할 수 없음: 사설 IP 대역의 라우팅 정책을 확인하고 필요한 경우에만 직접 연결을 설정하세요. 모든 분기 라우팅 규칙을 바로 끄지 마세요.
- 기능을 끈 뒤에도 문제가 계속됨: 먼저 클라이언트를 종료하고 남아 있는 시스템 프록시 설정과 다른 네트워크 소프트웨어를 확인하세요. 필요하면 정상적으로 PC를 다시 시작해 네트워크 상태를 새로 설정하세요.
6. 자주 막히는 문제: 증상에 따라 원인 찾기
인터페이스를 다시 설치해도 만료된 구독, 포트 충돌, 전송 매개변수 불일치 문제는 대개 해결되지 않습니다. 도움을 요청하기 전에 인터페이스 버전, Windows 버전, 사용 모드, 관련 로그 일부를 기록하세요. 구독 자격 정보, 서버 인증 정보, 개인 폴더 경로는 삭제하거나 가려야 합니다. 아래 문제는 먼저 직접 원인을 좁혀 볼 수 있습니다.
더블클릭해도 창이 안 뜨는데 프로그램이 손상된 건가요?
먼저 작업 표시줄 트레이를 살펴 프로그램이 이미 실행되어 백그라운드에 있는지 확인하세요. 그런 다음 작업 관리자에서 이전 프로세스가 실행 중인지 확인합니다. 프로세스가 없다면 런타임 안내와 보호 기록을 살펴보세요. 프로그램을 연달아 여러 번 실행하지 마세요. 포트 충돌이 생길 수 있습니다.
구독 업데이트에 성공했는데 왜 인터넷에 연결되지 않나요?
업데이트 성공은 설정을 가져와 파싱했다는 뜻일 뿐입니다. 먼저 활성 서버를 지정하고 시스템 프록시를 켠 다음 코어 로그를 확인하세요. ‘설정’ → ‘시간 및 언어’ → ‘날짜 및 시간’에서 시스템 시간도 정확한지 확인해야 합니다. TLS 인증서 검증 등의 과정에는 정확한 시간이 필요합니다.
로그에 주소가 이미 사용 중이라고 나오는데 포트를 바꿔야 하나요?
먼저 해당 포트를 사용하는 프로세스를 확인하고, 이전에 중복 실행된 프로세스가 있다면 우선 종료하세요. 포트를 변경해야 한다면 ‘설정’ → ‘매개변수 설정’에서 실제 인바운드 포트를 바꾸고 코어를 다시 시작한 다음 시스템 프록시를 다시 적용하세요. 프록시를 수동으로 설정한 앱도 포트를 함께 변경해야 합니다.
코어를 바꾸면 모든 시간 초과 문제가 해결되나요?
그렇지 않습니다. 먼저 설정에서 요구하는 프로토콜, 전송 방식, TLS 서버 이름 및 관련 필드를 확인하고 선택한 코어가 해당 조합을 지원하는지 살펴보세요. VLESS와 VMess는 서로 바꿔 쓸 수 있는 이름이 아닙니다. 오류를 없애려고 인증서 검증을 끄거나 서버에서 지정한 전송 경로를 임의로 수정하지 마세요.
포트 충돌 최소 확인 방법
실제 로컬 수신 포트가 10808이라면 명령 프롬프트에서 다음 명령을 실행할 수 있습니다. 다른 포트를 사용한다면 먼저 숫자를 바꾸세요. 상태가 LISTENING으로 표시된 행과 마지막 PID를 확인한 다음 ‘작업 관리자’ → ‘세부 정보’에서 프로세스를 찾으세요. PID가 보인다는 이유만으로 정체를 알 수 없는 시스템 프로세스를 종료하지 마세요.
netstat -ano | findstr ":10808"
로컬 수신은 정상인데 로그에 원격 연결 시간 초과가 표시된다면 서버 주소와 포트, 네트워크 연결 상태, 서비스 제공업체 상태를 확인하세요. 지연 시간 테스트 결과만으로 브라우저 요청이 프록시를 통과했다고 단정할 수는 없습니다. 앱 접속 결과와 코어 로그를 함께 확인해야 합니다.
7. 종료와 업데이트: 되돌릴 수 있는 설정 보관하기
설치가 끝나면 정상 작동을 확인한 설정을 백업해 두는 것이 좋습니다. 설정 파일에는 구독 주소와 인증 정보가 포함될 수 있으므로 신뢰할 수 있는 위치에 보관하세요. 프로그램 폴더 전체를 공개 공간에 업로드하지 마세요. 업데이트할 때는 먼저 클라이언트를 종료하고 관련 프로세스가 끝났는지 확인해야 파일이 사용 중인 상태에서 업데이트가 중단되는 일을 막을 수 있습니다.
- 정상 종료: 먼저 TUN을 끄고 시스템 프록시를 해제한 다음 트레이 메뉴에서 종료하세요. 창을 닫아도 최소화만 되었을 수 있으므로 코어가 중지되었다고 단정하면 안 됩니다.
- 버전 업데이트: 해당 배포 방식에 맞춰 업데이트하세요. 압축 파일은 새 폴더에 먼저 풀어 파일 구성이 정상인지 확인한 뒤 버전 안내에 따라 필요한 설정만 옮기세요. 구버전 코어와 새 인터페이스 파일을 섞어 사용하지 마세요.
- 이전 버전으로 되돌려 확인: 기존 설정 백업은 보관하되 새 버전과 이전 버전을 동시에 실행하지 마세요. 업데이트 후 문제가 생기면 먼저 코어 시작 로그와 수신 포트를 비교한 다음 복원 여부를 결정하세요.
안정적으로 사용하기 위한 최소 순서는 프로그램 실행, 구독 업데이트, 활성 서버 연결, 대상 앱에서 시스템 프록시 사용입니다. 마지막 단계만 충족되지 않을 때 TUN을 고려하세요. 이 순서대로 설정하면 문제가 생겼을 때 처음부터 다시 설치하는 대신 어느 단계에서 확인해야 하는지 알 수 있습니다.