이 글의 핵심 내용

처음 실행할 때는 메인 프로그램이 열리는지, 코어가 시작되는지, 로컬 포트가 연결 대기 상태인지 먼저 확인하세요. 그다음 구독을 추가하고 시스템 프록시를 설정하면 됩니다. v2rayN을 막 설치한 Windows·macOS 사용자를 위해 설치 파일, 실행 환경, 권한, 포트, 프록시 적용 순서로 문제를 점검해 로컬 실행 오류를 노드 문제로 오해하지 않도록 안내합니다.

메인 프로그램·코어·시스템 프록시 구분하기

v2rayN 창이 열린다고 해서 프록시까지 사용할 수 있는 것은 아닙니다. 메인 프로그램은 노드 목록과 구독, 설정을 관리하고 코어는 연결과 라우팅 규칙을 처리합니다. 시스템 프록시는 해당 설정을 따르는 앱에 요청을 로컬 대기 포트로 보내도록 지정합니다. 세 단계가 차례로 정상 작동해야 합니다.

V2Ray는 Project V의 구성 요소이며, V2Fly는 관련 기술 생태계를 이어가고 Xray는 같은 기술 계열의 또 다른 코어 구현체입니다. v2rayN은 이러한 연결 설정을 관리하는 데스크톱 클라이언트이지 원격 서버가 아닙니다. VMess 또는 VLESS 설정을 가져온 뒤에는 선택한 코어가 설정에 포함된 프로토콜과 전송 매개변수를 지원하는지 확인하세요.

Windows·macOS 설치 파일과 실행 환경

이 사이트의 다운로드 페이지에서 사용 중인 플랫폼에 맞는 파일을 선택하세요. Windows용 Desktop과 WPF는 서로 다른 인터페이스 계열이며, WPF는 Windows 전용입니다. macOS에서는 프로세서 아키텍처에 맞는 파일을 선택하세요. Windows 런타임 해결 방법을 macOS에 그대로 적용하면 안 됩니다.

첫 실행 전 Windows·macOS 공통 확인 사항

Windows
  • 「설정」→「시스템」→「시스템 정보」에서 시스템 종류를 확인하고, 설치 파일과 프로세서 아키텍처가 일치하는지 확인하세요.
  • 설치 프로그램은 안내에 따라 설치하세요. 압축 파일은 먼저 완전히 푼 뒤 실행하고, 압축 프로그램의 미리보기 창에서 바로 실행하지 마세요.
  • 포터블 파일은 현재 사용자에게 쓰기 권한이 있는 고정된 폴더에 두고, 함께 제공된 파일과 폴더 구조를 그대로 유지하세요.
  • .NET이 없다는 안내가 나오면 필요한 버전과 아키텍처, 런타임 이름을 확인한 뒤 해당 구성 요소를 설치하세요.
macOS
  • Apple 메뉴에서 「이 Mac에 관하여」를 열어 Apple Silicon인지 Intel 프로세서인지 확인하세요.
  • Apple Silicon에서는 arm64, Intel에서는 x64를 우선 선택하세요. 첫 점검 단계부터 변환 실행을 전제로 하지 마세요.
  • DMG를 연 뒤 앱을 「응용 프로그램」 폴더로 복사하고 그 위치에서 실행하세요.
  • 처음 실행할 때 시스템이 차단하면 파일 출처를 먼저 확인한 다음, 시스템의 개인정보 보호 및 보안 설정에서 구체적인 차단 사유를 살펴보세요.

설치 파일, 시스템 아키텍처, 실행 환경을 먼저 일치시킨 뒤 연결 설정을 진행하세요. 이 단계에서는 보통 Tun 모드를 켤 필요가 없습니다.

오래된 안내를 보고 특정 버전을 무작정 설치하지 마세요

배포 파일에 런타임이 포함된 경우도 있고, 특정 런타임을 시스템에 미리 설치해야 하는 경우도 있습니다. Windows에서 Microsoft.WindowsDesktop.App이 없다는 안내가 나오면 안내된 아키텍처에 맞는 .NET Desktop Runtime을 설치하세요. 일반 .NET Runtime만으로는 WPF 프로그램의 요구 사항을 충족하지 못할 수 있습니다. 오래된 안내에 나온 버전 번호만 보고 설치할 항목을 정하지 마세요.

