플랫폼 설치 · 설정 안내

V2Ray 전체 플랫폼 설치구독·프록시·문제 해결 설정

데스크톱에서는 v2rayN, Android에서는 v2rayNG와 v2flyNG를 사용합니다. 운영체제별 설치 절차를 확인한 뒤 트래픽이 지나가는 단계별로 설정을 점검하세요.

처음 사용하는 경우 빠른 시작 가이드를 따라 먼저 연결해 보세요. 이 페이지에서는 운영체제별 차이와 권한 범위, 문제 해결 방법을 확인할 수 있습니다. 설치 파일은 클라이언트 다운로드 페이지에서 선택하면 됩니다. 모든 플랫폼의 내용을 처음부터 끝까지 읽을 필요는 없습니다.

아키텍처 및 설치 구독 및 노드 트래픽 처리 라우팅 및 DNS

공통 준비 사항: 플랫폼, 구독 및 설정 백업

클라이언트, 코어, 노드를 구분하세요

v2rayN은 데스크톱에서 노드 목록, 구독 관리, 프록시 설정과 코어 실행을 담당합니다. v2rayNG와 v2flyNG는 Android에서 그래픽 인터페이스를 제공합니다. 코어는 프로토콜을 해석하고 라우팅을 적용해 연결을 수립하며, 노드는 원격 서버 연결에 필요한 매개변수입니다. 클라이언트를 설치해도 연결 가능한 노드가 자동으로 생기지는 않습니다. 시작하기 전에 유효한 구독 주소, 공유 링크 또는 전체 설정 파일을 준비하고, 해당 자료를 사용할 권한이 있는지 확인하세요.

데스크톱에서는 v2rayN을 우선적으로 선택하세요. Android에서는 Xray 코어를 사용하는 v2rayNG부터 시작하고, V2Fly 설정이 필요한 경우 v2flyNG를 고려하면 됩니다. 프로토콜 이름이 같더라도 모든 확장 필드를 서로 사용할 수 있는 것은 아닙니다. 전송 방식, 보안 계층 매개변수와 코어 기능이 모두 호환되어야 합니다. 가져오기는 성공했지만 연결되지 않는다면 클라이언트를 여러 개 다시 설치하기보다 설정에서 요구하는 코어를 먼저 확인하세요.

설치 파일은 프로세서 아키텍처에도 맞아야 합니다. 이 페이지의 Windows 안내는 다운로드 페이지에서 제공하는 x64 데스크톱 버전과 WPF 버전을 기준으로 합니다. macOS는 Apple Silicon과 Intel을 구분하고, Linux는 아키텍처와 패키지 형식을 모두 확인해야 합니다. Android는 arm64와 범용 버전으로 나뉩니다. 운영체제, 프로세서 아키텍처, 앱 인터페이스 유형은 서로 다른 기준이므로 파일명에 운영체제 이름이 있다는 이유만으로 적합하다고 판단하지 마세요.

구독 정보 및 로컬 환경 확인

구독 주소에는 보통 인증 정보가 포함되므로 계정 비밀번호처럼 민감하게 관리해야 합니다. 복사할 때 앞뒤 공백, 줄바꿈, 메신저가 붙인 문장부호가 없는지 확인하세요. 화면을 공유할 때는 주소, 사용자 식별 정보와 노드 인증 필드를 가리세요. 구독 업데이트 실패는 주소 만료나 웹페이지 응답 때문일 수도 있으므로 상태 표시의 실패만 보고 소프트웨어가 손상됐다고 판단하지 마세요. 오류 요약만 기록하고 개인 구독 주소 전체를 공개 게시판에 올리지 마세요.

연결하기 전에 시스템 날짜와 시간대가 올바른지 확인하고 자동 시간 설정을 켜세요. 인증서 검증과 일부 프로토콜 핸드셰이크는 시간에 의존하므로 오차가 크면 보안 연결에 실패할 수 있습니다. 기본 네트워크가 로컬 서비스에 정상적으로 연결되는지, 네트워크 로그인이 필요한지, 다른 프록시나 가상 네트워크 어댑터 프로그램이 실행 중인지도 확인하세요. 첫 테스트에서는 트래픽을 처리하는 방식을 하나만 사용해야 요청의 경로를 파악하기 쉽습니다.

구독, 공유 링크, 기본 JSON은 서로 다른 입력 형식입니다. 구독은 보통 여러 노드를 일괄 업데이트하는 데 사용하고, 공유 링크는 일반적으로 단일 노드를 설명합니다. 기본 JSON에는 인바운드, 아웃바운드, 라우팅과 DNS 설정 전체가 포함될 수 있습니다. 클라이언트에 맞는 가져오기 메뉴를 사용하고, 전체 설정을 구독 주소로 업데이트하려고 하지 마세요. 형식별 차이는 구독 형식과 공유 링크 비교에서 확인할 수 있습니다.

플랫폼클라이언트 및 패키지 선택 기준트래픽 처리 방식
Windowsv2rayN, x64 데스크톱 버전 또는 WPF 버전시스템 프록시, 지원되는 경우 TUN 설정
macOSv2rayN, 칩에 맞는 DMG 선택시스템 프록시, 지원되는 경우 TUN 설정
Linuxv2rayN, 아키텍처와 deb / rpm 형식 확인데스크톱 프록시 설정 또는 지원되는 TUN
Androidv2rayNG / v2flyNG, arm64 또는 범용 버전시스템 VPN 권한

문제가 생기면 되돌릴 수 있는 최소 설정

처음 설정할 때는 유효한 노드 하나, 트래픽 처리 방식 하나, 명확한 라우팅 모드만 있으면 됩니다. 사용자 지정 DNS, 복잡한 규칙과 앱별 분할 설정은 처음부터 추가하지 마세요. 구독 업데이트, 노드 연결, 브라우저 접속을 각각 확인한 다음 설정을 하나씩 추가하세요. 이렇게 하면 변경 전후를 비교할 수 있고, 문제가 생겼을 때 직전에 정상 작동하던 상태로 되돌릴 수 있습니다. 여러 옵션을 한꺼번에 바꾸면 원인을 찾기 어렵습니다.

