BASICS
기본 개념
클라이언트, 코어, 서버의 차이를 먼저 파악한 뒤 설정을 어디에서 바꿔야 할지 확인하세요.
V2Ray, v2rayN, v2rayNG, Xray는 각각 무엇인가요?
V2Ray는 Project V 프록시 기술 생태계의 일부이며, V2Fly와 Xray는 관련 코어 계열입니다. 코어는 프로토콜, 전송, 라우팅, DNS를 처리합니다. v2rayN은 데스크톱 GUI 클라이언트이고 v2rayNG는 Android GUI 클라이언트로, 구독 관리와 서버 선택, 실행 설정 생성을 담당합니다. 문제를 해결할 때는 클라이언트 버전과 실제로 사용 중인 코어 이름을 함께 기록하세요. 인터페이스에 옵션이 표시된다고 해서 현재 코어가 해당 설정 항목을 지원하는 것은 아닙니다. 설정 예제를 적용하기 전에도 대상 코어를 확인해야 합니다. 파일 이름이 모두 config.json이라고 해서 그대로 섞어 사용할 수는 없습니다.
클라이언트를 설치했는데 서버 목록이 비어 있는 이유는 무엇인가요?
클라이언트는 로컬 설정과 연결 기능을 제공할 뿐, 설치만으로 원격 서버가 생기지는 않습니다. 사용 권한이 있는 구독 URL, 노드 공유 링크 또는 수동 설정 정보를 준비한 뒤 해당 메뉴에서 가져오세요. 구독 URL은 보통 여러 설정을 불러오며, 노드 링크는 하나의 설정을 나타내므로 가져오기 메뉴를 서로 바꿔 사용하면 안 됩니다. 구독 그룹이 있는데 목록이 비어 있다면 반복해서 재설치하지 말고 업데이트 결과와 필터 조건부터 확인하세요. 화면을 공유할 때는 구독 URL의 토큰, 서버 인증 정보, 개인 메모를 가리세요.
시스템 프록시와 TUN 모드는 어떻게 다른가요?
시스템 프록시는 로컬 프록시 주소를 운영체제에 전달하며, 주로 해당 설정을 따르는 앱에 적용됩니다. 자체 네트워크 설정을 사용하거나 직접 연결하는 프로그램에는 적용되지 않을 수 있습니다. TUN은 가상 네트워크 인터페이스를 통해 라우팅 조건에 맞는 트래픽을 처리하므로 적용 범위가 넓지만 권한, 라우팅, DNS 설정에 더 민감합니다. 처음에는 시스템 프록시로 노드를 확인한 다음 TUN을 사용해 보세요. TUN을 켜도 모든 트래픽이 프록시를 통과하는 것은 아니며, 최종 경로는 클라이언트의 분기 규칙에 따라 달라집니다. 문제를 해결할 때는 트래픽을 가로채는 도구를 여러 개 동시에 실행하지 마세요.
VMess, VLESS, Trojan, Shadowsocks 중 무엇을 선택해야 하나요?
프로토콜 이름만 보고 선택하기보다 서버에서 실제로 제공하는 프로토콜과 매개변수에 맞춰 설정하세요. VMess, VLESS, Trojan, Shadowsocks는 인증 항목과 보안 설정이 서로 다르며, 전송 계층, TLS, SNI 등의 매개변수도 양쪽이 일치해야 합니다. 프로토콜을 직접 바꾸기보다는 전체 공유 링크를 가져오는 편이 안전합니다. 구독 설정으로 연결할 수 있다면 다른 프로토콜을 시도하려고 유형만 바꾸고 기존 매개변수를 그대로 두지 마세요. 지원하지 않는 항목 오류가 발생하면 클라이언트와 코어의 호환성을 먼저 확인하세요. 프로토콜 이름만으로 속도, 지연 시간, 연결 안정성을 보장할 수는 없습니다.
INSTALLATION
설치 및 설정
구독 내용, 설치 파일 아키텍처, 실행 권한, 로컬 수신 설정을 차례로 확인하세요.
구독을 가져오지 못하면 무엇부터 확인해야 하나요?
주소 저장, 구독 요청, 응답 내용 해석 중 어느 단계에서 실패했는지 먼저 확인하세요. 주소를 복사할 때 전체가 선택됐는지, 공백이나 줄바꿈 또는 전각 문장부호가 섞이지 않았는지 확인하고, 관리 페이지 주소를 구독 URL로 착각하지 않았는지도 살펴보세요. 주소는 저장됐지만 노드가 나타나지 않는다면 업데이트 로그를 확인하세요. 로그인 페이지나 오류 페이지가 반환됐거나 형식이 호환되지 않아도 가져오기에 실패할 수 있습니다. 전체 구독 URL을 공개 게시판에 올리거나 출처를 알 수 없는 변환 사이트에 입력하지 마세요. 출처를 확인한 뒤 원본 주소를 다시 복사하고, 단일 노드 가져오기 창이 아니라 구독 그룹 메뉴에서 업데이트하세요.
Android 설치 파일은 arm64와 universal 중 무엇을 선택해야 하나요?
2015년 이후 출시된 주요 Android 스마트폰은 대체로 arm64를 먼저 고려할 수 있지만, 최종적으로는 시스템에서 지원하는 ABI를 기준으로 선택해야 합니다. 프로세서가 64비트를 지원해도 운영체제에서 해당 앱을 실행할 수 있다는 뜻은 아닙니다. universal 패키지는 여러 아키텍처를 포함해 기기 구조를 모를 때 시도하기 좋지만 파일 크기가 더 큽니다. 설치되지 않는다면 먼저 Android 버전, 저장 공간, 설치 권한을 확인한 다음 패키지 아키텍처를 살펴보세요. 같은 이름의 앱이 이미 설치되어 있다면 서명 불일치나 다운그레이드 제한도 확인하세요. 앱을 삭제하면 설정이 사라질 수 있으니 필요한 데이터는 클라이언트의 내보내기 기능으로 먼저 저장하세요.
v2rayN에서 TUN을 켤 때 권한 부족 오류가 표시되면 어떻게 해야 하나요?
먼저 TUN을 중지한 뒤 로그에서 권한, 가상 인터페이스 또는 라우트 생성과 관련된 첫 번째 오류를 확인하세요. Windows에서는 보통 관리자 권한이나 클라이언트가 지원하는 서비스 모드가 필요합니다. 다른 데스크톱 운영체제에서는 클라이언트 안내에 따라 권한을 부여해야 하며 Windows 방법을 그대로 적용하면 안 됩니다. 다른 VPN이나 TUN 도구가 트래픽 경로를 점유하고 있지 않은지 확인한 다음, 현재 클라이언트 안내에 따라 다시 활성화하세요. 방화벽이나 모든 보안 기능을 끄는 방법을 일반적인 해결책으로 삼지 마세요. 시스템 프록시는 작동하지만 TUN이 실패한다면 노드를 계속 바꾸기보다 권한, 인터페이스, 라우트를 먼저 점검하세요.
로컬 프록시를 수동으로 설정할 때 포트와 프로토콜은 어떻게 입력하나요?
다른 안내의 포트를 그대로 따라 하지 말고 클라이언트에 현재 표시된 로컬 수신 설정을 기준으로 입력하세요. 앱에서 SOCKS5를 요구하면 실제 SOCKS 또는 호환되는 혼합 수신 포트를 입력하고, HTTP 프록시를 요구하면 HTTP를 지원하는 수신 포트를 사용하세요. 같은 기기에서만 사용할 경우 주소는 보통 127.0.0.1입니다. 10808은 자주 쓰이는 예시일 뿐 모든 버전에서 고정으로 사용하는 포트는 아닙니다. LAN의 다른 기기에서도 접속하려면 수신 주소, 접근 인증, 방화벽 규칙을 별도로 검토하세요. 로컬 전용 설정을 외부 네트워크에 그대로 공개하면 안 됩니다.
DAILY USE
사용 팁
속도 측정은 참고 자료일 뿐입니다. 실제 요청과 출구 변화로 연결 상태를 확인하세요.
V2Ray 지연 시간 테스트는 성공했는데 웹페이지가 열리지 않는 이유는 무엇인가요?
TCP 지연 시간 테스트는 대개 대상 포트에 연결할 수 있는지만 확인하며 인증, TLS, 프록시 출구, DNS가 정상인지까지 검증하지는 않습니다. 실제 연결 테스트는 실제 요청에 더 가깝지만, 테스트한 시점에 대상에 접속할 수 있었는지만 보여 줍니다. 먼저 현재 선택된 노드와 테스트한 노드가 같은지 확인하고, 시스템 프록시나 TUN이 적용되는지 살펴보세요. 웹페이지에 접속할 때 새 로그가 기록되는지도 확인하세요. 테스트 주소 하나에 연결되지 않는다고 노드를 사용할 수 없는 것은 아니며, 지연 시간이 표시된다고 모든 사이트에 접속할 수 있는 것도 아닙니다. 브라우저 접속 결과와 실제 출구 IP 변화를 함께 확인하세요.
규칙 모드, 전역 프록시, 직접 연결 모드는 어떻게 사용하나요?
규칙 모드는 도메인이나 IP 등의 조건에 따라 출구를 선택하므로 일상적인 트래픽 분기에 적합합니다. 전역 프록시는 보통 기본 출구를 프록시로 바꾸며, 분기 규칙 때문에 접속이 안 되는지 임시로 확인할 때 유용합니다. 직접 연결 모드는 일반적으로 트래픽을 대상에 바로 연결합니다. 모드 이름과 적용 범위는 클라이언트마다 다를 수 있으므로 구체적인 라우팅 규칙도 확인하세요. 특정 사이트의 문제를 확인할 때는 잠시 전역 프록시로 바꿔 비교한 뒤 원래 설정으로 되돌리면 됩니다. 전역 프록시가 모든 앱의 트래픽을 가로채는 것은 아닙니다. 시스템 프록시나 TUN은 클라이언트로 들어오는 트래픽을 결정하고, 라우팅 모드는 들어온 트래픽의 경로를 결정합니다.
구독을 업데이트한 뒤 노드 이름이나 선택한 서버가 바뀐 이유는 무엇인가요?
구독을 업데이트하면 원격에서 받은 내용에 따라 노드를 다시 만들거나 병합하는 경우가 많으며, 구체적인 동작은 클라이언트 버전과 그룹 설정에 따라 다릅니다. 제공업체가 이름, 주소, 노드 식별자를 변경하면 기존 정렬 순서나 메모, 선택 상태가 그대로 유지되지 않을 수 있습니다. 업데이트 전에 현재 사용 중인 설정을 기록하고, 업데이트 후에는 활성 노드를 다시 확인한 뒤 실제 연결 테스트를 진행하세요. 계속 보관해야 하는 수동 설정은 별도 그룹에 두고 자동 업데이트되는 구독 내용과 섞지 않는 것이 좋습니다. 목록의 첫 번째 노드가 지난번에 사용한 서버라고 단정하지 마세요.
프록시가 적용됐는지 확인하고 클라이언트를 안전하게 종료하려면 어떻게 해야 하나요?
프록시를 켜기 전의 접속 상태를 기록한 다음 대상 노드를 활성화하고, 브라우저로 테스트 페이지에 접속해 출구 IP를 비교하세요. 로그에 해당 요청이 기록되는지도 확인합니다. 출구 결과는 IPv4, IPv6, 트래픽 분기 정책에 따라 달라지므로 한 번의 조회만으로 모든 앱의 상태를 판단할 수는 없습니다. Android에서는 VPN 권한과 앱별 분기 범위도 확인해 테스트 앱이 제외되지 않도록 하세요. 종료하기 전에 시스템 프록시나 TUN을 끄고 일반 네트워크가 복구됐는지 확인한 뒤 프로그램을 종료하세요. 프로그램이 비정상 종료되어 시스템 프록시 설정이 남았다면 네트워크 설정에서 원래 값으로 복구하면 되며, 네트워크 전체를 초기화할 필요는 없습니다.
TROUBLESHOOTING
문제 해결
한 번에 한 가지 조건만 바꾸고, 변경 전후의 로그를 보관해 반복적인 시행착오를 줄이세요.
v2rayN의 구독 업데이트 실패는 가져오기 실패와 어떻게 다른가요?
가져오기 실패는 주소나 내용을 인식하지 못해 발생할 수 있고, 업데이트 실패는 기존 그룹에서 원격 콘텐츠를 요청하는 과정에서 흔히 발생합니다. 로그에서 도메인 이름 해석 실패, 연결 시간 초과, 인증서 오류, HTTP 상태 코드를 구분한 뒤 구독이 만료되거나 초기화됐는지 확인하세요. 기기의 시간이 정확한지 확인한 다음 실제 네트워크 환경에 맞춰 직접 업데이트하거나 현재 사용 가능한 프록시를 통해 업데이트하세요. 프록시가 작동하지 않는데 해당 프록시로 구독을 가져오면 복구할 수 없는 의존 관계가 생깁니다. 사용 가능한 기존 노드는 남겨 두고 모든 설정을 먼저 지우지 마세요. 서버 측 제한을 유발할 수 있으니 짧은 간격으로 반복 요청하는 것도 피하세요.
모든 노드에서 연결 시간 초과가 발생하면 어떤 순서로 확인해야 하나요?
먼저 트래픽을 가로채는 모드를 끄고 기기의 기본 네트워크와 일반적인 도메인 이름 해석이 정상인지 확인하세요. 이어서 시스템 시간이 정확한지, 네트워크 접속 시 웹 로그인이 필요한지 살펴봅니다. 구독이 유효한지 확인한 뒤 같은 노드로 포트 테스트와 실제 연결 테스트를 각각 진행하고, 연결 거부, 핸드셰이크 실패, 인증 오류가 있는지 확인하세요. 특정 네트워크에서만 모든 노드가 시간 초과되면 사용 권한이 있는 다른 네트워크에서 비교해 볼 수 있습니다. 일부 노드만 실패한다면 해당 서버 상태와 설정을 우선 확인하세요. DNS, 전송 방식, 라우팅을 한꺼번에 바꾸면 문제가 해결된 뒤에도 원인을 파악하기 어렵습니다.
연결됨으로 표시되는데 인터넷이 안 될 때 DNS 문제와 라우팅 문제를 어떻게 구분하나요?
연결됨 표시는 로컬 코어나 Android VPN 서비스가 시작됐다는 의미일 수 있으며, 원격 인증이나 트래픽 전달까지 성공했다는 뜻은 아닙니다. 먼저 코어 오류를 확인하고 실제 연결 테스트로 원격 구간을 점검하세요. 연결이 정상이라면 대상 도메인의 이름 해석이 실패하는지, 요청이 실제로 어떤 출구로 전달되는지 살펴보세요. 전역 프록시로 잠시 바꿨을 때 접속이 복구된다면 보통 트래픽 분기 규칙과 순서를 다시 확인해야 합니다. 로그에 이름 해석 시간 초과가 표시되면 DNS 서버에 연결되는 경로와 DNS 라우팅을 점검하세요. HTTPS 인증서와 가상 호스트도 도메인에 의존하므로 사이트 IP로 직접 접속하는 방법만으로 계속 판단하지 마세요.
시스템 프록시를 켰는데 일부 앱에만 적용되는 이유는 무엇인가요?
시스템 프록시가 현재 클라이언트의 수신 주소와 포트를 가리키는지 확인하고 클라이언트 코어가 실행 중인지 살펴보세요. 브라우저 확장 프로그램, 앱 자체 프록시, 프록시 제외 목록, 기존 연결도 결과에 영향을 줄 수 있습니다. 설정을 바꾼 뒤에는 대상 앱을 재시작해 다시 테스트해 보세요. 로그에 해당 앱의 새 요청이 없다면 시스템 프록시를 따르지 않는 앱일 수 있습니다. 앱에서 호환되는 HTTP 또는 SOCKS5 프록시를 설정하거나 TUN 사용을 검토하세요. 로그에 요청이 있는데도 접속되지 않는다면 적용된 규칙과 원격 오류를 확인해야 합니다. 클라이언트에 들어온 뒤 발생한 문제를 시스템 프록시 미적용으로 오해하지 마세요.