HELP REFERENCE
V2Ray 자주 묻는 질문과 문제 해결
용어, 설치, 연결 로그를 단계별로 확인하며 문제가 발생한 계층을 찾아보세요. 먼저 클라이언트와 설정 메뉴를 확인한 뒤 구독, 노드, 시스템 프록시, DNS를 차례로 점검하면 여러 매개변수를 동시에 바꾸는 일을 피할 수 있습니다.
QUESTION INDEX
문제 유형별로 찾기
현상과 가장 가까운 분류를 먼저 선택하세요. 각 답변은 실행 순서에 맞춰 구성되어 있으므로 한 단계를 완료할 때마다 다시 테스트한 뒤 다음 항목으로 진행하는 것이 좋습니다.
BASIC CONCEPTS
기본 개념
먼저 클라이언트, 코어, 구독, 노드를 구분하세요. 이름은 비슷하지만 각각 담당하는 계층이 다릅니다.
V2Ray, v2rayN, v2rayNG, v2flyNG는 각각 무엇인가요?
V2Ray는 일반적으로 Project V 기술 생태계와 그 구성 체계를 가리킵니다. v2rayN은 Windows, macOS, Linux용 데스크톱 클라이언트이고, v2rayNG는 Xray 코어를 사용하는 Android 클라이언트이며, v2flyNG는 V2Fly 코어를 사용하는 Android 클라이언트입니다. 클라이언트는 그래픽 인터페이스, 구독 관리, 시스템 프록시를 담당하고, 코어는 프로토콜을 해석해 연결을 수립합니다.
처음 사용할 때 어떤 클라이언트를 선택해야 하나요?
데스크톱 기기에서는 구독, 노드, 라우팅, 시스템 프록시, 로그 기능을 한곳에서 제공하는 v2rayN을 우선 선택하세요. Android 기기에서는 보통 v2rayNG를 사용합니다. 노드 정보에 V2Fly 코어가 명시되어 있거나 코어별 호환성을 비교해야 할 때는 v2flyNG를 선택하세요. 이름만 보고 판단하지 말고 기기 플랫폼과 노드 프로토콜을 먼저 확인해야 합니다.
구독 링크와 개별 노드 링크는 어떻게 다른가요?
구독 링크는 업데이트할 수 있는 노드 모음으로, 클라이언트에 주소를 저장하면 서버 목록을 다시 가져올 수 있습니다. 개별 노드 링크는 보통 vmess://, vless://, trojan:// 등의 형식이며 하나의 노드만 설명합니다. 구독을 가져온 뒤에도 업데이트를 실행해야 하고, 개별 노드를 가져오면 로컬 목록에 바로 추가되지만 같은 그룹의 변경 사항이 자동으로 반영되지는 않습니다.
노드, 프로토콜, 전송 방식은 어떤 관계인가요?
노드는 완전한 연결 매개변수 모음이며 프로토콜은 그중 하나입니다. 예를 들어 VLESS 노드에는 서버 주소, 포트, 사용자 식별자, 보안 계층, 전송 방식, 경로가 포함될 수 있습니다. 클라이언트의 프로토콜, 전송, 보안 설정은 노드 정보와 항목별로 일치해야 합니다. 서버 주소나 프로토콜만 맞춰도 다른 필드가 다르면 연결에 실패할 수 있습니다.
Android 설치 패키지에서 arm64와 universal 중 무엇을 선택해야 하나요?
최근 주류 Android 스마트폰은 대체로 64비트 ARM 프로세서를 사용하므로 먼저 arm64 설치 패키지를 선택할 수 있습니다. 프로세서 아키텍처를 확인하기 어렵거나 기기가 오래되었거나 arm64 패키지가 호환되지 않는다고 표시될 때는 universal 패키지를 사용하세요. 두 패키지의 주요 차이는 지원하는 프로세서 아키텍처 범위이며, 클라이언트 기능과 설정 메뉴는 거의 같습니다.
INSTALLATION AND IMPORT
설치 및 설정
구독 주소는 올바른 메뉴에 입력해야 합니다. 가져오기, 업데이트, 노드 선택은 서로 독립적인 단계입니다.
v2rayN에 구독 링크를 어떻게 가져오나요?
v2rayN의 구독 그룹 설정을 열고 새 그룹을 만든 다음 전체 구독 주소를 붙여 넣으세요. 저장한 뒤 모든 구독 업데이트를 실행합니다. 업데이트가 끝나면 서버 목록에서 노드를 선택하고 시스템 프록시를 설정하거나 필요한 모드를 활성화하세요. 목록이 바뀌지 않으면 그룹 설정으로 돌아가 주소 앞뒤에 공백이 있는지 확인하고 현재 그룹이 활성화되어 있는지도 확인하세요.
v2rayNG에서 구독을 가져오고 업데이트하려면 어떻게 하나요?
v2rayNG에서 구독 그룹 설정을 열고 오른쪽 위의 추가 메뉴에서 메모와 구독 주소를 입력하세요. 저장한 뒤 메인 화면으로 돌아가 구독 업데이트를 실행합니다. 노드가 표시되면 먼저 구성을 선택한 다음 연결 버튼을 누르세요. 서버 목록이 변경되면 다시 업데이트해야 하며, 클라이언트를 재시작하는 것만으로는 전체 구독을 다시 가져오는 작업을 대신할 수 없습니다.
구독 링크를 붙여 넣었는데 형식 오류가 표시되면 어떻게 하나요?
웹페이지 주소, 주문 번호, 잘린 텍스트가 아니라 구독 주소를 복사했는지 먼저 확인하세요. 링크의 시작 부분, 끝 부분, 매개변수가 완전한지 확인하고 줄바꿈과 불필요한 공백을 삭제한 뒤 다시 추가합니다. 제공자가 단일 vmess://, vless://, trojan:// 링크를 준 경우에는 클립보드에서 노드 가져오기 메뉴를 사용하고 구독 주소 입력란에는 넣지 마세요.
구독 업데이트는 성공했는데 노드 목록이 비어 있는 이유는 무엇인가요?
업데이트 성공은 요청 절차가 끝났다는 뜻일 뿐, 응답 내용에 인식 가능한 노드가 포함되었다는 의미는 아닙니다. 먼저 클라이언트 로그에서 빈 응답, 파싱 실패, 지원되지 않는 형식이 나타났는지 확인하고, 구독 그룹의 업데이트 시간으로 새 데이터를 실제로 받았는지 판단하세요. 필터 조건이 모든 노드를 숨기고 있지 않은지도 확인하고, 필요하면 현재 키워드 필터를 지운 뒤 목록을 다시 확인합니다.
구독 업데이트가 실패하거나 계속 대기 중일 때는 어떻게 점검하나요?
먼저 실행 중인 프록시 모드를 종료하고, 현재 정상적으로 인터넷에 접속할 수 있는 연결을 사용해 다시 업데이트하세요. 기존 프록시가 순환을 일으키는 것을 방지할 수 있습니다. 이어서 시스템 시간, 구독 주소의 완전성, 클라이언트 로그를 확인하세요. 특정 구독 하나만 실패하면 해당 그룹만 따로 업데이트하고, 여러 구독이 동시에 실패하면 노드를 하나씩 수정하기보다 로컬 네트워크, DNS, 시스템 프록시 잔여 설정을 우선 점검해야 합니다.
DAILY USAGE
사용 팁
연결 상태, 시스템 프록시, 분할 라우팅 규칙은 서로 다른 계층이므로 각각 확인해야 합니다.
시스템 프록시, 전역 모드, 분할 라우팅 모드는 어떻게 다른가요?
시스템 프록시는 클라이언트의 수신 주소를 운영체제 프록시 설정에 등록해 시스템 설정을 따르는 프로그램의 요청을 클라이언트로 전달합니다. 전역 모드는 일반적으로 클라이언트로 들어오는 트래픽을 현재 노드로 모두 전송하고, 분할 라우팅 모드는 도메인, IP 또는 규칙에 따라 직접 연결과 프록시 사용을 결정합니다. 처음 테스트할 때는 단순한 모드로 노드가 작동하는지 확인한 뒤 일상 사용에 적합한 분할 라우팅 규칙으로 돌아가세요.
노드가 단순히 지연 시간이 낮게 표시되는 것이 아니라 실제로 사용 가능한지 어떻게 판단하나요?
기본 지연 시간은 탐색 대상이 응답할 가능성만 보여 줄 뿐, 프로토콜 핸드셰이크와 웹 요청 성공 여부를 완전히 나타내지는 않습니다. 클라이언트의 실제 연결 테스트나 직접 접속 테스트를 사용한 뒤 노드에 연결해 자주 사용하는 웹페이지를 열어 보세요. 지연 시간은 정상인데 실제 연결에 실패한다면 프로토콜, 보안 계층, 전송 필드를 계속 확인해야 하며 한 번의 ping 결과만으로 노드 품질을 판단해서는 안 됩니다.
분할 라우팅 규칙을 수정했는데 왜 바로 적용되지 않나요?
분할 라우팅 규칙은 보통 코어가 시작될 때 로드됩니다. 수정한 뒤 설정을 저장하고 현재 연결을 재시작하며, 필요하면 코어를 완전히 중지한 후 다시 시작하세요. 규칙 순서도 확인해야 합니다. 더 포괄적인 규칙이 앞에 있으면 요청을 먼저 일치시켜 뒤의 정밀한 규칙이 실행되지 않을 수 있습니다. 테스트할 때는 로그에서 대상 도메인, 대상 IP, 최종 아웃바운드 태그를 확인할 수 있습니다.
클라이언트를 업데이트하면 구독과 로컬 설정이 사라지나요?
일반적인 업그레이드는 기존 데이터 디렉터리를 계속 사용하지만 설치 방식에 따라 데이터 위치가 다를 수 있습니다. 업데이트 전에 클라이언트의 백업 또는 내보내기 기능으로 구독 그룹, 라우팅 설정, 로컬 노드를 저장하세요. 클라이언트가 실행 중일 때 전체 디렉터리를 직접 덮어쓰지 말고, 프로그램을 종료한 뒤 현재 설치 방식에 맞게 업데이트하세요. 최초 실행 후 데이터 디렉터리가 기존 위치를 계속 가리키는지도 확인해야 합니다.
브라우저에서는 프록시가 되는데 다른 프로그램에서는 안 되는 이유는 무엇인가요?
브라우저는 시스템 프록시를 읽을 수도 있고 별도의 프록시 설정을 사용할 수도 있지만, 다른 프로그램이 같은 설정을 따르지는 않을 수 있습니다. 먼저 클라이언트에서 시스템 프록시가 설정되었는지 확인한 다음 대상 프로그램이 직접 연결, 고정 프록시, 자체 네트워크 스택 중 무엇을 사용하는지 확인하세요. 프로그램이 HTTP 프록시만 지원한다면 클라이언트에 표시된 로컬 HTTP 포트를 입력하세요. 더 많은 앱 트래픽을 가로채야 한다면 TUN 모드 사용을 검토할 수 있습니다.
TROUBLESHOOTING
문제 해결
먼저 로그를 확인한 뒤 비교 테스트를 진행하세요. 한 번에 변수 하나만 바꿔야 문제가 발생한 계층을 정확히 찾을 수 있습니다.
노드 연결이 시간 초과될 때 어떤 순서로 점검해야 하나요?
먼저 기기 네트워크가 정상인지 확인하고 시스템 시간을 보정한 다음 구독을 다시 업데이트해 노드 정보가 변경되지 않았는지 확인하세요. 이어서 서버 주소, 포트, 프로토콜, 사용자 식별자, 보안 계층, 전송 방식을 대조합니다. 같은 구독의 다른 노드로 바꿔 비교해 보세요. 모든 노드가 시간 초과되면 로컬 방화벽, 프록시 잔여 설정, DNS를 확인하고, 특정 노드 하나만 시간 초과되면 해당 노드의 상태 이상일 가능성이 큽니다.
클라이언트에는 연결됨으로 표시되지만 웹페이지가 열리지 않으면 어떻게 하나요?
연결됨은 클라이언트가 실행 상태에 들어갔다는 뜻일 뿐 원격 핸드셰이크가 성공했다는 의미는 아닙니다. 먼저 로그에서 연결 거부, 시간 초과, 인증서 이름 불일치, DNS 오류가 있는지 확인한 뒤 실제 연결 테스트를 실행하세요. 그다음 시스템 프록시가 현재 클라이언트 포트를 가리키는지 확인하고, 복잡한 분할 라우팅 규칙을 잠시 끈 상태와 비교해 문제가 노드, DNS, 규칙 중 어느 계층에 있는지 판단합니다.
시스템 프록시를 켰는데도 앱이 계속 직접 연결되면 어떻게 하나요?
먼저 운영체제 프록시 설정에서 주소가 로컬 루프백 주소인지 확인하고 포트가 클라이언트의 현재 HTTP 수신 포트와 일치하는지 확인하세요. 여러 클라이언트를 전환했다면 이전 포트가 남아 있을 수 있습니다. 저장한 뒤 대상 앱을 재시작하세요. 일부 프로그램은 시작할 때만 시스템 프록시를 읽습니다. 그래도 직접 연결되면 해당 프로그램에서 시스템 프록시 무시 또는 사용자 지정 네트워크 설정이 활성화되어 있는지 확인하세요.
TUN 모드에서 권한 부족 또는 시작 실패가 표시되면 어떻게 하나요?
TUN 모드는 가상 네트워크 인터페이스를 만들고 라우팅을 수정하므로 일반 시스템 프록시보다 높은 권한이 필요합니다. 데스크톱에서는 클라이언트 안내에 따라 관리자 권한을 부여하고, Android에서는 시스템 연결 권한 요청을 승인하세요. 가상 인터페이스 생성에 실패하면 TUN 또는 가상 네트워크 카드를 사용하는 다른 네트워크 도구를 먼저 종료한 뒤 클라이언트를 재시작하세요. 업데이트 후 처음 사용할 때 권한을 다시 부여해야 할 수도 있습니다.
시스템 시간이 정확하지 않으면 노드 연결이 실패하는 이유는 무엇인가요?
일부 프로토콜과 보안 핸드셰이크는 시간 정보를 사용해 요청의 유효성을 판단하므로 기기 시간의 오차가 크면 원격 서버가 요청을 거부할 수 있습니다. 시스템에서 날짜, 시간, 시간대 자동 설정을 켜고 동기화를 완료한 뒤 클라이언트를 재시작해 테스트하세요. 로그에 핸드셰이크 실패가 나타나고 최근 노드 매개변수가 바뀌지 않았다면 로컬 포트를 반복해서 바꾸기보다 시간 보정을 먼저 진행해야 합니다.
DNS 오류가 발생하고 일부 웹사이트만 열릴 때는 어떻게 처리하나요?
먼저 도메인 해석 실패와 노드 연결 실패를 구분하세요. 여러 도메인에 직접 접속해 보고 로그의 DNS 메시지를 확인합니다. 일시적으로 클라이언트의 기본 DNS와 라우팅 설정으로 되돌린 뒤 연결을 재시작하고 다시 테스트하세요. 기본 설정에서 정상이라면 문제는 사용자 지정 DNS, 도메인 규칙 또는 해석 경로에서 비롯되었을 가능성이 큽니다. 수정할 때는 한 번에 한 항목만 변경하고 복구할 수 있도록 설정을 백업해 두세요.