업그레이드하거나 기기를 옮기기 전에 클라이언트의 백업·내보내기 기능으로 설정을 저장하세요. 수동으로 백업해야 한다면 클라이언트를 완전히 종료한 뒤 실제 설정 디렉터리를 복사합니다. 설치 방식에 따라 데이터 위치가 다를 수 있으므로 인터페이스나 로그에서 경로를 확인하고, 인터넷에 있는 오래된 경로를 그대로 사용해 파일을 덮어쓰지 마세요. 백업에는 구독 그룹, 라우팅 설정과 필요한 사용자 지정 설정을 포함하고, 노드 인증 정보가 노출되지 않도록 파일 접근 권한을 제한하세요.

Windows: v2rayN 설치 및 시스템 프록시

데스크톱 버전과 클래식 WPF 버전 선택

Windows 설치 파일에서 v2rayN을 선택하세요. 데스크톱 버전은 최신 크로스 플랫폼 인터페이스를 사용하고, WPF 버전은 기존 데스크톱 방식을 유지합니다. 두 버전은 노드 서비스가 서로 다른 것이 아닙니다. 기존 사용 방식에 익숙하다면 인터페이스를 기준으로 선택하고, 처음 설치한다면 데스크톱 버전부터 시작해도 됩니다. 다운로드 페이지에서는 x64 설치 파일을 제공합니다. 설치하기 전에 시스템 정보에서 프로세서 아키텍처와 운영체제가 해당 패키지의 실행 요구 사항을 충족하는지 확인하세요.

설치 프로그램을 실행하고 화면의 안내에 따라 설치 위치를 선택하세요. 압축을 풀어 실행해야 하는 배포 파일이라면 안정적인 디렉터리에 모두 압축을 푼 다음 메인 프로그램을 실행해야 합니다. 압축 파일 미리 보기에서 바로 실행하지 마세요. 임시 다운로드 폴더에 설치하지 말고, 부속 리소스를 빠뜨린 채 메인 프로그램만 복사하지도 마세요. 코어, 규칙 데이터 또는 실행 종속성이 누락되면 인터페이스는 정상적으로 열리더라도 연결 단계에서 실패할 수 있습니다.

일반적인 시스템 프록시 테스트를 위해 처음부터 관리자 권한으로 계속 실행할 필요는 없습니다. 일반 사용자로 시작해 로그에 수신 포트 생성, 설정 읽기, 코어 실행 여부가 기록되는지 확인하세요. 시스템 보안 경고가 특정 구성 요소를 차단하면 해당 파일과 작업의 출처부터 확인하고 보안 기능 전체를 끄지 마세요. TUN 작업에 높은 권한이 필요한 경우에는 해당 작업에만 권한을 부여하세요. 경로 오류나 포트 충돌을 권한 상승으로 해결하려고 해서는 안 됩니다.

구독을 가져와 첫 연결 설정하기

구독 관리에서 그룹을 추가하고 알아보기 쉬운 메모와 전체 주소를 입력한 뒤 저장하고 해당 그룹을 업데이트하세요. 인터페이스마다 메뉴 이름은 조금 다를 수 있지만, 기록 추가와 노드 가져오기는 보통 별개의 작업입니다. 업데이트가 끝나면 그룹에 노드가 표시되는지 확인하고 로그에서 인증 실패, 주소 해석 실패, 응답 형식 오류가 있는지 살펴보세요. 노드가 없는 빈 그룹을 구독 가져오기가 완료된 상태로 오해하지 마세요.

새 그룹에서 노드를 선택해 활성 설정으로 지정한 다음 실제 연결을 테스트하세요. 지연 시간 테스트에서 응답이 왔다는 사실만으로 프로토콜 핸드셰이크, 대상 사이트 접속과 DNS가 모두 정상이라고 볼 수는 없습니다. 연결 테스트를 완료할 수 있는 노드를 우선 선택하고 이름과 프로토콜 유형을 기록하세요. 그룹 전체가 실패하면 구독 유효성과 시스템 시간을 확인하세요. 노드 하나만 실패한다면 전역 설정을 초기화하기 전에 같은 그룹의 다른 노드부터 사용해 보세요.

코어를 실행한 뒤 시스템 프록시를 켜면 시스템 설정을 따르는 앱이 로컬 수신 주소로 트래픽을 보냅니다. 프록시 모드의 정확한 명칭은 현재 인터페이스를 기준으로 확인하세요. 프록시 설정이 시스템에 반영되었고 클라이언트가 계속 실행 중인지 확인하는 것이 중요합니다. 이후 브라우저에서 접속 가능한 테스트 페이지를 열고, 외부 IP 확인과 클라이언트 로그를 함께 살펴 요청이 예상한 아웃바운드로 전달되는지 확인하세요. 자세한 검증 방법은 첫 연결 및 프록시 적용 확인을 참고하세요.

시스템 프록시의 범위와 TUN 문제 해결

시스템 프록시가 모든 프로그램의 트래픽을 강제로 처리하는 것은 아닙니다. 일부 명령줄 도구, 게임, 독립 네트워크 구성 요소는 별도로 프록시를 설정해야 하며 브라우저 확장 프로그램이 시스템 설정을 덮어쓸 수도 있습니다. 브라우저는 되는데 특정 앱만 실패한다면 해당 앱이 시스템 프록시를 읽는지, 어떤 전송 방식을 사용하는지, 자체 네트워크 설정이 있는지 확인하세요. 앱 하나가 프록시를 사용하지 않는다는 이유만으로 활성 노드 전체가 작동하지 않는다고 판단하지 마세요.

