Windows 또는 macOS에서 v2rayN을 처음 사용하는 분을 위한 안내입니다. 운영체제와 프로세서에 맞는 설치 파일을 선택하고 실행 환경을 준비한 뒤, 구독을 가져와 사용할 서버를 지정하세요. 마지막으로 로컬 리스너, 시스템 프록시, 라우팅을 각각 확인합니다. 첫 연결 테스트에서는 TUN을 켜지 말고 시스템 프록시만 사용하세요. 문제가 생기면 ‘프로그램 실행 → 코어 작동 → 프록시 연결 → 트래픽 라우팅’ 순서로 원인을 찾으면 됩니다.
설치 파일 선택: 데스크톱 버전, WPF, 프로세서 아키텍처
v2rayN은 서버 설정을 관리하고 프록시 코어를 실행하며 시스템 프록시 같은 연결 기능을 제공하는 데스크톱 클라이언트입니다. 사용할 수 있는 서버가 기본 포함되지는 않습니다. 시작하기 전에 유효한 구독 주소나 서버 공유 링크를 준비하세요. 프로그램 창이 열렸다고 해서 연결까지 완료된 것은 아닙니다.
Windows에서는 ‘설정’ → ‘시스템’ → ‘정보’에서 ‘시스템 종류’를 확인하세요. macOS에서는 Apple 메뉴 → ‘이 Mac에 관하여’에서 ‘칩’ 또는 ‘프로세서’를 확인합니다. Apple Silicon은 ARM64, Intel 프로세서는 x64를 선택하세요. Windows ARM 기기에서도 배포 파일 안내를 확인하고, 파일 확장자만 보고 실행 여부를 판단하지 마세요.
데스크톱 버전
추천크로스 플랫폼 인터페이스를 사용합니다. Windows와 macOS용 배포 파일을 각각 내려받으세요. 기본적인 설정 방법은 비슷하지만, 시스템 권한과 프록시 설정 위치는 다릅니다. 이 문서에서는 주로 이 버전을 기준으로 안내합니다.
추천 대상: 처음 사용하거나 두 데스크톱 운영체제에서 비슷한 방식으로 사용하고 싶은 경우
Windows WPF 버전
기존 Windows 인터페이스를 유지하는 Windows 전용 버전입니다. macOS 설치 파일이 아니며, 인터페이스 프레임워크가 다르다고 서버 프로토콜까지 달라지는 것은 아닙니다. 특정 설정을 지원하는지는 실제로 사용하는 코어에 따라 달라집니다.
추천 대상: 기존 Windows 인터페이스에 익숙하고 계속 사용하고 싶은 경우
설치 파일은 다운로드 페이지의 최신 안내를 확인하세요. 설치 프로그램, 압축 파일, 디스크 이미지의 설치 방법은 서로 다르므로 모두 ‘압축을 풀고 바로 실행’하면 되는 것은 아닙니다. 처음 사용할 때는 로컬 포트 충돌을 피하기 위해 두 인터페이스 버전을 동시에 실행하지 마세요.
Windows 첫 실행: 전체 폴더와 실행 환경
압축 파일에는 프로그램 본체와 코어 폴더, 기타 종속 파일이 함께 들어 있을 수 있습니다. 실행 파일만 바탕 화면으로 옮기면 창은 열려도 코어가 실행되지 않을 수 있습니다. 압축 파일을 받았다면 먼저 현재 사용자에게 쓰기 권한이 있는 고정 폴더에 전체 압축을 푸세요. 예: C:\Users\Public\Tools\v2rayN. 해당 폴더의 접근 권한도 사용 범위에 맞는지 확인하세요.
-
설치 파일 압축 풀기
압축 파일은 파일 탐색기에서 ‘모두 압축 풀기’를 선택한 다음 압축이 풀린 폴더를 여세요. 설치 프로그램은 설치 마법사의 안내에 따라 진행합니다. 압축 프로그램의 미리 보기 창에서 바로 실행하지 마세요.
-
실행 환경 설치
시작할 때 .NET이 없다는 안내가 나오면 필요한 런타임 종류, 주 버전, 아키텍처를 확인한 뒤 Microsoft 공식 채널에서 설치하세요. WPF 버전에는 호환되는 .NET Desktop Runtime이 필요합니다. SDK만 설치하거나 다른 아키텍처의 런타임을 설치해도 문제가 해결되지 않을 수 있습니다.
-
일반 권한으로 첫 실행
일반 사용자 권한으로 프로그램을 열고 기본 프록시부터 확인하세요. ‘관리자 권한으로 실행’을 모든 오류의 해결책으로 여기지 마세요. TUN 등 추가 권한이 필요한 기능은 기본 연결이 정상 작동한 뒤 따로 설정하면 됩니다.
-
쓰기 권한 확인
설정을 열어 한 번 저장한 다음 정상적으로 종료하고 다시 실행하세요. 언어나 다른 옵션이 원래대로 돌아간다면 설정 저장 폴더에 쓰기 권한이 있는지, 다른 위치에 있는 프로그램을 실행한 것은 아닌지 확인하세요.
macOS 첫 실행: 앱 위치와 보안 안내
.dmg 파일을 받았다면 디스크 이미지를 열고 안내에 따라 앱을 ‘응용 프로그램’으로 드래그하세요. 압축 파일을 받았다면 먼저 압축을 푼 뒤 앱을 고정된 위치로 옮기세요. 설치가 끝나면 디스크 이미지를 종료하고 ‘응용 프로그램’에서 실행하세요. 디스크 이미지 안의 임시 복사본을 계속 사용하지 않는 것이 좋습니다.
- 아키텍처가 맞지 않음: ‘이 Mac에 관하여’에서 칩 정보를 다시 확인한 뒤 ARM64 또는 x64 패키지를 선택하세요. 실행에 실패했다고 해서 시스템 보안 설정부터 바꾸지 마세요.
- 확인되지 않은 개발자 안내: 먼저 파일을 받은 경로를 확인하세요. 시스템에 ‘시스템 설정’ → ‘개인정보 보호 및 보안’ → ‘그래도 열기’가 표시되면 출처를 확인한 경우에만 안내에 따라 허용하세요. 안내가 표시되는 위치는 macOS 버전에 따라 다를 수 있습니다.
- 앱이 손상되었다는 안내: 단순한 권한 문제라고 단정하지 마세요. 아키텍처에 맞는 배포 파일 전체를 다시 받고, 릴리스 안내와 운영체제 호환 조건을 확인하세요. 다른 앱의 보안 속성을 일괄 삭제하지 마세요.
- 프록시 변경 권한 요청: 시스템 프록시를 직접 변경할 때 표시되는 시스템 안내만 확인하세요. 창이 정상적으로 실행되는 것과 시스템 프록시 설정이 반영되는 것은 별개이므로, 후자는 현재 네트워크 서비스 설정도 확인해야 합니다.
macOS 시스템 프록시는 네트워크 서비스별로 설정됩니다. Wi-Fi와 유선 네트워크를 바꾼 뒤에는 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’에서 실제 상태를 확인하세요. 구버전 macOS에서는 ‘시스템 환경설정’ → ‘네트워크’ → ‘고급’에서 찾을 수 있습니다.
첫 설정: 언어, 구독, 사용할 서버
인터페이스 언어는 서버 프로토콜에 영향을 주지 않습니다. 언어를 바꾸려면 ‘설정’ → ‘매개변수 설정’에서 언어 옵션을 찾아 저장한 뒤 안내에 따라 다시 시작하세요. 배포 버전에 따라 언어 설정이 다른 메뉴에 있을 수 있습니다. 이 문서의 메뉴 이름과 같은 기능을 현재 인터페이스에서 찾으세요.
-
구독 그룹 만들기
‘구독 그룹’ → ‘구독 그룹 설정’을 열고 그룹을 추가한 다음 메모와 구독 주소를 입력하세요. 주소 앞뒤에 공백이 없는지, 웹사이트 로그인 주소가 아니라 구독 링크를 복사했는지 확인하세요.
-
구독 업데이트
‘구독 그룹’으로 돌아가 해당 그룹의 업데이트 기능을 실행하세요. 사용할 수 있는 프록시가 아직 없다면 프록시를 사용하지 않고 먼저 업데이트를 시도하세요. 이미 연결 가능한 서버가 있고 직접 연결로 업데이트되지 않을 때만 프록시를 통한 업데이트를 시도하면 됩니다.
-
가져온 설정 확인
목록에 서버가 표시되는지, 프로토콜·주소·포트 항목에 값이 있는지 확인하세요. 웹페이지나 로그인 안내가 표시되면 반복해서 가져오지 말고 제공 업체에 구독 주소와 이용 조건을 문의하세요.
-
사용할 서버 지정
대상 서버를 마우스 오른쪽 버튼으로 클릭하고 ‘활성 서버로 설정’을 선택한 뒤 코어 로그가 정상적으로 시작되는지 확인하세요. 목록에서 행을 선택하는 것만으로는 실제 사용 서버가 바뀌지 않을 수 있습니다.
vmess:// 또는 vless:// 링크 하나만 있다면 전체 내용을 복사한 뒤 ‘서버’ 메뉴에서 ‘클립보드에서 가져오기’를 선택하세요. 서버 공유 링크와 구독 주소는 용도가 다릅니다. 공유 링크는 보통 서버 하나를 가져오고, 구독 주소는 그룹별로 설정을 가져와 업데이트하는 데 사용합니다.
시스템 프록시와 라우팅: 첫 설정을 각각 완료하기
시스템 프록시는 운영체제의 프록시 설정을 따르는 앱이 로컬 리스너에 연결되도록 합니다. 라우팅 규칙은 연결된 트래픽을 프록시로 보낼지, 직접 연결할지, 차단할지를 결정합니다. 두 설정은 서로 대체할 수 없습니다. 처음 연결을 확인할 때는 시스템 프록시만 사용하고 TUN은 끄세요. 권한, 가상 네트워크 어댑터, DNS 처리로 인한 변수를 줄일 수 있습니다.
아래의 10808은 비교를 위한 예시 포트이며 모든 버전의 기본값은 아닙니다. 먼저 ‘설정’ → ‘매개변수 설정’에서 실제 로컬 리스너 종류와 포트를 확인한 뒤 시스템 설정과 대조하세요. 현재 인터페이스에서 HTTP와 SOCKS 포트를 각각 제공한다면 프로토콜에 맞춰 따로 입력하세요. 혼합 리스너 설정을 그대로 적용하면 안 됩니다.
로컬 리스너 확인
- 리스너 주소
127.0.0.1, 로컬 접속 예시- 리스너 종류
- HTTP/SOCKS 혼합, 실제 설정 기준
- 예시 포트
10808- 로컬 네트워크 연결
- 처음 설정할 때는 사용 안 함
먼저 코어가 해당 포트를 실제로 열고 있는지 확인한 뒤 연결할 앱을 설정하세요. 문제를 찾겠다며 모든 네트워크 인터페이스에 포트를 개방하지 마세요.
프록시 연결 확인
- 시스템 프록시
- ‘시스템 프록시 자동 설정’을 선택
- HTTP 주소
127.0.0.1- HTTP 포트
- 실제 HTTP 또는 혼합 리스너 설정과 일치해야 함
- TUN 모드
- 기본 연결 확인 단계에서는 끄기
시스템 프록시는 기기의 모든 트래픽을 처리하지 않습니다. 직접 연결하거나 별도의 프록시 설정을 사용하는 앱은 시스템 프록시를 따르지 않을 수 있습니다.
Windows에서는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 설정이 반영됐는지 확인하세요. macOS에서는 현재 네트워크 서비스의 프록시 옵션을 확인합니다. 처음부터 수동 프록시, 자동 구성 스크립트, 다른 프록시 프로그램을 동시에 켜지 마세요. 어떤 설정이 실제로 적용됐는지 파악하기 어려워집니다.
- 일상적인 트래픽 분리: v2rayN의 라우팅 선택 메뉴에서 필요한 규칙을 고르고 ‘설정’ → ‘라우팅 설정’에서 세부 규칙을 확인하세요. 모드 이름만으로 규칙 내용을 알 수는 없습니다.
- 임시 확인: 규칙 때문에 대상 주소가 직접 연결되는 것 같다면, 연결된 트래픽을 프록시로 보내는 규칙으로 잠시 바꾼 뒤 같은 대상을 테스트하세요. 확인이 끝나면 평소 사용하는 설정으로 되돌리세요.
- 규칙의 적용 범위: 전역 프록시 라우팅도 코어로 들어온 트래픽만 처리합니다. 모든 앱이 시스템 프록시를 따르도록 자동 설정하는 기능은 아닙니다.
- DNS 설정 조정: 우선 현재 설정을 유지하세요. 로그에 이름 확인 실패가 표시되거나 예상과 다른 경로로 이름이 확인되는 경우에만 실제 코어의 DNS 설정을 살펴보세요. 여러 설정을 한꺼번에 바꾸지 마세요.
연결 확인: 포트가 열려도 웹사이트 접속이 되는 것은 아닙니다
가까운 항목부터 차례로 테스트하세요. 먼저 클라이언트 창과 코어가 실행 중인지 확인하고, 로컬 포트가 열린 뒤 프록시 요청을 테스트합니다. 아래 명령은 HTTP 또는 혼합 포트가 10808임을 확인했다고 가정합니다. 실제 포트가 다르면 숫자를 바꾸세요. 명령에 적힌 대상 주소는 요청 방법을 보여주는 예시입니다.
Windows: 리스너 확인 후 요청 보내기
Test-NetConnection -ComputerName 127.0.0.1 -Port 10808
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
macOS: 프록시를 명시해 요청 보내기
curl --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
프록시 매개변수를 명시하면 터미널이 시스템 프록시를 읽는지 여부에 따른 차이를 피할 수 있지만, 코어의 라우팅 규칙에는 여전히 영향을 받습니다. Windows에서 포트 테스트가 성공해도 로컬 프로세스가 연결을 받고 있다는 뜻일 뿐입니다. HTTP 요청에 응답이 와도 현재 규칙에서 해당 대상에 접속할 수 있다는 의미이므로, 모든 웹사이트와 앱이 정상이라고 단정할 수 없습니다.
| 확인된 증상 | 우선 확인할 항목 | 다음 단계 |
|---|---|---|
| 로컬 연결이 거부됨 | 코어 실행 여부와 포트 설정 일치 여부 | 코어 로그에서 실행 실패 또는 포트 점유 여부 확인 |
| 로컬 연결은 성공하지만 요청 시간이 초과됨 | 활성 서버, 원격 연결, 라우팅 | 과거 오류만 보지 말고 같은 요청에 해당하는 로그 확인 |
| 명령은 되지만 브라우저는 안 됨 | 브라우저가 시스템 프록시를 사용하는지 | 별도의 프록시 설정을 확인하고 브라우저 연결 다시 설정 |
| 일부 도메인에 연결할 수 없음 | 라우팅 규칙, DNS, 대상 서비스 상태 | 같은 대상을 반복 테스트하고 한 번에 설정 하나만 변경 |
처음 사용할 때 자주 묻는 질문
프로그램 창은 열렸는데 인터넷에 연결되지 않는 이유는 무엇인가요?
서버를 가져왔는지, 활성 서버로 설정했는지, 코어가 정상적으로 시작됐는지 차례로 확인하세요. 그런 다음 ‘시스템 프록시’에서 ‘시스템 프록시 자동 설정’을 선택했는지 확인합니다. 프록시를 명시한 명령은 접속되는데 브라우저는 접속되지 않는다면 브라우저의 프록시 연결 방식을 먼저 확인하세요. 서버 프로토콜부터 바꾸지는 마세요.
포트가 사용 중이라고 나오는데 포트를 모두 바꿔야 하나요?
먼저 다른 v2rayN 인스턴스나 실행 중인 코어 프로세스를 종료하세요. Windows에서는 netstat -ano | findstr :10808를 실행해 포트 사용 상태를 확인한 다음 작업 관리자에서 해당 PID를 찾을 수 있습니다. 정체를 모르는 시스템 프로세스는 종료하지 마세요. 포트를 바꿔야 한다면 프록시를 사용하는 앱의 설정도 함께 변경하세요.
구독을 처음 업데이트할 때 시간이 초과되면 어떻게 하나요?
주소가 완전한지, 구독이 아직 유효한지, 시스템 날짜와 시간이 정확한지 확인하세요. 사용할 수 있는 프록시가 없다면 ‘프록시를 통해 업데이트’를 반복해서 선택하지 마세요. 사용 가능한 서버가 있고 직접 연결로 업데이트되지 않을 때만 해당 방법을 시도하세요. 자세한 내용은 구독 업데이트 문제 해결을 참고하세요.
클라이언트를 종료한 뒤 웹페이지가 열리지 않나요?
클라이언트를 다시 열고 ‘시스템 프록시’에서 ‘시스템 프록시 지우기’를 선택한 다음 정상적으로 종료하세요. 프로그램이 비정상 종료됐다면 시스템 프록시 설정에서 이번 설정으로 남은 로컬 주소를 지우세요. 회사 네트워크에서 원래 사용하던 프록시나 스크립트는 먼저 기록하고, 임의로 삭제하지 마세요.
처음부터 TUN을 켜야 하나요?
아니요. 먼저 브라우저와 프록시를 명시한 명령으로 기본 연결을 확인하세요. 앱이 시스템 프록시를 따르지 않고 트래픽을 처리해야 할 필요가 있을 때만 TUN을 별도로 설정하고 권한, 라우팅, DNS를 확인하면 됩니다. TUN을 켠 뒤에는 이전에 정상 작동하던 요청도 다시 테스트하세요. 연결 실패를 해결하려면 반드시 켜야 하는 기능은 아닙니다.
초기 설정 후 마무리
아이콘 색이 바뀌었는지가 아니라 활성 서버가 지정됐는지, 코어에 실행 오류가 없는지, 요청이 예상한 규칙에 따라 라우팅되는지, 정상 종료 후 로컬 네트워크가 복구되는지를 기준으로 초기 설정 완료 여부를 판단하세요. 우선 최소한으로 작동하는 설정을 유지한 뒤 시작 시 자동 실행, 추가 규칙, TUN 기능을 하나씩 더하세요. 문제가 생겨도 쉽게 이전 설정으로 돌아갈 수 있습니다.