실행 환경 안내 없이 클릭 직후 프로그램이 종료된다면 오류 메시지 전체를 보관하세요. 먼저 시스템 보안 소프트웨어의 차단 기록, 설치 폴더 권한, 압축 파일의 완전성을 확인한 뒤 재설치를 시도하세요. 프로그램을 실행하기 위해 시스템 보호 기능을 계속 꺼 두지 마세요.

초기 설정은 다섯 단계로 진행

아래 내용은 중국어 인터페이스에서 흔히 볼 수 있는 메뉴를 기준으로 안내합니다. Desktop과 WPF는 버튼 위치가 다를 수 있고 버전에 따라 메뉴 이름도 바뀔 수 있습니다. 항목을 찾을 수 없다면 현재 화면의 실제 설정을 기준으로 진행하고, 스크린샷의 좌표를 그대로 따라 하지 마세요. 첫 연결에서는 기본 연결만 확인하고 복잡한 분기 설정이나 투명 프록시 적용은 미루세요.

  1. 메인 프로그램 실행

    창이 정상적으로 열리고 설정을 저장할 수 있는지 확인하세요. 포터블 파일에서 메인 프로그램만 따로 복사하지 마세요. 폴더 안의 다른 파일이 빠지면 창은 열려도 코어가 실행되지 않을 수 있습니다.

  2. 대기 포트 확인

    「설정」→「매개변수 설정」에서 로컬 대기 포트와 대기 주소, 관련 인바운드 옵션을 확인하세요. 현재 포트를 기록하고, 우선 LAN 연결 허용은 켜지 마세요. 이 컴퓨터에서만 사용할 경우 루프백 주소로 대기하도록 설정하는 것이 좋습니다.

  3. 구독 추가

    메인 화면의 「구독 그룹」에서 그룹을 추가하고 구독 URL 전체를 입력해 저장한 다음, 「구독 그룹」 메뉴에서 업데이트하세요. 구독 URL과 개별 공유 링크는 용도가 다릅니다. 웹페이지 소개 주소를 구독 URL로 입력하지 마세요.

  4. 사용할 노드 선택

    서버 목록에서 노드를 하나 선택해 활성 서버로 지정한 다음, 메인 화면의 로그에서 코어가 바로 종료되지 않는지 확인하세요. 파일이 없다는 안내가 나오면 코어 파일부터 복구하고, 주소가 사용 중이라는 안내가 나오면 대기 포트 문제부터 해결하세요.

  5. 시스템 프록시 설정

    「시스템 프록시」에서 「시스템 프록시 자동 설정」을 선택한 뒤, 시스템 프록시를 따르는 브라우저로 접속이 확인된 HTTPS 페이지를 열어 보세요. 버전에 따라 메뉴 문구가 다르면 시스템 프록시를 실제로 설정하는 항목을 선택하세요. 기존 설정을 그대로 두는 항목을 선택하지 않도록 주의하세요.

로컬 포트: 대기 상태를 확인한 뒤 프록시 대상 점검

포트는 v2rayN의 실제 대기 설정, 시스템 프록시가 가리키는 포트, 앱의 수동 프록시 설정에서 일치해야 합니다. 아래 두 숫자는 설정 방법을 설명하기 위한 예시이며 모든 버전의 기본값을 뜻하지 않습니다. 현재 「매개변수 설정」과 코어 시작 로그를 기준으로 확인하세요.

10808
이 글의 예시: 로컬 혼합 대기 포트
10809
이 글의 예시: 별도 HTTP 포트

현재 버전에서 혼합 인바운드를 지원하면 하나의 포트로 HTTP와 SOCKS 요청을 모두 받을 수 있습니다. 인바운드를 분리해 설정했다면 각 포트를 따로 기록하세요. 오래된 안내에 10809가 적혀 있다고 해서 10808만 대기 중인 설정에 해당 포트를 억지로 입력하지 마세요. 루프백 주소는 원격 노드 주소가 아닌 127.0.0.1입니다.