더 많은 트래픽을 처리해야 한다면 현재 v2rayN, 선택한 코어와 시스템 환경이 TUN을 지원하는지 확인하세요. 사용 전에 시스템 프록시 상태와 기존 네트워크 설정을 기록하고, 안내에 따라 필요한 권한이나 구성 요소를 설정합니다. 다른 가상 네트워크 어댑터 프로그램은 먼저 끈 뒤 로컬 네트워크, 도메인 해석과 대상 사이트 접속을 확인하세요. TUN은 트래픽이 클라이언트로 들어오는 방식이며, 최종적으로 직접 연결할지 프록시를 사용할지는 라우팅이 결정합니다.

종료 후 네트워크에 문제가 생기면 Windows의 수동 프록시가 종료된 로컬 포트를 계속 가리키는지 먼저 확인하고 원래 설정으로 복원한 다음 테스트하세요. 포트가 사용 중이라면 로그에서 해당 포트를 확인하고 중복 실행 중인 클라이언트를 종료하거나 로컬 수신 포트를 변경하세요. 원격 서버 포트를 바꾸지 마세요. 업그레이드 후 규칙이 사라졌거나 실행 경로가 바뀌거나 시작 프로그램 설정이 작동하지 않는 문제는 각각 따로 확인해야 합니다. 이를 하나의 노드 오류로 취급하지 마세요.

macOS: 칩에 맞는 패키지와 네트워크 권한

칩에 맞는 v2rayN 설치

시스템의 ‘이 Mac에 관하여’에서 칩 정보를 확인한 뒤 macOS 설치 파일에서 알맞은 v2rayN을 선택하세요. Apple Silicon에는 arm64 패키지를, Intel에는 x64 패키지를 사용합니다. 컴퓨터 외관, 구매 연도나 기기 이름만 보고 아키텍처를 추측하지 마세요. 아키텍처가 맞지 않으면 실행되지 않거나 호환 실행 환경이 필요할 수 있고 구성 요소에 문제가 생길 수도 있습니다. 이런 증상이 나타나면 구독 설정을 바꾸기 전에 다운로드한 패키지를 먼저 확인하세요.

DMG를 연 다음 설치 화면의 안내에 따라 앱을 응용 프로그램 폴더로 옮기고, 안정적인 위치에서 실행하세요. 마운트된 설치 이미지에서 계속 실행하지 마세요. 이미지를 꺼내거나 다운로드 파일을 정리하거나 다시 로그인하면 기존 실행 경로가 작동하지 않을 수 있습니다. 처음 실행할 때 시스템 보안 경고가 표시되면 앱 출처와 파일이 일치하는지 확인한 뒤 시스템의 앱 열기 허용 절차를 따르세요. 보안 정책 전체를 끌 필요는 없습니다.

앱 창이 표시된다고 모든 네트워크 권한 설정이 끝난 것은 아닙니다. 시스템 프록시 변경, 백그라운드 구성 요소와 TUN 설정은 실제로 활성화할 때 권한을 요청할 수 있습니다. 요청된 권한의 범위를 읽고 현재 필요한 기능에만 권한을 부여하세요. 이전에 요청을 거부했다면 시스템 설정에서 관련 항목을 확인하세요. 권한을 주는 대신 실행 버튼을 반복해서 누르지 말고, 권한 대화상자의 실패를 원격 노드 연결 불가로 오해하지 마세요.

구독, 시스템 프록시 및 연결 확인

구독 관리에서 그룹을 추가하고 주소를 저장한 다음 그룹을 업데이트해 노드 목록이 실제로 갱신되었는지 확인하세요. 기기 간에 주소를 복사할 때 클립보드에 줄바꿈이나 공백이 들어갔는지 살펴보세요. 같은 주소가 다른 기기에서는 작동하지만 이 기기에 노드가 표시되지 않는다면 업데이트 로그와 현재 네트워크의 접속 조건부터 확인하세요. 공유 링크는 해당 가져오기 메뉴를 사용하고, 기본 설정 파일은 클라이언트에서 지원하는 사용자 지정 설정 절차에 따라 처리해야 합니다.

노드를 선택해 코어를 실행하고 연결 테스트가 완료되는지 확인한 뒤 시스템 프록시를 켜세요. macOS의 프록시 설정은 네트워크 서비스별로 관리될 수 있으며 Wi-Fi, 유선 네트워크와 기타 서비스가 각각 다른 상태를 저장할 수 있습니다. 네트워크를 바꾼 뒤 동작이 달라지면 다른 인터페이스의 프록시 스위치만 확인하지 말고 현재 실제로 사용 중인 네트워크 서비스를 확인하세요. 클라이언트에 프록시 사용으로 표시되더라도 현재 시스템 네트워크 설정과 대조해야 합니다.

브라우저가 시스템 프록시를 사용하는지는 브라우저 자체 설정에도 달려 있습니다. 테스트할 때 프록시를 가로채는 확장 프로그램을 잠시 끄고, 명확한 진입 경로 하나만 유지한 다음 접속 가능한 페이지를 열어 로그를 확인하세요. 웹페이지가 열렸다고 모든 트래픽이 처리된 것은 아닙니다. 해당 페이지가 직접 연결로도 열렸을 수 있기 때문입니다. 프록시가 필요한 대상은 라우팅 로그와 외부 IP 정보를 함께 확인하세요. 모든 사이트에서 같은 외부 IP가 표시될 필요는 없습니다.

TUN, 절전 모드 및 네트워크 서비스 전환

시스템 프록시를 따르지 않는 앱이 있다면 현재 클라이언트와 시스템에서 지원하는 범위 안에서 TUN을 고려할 수 있습니다. 켜기 전에 다른 네트워크 필터, 가상 네트워크 어댑터나 터널 기능이 트래픽 경로를 처리하고 있지 않은지 확인해 기본 경로를 중복으로 가로채지 않도록 하세요. 권한을 설정한 뒤 기본 도메인 해석, 대상 연결과 로컬 네트워크 접속을 차례로 테스트하세요. 켠 뒤 기기 전체가 네트워크에 연결되지 않으면 TUN을 끄고 시스템 프록시 상태로 되돌린 다음 라우팅과 DNS 설정을 확인하세요.

