처음 설정할 때는 운영체제와 프로세서에 맞는 설치 파일 선택, 코어 실행 확인, 유효한 구독 가져오기, 프록시를 지정한 요청으로 연결 테스트까지 네 가지를 먼저 완료하세요. Windows와 macOS는 실행 방법, 필요한 런타임, 시스템 권한에서 차이가 있습니다. 압축을 풀고 프로그램 창은 열었지만 인터넷에 연결되지 않는 사용자를 위해 실제 작업 순서대로 안내합니다. 연결을 확인한 다음 라우팅과 시작 프로그램 등록을 설정하세요.
1. 설치 파일 선택: 운영체제, 아키텍처, 런타임
v2rayN은 데스크톱 클라이언트 인터페이스이며, 실제 연결은 호출된 코어가 처리합니다. 메인 창이 표시된다고 코어까지 정상 실행 중인 것은 아닙니다. 다운로드할 때는 플랫폼과 프로세서 아키텍처를 확인하고, 패키지에 필요한 런타임과 코어가 포함되어 있는지도 살펴보세요. 파일명에 v2rayN이 있는지만 확인해서는 안 됩니다.
기기에 맞는 전체 패키지
권장처음 사용하는 경우 필요한 구성 요소가 포함되어 있다고 다운로드 페이지에 안내된 전체 패키지를 선택하는 것이 좋습니다. Windows에는 기존 WPF 인터페이스와 크로스 플랫폼 인터페이스가 있습니다. macOS에서는 해당 플랫폼용 크로스 플랫폼 패키지를 선택해야 하며, Windows 실행 파일은 사용할 수 없습니다.
추천 대상: 처음 설치하거나 구성 요소를 수동으로 추가하는 번거로움을 줄이고 싶은 사용자
외부 런타임이 필요한 패키지
필요한 종속성이 무엇인지 확실히 아는 경우에만 선택하세요. 실행할 때 .NET이 필요하다는 안내가 나오면 해당 패키지 설명에 따라 호환되는 런타임을 설치합니다. Windows WPF 인터페이스에는 일반 런타임이 아니라 해당 .NET Desktop Runtime이 필요한 경우가 많습니다.
추천 대상: 런타임 설정을 마쳤고 실행 오류를 확인할 수 있는 사용자
Windows에서는 ‘설정’ → ‘시스템’ → ‘시스템 정보’에서 시스템 종류를 확인하세요. macOS에서는 Apple 메뉴 → ‘이 Mac에 관하여’에서 칩을 확인할 수 있습니다. Intel 기기는 보통 x64, Apple 칩 기기는 우선 arm64를 선택합니다. 브라우저 이름으로 아키텍처를 추측하거나, 첫 설치부터 변환 실행을 기본 선택으로 삼지 마세요.
2. 압축 해제 및 첫 실행: 설치 위치 고정하기
Windows 포터블 패키지는 C:\Tools\v2rayN처럼 현재 사용자가 쓸 수 있고 경로가 바뀌지 않는 폴더에 전체 압축을 풀어야 합니다. 압축 프로그램 안에서 실행 파일을 바로 열거나 실행 파일 하나만 꺼내지 마세요. 코어, 리소스, 설정 폴더의 상대 경로를 그대로 유지해야 합니다. 일반적인 사용에는 관리자 권한이 필요하지 않습니다. TUN이나 시스템 수준 작업을 할 때만 안내에 따라 권한을 허용하세요.
두 운영체제에서 첫 실행 준비하기
Windows
- 패키지 전체의 압축을 푼 다음, 임시 압축 해제 폴더가 아닌 위치에서 메인 프로그램을 실행하세요.
- 런타임 안내가 표시되면 필요한 런타임의 이름과 아키텍처를 확인한 뒤 종속성을 추가하세요.
- 실행에 실패하면 보안 프로그램의 기록에서 코어가 차단되었는지 확인하세요. 보안 기능을 전부 끄지는 마세요.
macOS
- 앱 패키지는 먼저 ‘응용 프로그램’ 폴더로 옮기세요. 다른 압축 패키지는 패키지 안의 안내에 따라 전체 압축을 푸세요.
- 첫 실행이 시스템에 의해 차단되면 먼저 출처를 확인하고 ‘시스템 설정’ → ‘개인정보 보호 및 보안’에 표시된 안내를 살펴보세요.
- 앱을 신뢰할 수 있다고 확인한 경우에만 시스템에서 제공하는 승인 절차를 이용하세요. 보안 검사를 전체적으로 끄지 마세요.
먼저 프로그램을 고정된 위치에서 정상 실행한 뒤 구독을 가져오고 로그인 시 실행 항목을 만드세요. 폴더를 옮긴 후 바로 가기가 작동하지 않는 문제를 예방할 수 있습니다.
macOS에서 앱이 손상되었거나 아키텍처가 호환되지 않거나 실행할 수 없다는 안내가 나오더라도 모든 오류를 권한 문제로 단정하지 마세요. 먼저 패키지 종류와 압축 해제가 제대로 되었는지 다시 확인한 뒤 시스템 안내를 살펴보세요. 설치 위치를 바꾸거나 업그레이드하기 전에 클라이언트의 내보내기 기능으로 설정을 백업하세요. 백업에는 구독 인증 정보가 포함될 수 있으므로 공개된 곳에 함부로 올리지 마세요.
3. 코어 및 구독: 초기 설정 순서
먼저 패키지에 포함된 코어와 기본 설정을 사용하고, TUN·복잡한 라우팅·여러 단계의 상위 프록시는 당분간 활성화하지 마세요. VMess와 VLESS는 프로토콜 이름, Xray는 코어 이름, v2rayN은 관리 인터페이스입니다. 서로 다른 계층의 개념을 혼동하지 마세요. 노드에 특정 전송 방식이나 보안 매개변수가 포함되어 있다면 선택한 코어가 이를 지원해야 합니다.
-
코어 확인
‘설정’ → ‘매개변수 설정’으로 이동해 사용 가능한 ‘Core 유형’ 관련 옵션을 확인하세요. 인터페이스에 따라 ‘Core 유형 설정’이 별도 메뉴로 표시될 수 있습니다. 처음에는 패키지 기본 설정을 유지하고, 코어 파일이 있는지와 로그에 ‘파일이 존재하지 않음’ 또는 시작 실패 메시지가 없는지 확인하세요.
-
포트 확인
‘설정’ → ‘매개변수 설정’에서 로컬 수신 포트와 주소를 확인하고 실제 값을 기록하세요. 처음에는 루프백 주소로 수신하도록 유지하고 ‘LAN 연결 허용’은 켜지 마세요. 실수로 다른 기기에 이 컴퓨터의 프록시가 공개되는 것을 막을 수 있습니다.
-
그룹 추가
‘구독 그룹’ → ‘구독 그룹 설정’을 열고 ‘추가’ 또는 ‘+’를 눌러 그룹을 만드세요. 출처를 알아볼 수 있는 메모를 입력하고 전체 구독 주소를 붙여 넣습니다. 예:
https://example.com/sub?token=xxxx. 이 예시 주소로는 서버 정보를 가져올 수 없습니다. -
구독 업데이트
저장한 뒤 ‘구독 그룹’ 메뉴에서 ‘모든 구독 업데이트(프록시 사용 안 함)’를 실행하세요. 사용할 수 있는 연결이 아직 없는 첫 실행에서는 현재 네트워크를 이용하세요. 직접 연결에 실패하고 사용 가능한 프록시가 이미 있을 때만 프록시를 통한 업데이트를 시도하세요. 연결이 서로 의존하는 상황을 피할 수 있습니다.
-
서버 선택
업데이트된 목록에서 항목을 선택하고 마우스 오른쪽 버튼 메뉴의 ‘활성 서버로 설정’ 또는 현재 인터페이스의 같은 기능을 사용하세요. 로그에서 코어가 정상적으로 시작했는지 확인한 뒤 연결을 테스트합니다. 구독 업데이트 성공은 목록을 가져왔다는 뜻일 뿐, 모든 서버에 연결할 수 있다는 의미는 아닙니다.
노드 매개변수는 유효한 구독이나 서비스 제공업체에서 받아야 합니다. VLESS의 공개 키, 서버 이름, 전송 경로를 임의로 추측하지 마세요. 목록이 비어 있으면 구독 유효 기간, 그룹 필터 조건, 업데이트 로그부터 확인하세요. 같은 주소를 반복해서 추가하면 중복 항목만 늘어날 뿐 접속 문제는 해결되지 않습니다.
4. 로컬 포트와 시스템 프록시: 따로 확인하기
시스템 프록시는 해당 설정을 따르는 앱의 연결을 로컬 수신 포트로 보내는 기능이지, 모든 트래픽을 자동으로 프록시에 전달하는 기능은 아닙니다. 터미널, 일부 브라우저 확장 프로그램, 자체 네트워크 스택을 사용하는 프로그램은 별도 설정을 사용할 수 있습니다. 처음부터 여러 설정을 동시에 바꾸기보다 먼저 로컬 연결을 확인한 다음 시스템 프록시를 켜면 문제를 찾기 쉽습니다.
여기서 10808은 명령 예시에만 사용하는 값이며, 사용 중인 버전의 기본 포트라고 보장할 수 없습니다. 해당 포트가 SOCKS 또는 호환되는 혼합 포트로 동작하는지 먼저 확인하세요. Windows PowerShell에서는 명령 별칭 문제를 피하려면 curl.exe를 사용하고, macOS ‘터미널’에서는 curl을 사용하세요. 아래 명령은 각 운영체제에서 하나씩 실행하면 됩니다. 두 명령을 연속으로 실행할 필요는 없습니다.
# Windows PowerShell
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 5 --max-time 15 -I https://example.com/
# macOS 터미널
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 5 --max-time 15 -I https://example.com/
socks5h는 대상 도메인의 이름 확인을 프록시 측에서 처리한다는 뜻입니다. 정상적인 HTTP 응답을 받으면 이번에는 프록시를 지정한 요청이 성공한 것입니다. 모든 웹사이트나 앱의 트래픽이 프록시를 통과한다는 뜻은 아닙니다. 로컬 포트에 연결할 수 없다는 메시지가 나오면 코어 실행 여부와 포트가 일치하는지 먼저 확인하세요. 로컬 연결은 되지만 원격 핸드셰이크 시간이 초과되면 서버와 전송 매개변수를 확인하세요.
- 시스템 프록시 켜기: v2rayN 메인 화면 하단이나 트레이 메뉴에서 ‘시스템 프록시’ → ‘시스템 프록시 자동 설정’을 선택하세요. 인터페이스에 따라 메뉴 위치가 다를 수 있습니다.
- Windows에서 확인: ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 수동 프록시가 로컬 컴퓨터를 가리키는지, 포트가 클라이언트의 HTTP 또는 혼합 포트와 일치하는지 확인하세요.
- macOS에서 확인: ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’에서 확인하세요. Wi-Fi와 유선 네트워크를 함께 사용한다면 현재 연결에 쓰는 네트워크 서비스를 확인해야 합니다.
- 브라우저에서 확인: 프록시를 덮어쓰는 확장 프로그램을 잠시 끄고 같은 웹사이트를 테스트하세요. 외부로 보이는 IP를 확인하려면 프록시 사용 전후를 비교하고 서비스 제공업체의 안내와 대조하세요.
5. 라우팅, TUN, 시작 프로그램 등록: 연결 확인 후 설정하기
시스템 프록시는 앱의 트래픽을 어디로 보낼지 제어하고, 라우팅 규칙은 코어가 받은 트래픽을 어떤 경로로 내보낼지 결정합니다. 서로 다른 계층의 기능입니다. 중국 본토 우회와 같은 규칙을 선택하면 중국 본토 웹사이트에 직접 연결될 수 있습니다. 이는 규칙에 따른 정상 동작이므로 중국 본토 웹사이트 하나의 접속 경로만으로 프록시가 작동하지 않는다고 판단하지 마세요.
| 설정 항목 | 처음 사용할 때 권장 | 변경 시점 |
|---|---|---|
| 라우팅 규칙 | 먼저 패키지에 포함된 프리셋을 사용하고 현재 모드를 기록하세요. | 기본 연결을 확인한 뒤 도메인과 IP에 규칙을 추가하세요. |
| TUN | 권한 및 라우팅 변수를 줄이려면 처음에는 꺼 두세요. | 시스템 프록시를 따르지 않는 앱의 트래픽도 처리해야 할 때 검토하세요. |
| LAN 접근 | 꺼 둔 상태로 유지하고 로컬 컴퓨터에서만 수신하세요. | 다른 기기에서 사용할 필요가 분명하고 접근 제어를 설정한 뒤에 켜세요. |
| 시작 프로그램 등록 | 먼저 직접 실행과 종료를 각각 한 번씩 확인하세요. | 프로그램 위치와 프록시 정책을 확정한 뒤 활성화하세요. |
TUN은 가상 네트워크 인터페이스, 라우팅, DNS 설정을 다룹니다. ‘더 빠른 시스템 프록시’와는 다릅니다. 현재 플랫폼과 패키지의 안내에 따라 권한을 설정하세요. 활성화한 뒤 네트워크에 문제가 생기면 먼저 TUN을 끄고 원래 프록시 상태로 되돌리세요. DNS, 라우팅, 구독을 동시에 바꾸지 마세요. 한 번에 하나씩 변경해야 문제의 원인을 파악할 수 있습니다.
시작 프로그램 등록 확인 순서
- Windows에서는 ‘설정’ → ‘매개변수 설정’에서 ‘시작 시 자동 실행’을 찾으세요. 해당 항목이 없으면 운영체제에서 제공하는 시작 앱 설정을 이용하세요. 시작 항목을 여러 개 만들지 마세요.
- macOS에서는 ‘시스템 설정’ → ‘일반’ → ‘로그인 항목 및 확장 프로그램’에서 로그인할 때 열리는 앱을 확인하세요. 운영체제 버전에 따라 ‘로그인 항목’으로 표시될 수 있습니다.
- 시작 후 시스템 프록시도 자동으로 켜지는지, 종료할 때 프록시 설정을 지우는지 확인하세요. 로그인 후 한 번 재시동해 코어가 먼저 정상 실행되는지 확인하고 브라우저를 점검하세요.
- 정상적으로 종료할 때는 먼저 ‘시스템 프록시’ → ‘시스템 프록시 해제’를 선택한 뒤 클라이언트를 종료하세요. 비정상 종료 후 인터넷에 연결되지 않으면 시스템이 종료된 로컬 포트를 계속 가리키는지 먼저 확인하세요.
6. 첫 설치 관련 자주 묻는 질문
창은 열리는데 코어 시작에 실패했다고 표시되는 이유는 무엇인가요?
로그의 첫 번째 시작 오류부터 확인하세요. 인터페이스와 코어는 별도 프로세스이므로 압축 해제가 불완전하거나 실행 파일이 격리되었거나 다른 프로세스가 포트를 사용 중일 수 있습니다. 실행 중인 다른 v2rayN을 종료한 뒤 패키지 전체를 다시 압축 해제해 확인하세요. 창이 열렸다는 이유만으로 프록시가 실행 중이라고 판단하지 마세요.
Windows에서 로컬 포트가 사용 중이라고 나옵니다. 어떻게 확인하나요?
터미널에서 아래 포트 확인 명령을 실행하고 마지막 열에 표시된 프로세스 ID를 확인한 뒤 작업 관리자에서 프로그램 이름을 찾으세요. 포트를 바꿔야 한다면 시스템 프록시와 수동으로 설정한 앱도 함께 변경해야 합니다. 출처를 알 수 없는 시스템 프로세스를 강제 종료하지 마세요.
구독 업데이트는 성공했는데 브라우저에서 웹사이트가 열리지 않는 이유는 무엇인가요?
활성 서버가 설정되어 있는지 확인한 다음 프록시를 지정한 요청을 실행하세요. 해당 요청은 성공하지만 브라우저에서 접속되지 않으면 시스템 프록시, 브라우저 확장 프로그램, 별도 프록시 설정을 확인하세요. 요청도 실패한다면 코어 로그를 살펴보세요. 시작 프로그램 설정을 반복해서 바꿔도 해결되지 않습니다.
클라이언트를 종료한 뒤 일반 웹사이트에도 접속할 수 없습니다. 어떻게 해야 하나요?
클라이언트를 다시 열고 ‘시스템 프록시’ → ‘시스템 프록시 해제’를 실행하세요. 프로그램을 시작할 수 없다면 시스템 네트워크 설정에서 로컬 포트를 가리키는 수동 프록시를 끄세요. 회사나 기관의 정책으로 관리되는 네트워크라면 기존 설정을 먼저 확인하고 조직의 설정을 덮어쓰지 마세요.
# Windows: 포트를 실제 수신 값으로 바꾸기
netstat -ano | findstr :10808
# macOS: 해당 TCP 포트를 수신 중인 프로세스 확인
lsof -nP -iTCP:10808 -sTCP:LISTEN
문제를 확인할 때는 오류 발생 시각, 시스템 아키텍처, 패키지 종류, 로그의 오류 설명만 기록하면 됩니다. 화면 캡처나 로그를 공유하기 전에 구독 주소, 접근 자격 증명, 사용자 식별 정보, 서버의 민감한 매개변수를 가리세요. 기본 연결이 안정되면 실제 필요에 따라 라우팅 규칙과 자동화 설정을 하나씩 추가하세요. 재현 가능한 작은 문제를 여러 설정이 서로 영향을 주는 상황으로 키우지 않는 것이 좋습니다.