Windows 또는 macOS에서 v2rayN을 처음 사용하는 분을 위한 안내입니다. 설치 파일과 아키텍처, 실행 환경, 코어, 구독, 로컬 포트, 시스템 프록시 순서로 설정해 노드 연결을 먼저 확인한 다음, 라우팅과 시작 옵션을 조정하세요. 10808과 10809는 포트 설정 예시이며 모든 버전의 기본값은 아닙니다. 실제 포트는 현재 클라이언트 설정과 시작 로그에서 확인하세요.
1. 설치 파일 선택: 운영체제·아키텍처·버전 확인
v2rayN은 서버를 관리하고 프록시 코어를 실행해 로컬 프록시 연결 지점을 설정하는 데스크톱 클라이언트입니다. 메인 화면이 열렸다고 해서 인터페이스 프로그램만 정상 실행된 것입니다. 코어 파일, 노드 설정, 시스템 프록시는 각각 따로 확인해야 합니다. 처음 설치할 때는 클라이언트 다운로드 페이지에서 운영체제에 맞는 파일을 선택하세요. 설치 파일의 종류와 아키텍처를 기록해 두면 오류가 발생했을 때 원인을 찾기 쉽습니다.
| 확인 항목 | Windows | macOS |
|---|---|---|
| 운영체제 및 아키텍처 | 「설정」→「시스템」→「시스템 정보」에서 ‘시스템 종류’를 확인하세요. x64와 ARM64는 서로 다른 아키텍처입니다. | Apple 메뉴→「이 Mac에 관하여」에서 확인하세요. Apple 칩은 arm64, Intel 프로세서는 x64를 선택합니다. |
| 인터페이스 종류 | 다운로드 페이지에서 데스크톱 버전과 클래식 WPF 버전을 구분하세요. WPF 인터페이스는 Windows 전용입니다. | macOS 데스크톱 버전을 선택하세요. Windows 실행 파일은 사용할 수 없습니다. |
| 실행 환경 | .NET에 의존하는 배포 파일은 해당 버전의 .NET 런타임이 필요합니다. 자체 포함 패키지에는 일반적으로 필요한 런타임이 포함되어 있습니다. | 배포 파일 안내를 확인해 추가 런타임이 필요한지 판단하세요. Windows의 Desktop Runtime 설치 절차를 그대로 적용하지 마세요. |
| 버전 기록 | 화면에 표시된 코어 버전만 적지 말고 클라이언트 버전, 패키지 종류, 아키텍처도 기록하세요. | 운영체제 버전과 칩 종류도 함께 기록하면 호환성 문제와 아키텍처 문제를 구분하기 쉽습니다. |
‘.NET’이라는 문구만 보고 여러 버전의 런타임을 설치하지 마세요. 런타임이 없다는 시작 안내에는 대개 프레임워크 이름, 필요한 버전, 아키텍처가 표시됩니다. 예를 들어 Microsoft.WindowsDesktop.App이 없다는 안내가 나오면 기본 Runtime이나 개발용 SDK만 설치하지 말고 해당 .NET Desktop Runtime을 확인하세요. 필요한 주 버전은 클라이언트 패키지에 따라 다르므로 패키지 안내와 오류 메시지를 기준으로 판단하세요.
2. 첫 실행: 압축 해제 위치와 권한 확인
Windows 압축 파일은 먼저 전체 압축을 풀어야 합니다. 압축 프로그램 안에서 실행 파일을 바로 열면 파일 하나만 임시로 풀려 코어, 리소스 또는 설정을 제대로 읽지 못할 수 있습니다. 압축을 푼 파일은 현재 사용자 계정으로 쓰기 가능한 고정 폴더에 두세요. 예: D:\Tools\v2rayN. 경로는 예시일 뿐이며, 폴더가 계속 유지되고 현재 계정에서 설정을 저장할 수 있는지가 중요합니다.
-
설치 파일 확인
다운로드 페이지에서 운영체제, 프로세서 아키텍처, 패키지 종류를 확인하세요. Windows에서는 시스템의 ‘모두 압축 풀기’를 사용해 압축을 완전히 해제하세요. 설치 프로그램 버전은 설치 마법사의 안내를 따르며, 압축 해제 버전의 폴더 규칙을 적용하지 마세요.
-
앱을 고정된 위치에 두기
Windows 압축 해제 버전은 폴더 구조를 그대로 유지하세요. macOS에서 디스크 이미지 파일을 제공한다면 이미지를 연 뒤 앱을 「응용 프로그램」 폴더로 복사하세요. 임시로 마운트된 이미지에서 계속 실행하지 마세요.
-
처음 실행하기
Windows에서는 먼저 일반 사용자 계정으로 실행하세요. macOS에서 개발자를 확인할 수 없다는 안내가 나오면 다운로드 출처를 먼저 확인한 다음, 시스템 안내에 따라 「시스템 설정」→「개인정보 보호 및 보안」에서 열기 허용 옵션을 확인하세요. 시스템 보안 검사를 통째로 끄지는 마세요.
-
시작 로그 확인
메인 화면의 로그 영역을 열어 설정 저장과 코어 실행 여부를 확인하세요. 파일 누락, 권한 부족, 아키텍처 불일치 오류가 있으면 해당 문제를 먼저 해결한 다음 구독을 가져오세요.
3. 코어 선택: 노드에 필요한 Xray 또는 V2Fly 확인
클라이언트와 코어는 별개의 프로그램입니다. v2rayN은 인터페이스와 설정을 관리하고, 실제 프록시 연결은 코어가 처리합니다. 버전 번호가 서로 달라도 정상이며 숫자를 맞추려고 파일을 교체할 필요는 없습니다. 처음 설치할 때는 배포 패키지에 포함된 코어 설정을 그대로 사용하세요. 특정 프로토콜이 필요하다면 「설정」→「매개변수 설정」과 현재 버전의 Core 유형 관련 옵션을 확인하세요.
Xray 코어
권장처음 사용하면서 노드에 Xray 기능이 필요하다면 우선 선택하세요. VLESS + REALITY 등의 설정은 해당 코어의 지원이 필요합니다. 프로토콜 이름만으로 어떤 코어에서든 실행할 수 있다고 판단하면 안 되며, 지원 필드는 코어 버전에 따라 다릅니다.
적합한 경우: 제공 업체가 Xray를 명시적으로 요구하거나 REALITY 노드를 사용하는 경우
V2Fly 코어
V2Fly 지원 범위에 맞는 설정, 예를 들어 해당 요구 사항을 충족하는 VMess 노드에 사용합니다. 현재 v2rayN 배포 패키지에서 제공하는 옵션과 서버 요구 사항을 확인해 선택하세요. Xray의 모든 기능을 대체하는 코어는 아닙니다.
적합한 경우: 서버가 V2Fly 호환 설정을 명시적으로 제공하는 환경
버전에 따라 Core 유형 설정의 구성 방식이 다를 수 있으며, 프로토콜별로 따로 지정하는 경우도 있습니다. 설정 창에 어떤 이름이 표시됐는지만 보지 말고 현재 선택한 노드에서 실제로 어떤 코어가 실행되는지 확인하세요. 로그에 지원되지 않는 필드나 설정을 해석할 수 없다는 오류가 나오면 노드 요구 사항과 코어 버전을 먼저 확인하세요. 암호화, 전송 방식, TLS 매개변수를 무작정 바꾸지 마세요.
- 파일 누락: 해당 배포 패키지의 압축을 다시 완전히 풀고, 시스템 보안 기록에서 코어 파일이 격리되지 않았는지 확인하세요. 출처가 불분명한 파일을 따로 받아 추가하지 마세요.
- 아키텍처 불일치: 인터페이스와 코어 모두 시스템에서 지원하는 아키텍처에 맞아야 합니다. 메인 화면이 열려도 포함된 코어가 실행된다는 뜻은 아닙니다.
- 시작 실패: 첫 번째 코어 오류와 그 전후의 로그를 저장하세요. 이후에 발생하는 연결 실패는 코어가 시작되지 않은 데 따른 결과일 수 있습니다.
4. 구독 가져오기: 서버를 선택한 뒤 연결 확인
설치를 마쳐도 서버가 자동으로 제공되지는 않습니다. 구독 주소는 서비스 제공 업체가 발급하며 보통 접속 자격 정보가 포함됩니다. 웹 계정 페이지나 요금제 안내 페이지, 개별 노드 공유 링크는 구독 주소와 다릅니다. 복사할 때 줄바꿈, 한국어 따옴표, 앞뒤 공백 없이 주소 전체가 들어갔는지 확인하세요.
- v2rayN 메인 화면에서 「구독 그룹」→「구독 그룹 설정」을 열고 그룹을 추가하세요. 알아보기 쉬운 별칭과 구독 주소를 입력한 다음 설정을 저장합니다.
- 「구독 그룹」 메뉴로 돌아가 「모든 구독 업데이트(프록시 사용 안 함)」를 실행하세요. 사용할 수 있는 노드가 없는 첫 업데이트라면 먼저 직접 업데이트를 시도하세요.
- 목록에 서버가 표시되는지 확인하세요. 주소에 접속하려면 프록시가 필요한 경우 먼저 다른 연결을 사용할 수 있어야 합니다. 그런 다음 「모든 구독 업데이트(프록시 사용)」를 이용하세요. 이 옵션만으로 첫 연결을 만들 수는 없습니다.
- 서버 목록에서 노드를 선택하고 마우스 오른쪽 버튼 메뉴의 「활성 서버로 설정」을 선택하세요. 활성 서버가 바뀌었는지 확인하고 로그에 시작 오류가 있는지도 살펴보세요.
- 클라이언트의 연결 테스트로 우선 확인한 다음 시스템 프록시를 설정하세요. 지연 시간 테스트에 성공해도 브라우저가 해당 노드를 사용하고 있다는 뜻은 아닙니다.
5. 로컬 포트: 클라이언트와 시스템 설정 일치시키기
로컬 리스닝 주소는 앱이 v2rayN에 연결할 때 사용하는 진입점이며 원격 서버 주소가 아닙니다. 「설정」→「매개변수 설정」에서 로컬 리스닝 관련 옵션을 확인할 수 있습니다. 저장 후 클라이언트에서 코어 재시작을 요구하면 재시작한 뒤 로그에서 실제 리스닝 포트를 확인하세요. 아래 두 가지는 설정 예시이므로 현재 버전의 기본값으로 동시에 간주하면 안 됩니다.
혼합 진입점 예시
- 리스닝 주소
- 127.0.0.1
- 혼합 포트
- 10808
- 프로토콜 진입점
- 혼합 인바운드에서 HTTP와 SOCKS 수신
- 시스템 프록시
- 로컬 10808로 지정
현재 버전에서 혼합 인바운드를 명시적으로 제공하는 경우에만 사용하세요. 로그에서 필요한 프로토콜을 실제로 수신하는지 확인하세요.
분리 진입점 예시
- 리스닝 주소
- 127.0.0.1
- SOCKS 포트
- 10808
- HTTP 포트
- 10809
- 시스템 프록시
- HTTP 프록시를 로컬 10809로 지정
HTTP와 SOCKS 인바운드를 별도 포트로 제공하는 설정입니다. SOCKS만 지원하는 포트를 HTTP 프록시 항목에 입력하면 안 됩니다.
처음에는 루프백 주소 127.0.0.1를 그대로 사용하세요. ‘LAN 연결 허용’을 켜면 진입점에 접근할 수 있는 범위가 달라져 방화벽과 접근 제어에 영향을 줍니다. 로컬 웹 페이지가 열리지 않는 문제를 해결하는 일반적인 방법은 아닙니다. 시스템 프록시의 포트, 앱에 수동 입력한 포트, 코어 로그에 표시된 리스닝 포트가 서로 일치해야 합니다.
포트 사용 여부 확인
로그에 address already in use가 표시되면 v2rayN이 중복 실행 중인지 먼저 확인하세요. 아래는 Windows 명령 프롬프트와 macOS 터미널에서 확인하는 예시입니다. 다른 포트를 사용하는 경우 숫자를 바꾸세요.
netstat -ano | findstr ":10808"
lsof -nP -iTCP:10808 -sTCP:LISTEN
Windows에서는 로컬 주소와 리스닝 상태를 확인하세요. 마지막 열의 PID는 작업 관리자의 「세부 정보」에서 대조할 수 있습니다. 프로세스가 무엇인지 확인한 뒤 중복 실행을 종료하거나 로컬 포트를 변경하세요. 숫자가 보인다는 이유만으로 모르는 프로세스를 종료하지 마세요. 포트를 바꾼 뒤에는 시스템 프록시와 수동 프록시 설정도 함께 업데이트해야 합니다.
6. 시스템 프록시와 라우팅 모드: 각각 따로 확인
시스템 프록시는 운영체제의 프록시 설정을 따르는 앱이 요청을 어디로 보내는지 결정합니다. 라우팅 규칙은 요청이 코어에 들어온 뒤 직접 연결할지, 프록시를 사용할지, 차단할지를 정합니다. ‘전역 프록시’를 설정해도 모든 프로그램이 시스템 프록시를 따르는 것은 아닙니다. ‘시스템 프록시 자동 설정’을 선택해도 코어로 들어온 모든 요청이 원격 서버를 거치는 것은 아닙니다.
| 설정 및 확인 위치 | 처음 설정할 때 | 확인할 결과 |
|---|---|---|
| v2rayN 「시스템 프록시」 | 「시스템 프록시 자동 설정」을 선택해 클라이언트가 로컬 프록시 진입점을 설정하도록 합니다. | 시스템에 설정된 주소와 포트가 현재 HTTP 또는 혼합 리스닝 진입점과 일치해야 합니다. |
| Windows 「설정」→「네트워크 및 인터넷」→「프록시」 | 수동 프록시 항목을 확인하고 다른 도구가 설정한 이전 주소가 남아 있지 않은지 살펴보세요. | 로컬 진입점을 사용하는 경우 해당 로컬 주소와 실제 포트가 표시되어야 합니다. |
| macOS 「시스템 설정」→「네트워크」→현재 네트워크 서비스→「세부사항」→「프록시」 | 연결되지 않은 서비스가 아니라 현재 사용 중인 Wi-Fi 또는 이더넷 서비스를 확인하세요. | 웹 프록시와 보안 웹 프록시 설정이 클라이언트에서 적용한 값과 일치해야 합니다. |
| v2rayN 라우팅 선택 | 처음에는 내장 분할 라우팅 규칙을 그대로 사용하세요. 문제를 진단할 때는 비교를 위해 명확한 프록시 규칙을 임시로 선택할 수 있습니다. | 도구 모음에 표시된 모드 이름만 보지 말고 로그에서 대상 요청의 아웃바운드를 확인하세요. |
- 연결 확인: 접속이 확인된 HTTPS 페이지를 열고 코어 로그에 해당 연결이 표시되는지 함께 살펴보세요. 로그에 정보가 충분하지 않다면 테스트하는 동안 로그 수준을 임시로 높이고, 테스트가 끝나면 원래대로 돌리세요.
- 앱별 차이: 브라우저에 따라 개별 프록시 설정을 지원하기도 하고, 일부 명령줄 도구는 환경 변수만 읽기도 합니다. 이런 프로그램은 시스템 프록시를 따르지 않을 수 있습니다.
- 종료 순서: 사용을 마칠 때는 먼저 「시스템 프록시」에서 「시스템 프록시 해제」를 선택한 다음 프로그램을 종료하세요. 프로그램이 비정상 종료되어 이전 설정이 남았다면 운영체제의 프록시 설정에서 직접 복원할 수 있습니다.
기본 연결을 확인한 뒤 필요에 따라 시작 시 실행, 구독 자동 업데이트, TUN을 켜세요. macOS에서 네트워크 서비스를 전환한 뒤 프록시 동작이 달라지면 현재 서비스의 프록시 설정을 다시 확인하세요. Windows에서 설정이 적용된 직후 원래 값으로 돌아가면 다른 프록시 프로그램, 관리 정책 또는 보안 도구가 동시에 설정을 관리하는지 확인하세요.
7. 첫 설치에서 자주 겪는 문제: 발생 단계별 점검
실행 파일을 눌러도 창이 뜨지 않거나 바로 종료되면 무엇부터 확인해야 하나요?
작업 관리자나 활성 상태 보기에서 백그라운드 실행 여부를 먼저 확인하세요. 프로세스가 없다면 압축을 완전히 풀었는지, 아키텍처가 맞는지, 런타임 안내가 있는지 확인하세요. Windows에서는 터미널에서 메인 프로그램을 실행해 출력을 확인할 수 있습니다. 종속성을 설치할 때는 안내에 표시된 프레임워크와 아키텍처를 맞추고 노드 설정은 먼저 바꾸지 마세요.
macOS에서 앱을 열 수 없다고 나오면 바로 우회해도 되나요?
먼저 개발자 확인 안내인지, 운영체제 버전 비호환인지, 앱 손상인지 구분하세요. 개발자 확인 안내는 「개인정보 보호 및 보안」의 시스템 절차에 따라 처리하세요. 앱이 손상됐다는 안내가 나오면 아키텍처에 맞는 패키지를 다시 받고, 배포 안내에서 시스템 요구 사항을 확인하세요. 출처가 불분명한 일괄 허용 명령을 복사해 실행하지 마세요.
노드 지연 시간은 나오는데 웹 페이지가 열리지 않아요.
세 단계로 확인하세요. 코어가 시작됐는지, 로컬 포트가 리스닝 중인지, 브라우저가 시스템 프록시를 따르는지 확인합니다. 시스템 프록시 포트와 시작 로그를 하나씩 대조하세요. 요청이 이미 코어에 들어왔다면 노드 핸드셰이크, DNS, 라우팅 오류를 확인하세요. 한 번의 지연 시간 테스트로 실제 웹 접속 여부를 판단할 수는 없습니다.
자동 설정을 눌렀는데 시스템 프록시가 바뀌지 않아요.
운영체제의 프록시 설정 페이지를 다시 열어 현재 값을 확인하세요. macOS에서는 현재 사용 중인 네트워크 서비스를 선택해야 합니다. 프록시를 관리하는 다른 도구를 잠시 종료한 뒤 다시 시도하세요. 조직에서 관리하는 기기는 설정 변경이 제한될 수 있으므로 기기 관리 절차를 따르세요. 권한을 계속 높이거나 시스템 정책을 바꾸지 마세요.
v2rayN을 종료한 뒤 원래 열리던 웹 페이지도 접속되지 않아요.
시스템 프록시가 중지된 로컬 리스닝 포트를 계속 가리키는 경우가 흔합니다. 클라이언트를 다시 실행해 「시스템 프록시 해제」를 선택하거나 시스템 네트워크 설정에서 해당 수동 프록시를 끄세요. 직접 연결이 복구된 뒤 클라이언트를 다시 사용할지 결정하면 됩니다. 프로그램을 먼저 다시 설치할 필요는 없습니다.
문의를 남길 때 함께 알려 주세요
- 운영체제 버전, 프로세서 아키텍처, v2rayN 버전, 데스크톱 버전 또는 WPF 버전 등 패키지 종류
- 사용 중인 코어와 버전, 실제 로컬 리스닝 포트, 시스템 프록시 모드, TUN 사용 여부
- 오류가 발생한 단계: 인터페이스 실행, 코어 시작, 구독 업데이트, 웹 페이지 접속 중 어디인지와 첫 관련 오류 및 발생 시간
- 공유 전에 구독 주소, 서버 접속 정보, UUID, 비밀번호를 가리세요. 스크린샷에는 설정 항목 이름과 오류 문구만 보이도록 하고 전체 노드 설정은 공개하지 마세요.
첫 설정을 마쳤다고 볼 수 있는 기준은 클라이언트 설정 저장, 코어 정상 실행, 로컬 진입점과 시스템 프록시 일치, 실제 웹 페이지 접속 성공입니다. 네 가지를 모두 확인한 뒤 라우팅과 자동화 옵션을 하나씩 조정하세요. 한 번에 한 항목만 바꾸면 문제가 생겼을 때 마지막으로 정상 작동했던 상태로 돌아갈 수 있습니다.