컴퓨터가 절전 모드에서 깨어나거나 유선에서 무선 네트워크로 전환되면 기존 연결이 끊길 수 있지만 로컬 수신 포트는 계속 열려 있을 수 있습니다. 먼저 기본 네트워크가 복구되었는지 확인한 뒤 현재 연결이나 코어를 다시 시작하세요. 구독을 바로 삭제할 필요는 없습니다. 주소 해석만 실패한다면 시스템 DNS와 클라이언트 DNS가 실제로 어떤 경로를 사용하는지 확인하세요. 모든 연결이 시간 초과되면 노드 연결 가능 여부, 네트워크 로그인 상태, 남아 있는 잘못된 라우팅 설정을 점검하세요.

설정을 옮길 때는 클라이언트의 내보내기·가져오기 기능을 우선 사용하고, 다른 기기의 실행 디렉터리 전체를 현재 앱에 덮어쓰지 마세요. 아키텍처가 다른 실행 구성 요소는 서로 바꿔 쓸 수 없고 설정에 포함된 절대 경로도 유효하지 않을 수 있습니다. 업그레이드 전에 구독, 라우팅과 사용자 지정 설정을 백업하세요. 업그레이드 후에는 코어 실행, 시스템 프록시와 필요한 권한을 순서대로 확인합니다. 완전히 종료할 때 프록시가 복구되었는지도 확인해 시스템이 중지된 로컬 서비스에 계속 접속하지 않도록 하세요.

Linux: 패키지 형식, 데스크톱 프록시 및 권한

배포판의 패키지 형식과 아키텍처를 모두 확인하세요

Linux 설치 파일에서 v2rayN을 선택하세요. deb 패키지를 사용하는 배포판에는 해당 deb 패키지를, rpm 패키지를 사용하는 배포판에는 해당 rpm 패키지를 선택한 다음 x64와 arm64 중 맞는 아키텍처를 확인하세요. 데스크톱 환경 이름으로 패키지 형식을 결정할 수 없으며 프로세서 제조사만으로 아키텍처를 판단할 수도 없습니다. 먼저 시스템 정보에서 배포판과 아키텍처를 확인하세요. 명령줄의 도움이 필요하면 아래 읽기 전용 명령으로 정보를 확인할 수 있습니다. 시스템 설정은 변경되지 않습니다.

uname -m
cat /etc/os-release

x86_64는 일반적으로 다운로드 페이지의 x64에 해당하고, aarch64는 보통 arm64에 해당합니다. 확인한 뒤 그래픽 소프트웨어 설치 프로그램에서 다운로드한 패키지를 열고 안내에 따라 종속성을 처리해 설치하세요. 패키지 형식이 맞더라도 시스템 라이브러리 버전이 맞지 않을 수 있으므로 설치 프로그램에 표시된 종속성 오류를 확인하세요. 경고를 없애려고 종속성 검사를 강제로 무시하지 말고, 다른 아키텍처용 패키지를 대체품으로 사용하지 마세요.

설치가 끝나면 앱 메뉴에서 v2rayN을 실행해 그래픽 인터페이스, 설정 저장과 코어 실행이 정상인지 먼저 확인하세요. 데스크톱 세션에 따라 시스템 트레이 지원이 다를 수 있습니다. 기본 창을 닫은 뒤에도 프로그램이 실행 중인지 프로세스와 로그로 확인하고 트레이 아이콘 유무만으로 판단하지 마세요. 인터페이스가 열리지 않는다면 실행 종속성이나 그래픽 세션 문제부터 해결하세요. 이는 노드를 읽기 전 단계의 오류이므로 구독 내용과 직접적인 관련이 없습니다.

구독 가져오기 및 데스크톱 프록시 범위

구독 그룹을 추가하고 주소를 저장한 다음 업데이트를 실행하세요. 노드가 표시된 것을 확인한 뒤 활성 설정을 선택합니다. Linux에서는 그래픽 클라이언트의 네트워크 환경과 터미널 환경을 특히 구분해야 합니다. 터미널에서 구독 주소에 접속할 수 있어도 그래픽 앱이 같은 프록시 환경 변수를 사용하는 것은 아닙니다. 업데이트에 실패하면 클라이언트 로그를 확인하고 직접 연결, 시스템 프록시 또는 다른 설정된 진입 경로 중 무엇을 사용하는지 살펴보세요. 클라이언트가 자신의 수신 포트에 의존하는 순환 구조가 생기지 않도록 주의하세요.

시스템 프록시를 켠 뒤 데스크톱 네트워크 설정에서 실제로 적용된 호스트, 포트와 제외 목록을 확인하세요. 데스크톱 환경마다 시스템 프록시 구현 방식이 다르며 일부 앱은 자체 설정이나 실행 시 전달된 환경 변수만 읽습니다. 브라우저는 되는데 터미널 도구가 작동하지 않는다면 터미널 도구의 프록시 지원 방식을 확인하세요. 반대로 터미널에 프록시를 설정했다고 데스크톱 세션 전체가 프록시를 사용하게 되는 것도 아닙니다.

로컬 HTTP 및 SOCKS 진입 주소에는 클라이언트에 실제로 표시된 포트를 입력하세요. 다른 사람의 포트 번호를 그대로 따라 하지 마세요. 앱에서 SOCKS를 요구한다면 HTTP 주소를 입력하면 안 됩니다. 원격에서 주소를 해석할지 로컬에서 해석할지는 앱이 사용하는 프로토콜과 설정에 따라 달라집니다. 처음에는 앱 하나와 진입 방식 하나만 테스트하세요. 요청이 로그에 표시되는 것을 확인한 뒤 범위를 넓히면 데스크톱 프록시, 터미널 변수와 클라이언트 라우팅을 한꺼번에 변경하지 않아도 됩니다.

