// 01 · CONCEPT
기본 개념
클라이언트, 코어, 프로토콜, 구독을 먼저 구분해야 이후 설정과 문제 해결이 뒤섞이지 않습니다.
V2Ray는 프로토콜인가요, 코어인가요, 아니면 GUI 클라이언트인가요?
V2Ray는 일반적으로 Project V와 관련된 프록시 기술 생태계를 가리키며, 특정 설치 프로그램 하나를 의미하지는 않습니다. V2Fly와 Xray는 설정을 해석하고 연결을 수립하며 라우팅 규칙을 실행하는 대표적인 코어 계열입니다. 반면 v2rayN, v2rayNG, v2flyNG는 구독 관리, 설정 선택, 시스템 프록시, 로그 확인을 담당하는 GUI 클라이언트입니다. 문제를 점검할 때는 클라이언트 화면, 코어 실행, 설정 내용, 로컬 네트워크 중 어느 계층에서 문제가 발생했는지 구분해야 합니다.
v2rayN, v2rayNG, v2flyNG 중 무엇을 선택해야 하나요?
Windows, macOS, Linux 데스크톱에서는 v2rayN을 우선 고려하세요. Android에서는 보통 Xray 코어를 사용하는 v2rayNG를 선택하고, V2Fly 코어가 필요할 때 v2flyNG를 사용합니다. 세 클라이언트는 메뉴 위치와 지원 코어가 다르지만 구독 가져오기, 설정 선택, 라우팅 모드, 연결 테스트의 기본 흐름은 비슷합니다. 먼저 운영체제에 맞는 클라이언트를 고른 뒤, 구독에서 제공하는 프로토콜을 현재 코어가 지원하는지 확인하세요.
Xray와 V2Fly 코어는 어떻게 다른가요?
둘 다 Project V 기술 생태계에서 파생되었고 기본 설정 개념은 비슷하지만, 프로토콜 확장, 전송 기능, 라우팅 구현, 업데이트 주기는 완전히 같지 않습니다. Xray는 VLESS, REALITY 같은 기능이 필요한 설정에 자주 사용되며, V2Fly는 자체 기능 방향을 유지합니다. 구독에 특정 프로토콜이나 전송 매개변수가 포함되어 있다면 선택한 코어가 이를 인식할 수 있는지 먼저 확인하세요. 설정 해석에 실패할 때는 노드 이름을 반복해서 수정하기보다 호환되는 코어로 바꾸는 편이 효과적입니다.
구독 링크와 개별 노드 링크는 어떻게 다른가요?
구독 링크는 여러 설정을 한 번에 가져오고 클라이언트에서 주기적으로 업데이트하는 데 사용합니다. 개별 노드 링크에는 vmess, vless, trojan 또는 shadowsocks 설정 하나만 포함됩니다. 구독을 가져오면 보통 별도 그룹이 생성되므로 이후에는 구독 업데이트로 내용을 갱신하세요. 구독 주소를 개별 노드 링크처럼 붙여 넣으면 안 됩니다. 서비스 제공자가 여러 구독 형식을 제시한다면 현재 클라이언트에 맞는다고 명확히 표시된 형식을 우선 선택하세요.
VMess, VLESS, Trojan, REALITY 중 무엇을 선택해야 하나요?
프로토콜은 구독에서 실제로 제공하는 설정과 현재 코어의 호환성을 기준으로 선택해야 합니다. VMess는 오래 검증된 일반적인 설정이고, VLESS는 인증과 전송 설정을 분리해 다양한 전송 방식과 조합합니다. Trojan은 자체 인증 구조를 사용하며, REALITY는 특정 전송 방식 및 보안 매개변수와 함께 사용하는 기능으로 보통 최신 Xray 코어가 필요합니다. 프로토콜 이름만 바꾸지 말고 주소, 포트, 사용자 식별자, 전송 방식, 보안 매개변수를 하나의 완전한 설정으로 맞춰야 합니다.
// 02 · SETUP
설치 및 설정
가져오기, 업데이트, 설치 패키지 아키텍처, 시스템 권한은 초기 설정에서 가장 자주 막히는 지점입니다.
구독 링크를 가져오지 못할 때 먼저 무엇을 확인해야 하나요?
복사한 내용이 완전한 구독 주소인지, 앞뒤 공백이나 줄바꿈이 없고 메신저에서 잘리지 않았는지 먼저 확인하세요. 그런 다음 브라우저에서 해당 주소를 열어 구독 내용이 반환되는지 또는 명확한 오류가 표시되는지 확인합니다. 이후 시스템 날짜와 시간, 클라이언트의 네트워크 권한, 현재 네트워크에서 구독 서버에 접속할 수 있는지를 점검하세요. 주소에는 접속되지만 클라이언트에서 계속 해석 오류가 발생한다면 구독 형식이 v2rayN 또는 v2rayNG에 맞는지 확인하고, 새 구독 그룹을 만든 뒤 다시 가져와 보세요.
구독 업데이트가 실패하거나 계속 시간 초과가 발생하면 어떻게 하나요?
먼저 특정 구독 하나만 실패하는지, 모든 구독이 업데이트되지 않는지 구분하세요. 하나만 실패한다면 주소 만료, 인증 만료, 구독 서버 오류일 가능성이 큽니다. 모두 실패한다면 네트워크, DNS, 시스템 시간과 함께 클라이언트가 만료된 프록시를 통해 구독을 요청하고 있지 않은지 우선 확인하세요. 시스템 프록시를 잠시 끈 상태에서 업데이트하거나 클라이언트 설정에서 구독 업데이트에 사용할 프록시 방식을 바꿔 볼 수 있습니다. 업데이트가 완료되면 해당 그룹에서 설정을 다시 선택하세요.
Android 다운로드 시 arm64와 universal 중 무엇을 선택해야 하나요?
2015년 이후 출시된 대부분의 Android 스마트폰은 arm64 아키텍처를 사용하므로 파일이 더 작은 arm64 패키지를 우선 선택하세요. 기기 아키텍처를 확인할 수 없거나 설치 중 호환되지 않는다는 메시지가 표시되거나 다른 프로세서 아키텍처를 사용하는 기기라면 universal 버전을 선택하면 됩니다. 두 패키지의 클라이언트 기능은 거의 같고, 차이는 지원하는 프로세서 아키텍처 범위입니다. 이미 설치되어 정상적으로 작동한다면 패키지 유형만 바꾸려고 다시 설치할 필요는 없습니다.
v2rayN 데스크톱 버전과 클래식 WPF 버전 중 무엇을 선택해야 하나요?
데스크톱 버전은 새로운 크로스 플랫폼 인터페이스를 사용해 Windows, macOS, Linux에서 비슷한 방식으로 조작하려는 사용자에게 적합합니다. 클래식 WPF 버전은 Windows용이며 기존 튜토리얼의 메뉴 구성과 더 유사합니다. 처음 설치한다면 데스크톱 버전을 먼저 시도하고, 실행 환경이나 인터페이스 호환성 또는 익숙한 사용 방식 때문에 WPF가 더 적합하다면 클래식 버전으로 바꾸세요. 두 버전을 같은 폴더에 압축 해제하지 않아야 설정 파일이 서로 덮어써지는 문제를 피할 수 있습니다.
TUN 모드를 켤 때 시스템 권한이 필요한 이유는 무엇인가요?
TUN 모드는 가상 네트워크 인터페이스를 만들고 시스템 라우팅을 변경해야 하므로 일반 사용자 권한을 넘어서는 작업이 필요한 경우가 많습니다. 데스크톱에서는 클라이언트 안내에 따라 관리자 권한을 부여하고, Android에서는 시스템에 표시되는 VPN 연결 권한을 승인해야 합니다. 스위치를 켜자마자 꺼진다면 먼저 클라이언트 로그를 확인한 뒤 보안 프로그램, 기존 가상 네트워크 어댑터, 다른 네트워크 도구가 관련 기능을 사용 중인지 점검하세요. 권한을 변경한 후에는 클라이언트를 완전히 종료하고 다시 시작해야 합니다.
// 03 · USAGE
사용 팁
기본 모드로 안정적인 연결을 먼저 만든 다음 구독 그룹, 코어 전환, 사용자 지정 규칙을 단계적으로 추가하세요.
시스템 프록시, PAC, TUN 모드는 어떻게 다른가요?
시스템 프록시 모드는 운영체제의 프록시 설정을 따르는 앱의 트래픽을 처리하며 설정이 간단해 브라우저와 일반적인 데스크톱 프로그램에 적합합니다. PAC 모드는 규칙에 따라 어떤 요청을 프록시로 보낼지 결정하지만 앱이 시스템 프록시를 지원해야 합니다. TUN 모드는 가상 네트워크 인터페이스로 더 넓은 범위의 트래픽을 처리해 적용 범위가 큰 대신 추가 권한이 필요합니다. 일상적인 사용은 시스템 프록시부터 시작하고, 앱이 시스템 프록시를 읽지 않거나 전체 트래픽을 통합 처리해야 할 때 TUN을 고려하세요.
V2Ray 라우팅 모드는 글로벌, 직접 연결, LAN 및 중국 본토 우회 중 무엇을 선택해야 하나요?
글로벌 모드는 더 많은 트래픽을 선택한 프록시로 보내므로 설정이 작동하는지 임시로 확인할 때 적합합니다. 직접 연결 모드는 프록시를 일시 중지하거나 로컬 네트워크를 점검할 때 사용합니다. LAN 및 중국 본토 우회 모드는 규칙에 따라 로컬 네트워크 주소와 일반적인 중국 본토 대상은 직접 연결하고 나머지는 규칙에 따라 처리하므로 일상적인 사용에 더 적합한 경우가 많습니다. 라우팅 결과는 geosite, geoip 및 사용자 지정 규칙의 영향도 받으므로 모드 이름이 같아도 클라이언트마다 규칙 내용이 완전히 같지는 않습니다.
구독마다 별도 그룹을 만들려면 어떻게 해야 하나요?
구독을 추가할 때 출처마다 알아보기 쉬운 메모나 그룹 이름을 지정하고, 업데이트 후에는 해당 그룹에서만 설정을 선택하세요. 여러 구독을 하나의 임시 그룹에 반복해서 가져오면 노드 이름이 비슷할 때 출처를 구분하기 어렵고 업데이트 후 중복 항목이 남기 쉽습니다. 구독을 삭제하기 전에는 수동 설정을 보존해야 하는지 확인하세요. 업데이트가 끝나면 현재 활성 설정이 여전히 존재하는지 확인하고, 구독에서 삭제되었다면 유효한 설정을 다시 선택해야 합니다.
코어를 바꾼 후 기존 설정을 반드시 계속 사용할 수 있나요?
반드시 그렇지는 않습니다. VMess, VLESS, Trojan 등의 기본 필드는 비슷할 수 있지만 코어마다 전송 매개변수, 라우팅 필드, DNS 설정, 실험적 기능의 지원 범위가 다릅니다. 코어를 바꾼 뒤 실행에 실패한다면 로그에서 알 수 없는 필드, 지원되지 않는 프로토콜, 설정 해석 오류를 먼저 확인하고 노드가 만료되었다고 단정하지 마세요. 구독 설정은 제공자가 권장하는 코어를 우선 사용하고, 수동 설정은 대상 코어의 필드 요구사항에 맞춰 다시 점검해야 합니다.
사용자 지정 V2Ray 라우팅 규칙은 언제 사용해야 하나요?
대부분의 상황에서는 기본 라우팅 모드로 충분하며, 특정 도메인을 반드시 직접 연결하거나 프록시로 보내거나 차단해야 할 때만 사용자 지정 규칙이 필요합니다. 규칙은 domain, geosite, ip, geoip 등의 객체를 기준으로 매칭하고 클라이언트가 정한 우선순위에 따라 실행됩니다. 추가하기 전에 명확한 대상 몇 개로 먼저 테스트하고, 출처가 불분명한 규칙을 한꺼번에 많이 가져오지 마세요. 결과가 예상과 다르면 매칭 순서, 도메인 접미사 범위, 최종 아웃바운드 동작을 확인해야 합니다.
// 04 · TROUBLESHOOTING
문제 해결
구독, 코어, 프록시 진입점, 라우팅, DNS 순서로 점검하고 여러 변수를 동시에 바꾸지 마세요.
노드 테스트는 시간 초과인데 구독 업데이트는 정상인 이유는 무엇인가요?
구독 서버에 접속된다는 것은 설정 목록을 다운로드할 수 있다는 뜻일 뿐, 목록의 모든 노드가 연결된다는 의미는 아닙니다. 먼저 시스템 시간을 맞춘 다음 노드 주소, 포트, 사용자 식별자, 전송 방식, 보안 매개변수가 모두 올바른지 확인하세요. 이후 다른 노드와 네트워크 환경으로 교차 테스트합니다. 모든 노드에서 동시에 시간 초과가 발생하면 로컬 방화벽, DNS, 코어 로그를 확인하고, 특정 노드 하나만 시간 초과라면 설정 제공자에게 해당 노드의 상태를 문의하는 것이 좋습니다.
클라이언트에는 연결됨으로 표시되지만 브라우저에서 인터넷이 되지 않으면 어떻게 하나요?
연결됨 표시는 코어가 실행되었다는 뜻일 뿐 대상 요청이 성공했다는 의미는 아닙니다. 먼저 현재 선택한 설정이 유효한지 확인한 뒤 시스템 프록시가 켜져 있는지, 브라우저가 별도 프록시 설정을 사용하는지, 라우팅 모드가 대상을 잘못 직접 연결하거나 차단하고 있지 않은지 점검하세요. 이후 일반 웹사이트에 접속해 기본 네트워크를 테스트하고 로그에서 DNS 오류, 연결 거부, 핸드셰이크 오류를 확인합니다. 클라이언트를 종료해도 접속되지 않는다면 먼저 로컬 네트워크를 복구한 뒤 계속 점검하세요.
v2rayN 시스템 프록시를 켰는데 작동하지 않으면 어떻게 하나요?
먼저 Windows 시스템 프록시 화면의 주소와 포트가 v2rayN의 현재 로컬 수신 포트와 일치하는지 확인하세요. 그런 다음 브라우저나 앱에 별도 프록시, 확장 프로그램 프록시, 고정 직접 연결 설정이 켜져 있지 않은지 점검합니다. 일부 앱은 시작할 때만 시스템 프록시를 읽으므로 설정을 바꾼 뒤 완전히 종료하고 다시 열어야 합니다. 포트가 일치하지만 요청이 로그에 나타나지 않는다면 다른 프록시 프로그램을 잠시 끄고 TUN 모드로 테스트해 앱이 시스템 프록시를 읽지 않는 문제인지 확인할 수 있습니다.
시작할 때 로컬 포트가 사용 중이라고 표시되면 어떻게 처리하나요?
포트 충돌은 다른 프로세스가 클라이언트에서 사용하려는 로컬 포트를 이미 수신 중이라는 뜻입니다. 클라이언트를 중복 실행했거나 이전 프로세스가 종료되지 않았거나 다른 프록시 프로그램이 같은 포트를 사용하는 경우에 흔히 발생합니다. 관련 프로그램을 완전히 종료하고 작업 관리자에서 남은 프로세스를 확인한 뒤 다시 시작하세요. 로컬 SOCKS 또는 HTTP 포트를 변경해야 한다면 시스템 프록시, 브라우저의 수동 프록시, 해당 포트에 의존하는 다른 프로그램도 함께 수정해야 합니다. 그렇지 않으면 코어는 실행되어도 앱이 이전 포트에 계속 연결합니다.
일부 웹사이트만 열리지 않을 때 DNS 문제일 수 있나요?
가능합니다. 일부 사이트만 실패하고 다른 사이트는 정상이라면 먼저 라우팅 규칙이 대상 도메인을 잘못된 아웃바운드로 보내고 있지 않은지 확인하세요. 이어서 로그에 도메인 해석 실패, 비정상적인 반환 주소, 잘못된 IP 연결이 나타나는지 살펴봅니다. 클라이언트에서 지원하는 DNS 방식으로 바꾸고 시스템 DNS 캐시를 삭제한 뒤 다시 테스트할 수도 있습니다. TUN을 사용 중이라면 DNS 요청이 TUN 설정에서 처리되는지도 확인하세요. 서로 충돌하는 시스템 DNS, 브라우저 보안 DNS, 클라이언트 DNS 규칙을 여러 개 동시에 적용하지 않는 것이 좋습니다.