V2Ray 자주 묻는 질문
설치 파일 선택, 구독 가져오기, 연결 문제 해결까지. 증상에 맞는 항목을 찾고 설정은 한 번에 하나씩 변경하세요.
아래 답변은 v2rayN, v2rayNG, v2flyNG에서 흔히 발생하는 상황을 다룹니다. 버전에 따라 메뉴 이름이 조금 다를 수 있으므로 현재 클라이언트의 설정과 로그를 기준으로 확인하세요.
V2Ray 이해하기
클라이언트, 코어, 트래픽 진입 경로를 구분해 계층별 문제 해결을 시작하세요.
V2Ray, V2Fly, Xray와 그래픽 클라이언트는 어떤 관계인가요?
V2Ray는 보통 Project V 생태계의 프록시 도구와 설정 체계를 가리키며, V2Fly와 Xray는 관련 코어 계열입니다. 코어는 프로토콜, 전송 방식, 라우팅, DNS를 처리하고 그래픽 클라이언트는 서버 설정, 구독 그룹, 시작 옵션을 관리합니다. v2rayN은 데스크톱 클라이언트이며 v2rayNG는 Xray 코어, v2flyNG는 V2Fly 코어를 사용합니다. 호환성을 확인할 때는 클라이언트 이름뿐 아니라 실제 실행 중인 코어와 버전도 확인해야 합니다. 설정을 가져오는 데 성공했다고 해서 모든 기능이 작동하는 것은 아닙니다.
v2rayN, v2rayNG, v2flyNG 중 어떤 클라이언트를 선택해야 하나요?
Windows, macOS, Linux 데스크톱에서는 v2rayN을 먼저 확인하고, Android에서는 v2rayNG를 우선 살펴보세요. V2Fly 설정과의 호환성이 필요하다면 v2flyNG도 고려할 수 있습니다. 선택하기 전에 구독에서 요구하는 프로토콜, 전송 방식, 보안 설정을 확인하고 클라이언트 코어가 지원하는지 살펴보세요. 이름이 같은 설정 항목도 코어에 따라 값이나 동작이 다를 수 있습니다. 클라이언트를 바꿀 때는 기존 설정을 보관하고, 작동이 확인된 설정 하나로 먼저 테스트한 뒤 전체 구독과 분할 라우팅 설정을 옮기세요.
클라이언트만 설치하면 바로 연결할 수 있나요?
클라이언트 설치는 로컬 실행 환경을 준비하는 과정일 뿐, 사용할 수 있는 서버 연결까지 제공하지는 않습니다. 이용 권한이 있는 서비스에서 구독 주소나 개별 설정을 받아 서비스 유효 기간, 서버 주소, 포트, 인증 정보를 확인해야 합니다. 구독 주소에는 접속 정보가 포함되는 경우가 많으므로 공개 게시판에 올리거나 스크린샷에 담지 마세요. 설정을 가져온 뒤 서버를 선택하고 코어를 실행한 다음 적절한 프록시 방식을 설정하세요. 서버 이름이 표시되는 것만으로 연결이 완료된 것은 아닙니다.
시스템 프록시, TUN, 라우팅 분할은 각각 무엇을 제어하나요?
시스템 프록시는 시스템 설정을 따르는 앱에 로컬 프록시 진입점을 제공하지만 모든 프로그램이 이를 사용하는 것은 아닙니다. TUN은 가상 네트워크 인터페이스로 트래픽을 받아 더 넓은 범위를 처리할 수 있지만, 관련 권한이 필요하고 다른 네트워크 도구와 충돌할 수 있습니다. 라우팅 분할은 코어로 들어온 연결을 직결, 프록시, 차단 중 어떤 방식으로 처리할지 정합니다. 세 기능은 서로 다른 계층에서 작동합니다. 프록시 방식은 트래픽이 코어로 들어가는지를 결정하고, 라우팅은 들어온 트래픽의 처리 방법을 결정합니다. 문제를 해결할 때는 먼저 진입 경로를 확인한 다음 라우팅 규칙을 살펴보세요.
다운로드 및 설치
운영체제와 아키텍처를 확인한 뒤 패키지 형식과 인터페이스 버전을 선택하세요.
Android 설치 파일은 arm64와 universal 중 무엇을 선택해야 하나요?
최신 Android 휴대전화 대부분은 arm64를 먼저 선택할 수 있지만, 기기 출시 연도만으로 판단하지 말고 프로세서와 시스템 아키텍처를 확인하세요. arm64 파일은 해당 아키텍처용이라 일반적으로 용량이 더 작습니다. universal 파일은 여러 아키텍처를 지원하므로 기기 아키텍처를 모를 때 적합합니다. arm64 파일을 설치할 수 없다는 메시지가 나오면 시스템 버전, 저장 공간, 기존 앱의 출처를 확인한 뒤 universal 버전을 시도하세요. 서명 불일치나 다운그레이드 제한도 설치 실패 원인일 수 있으므로 아키텍처를 바꾸는 것만으로 해결되지 않을 수 있습니다.
v2rayN 데스크톱 버전과 클래식 WPF 버전은 어떻게 다른가요?
데스크톱 버전은 차세대 크로스 플랫폼 인터페이스를 사용하고, 클래식 WPF 버전은 Windows 인터페이스 기술을 사용합니다. Windows에서는 인터페이스와 실행 환경에 따라 선택할 수 있으며, macOS와 Linux에서는 해당 플랫폼용 데스크톱 패키지를 확인하세요. 두 버전은 메뉴 위치, 실행에 필요한 구성 요소, 일부 기능 구현이 다를 수 있으므로 스크린샷만 보고 버튼을 찾기 어려울 수 있습니다. 버전을 바꾸기 전에 구독, 서버, 라우팅 설정 중 보관할 항목을 내보내고 기존 설정 폴더도 보존하세요. 처음 실행한 뒤에는 실제 적용된 수신 포트와 코어 선택을 확인해야 합니다.
macOS 칩 아키텍처와 Linux 설치 파일 형식은 어떻게 확인하나요?
macOS에서는 시스템 정보의 ‘이 Mac에 관하여’에서 칩을 확인하세요. Apple Silicon은 arm64, Intel은 x64를 선택하면 됩니다. Linux에서는 배포판의 패키지 형식과 프로세서 아키텍처를 모두 확인해야 합니다. Debian 및 Ubuntu 계열은 보통 deb, Fedora 등은 보통 rpm을 사용합니다. x64와 arm64는 배포판 이름만으로 판단할 수 없습니다. 설치 프로그램에서 아키텍처 불일치나 종속성 누락을 알리면 시스템 정보와 패키지 요구 사항부터 확인하세요. 형식이 다른 패키지를 반복해서 설치하거나 시스템 보안 설정을 함부로 변경하지 마세요.
클라이언트 업데이트 후 구독이 사라지나요? 설치 실패 시 무엇을 먼저 확인해야 하나요?
일반적인 덮어쓰기 업데이트는 사용자 설정을 보존하는 경우가 많지만, 포터블 폴더, 설치 폴더, 사용자 데이터 폴더가 항상 같은 위치에 있는 것은 아닙니다. 배포 방식을 바꿀 때는 특히 위치를 확인하세요. 업데이트 전에 구독 그룹, 라우팅 설정, 필요한 사용자 지정 설정을 백업한 뒤 클라이언트를 종료하세요. 설치에 실패하면 시스템 및 아키텍처 요구 사항, 저장 공간, 실행 중인 프로세스, 기존 앱의 출처와 서명을 차례로 확인하세요. Android에서는 서명이 다른 앱을 덮어쓸 수 없으므로 삭제하기 전에 설정을 안전하게 보관했는지 확인해야 합니다.
구독 및 설정
가져오기 실패, 설정 분석 실패, 규칙 매칭 실패를 구분하세요.
구독 가져오기 실패와 개별 설정 가져오기 실패는 어떻게 구분하나요?
복사한 내용이 구독 주소인지 개별 공유 링크인지 확인하고, 클라이언트에서 해당하는 가져오기 메뉴를 사용하세요. 구독은 보통 그룹으로 저장한 다음 업데이트해야 하며, 개별 링크는 링크에 포함된 프로토콜 정보를 바로 분석합니다. 내용이 온전한지, 공백이나 줄바꿈, 설명 문구, 웹 주소가 섞이지 않았는지 확인하세요. 구독 내용을 내려받았지만 분석에 실패하면 응답 형식과 코어 지원 여부를 확인하고, 요청 자체가 실패하면 네트워크와 구독 유효성을 점검하세요. 전체 구독 주소를 로그 스크린샷이나 공개 문의에 붙여 넣지 마세요.
v2rayN 구독 업데이트가 실패하면 어떤 순서로 점검해야 하나요?
먼저 업데이트 로그에서 주소 확인 실패, 연결 시간 초과, 접속 거부, 콘텐츠 형식 오류를 구분하세요. 그런 다음 구독 주소가 만료되거나 재설정되었는지, 복사 내용이 빠지지 않았는지 확인하고 시스템 시간이 정확한지도 살펴보세요. 현재 서버가 작동하지 않으면 프록시를 통한 업데이트가 실패할 수 있으므로 클라이언트가 제공하는 업데이트 방식에서 직결을 시도할 수 있습니다. 반대로 직결이 되지 않으면 이미 사용할 수 있는 연결을 통해 프록시 업데이트를 시도하세요. 한 번에 한 가지 방식만 바꾸고 기존 그룹은 보존해 네트워크 문제를 설정 초기화 문제로 오해하지 않도록 하세요.
구독 업데이트 후 직접 수정한 서버 설정이 원래대로 돌아가는 이유는 무엇인가요?
구독 그룹의 서버는 보통 원격 구독 내용으로 다시 생성되므로 업데이트 중 기존 로컬 수정 사항이 덮어써질 수 있습니다. 특정 설정을 계속 유지해야 한다면 구성을 구독 업데이트의 영향을 받지 않는 수동 그룹에 복사한 뒤 전송, 보안 또는 다른 항목을 조정하고 변경 이유를 기록하세요. 유일하게 작동하는 구독 항목에서 반복적으로 시험하지 마세요. 업데이트 후에는 현재 선택한 서버가 여전히 유효한지, 라우팅 규칙이 변경된 태그를 참조하고 있지는 않은지도 확인하세요. 표시 이름이 같아도 실제 설정은 다를 수 있습니다.
라우팅 분할 규칙이 적용되지 않을 때 어떤 항목을 확인해야 하나요?
먼저 앱 트래픽이 클라이언트로 들어오는지 확인한 다음 규칙 순서, 매칭 조건, 아웃바운드 태그를 살펴보세요. 일반 라우팅 규칙은 순서대로 적용되므로 포괄적인 조건이 앞에 있으면 뒤의 세부 규칙이 매칭되지 않을 수 있습니다. outboundTag는 실제로 존재하는 아웃바운드 태그와 일치해야 하며, geosite 및 geoip 조건은 관련 규칙 데이터도 필요합니다. 도메인 매칭 여부는 앱이 도메인과 IP 중 무엇을 전달하는지, DNS 설정, 트래픽 스니핑에도 영향을 받습니다. 범위가 명확한 테스트 규칙 하나로 먼저 확인하고 모든 분할 라우팅 설정을 한꺼번에 바꾸지 마세요.
문제 해결
기본 네트워크, 트래픽 진입 경로, 서버 연결, 대상 사이트 접속 순으로 확인하세요.
서버 연결 시간 초과와 연결 거부는 각각 무엇을 의미하나요?
시간 초과는 제한 시간 안에 연결이 완료되지 않았다는 뜻으로, 로컬 네트워크, 서버 연결 가능 여부, 전송 설정, 서버 응답 등이 원인일 수 있습니다. 연결 거부는 보통 대상 주소에는 도달했지만 해당 포트에서 연결을 받아들이지 않았다는 뜻이며, 중간 장치가 거부했을 수도 있습니다. 먼저 주소, 포트, 현재 네트워크를 확인한 뒤 같은 설정을 다른 사용 가능한 네트워크에서도 비교해 보세요. 이어서 코어 로그를 확인해 연결, TLS 핸드셰이크, 인증 중 어느 단계에서 실패했는지 파악하세요. 목록에 표시된 테스트 결과는 해당 테스트 경로만 확인하므로 실제 앱에서 접속되는지 별도로 검증해야 합니다.
연결됨으로 표시되지만 인터넷이 안 될 때 다음으로 무엇을 확인해야 하나요?
연결됨 표시는 코어나 로컬 VPN 서비스가 실행 중이라는 뜻일 수 있으며, 서버 인증이나 대상 사이트 접속까지 성공했다는 의미는 아닙니다. 먼저 프록시를 끄고 기본 네트워크가 정상인지 확인한 다음, 활성 서버와 로그의 인증 또는 핸드셰이크 오류, DNS 조회 이상 여부를 살펴보세요. 일부 사이트만 접속되지 않으면 분할 라우팅 규칙과 도메인 조회를 확인하고, 모든 앱에서 문제가 발생하면 진입 포트, 코어 실행 상태, 서버 연결 가능 여부를 먼저 점검하세요. Android에서는 VPN 권한, 앱별 프록시 목록, 배터리 제한도 확인해야 합니다. 앱 트래픽이 프록시로 전달되지 않는 문제를 서버 장애로 오해하지 않도록 하세요.
시스템 프록시가 작동하지 않거나 브라우저에서는 되지만 터미널에서는 안 될 때는 어떻게 하나요?
v2rayN에서 시스템 프록시 자동 설정이 활성화되어 있는지 확인하고, 시스템에 실제로 등록된 프록시 주소와 포트도 살펴보세요. 앱에서 사용하는 프로토콜은 로컬 수신 포트와 일치해야 합니다. 모든 버전이 같은 HTTP 및 SOCKS 포트를 사용한다고 가정하지 말고 현재 설정을 기준으로 확인하세요. 브라우저 확장 프로그램이 시스템 프록시 설정을 덮어쓸 수 있고, 터미널 프로그램은 자체 옵션이나 프록시 환경 변수만 읽을 수 있습니다. 두 경로를 각각 점검하고 설정을 다시 읽어야 하는 프로그램은 재시작하세요. 포트를 다른 프로세스가 사용 중이라면 수신 설정을 변경하고 앱의 프록시 설정도 함께 수정해야 합니다.
TUN이 시작되지 않거나 Android VPN 권한에 문제가 있을 때는 어떻게 하나요?
데스크톱 TUN을 사용하려면 가상 네트워크 인터페이스와 관련 시스템 권한이 필요합니다. 먼저 시작 로그에서 권한 부족, 인터페이스 생성 실패, 라우팅 설정 충돌 중 무엇이 원인인지 확인한 뒤 클라이언트 안내에 따라 권한을 승인하거나 서비스를 설치하세요. 항상 높은 권한으로 실행하는 것을 일반적인 해결 방법으로 삼지 마세요. Android용 v2rayNG는 시스템 VpnService를 사용하므로 처음 실행할 때 VPN 권한을 승인해야 합니다. 다른 VPN 앱이 실행 중이라면 충돌하는 서비스를 먼저 중지하세요. 연결이 자주 끊길 때는 설정 전체를 반복해서 초기화하기보다 백그라운드 실행, 배터리 최적화, 앱별 목록을 확인하세요.