TUN 권한 및 여러 네트워크 인터페이스

TUN은 보통 가상 인터페이스를 만들고 라우팅을 수정할 권한이 필요합니다. 사용 가능 여부는 현재 v2rayN, 코어와 시스템 환경에 따라 달라집니다. 클라이언트가 제공하는 권한 설정 절차를 우선 따르고, 그래픽 프로그램 전체를 높은 권한으로 계속 실행하지 마세요. 권한 부족, 장치 노드 사용 불가와 라우팅 충돌은 서로 다른 문제이므로 로그에서 어느 단계에서 실패했는지 확인하세요. 컨테이너, 제한된 세션이나 사용자 지정 시스템은 일반 데스크톱과 네트워크 기능이 다를 수 있습니다.

유선, 무선, 컨테이너 네트워크 또는 가상 머신을 함께 사용하는 경우 직접 접속해야 하는 로컬 네트워크 주소가 있는지 확인하세요. 기본 경로를 처리하면 기존 로컬 네트워크 접속 경로가 바뀔 수 있습니다. 필요한 사설 네트워크 대역에는 라우팅 규칙을 명확하게 지정하고 시스템 방화벽 전체를 끄지 마세요. DNS는 시스템 이름 해석 서비스, 네트워크 관리자 또는 다른 구성 요소가 관리할 수 있으므로 설정을 직접 수정하기 전에 현재 관리 주체를 확인하세요.

클라이언트를 종료한 뒤에도 명령줄에서 네트워크를 사용할 수 없다면 터미널 세션에 로컬 포트를 가리키는 프록시 환경 변수가 남아 있는지 확인하세요. 데스크톱 앱만 작동하지 않는다면 데스크톱 프록시가 계속 켜져 있는지 살펴보세요. 업그레이드 후에는 설치 종속성, 설정 디렉터리 권한과 규칙 데이터 경로를 다시 확인하세요. 설정을 옮길 때 이전 아키텍처의 코어 파일을 복사하지 마세요. 앱을 제거하기 전에 네트워크 트래픽 처리를 복구해 사용할 수 없는 프록시 진입 경로가 남지 않도록 하세요.

Android: 구독 가져오기 및 VPN 트래픽 처리

v2rayNG와 v2flyNG 중 선택

Android 설치 파일에서 클라이언트를 선택하세요. v2rayNG는 Xray 코어를 사용하며 이 가이드에서 Android용으로 우선 권장합니다. v2flyNG는 V2Fly 코어를 사용하므로 관련 설정이 필요한 경우에 적합합니다. 두 클라이언트의 인터페이스와 코어 기능이 완전히 같은 것은 아닙니다. 특정 확장 필드가 포함된 설정은 대상 코어가 해당 필드를 해석할 수 있는지 먼저 확인하세요. 공유 링크를 가져올 수 있다는 이유만으로 연결까지 반드시 성공한다고 판단해서는 안 됩니다.

일반적인 arm64 기기에는 arm64 패키지를 우선 사용하세요. 프로세서나 시스템 아키텍처를 모른다면 시스템 정보를 확인한 다음 범용 버전을 고려할 수 있습니다. 프로세서가 특정 기능을 지원하더라도 시스템 사용자 영역이 같은 아키텍처를 사용한다고 단정할 수는 없습니다. 설치 프로그램에서 구문 분석 오류가 표시되면 패키지가 기기에 맞는지, 시스템 요구 사항을 충족하는지, 다운로드가 정상적으로 완료되었는지 먼저 확인하세요. 그 다음 범용 패키지를 시도하세요. 설치 단계 문제와 원격 서버 문제를 함께 다루지 마세요.

설치할 때 시스템 안내에 따라 현재 다운로드 도구나 파일 관리자에 설치 권한을 부여하고, 설치가 끝나면 필요에 따라 권한을 해제하세요. 기존 앱과 서명이 다르다는 경고가 표시되면 현재 앱의 출처를 확인하고 구독과 설정을 백업한 다음 마이그레이션 방법을 결정하세요. 앱을 바로 삭제하면 그룹과 사용자 지정 규칙을 잃을 수 있습니다. 업데이트 전에 현재 작동하는 노드와 라우팅 모드를 기록해 두면 업그레이드 후 같은 조건으로 다시 테스트할 수 있습니다.

노드 가져오기 및 시스템 권한 승인

구독 주소를 복사한 뒤 구독 설정에서 항목을 추가하고 메모를 입력해 저장한 다음 업데이트를 실행하세요. 공유 링크는 클립보드 가져오기 등 알맞은 메뉴에서 처리하고, QR 코드에 노드 주소와 구독 주소 중 무엇이 인코딩되어 있는지 확인하세요. 업데이트 후 노드가 보이지 않으면 로그와 그룹 필터 상태부터 확인하세요. 가져온 뒤 노드 하나만 표시되더라도 반드시 실패한 것은 아닙니다. 입력한 내용이 여러 노드 구독이 아니라 단일 노드 공유 링크일 수 있습니다.

노드 목록에서 활성 노드를 선택하고 연결을 시작하면 시스템에서 VPN 권한을 요청합니다. 여기서 VPN 인터페이스는 기기의 트래픽을 로컬 클라이언트에 전달하는 용도입니다. 원격 노드에 연결할 수 있다는 뜻도 아니며 데스크톱 시스템 프록시와 같은 기능도 아닙니다. 권한을 승인한 뒤 클라이언트 상태와 로그를 확인하고 대상 페이지에 접속해 테스트하세요. 시스템 상태 표시줄의 연결 아이콘은 인터페이스가 생성되었다는 뜻일 뿐 프로토콜 핸드셰이크와 실제 접속 테스트를 대신하지 않습니다.

