이 글의 핵심

이 글은 v2rayN을 처음 실행하는 Windows 및 macOS 사용자를 위한 안내입니다. 설치 패키지 선택, 디렉터리 압축 해제, 실행 환경, 코어 확인, 한국어 인터페이스, 로컬 포트, 구독 가져오기와 시스템 프록시 설정을 다루며, 첫 실행 오류의 해결 방법도 설명합니다. 완료 후에는 클라이언트, 코어, 노드, 시스템 프록시의 상태를 각각 확인할 수 있어야 합니다.

설치 전에 시스템 아키텍처와 파일 위치 확인

먼저 시스템 정보에서 프로세서 아키텍처를 확인한 뒤 알맞은 설치 패키지를 선택하세요. Windows에서는 일반적으로 x64를 선택하고, ARM 프로세서 장치는 arm64를 선택합니다. macOS도 x64와 arm64를 구분해야 합니다. 아키텍처를 잘못 선택하면 프로그램이 실행되지 않거나 호환성 계층을 거치면서 리소스 사용량이 늘어날 수 있습니다.

Windows에서는 압축 파일 미리보기 창에서 주 프로그램을 바로 실행하지 마세요. 먼저 모든 파일을 고정된 디렉터리에 압축 해제하세요. 예를 들어 사용자 디렉터리 아래의 Applications\v2rayN을 사용할 수 있습니다. v2rayN의 설정, 데이터베이스와 코어 파일은 상대 경로로 연결되어 있으므로 주 프로그램만 따로 꺼내면 코어 확인에 실패할 수 있습니다.

디렉터리는 현재 계정이 쓰기 가능한 위치에 두어야 합니다. 프로그램을 임시 다운로드 폴더에 오래 보관하거나 관리자 권한이 필요한 시스템 디렉터리에 넣지 마세요. 최초 종료 시 클라이언트는 인터페이스 언어, 로컬 포트, 구독 그룹과 라우팅 설정을 저장합니다. 저장에 실패하면 재시작 후 설정이 기본값으로 돌아갑니다.

7.x
이 글의 인터페이스 기준
.NET 8
일반적인 데스크톱 실행 환경
10808
일반적인 로컬 SOCKS 포트
10809
일반적인 로컬 HTTP 포트

압축 해제 후 확인할 파일

Windows와 macOS 최초 실행 순서

Windows에서는 먼저 v2rayN 주 프로그램을 두 번 클릭하세요. 시스템에서 데스크톱 런타임이 없다고 표시되면 안내에 나온 주 버전과 아키텍처를 기록한 뒤 해당 .NET Desktop Runtime을 설치하세요. x64 프로그램에는 x64 런타임을 사용해야 합니다. 다른 아키텍처만 설치하면 실행 문제가 해결되지 않는 경우가 많습니다.

프로그램이 실행된 뒤 시스템 트레이에만 표시될 수 있습니다. 먼저 작업 표시줄 알림 영역을 확인한 다음 실행 실패 여부를 판단하세요. 트레이 아이콘을 두 번 클릭하면 주 창이 열리고, 오른쪽 클릭 메뉴에서 시스템 프록시, 라우팅 모드와 현재 노드를 전환할 수 있습니다.

  1. 전체 디렉터리를 압축 해제하고 현재 계정에 읽기 및 쓰기 권한이 있는지 확인하세요.
  2. 주 프로그램을 실행하고 10~20초 정도 기다려 클라이언트가 설정 디렉터리와 로그를 초기화하도록 하세요.
  3. 주 창을 열고 「설정」→「매개변수 설정」으로 이동해 언어와 로컬 수신 포트를 확인하세요.
  4. 로그 영역을 열어 빨간색 시작 오류가 계속 반복되지 않는지 확인하세요.
  5. 유효한 설정 하나를 가져온 뒤 지연 시간 테스트를 실행하고 시스템 프록시를 켜세요.

macOS 최초 실행 처리

macOS에서는 먼저 앱을 고정된 응용 프로그램 디렉터리로 옮긴 다음 Finder에서 여세요. 최초 실행 시 출처 확인 안내가 나타나면 「시스템 설정」→「개인정보 보호 및 보안」으로 이동해 차단된 앱 이름을 확인하고 시스템에서 제공하는 다시 열기 항목을 사용하세요. 권한 안내 때문에 여러 복사본을 반복해서 압축 해제하면 실제로 실행 중인 프로그램을 확인하기 어려워집니다.