Windows에서 포트 사용 여부 확인

PowerShell 또는 명령 프롬프트에서 아래 명령을 실행하세요. 예시 포트를 실제 값으로 바꾸고, 대기 상태인 항목과 프로세스 ID를 확인합니다. 다른 연결 상태의 항목만으로는 해당 포트가 대기 중이라고 단정할 수 없습니다.

netstat -ano | findstr :10808

macOS에서 대기 프로세스 확인

lsof -nP -iTCP:10808 -sTCP:LISTEN

포트를 바꾼 뒤 웹페이지가 갑자기 열리지 않으면 시스템 프록시가 여전히 이전 포트를 가리키는지 먼저 확인하세요. 이런 문제는 원격 노드 품질과 관계가 없습니다. 노드를 계속 바꿔도 로컬 포트 불일치는 해결되지 않습니다.

시스템 프록시와 Tun: 첫 연결에는 무엇을 선택할까요?

시스템 프록시와 라우팅 분기는 서로 다른 단계입니다. 시스템 프록시는 앱의 요청을 클라이언트로 보낼지 결정하고, 라우팅은 코어에 들어온 요청이 어떤 출구를 사용할지 결정합니다. 따라서 「시스템 프록시 자동 설정」을 선택해도 모든 대상이 프록시를 이용하는 것은 아니며, 실제 출구는 현재 라우팅 규칙에 따라 달라집니다.

시스템 프록시로 시작

권장

먼저 브라우저처럼 시스템 프록시를 따르는 앱에서 연결을 확인하세요. 연결 경로가 간단해 문제가 생겼을 때 포트, 코어, 노드 중 원인을 구분하기 쉽습니다. 시스템 프록시를 따르지 않는 앱은 이 설정만으로 자동 전환되지 않습니다.

권장 상황: 첫 설치, 웹페이지 접속 확인, 평소 브라우저 사용

필요할 때 Tun 사용

가상 네트워크 인터페이스를 통해 트래픽을 처리하므로 권한, 라우팅, DNS 설정이 추가로 필요할 수 있습니다. 기본 연결이 정상인지 먼저 확인한 뒤 별도로 켜서 테스트하세요. 필요한 권한은 운영체제와 현재 클라이언트의 안내를 따르세요.

권장 상황: 기본 연결을 확인했고 시스템 프록시를 따르지 않는 앱까지 처리해야 할 때

명시적 프록시로 문제 범위 좁히기

예시의 10808에서 실제로 HTTP 또는 혼합 프록시를 제공한다면 다음 명령을 실행할 수 있습니다. Windows에서는 일부 PowerShell 환경에서 curl이 다른 명령으로 해석되는 일을 피하기 위해 curl.exe를 사용하고, macOS에서는 curl을 사용할 수 있습니다.

curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 -I https://example.com

이 명령은 브라우저가 시스템 프록시 설정을 읽는지와 관계없이 요청을 로컬 프록시로 직접 보냅니다. HTTP 응답이 돌아오면 해당 요청 경로에서 응답을 받은 것이지만, 모든 대상에 접속할 수 있다거나 반드시 프록시를 통해 나갔다는 뜻은 아닙니다. 라우팅 규칙에서 해당 대상을 직접 연결하도록 설정했다면 요청이 프록시를 거치지 않을 수 있습니다. 출구를 확인하려면 해당 요청의 로그와 대상 규칙, 출구 태그를 함께 살펴보세요.

실행 오류와 권한 안내: 오류 내용에 따라 해결

처음 실행할 때 가장 도움이 되는 정보는 원래 오류 메시지입니다. 단순히 “열리지 않음”이라고만 기록하지 말고, 프로그램을 두 번 클릭했을 때인지, 코어를 시작할 때인지, Tun을 켤 때인지 확인하세요. 단계별로 필요한 권한이 다르므로 모든 경우에 관리자 권한으로 실행하는 방식으로 해결하려 하지 마세요.

Windows에서 실행하자마자 런타임이 없다고 표시됩니다. 무엇을 설치해야 하나요?