일반적인 Android VPN 사용에는 보통 기기의 추가 시스템 제어 권한이 필요하지 않습니다. 다만 같은 사용자 환경에서는 일반 VPN 앱 두 개가 동시에 트래픽을 처리할 수 없는 경우가 많습니다. 클라이언트를 시작하기 전에 다른 네트워크 도구가 해당 인터페이스를 사용 중인지 확인하세요. 연결 버튼을 눌렀지만 시스템 인터페이스가 곧 다른 앱으로 바뀐다면 트래픽 처리 충돌부터 해결하세요. 안정적인 테스트 조건을 유지할 수 있도록 두 클라이언트 사이에서 노드와 DNS를 반복해서 바꾸지 마세요.

앱별 트래픽 분할, 백그라운드 제한 및 네트워크 전환

앱별로 트래픽을 처리하려면 목록의 의미가 ‘선택한 앱만 프록시 사용’인지 ‘선택한 앱은 프록시 우회’인지 먼저 확인하세요. 두 모드는 서로 반대이며 같은 앱을 선택해도 결과가 다릅니다. 설정을 바꾼 뒤 클라이언트 안내에 따라 연결을 다시 설정하고 대상 앱에서 테스트하세요. 기존 연결은 변경 전 경로를 계속 사용할 수 있습니다. 브라우저가 목록에 포함되었는지도 확인하세요. 브라우저가 직접 연결에 성공하거나 실패하더라도 노드 상태를 판단하는 근거가 되지 않을 수 있습니다.

일부 기기는 화면이 꺼져 있거나 앱이 오랫동안 백그라운드에서 실행되면 앱 동작을 제한합니다. 화면이 켜져 있을 때는 연결되지만 꺼지면 끊긴다면 시스템의 배터리 최적화, 백그라운드 실행과 자동 시작 설정부터 확인한 다음 클라이언트 연결이 계속 유지되는지 살펴보세요. 상시 알림과 VPN 표시는 상태를 파악하는 단서로 사용할 수 있지만 로그도 함께 확인해야 합니다. 항상 연결 또는 VPN을 사용하지 않는 연결 차단을 켜면 노드가 끊겼을 때 기기 전체가 네트워크에 연결되지 않을 수 있으므로 기능을 이해한 뒤 사용하세요.

Wi-Fi에서 모바일 네트워크로 전환하면 기존 연결을 다시 설정해야 할 수 있고 구독 업데이트 경로나 DNS 접속 조건도 달라질 수 있습니다. 현재 네트워크에서 기본 서비스에 접속할 수 있는지 먼저 확인한 다음 같은 노드에 다시 연결하세요. 특정 앱만 작동하지 않는다면 앱별 트래픽 분할 설정과 앱 자체 캐시를 확인하세요. v2rayNG와 v2flyNG의 설정 내보내기 파일은 각각 따로 보관하세요. 설정을 옮길 때 프로토콜, 보안 계층과 라우팅 필드를 확인해 인터페이스가 비슷하다는 이유만으로 완전히 호환된다고 가정하지 마세요.

라우팅 및 DNS: 트래픽 진입부터 아웃바운드까지

먼저 트래픽 처리 범위를 정하고 아웃바운드를 선택하세요

시스템 프록시, TUN, Android VPN 인터페이스는 요청이 클라이언트로 들어올 수 있는지를 결정합니다. 라우팅 규칙은 들어온 요청에 어떤 아웃바운드를 사용할지 결정합니다. TUN을 켰다고 모든 트래픽이 프록시를 사용해야 하는 것은 아니며, 전역 프록시를 선택해도 클라이언트로 들어오지 않은 앱의 트래픽이 자동으로 처리되지는 않습니다. 문제를 진단할 때는 먼저 요청이 코어 로그에 나타나는지 확인한 뒤 적용된 규칙과 아웃바운드를 살펴보세요. 이렇게 하면 트래픽 진입 문제를 규칙 문제로 오해하지 않을 수 있습니다.

라우팅은 보통 규칙 순서대로 적용되며 실제 처리 방식은 선택한 코어에 따라 달라집니다. 특정 도메인에만 적용되는 예외 규칙은 더 넓은 범위의 규칙보다 앞에 배치하세요. 로컬 네트워크 규칙은 실제 네트워크 요구 사항에 맞추고 마지막에는 명확한 기본 규칙을 두세요. 여러 규칙이 같은 대상을 처리할 수 있다면 이름만 보고 결과를 추측하지 말고 일치하는 필드, 규칙 순서와 최종 아웃바운드를 확인하세요. 규칙을 변경한 뒤에는 기존 연결이 결과를 왜곡하지 않도록 테스트 연결을 다시 설정해야 합니다.

다음은 사설 주소를 직접 연결하는 방법을 보여 주는 Xray 설정의 일부 라우팅 예시입니다. 완전한 설정 파일은 아니며 direct라는 아웃바운드와 사용 가능한 GeoIP 데이터가 있어야 합니다. 그래픽 클라이언트가 같은 설정을 자동으로 생성할 수 있으므로 먼저 클라이언트의 라우팅 편집 메뉴를 사용하세요. 생성된 파일을 직접 수정하면 다음 실행 때 덮어쓰일 수 있습니다. 이 경우 파일을 만드는 원본 설정에서 변경해야 합니다.

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      }
    ]
  }
}

도메인 규칙, IP 규칙 및 DNS 경로

geosite는 도메인 집합을, geoip는 IP 주소 집합을 참조하며 서로 바꿔 쓸 수 있는 키워드가 아닙니다. 집합 이름이 현재 불러온 데이터 파일에 존재하고 코어가 지원하는 형식인지 확인해야 합니다. 도메인 규칙만 작성하면 IP 주소로 직접 접속하는 트래픽에는 규칙이 적용되지 않을 수 있습니다. IP 규칙만 사용하면 DNS 경로가 조회 결과에 영향을 줄 수 있습니다. 막연히 규칙을 추가하기보다 명확한 목적에 맞춰 두 종류의 규칙을 조합하세요.