시스템에서 앱에 실행 권한이 없다고 표시되면 먼저 다운로드와 압축 해제가 제대로 완료되었는지 확인하세요. 그래픽 압축 해제 도구로 원본 압축 파일을 다시 풀어 보는 편이 전체 디렉터리의 권한을 직접 수정하는 것보다 안전한 경우가 많습니다. 프로그램은 열리지만 설정을 저장하지 못한다면 앱 데이터 디렉터리의 소유자가 현재 계정인지 확인하세요.

클라이언트, 코어와 노드의 세 계층 상태 확인

v2rayN은 설정과 시스템 프록시를 관리하는 인터페이스이며, 실제 연결은 선택한 코어가 처리합니다. 주 창이 열린다는 것은 클라이언트 인터페이스가 실행되었다는 뜻일 뿐입니다. 코어가 정상적으로 실행되었거나 노드에 연결할 수 있다는 의미는 아닙니다. 문제를 확인할 때는 이 세 계층을 분리해서 살펴봐야 합니다.

먼저 「설정」→「매개변수 설정」→「코어 설정」으로 이동해 설정 유형에 맞는 코어를 확인하세요. VLESS, VMess 등의 설정은 일반적으로 Xray 코어로 처리할 수 있습니다. 그런 다음 노드를 선택해 활성 서버로 지정하고, 로그에 로컬 수신 주소와 아웃바운드 연결 기록이 생성되는지 확인하세요.

클라이언트 시작설정 읽기코어 호출로컬 포트 수신 대기원격 노드 연결시스템 프록시 적용
확인 계층 정상적인 상태 문제 발생 시 먼저 확인할 항목
클라이언트 인터페이스 주 창 또는 트레이 아이콘을 조작할 수 있고 설정이 저장됨 실행 환경, 디렉터리 쓰기 권한, 중복 프로세스
프록시 코어 로그에 로컬 포트 수신 대기가 시작되며 반복 종료가 나타나지 않음 코어 파일, 설정 문법, 포트 사용 여부
원격 노드 지연 시간 테스트에 수치가 표시되고 연결 로그에 아웃바운드 기록이 나타남 주소, 포트, 프로토콜 매개변수, 네트워크 연결 가능 여부
시스템 프록시 브라우저 요청이 v2rayN의 로컬 수신 포트로 들어감 시스템 프록시 스위치, 브라우저 개별 프록시, 우회 규칙

결론: 먼저 로컬 수신 대기를 확인한 뒤 원격 연결 테스트

로그에 127.0.0.1 수신 포트가 나타나지 않는다면 브라우저나 구독 매개변수를 수정해도 의미가 없습니다. 먼저 코어 실행과 포트 충돌을 해결한 다음 노드 프로토콜과 원격 주소를 확인하세요.

인터페이스 언어, 로컬 포트와 시작 시 동작 설정

「설정」→「매개변수 설정」→「v2rayN 설정」을 열고 언어를 한국어로 변경하세요. 일부 7.x 마이너 버전에서는 인터페이스를 재시작해야 언어 변경이 완전히 적용됩니다. 변경 후에는 클라이언트를 정상적으로 종료했다가 다시 시작하고 프로세스를 강제 종료하지 마세요.

로컬 포트는 애플리케이션이 v2rayN에 연결할 때 사용합니다. 일반적인 설정에서는 10808을 SOCKS 입구로, 10809를 HTTP 입구로 사용합니다. 구체적인 값은 현재 「매개변수 설정」에 표시된 내용을 기준으로 하세요. 포트는 변경할 수 있지만 같은 장치에서 두 프로그램이 동일한 주소와 포트를 동시에 수신할 수는 없습니다.

브라우저가 시스템 프록시를 사용한다면 SOCKS 주소를 별도로 입력할 필요가 없습니다. 명령줄 도구, 개발 도구 또는 시스템 프록시를 읽지 않는 프로그램만 127.0.0.1과 해당 포트를 직접 지정하면 됩니다. 직접 입력할 때는 SOCKS와 HTTP 유형을 구분하세요.

설정 항목 권장 초기값 변경 조건
수신 주소 127.0.0.1 현재 장치에서만 사용할 때는 로컬 루프백 주소 유지
SOCKS 포트 10808 로그에 해당 포트가 사용 중이라고 명확히 표시될 때 변경
HTTP 포트 10809 외부 도구가 해당 포트를 사용 중일 때 변경
시작 시 실행 최초 디버깅 단계에서는 끄기 정상적으로 여러 번 시작한 뒤 켜기
구독 자동 업데이트 먼저 수동으로 업데이트 그룹 주소와 업데이트 방식이 올바른지 확인한 후 활성화