팝업에 표시된 프레임워크 이름과 버전, 아키텍처를 확인하세요. Windows Desktop Runtime이 필요하다고 나오면 해당 데스크톱 런타임을 설치하세요. 일반 런타임만 설치해서는 안 됩니다. 설치 후 클라이언트를 다시 실행하고, 여전히 실패하면 프로세서 아키텍처가 다른 구성 요소를 잘못 설치하지 않았는지 확인하세요.

macOS에서 개발자를 확인할 수 없다고 합니다. 어떻게 실행하나요?

다운로드 경로와 앱이 올바른지 확인한 뒤 「시스템 설정」→「개인정보 보호 및 보안」에서 이번 차단에 대한 설명을 확인하세요. 시스템에 「그래도 열기」가 표시되면 안내에 따라 진행하세요. 구버전 시스템에서는 메뉴 이름이 「시스템 환경설정」일 수 있습니다. 앱 하나의 경고를 해결하려고 보안 확인 기능을 전역으로 끄지 마세요.

앱은 열리는데 코어를 찾을 수 없다고 표시되는 이유는 무엇인가요?

먼저 설치 파일 설명에 필요한 코어가 포함되어 있는지 확인하고, 원래 폴더 구조가 바뀌지 않았는지와 보안 소프트웨어가 파일을 격리하지 않았는지 살펴보세요. 현재 버전의 코어 업데이트 기능이나 전체 배포 파일을 사용해 호환되는 파일을 복구하세요. 다른 플랫폼용 코어를 복사해 임시로 채우지 마세요.

Tun을 켤 때만 관리자 권한을 요구합니다. 설치가 잘못된 건가요?

서로 다른 문제입니다. 가상 인터페이스를 사용하거나 시스템 라우팅을 변경하려면 추가 권한이 필요한 경우가 많습니다. 먼저 Tun을 끄고 시스템 프록시 모드에서 연결을 확인하세요. 트래픽을 모두 처리해야 하는 경우에만 현재 버전의 안내에 따라 필요한 권한을 부여하세요. 회사 기기의 정책으로 변경이 차단된다면 기기 관리 규정을 따르세요.

종료와 최종 확인: 작동하지 않는 프록시가 남지 않도록 하기

처음 연결에 성공했다고 해서 바로 복잡한 규칙을 추가할 필요는 없습니다. 클라이언트 재시작, 활성 노드 변경, 정상 종료를 차례로 확인해 설정이 저장되고 포트가 유지되는지, 종료 후 시스템 네트워크가 복구되는지 살펴보세요. 프로세스를 강제로 종료하거나 시스템이 비정상적으로 꺼지면 시스템 프록시가 이미 종료된 로컬 서비스로 연결된 채 남을 수 있습니다.

  1. 재시작 후 확인: 기존 구독 그룹과 활성 노드가 유지되고, 로그에 시작 오류가 반복해서 나타나지 않는지 확인하세요.
  2. 연결 중 확인: 로컬 포트가 실제로 대기 중인지, 브라우저에서 응답을 받는지, 대상 요청의 라우팅이 예상대로 동작하는지 확인하세요.
  3. 정상 종료 전: 「시스템 프록시」에서 「시스템 프록시 해제」를 선택한 다음 클라이언트를 종료하세요. 다른 네트워크 관리 설정을 사용 중이라면 기존 설정에 따라 복구하세요.
  4. 비정상 종료 후: Windows에서는 「설정」→「네트워크 및 인터넷」→「프록시」를 확인하세요. macOS에서는 「시스템 설정」→「네트워크」→현재 네트워크 서비스→「세부사항」→「프록시」를 확인하세요. 이번 테스트에서 추가한 로컬 프록시만 해제하고, 회사 네트워크에 필요한 설정은 덮어쓰지 마세요.

이 점검을 마쳐야 “프로그램 설치 완료”에서 “기본 연결을 반복해서 사용할 수 있는 상태”로 넘어갈 수 있습니다. 이후 특정 웹사이트만 접속되지 않는다면 라우팅, DNS, 노드 설정을 하나씩 확인하세요. 안내된 순서대로 다시 설정하려면 입문 가이드를, 오류 증상을 기준으로 원인을 찾으려면 문제 해결을 참고하세요.