DNS는 앱이 요청하는 주소 해석, 시스템 DNS, 라우팅이나 연결을 위해 코어가 수행하는 주소 해석을 구분해야 합니다. 시스템 프록시를 사용할 때 앱이 먼저 로컬에서 도메인을 해석한 다음 IP 주소를 클라이언트에 전달할 수도 있고, 앱과 프록시 프로토콜에 따라 도메인을 프록시 측에서 해석하도록 전달할 수도 있습니다. DNS 옵션 하나를 켠다고 모든 주소 해석 경로가 통일되는 것은 아닙니다. 특히 대상 앱이 자체 암호화 DNS를 사용하거나 이전 결과를 캐시하는지 확인하세요.

다음은 Xray 내장 DNS 설정의 일부 구조입니다. localhost는 시스템 DNS를 사용한다는 뜻이고, queryStrategy는 조회할 주소 유형을 제한합니다. 이 예시는 필드의 의미를 설명하기 위한 것이며 모든 네트워크에 맞는 범용 설정은 아닙니다. IPv4만 사용하면 특정 주소 계열 문제를 피할 수 있지만 사용 가능한 IPv6 경로도 포기하게 됩니다. 변경하기 전에 노드, 대상 사이트와 로컬 네트워크에서 어떤 주소 계열을 사용해야 하는지 확인하세요.

{
  "dns": {
    "servers": ["localhost"],
    "queryStrategy": "UseIPv4"
  }
}

DNS 서버를 늘리기보다 접속 대상에 맞춰 구성하세요

도메인 유형별로 주소를 다르게 해석해야 한다면 어떤 도메인을 로컬에서 해석하고 어떤 도메인을 다른 경로로 조회할지 먼저 정한 다음 DNS 요청 자체의 아웃바운드 경로를 확인하세요. 원격 DNS 주소를 목록에 추가했다고 해당 주소로 가는 트래픽이 이미 프록시를 사용한다는 뜻은 아닙니다. 노드 서버 주소 자체가 도메인이라면 연결을 시작하기 전에 해당 도메인을 해석할 수 있어야 합니다. 프록시에 연결해야 프록시 주소를 해석할 수 있는 순환 의존성이 생기지 않도록 하세요.

규칙 데이터 업데이트와 구독 업데이트는 서로 다른 작업입니다. 구독 업데이트는 노드 매개변수를 갱신하고, 규칙 데이터 업데이트는 사이트나 주소 집합을 갱신합니다. 한쪽이 성공해도 다른 쪽 문제가 자동으로 해결되지는 않습니다. 특정 사이트의 라우팅이 잘못되면 명확한 도메인 하나로 테스트하고 규칙 이름이 존재하는지, 순서가 올바른지, 코어가 데이터 파일을 실제로 읽었는지 확인하세요. 전체 사례는 geosite 및 geoip 라우팅 실전에서 확인할 수 있습니다.

DNS 오류는 증상별로 나눠 확인하세요. 알려진 IP 경로는 작동하지만 도메인 접속이 실패한다면 먼저 주소 해석을 확인합니다. IP 주소를 얻었지만 핸드셰이크가 실패한다면 보안 계층과 연결 상태를 살펴보세요. 일부 도메인만 잘못된 아웃바운드로 전달된다면 규칙 일치 여부와 캐시를 확인합니다. DNS를 변경한 뒤에는 연결을 다시 설정하고 시스템 방식에 따라 캐시를 처리하세요. 접속을 유지하려고 인증서 검증을 끄지 마세요. 필드에 대한 자세한 설명은 Xray DNS 분할 해석 설정에서 확인할 수 있습니다.

설정 관련 자주 묻는 질문: 로그 확인 및 되돌리기 순서

현재 상태를 저장한 뒤 문제 범위를 좁히세요

문제를 해결할 때는 운영체제, 클라이언트 이름, 선택한 코어, 트래픽 처리 방식과 실패한 단계를 기록하세요. 로그는 시작부터 오류가 발생한 시점까지 필요한 부분만 추리고 구독 주소, 인증 정보와 개인 서버 정보를 가리세요. 현재 설정을 먼저 저장한 뒤 한 번에 변수 하나만 바꾸세요. 노드 교체, DNS 재설정, TUN 사용과 규칙 업데이트를 동시에 하면 연결이 복구되어도 원인을 알기 어렵고 문제가 재발할 수 있습니다.

로그에서는 마지막 종료 안내만 보지 말고 처음 나타난 명확한 오류부터 확인하세요. 설정을 읽지 못하면 이후 수신과 연결 단계가 모두 실패합니다. 포트가 사용 중이면 코어를 시작할 수 없습니다. 핸드셰이크 오류는 프로그램이 연결 단계까지 진행되었다는 의미입니다. 문제를 설정, 수신, 주소 해석, 핸드셰이크, 라우팅 중 한 단계로 분류한 뒤 다음 조치를 선택하세요. 반복해서 재설치하는 것보다 유효한 단서를 보존하는 데 도움이 됩니다.

아래 표는 점검 방향을 정하기 위한 참고 자료이며, 특정 오류 문구를 하나의 원인에 기계적으로 연결하지 않습니다. 같은 시간 초과 오류도 기본 네트워크, 원격 서버 연결 불가, DNS 또는 트래픽 처리 경로의 순환 문제 때문에 발생할 수 있습니다. 로그와 실제 증상을 함께 확인하세요. 다른 노드는 연결되는지, 다른 앱은 정상인지, 트래픽 처리를 끄면 기본 네트워크가 복구되는지 비교하면 오류 문구 하나만 볼 때보다 원인을 정확히 판단할 수 있습니다.