구독 가져오기와 첫 연결 테스트

「구독 그룹」→「구독 그룹 설정」으로 이동해 새 그룹을 만들고 서비스 제공자가 안내한 구독 주소를 붙여 넣으세요. 그룹 이름은 로컬에서 식별하기 위한 것이므로 용도에 맞게 입력하면 됩니다. 저장한 뒤 주 화면으로 돌아가 「구독 그룹」→「모든 구독 업데이트(프록시 사용 안 함)」을 실행하세요.

첫 업데이트는 아직 검증되지 않은 프록시 노드에 의존하지 않는 것이 좋습니다. 현재 네트워크에서 구독을 직접 가져올 수 없다면 목록에 정상 작동하는 설정이 이미 있을 때만 프록시를 통한 업데이트를 선택하세요. 업데이트가 끝나면 노드 수와 프로토콜 유형을 확인하고 “업데이트 성공” 안내만 믿지 마세요.

  1. 노드 하나를 선택하고 오른쪽 클릭 메뉴에서 활성 서버로 지정하세요.
  2. 지연 시간 테스트를 실행해 결과가 시간 초과나 빈 값이 아닌지 확인하세요. 지연 시간 수치는 테스트 경로에 연결할 수 있다는 뜻일 뿐, 모든 웹사이트가 정상적으로 열린다는 의미는 아닙니다.
  3. 트레이 메뉴에서 「시스템 프록시」→「시스템 프록시 자동 구성」을 선택하세요.
  4. 기본 라우팅 모드를 유지한 채 기본 테스트를 완료하고, 복잡한 사용자 지정 규칙은 당분간 추가하지 마세요.
  5. 브라우저에서 자주 사용하는 페이지를 열고 로그에 해당 연결이 표시되는지 함께 확인하세요.
  6. 테스트가 끝난 뒤에 중국 본토 우회 또는 기타 라우팅 규칙을 활성화할지 결정하세요.

VMess와 VLESS는 노드 프로토콜이지 시스템 프록시 모드가 아닙니다. 시스템 프록시는 앱 트래픽을 로컬 포트로 보내고, 라우팅 규칙은 요청을 프록시로 보낼지 직접 연결할지 결정하며, 프로토콜 매개변수는 코어가 원격 서버에 연결하는 방식을 결정합니다. 이 세 개념은 서로 대체할 수 없습니다.

결론: 첫 테스트는 단일 노드와 기본 라우팅으로 진행

먼저 검증된 노드 하나로 “구독 업데이트, 지연 시간 테스트, 시스템 프록시, 웹페이지 접속” 과정을 완료한 다음 사용자 지정 DNS와 분할 라우팅 규칙을 추가하세요. 여러 계층을 한 번에 수정하면 로그에서 구체적인 원인을 찾기 어려워집니다.

최초 실행 시 흔한 오류와 해결 방법

오류를 처리할 때는 코어가 종료되게 만든 첫 번째 기록을 확인하세요. 이후에 나타난 연결 실패만 보면 안 됩니다. 로그에는 연쇄적인 안내가 자주 나타납니다. 실행 환경이 없으면 주 프로그램이 종료되고, 포트가 사용 중이면 코어가 종료되며, 코어가 종료되면 브라우저에 프록시 서버가 응답하지 않는다고 표시됩니다.

오류: You must install or update .NET to run this application.

원인 및 해결: 현재 시스템에 프로그램이 요구하는 .NET Desktop Runtime이 없거나 실행 환경의 아키텍처가 맞지 않습니다. 안내에 따라 해당 주 버전과 x64 또는 arm64 아키텍처를 설치한 뒤 v2rayN을 다시 시작하세요.

오류: A fatal error occurred. The required library hostfxr.dll could not be found.

원인 및 해결: 실행 환경 파일이 없거나 주 프로그램만 복사하고 전체 디렉터리를 보존하지 않은 상태입니다. 전체 설치 패키지를 다시 압축 해제하세요. 실행 환경이 필요한 버전이라면 해당 .NET Desktop Runtime도 복구하세요.

오류: failed to start listener: bind: address already in use

원인 및 해결: 10808, 10809 또는 현재 설정된 수신 포트를 다른 프로세스가 사용 중입니다. 중복 실행된 v2rayN 인스턴스를 종료하거나 「설정」→「매개변수 설정」에서 포트를 변경한 뒤 코어를 다시 시작하세요.

오류: failed to find an available destination

원인 및 해결: 원격 주소 확인에 실패했거나 노드 매개변수가 잘못되었거나 현재 네트워크에서 대상에 연결할 수 없습니다. 서버 주소와 포트를 확인하고 DNS 상태를 새로 고친 다음 로그에서 같은 대상에 계속 실패하는지 확인하세요.

안내: “v2rayN”을 열 수 없습니다. 개발자를 확인할 수 없습니다.

원인 및 해결: macOS가 최초 실행을 차단했습니다. 앱 출처와 파일 이름을 확인한 뒤 「시스템 설정」→「개인정보 보호 및 보안」으로 이동해 시스템에 표시된 다시 열기 옵션을 사용하고 안내에 따라 확인을 완료하세요.

현상: 설정을 저장해도 재시작하면 기본값으로 돌아감

원인 및 해결: 프로그램 디렉터리나 앱 데이터 디렉터리에 쓰기 권한이 없거나 프로세스가 강제로 종료되었을 수 있습니다. 프로그램을 현재 계정이 쓸 수 있는 위치로 옮겨 한 번 정상 종료한 뒤 설정 파일의 수정 시간을 확인하세요.

로그에 보존해야 할 정보

최초 설정에서 자주 묻는 질문

아래 문제는 클라이언트는 이미 열렸지만 연결 경로가 아직 완전히 구성되지 않은 단계에서 자주 발생합니다. 처리 순서는 로컬 수신 대기, 활성 노드, 시스템 프록시, 라우팅 규칙 순으로 계층별 확인하는 것입니다.

창을 닫았는데 왜 계속 실행 중인가요?

v2rayN은 보통 시스템 트레이로 최소화되어 계속 작동합니다. 완전히 종료하려면 트레이 아이콘을 오른쪽 클릭하고 「종료」를 선택하세요. 주 창만 닫으면 코어가 중지되지 않으며 현재 시스템 프록시도 자동으로 해제되지 않습니다.

구독 업데이트는 성공했는데 노드 목록이 비어 있는 이유는 무엇인가요?

「구독 그룹」→「구독 그룹 설정」을 열어 현재 그룹을 업데이트하고 있는지 확인하고 그룹 필터 조건도 점검하세요. 그런 다음 업데이트를 다시 실행해 로그에서 파싱된 설정 수가 0인지 확인하세요.

지연 시간은 표시되는데 브라우저에서 페이지가 열리지 않는 이유는 무엇인가요?

먼저 트레이의 시스템 프록시가 「시스템 프록시 자동 구성」인지 확인하고 브라우저에서 별도로 프록시를 덮어쓰고 있지 않은지 점검하세요. 그런 다음 페이지에 접속할 때 로그에 연결 기록이 생성되는지 확인하세요. 기록이 없다면 일반적으로 트래픽이 로컬 포트로 들어오지 않은 것입니다.

10808이 사용 중인데 다른 포트로 바로 바꿔도 되나요?

가능합니다. 「설정」→「매개변수 설정」에서 사용 중이지 않은 포트로 변경하세요. 예를 들어 10818을 사용할 수 있습니다. 저장한 뒤 코어를 재시작하고 명령줄 도구와 다른 수동 프록시 앱도 새 포트로 맞추세요.

컴퓨터를 켤 때마다 노드를 다시 선택해야 하나요?

정상적으로 종료하면 v2rayN이 활성 서버를 저장합니다. 매번 기본값으로 돌아간다면 먼저 설정 디렉터리의 쓰기 권한을 확인하세요. 저장이 정상임을 확인한 뒤 매개변수 설정에서 시작 시 실행을 활성화하세요.

초기화 완료 후 점검 목록

최초 설치를 마치기 전에 전체 점검을 한 번 진행하세요. 주 창이 열리는 것만으로 성공 여부를 판단하지 마세요. 클라이언트는 설정을 저장할 수 있어야 하고, 코어는 로컬 포트를 안정적으로 수신해야 하며, 활성 노드는 유효한 아웃바운드 기록을 생성하고 시스템 프록시도 켜고 끌 수 있어야 합니다.