증상우선 확인할 항목다음 확인 방법
코어가 시작 직후 종료됨설정 구문, 포트, 리소스 경로처음 발생한 시작 오류 확인
노드는 있지만 전부 시간 초과기본 네트워크, 구독 유효성, 시스템 시간같은 그룹의 다른 노드로 테스트
브라우저는 되지만 다른 앱은 실패앱의 프록시 지원 및 트래픽 처리 범위요청이 로그에 나타나는지 확인
클라이언트를 종료한 뒤 접속 불가남아 있는 시스템 프록시 또는 트래픽 처리 설정기존 네트워크 설정 복구

설치, 구독 및 코어 오류를 구분해 해결하세요

설치에 실패하면 플랫폼, 아키텍처, 패키지 형식, 시스템 요구 사항과 파일 쓰기 권한을 먼저 확인하세요. 실행 중 구성 요소가 없다는 오류가 나면 설치가 완전히 끝났는지 확인하고 메인 프로그램만 따로 교체하지 마세요. 업그레이드 후 실행되지 않는다면 백업을 바탕으로 최소 설정으로 다시 테스트해 앱 실행 환경이 바뀌었는지 이전 설정이 호환되지 않는지 확인하세요. 시작 오류를 해석하는 방법은 코어 시작 실패 로그 문제 해결에서 확인할 수 있습니다.

구독 업데이트에 실패하면 먼저 접속 불가, 인증 거부, 응답 내용 해석 실패, 업데이트 후 목록이 필터에 숨겨진 경우를 구분하세요. 주소를 다시 복사하면 입력 오류는 해결할 수 있지만 만료된 서비스는 복구되지 않습니다. 그룹을 계속 삭제하면 로컬 메모가 사라질 수 있습니다. 업데이트 후 노드 이름이 바뀌면 수동으로 선택한 노드에도 영향이 있을 수 있으므로 활성 노드를 다시 확인하세요. 이전 노드가 목록에 남아 있다는 이유만으로 현재 사용할 수 있는 설정이라고 판단하지 마세요.

핸드셰이크에 실패하면 서버 주소, 포트, 프로토콜, 전송 방식, 보안 계층과 서버에서 요구하는 이름 필드를 확인하세요. 구독에서 제공하는 매개변수는 보통 하나의 묶음으로 사용해야 하므로 일시적으로 연결을 성공시키려고 일부 항목만 바꾸지 마세요. 인증서 오류가 있으면 시스템 시간과 이름 일치 여부도 확인하세요. 인증서 검증을 건너뛰면 보안 범위가 달라지므로 일반적인 문제 해결 방법으로 사용해서는 안 됩니다. 오류가 구체적인 필드 문제로 확인된 경우에만 서비스 정보를 참고해 수정한 뒤 다시 테스트하세요.

자주 묻는 질문 및 기본 상태 복구

속도 테스트는 되는데 웹페이지가 열리지 않는 이유는 무엇인가요?

속도 테스트와 웹페이지 접속이 서로 다른 경로를 사용할 수 있습니다. 브라우저가 시스템 프록시를 읽는지, TUN이나 Android VPN 인터페이스가 브라우저 트래픽을 처리하는지 먼저 확인한 다음 DNS와 라우팅 규칙 적용 여부를 살펴보세요. 실제 연결 테스트는 단순 지연 시간 측정보다 접속 상황에 가깝지만 대상 앱에서 직접 테스트하는 일을 대신하지는 않습니다. 로그에 요청이 전혀 나타나지 않는다면 모든 노드를 바꾸기 전에 트래픽 진입 경로부터 수정하세요.

구독을 업데이트한 뒤 사용자 지정 설정이 사라지는 이유는 무엇인가요?

구독 노드는 보통 업데이트 결과에 따라 다시 생성되므로 구독으로 관리되는 노드를 직접 수정하면 다음 업데이트에서 변경 사항이 덮어써질 수 있습니다. 클라이언트에서 별도 복사, 오버라이드 설정 또는 사용자 지정 설정 기능을 제공하는지 확인하고 지속적으로 유지할 변경 사항을 적절한 위치에 저장하세요. 설정 변경을 보존하려고 업데이트를 영구적으로 모두 끄지 마세요. 서비스에서 관리하는 연결 매개변수와 로컬에서 관리하는 라우팅, 메모, 앱 트래픽 처리 설정을 구분해야 합니다.

클라이언트를 종료한 뒤 네트워크가 끊기면 어떻게 복구하나요?

데스크톱에서는 시스템 프록시가 중지된 로컬 포트를 계속 가리키는지 먼저 확인한 다음 TUN이나 다른 네트워크 처리 기능이 정상적으로 종료되었는지 살펴보세요. Android에서는 VPN을 거치지 않는 연결을 차단하도록 설정했는지 확인하고 현재 어떤 앱이 트래픽을 처리하는지 확인하세요. 기존 네트워크 상태에 맞춰 설정을 하나씩 복구한 뒤 기본 접속을 테스트하세요. 시스템 네트워크 설정을 전부 초기화하거나 기능을 모르는 시스템 인터페이스를 삭제하지 마세요.

기본 상태로 복구할 때는 백업을 보관하고 추가한 사용자 지정 규칙과 DNS를 끈 다음 작동이 확인된 노드 하나와 트래픽 처리 방식 하나만 사용하세요. 준비 장의 순서에 따라 다시 확인하면서 마지막으로 성공한 단계를 찾으세요. 연결이 안정되면 분할 라우팅과 앱 예외를 하나씩 복원하고 변경 사항을 기록하세요. 첫 연결 절차를 다시 진행하려면 빠른 시작 가이드로 돌아가세요. 패키지를 다시 선택하거나 플랫폼을 바꿔야 한다면 설치 파일 페이지에서 올바른 파일을 확인하세요.