REALITY 프로토콜XTLS Vision은 왜 빠를까: 인증서 없는 핸드셰이크와 트래픽 제어 원리

v2rayNG 설치는 끝냈지만 어디서부터 사용해야 할지 막막한가요? 안드로이드에서 구독 URL을 등록하고 서버 목록을 갱신하는 방법, 지연 시간 확인, 노드 변경, VPN 및 라우팅 설정까지 초보자 기준으로 안내합니다.

v2rayNG를 처음 실행하면 노드 목록, 구독 그룹, 프로필 업데이트, VPN 권한과 연결 방식이 한 화면에 함께 보여 다소 복잡하게 느껴질 수 있습니다. 하지만 실제 사용 순서는 간단합니다. 먼저 제공받은 구독 URL을 등록하고, 목록을 업데이트한 다음, 사용할 노드의 지연 시간을 비교해 연결하면 됩니다. 연결되지 않을 때도 무작정 앱 데이터를 삭제하기보다 구독 주소, 코어 상태, VPN 권한, 배터리 제한을 순서대로 확인하는 편이 빠릅니다.

이 글은 Android에서 v2rayNG 1.9.x 계열을 사용하는 상황을 기준으로 작성했습니다. 메뉴 이름은 배포 버전이나 번역 상태에 따라 조금 다를 수 있지만, 「프로필」, 「구독 그룹 설정」, 「업데이트」, 「테스트」, 「VPN」과 같은 핵심 기능의 흐름은 대체로 같습니다. 구독 URL은 여러 노드의 접속 정보를 한 번에 내려받는 주소이므로 다른 사람에게 공개하지 말고, 입력할 때 앞뒤 공백이나 줄바꿈이 포함되지 않았는지도 확인하세요.

이 글의 핵심 내용

v2rayNG에 구독 링크를 추가하는 방법부터 구독 업데이트, 노드 선택, 지연 시간 테스트, VPN 연결과 오류 점검까지 실제 사용 순서대로 설명합니다. 처음에는 자동으로 모든 설정을 바꾸기보다 Xray 코어, 전역 VPN 모드, 배터리 제한, DNS 상태를 하나씩 확인하면 문제 원인을 쉽게 좁힐 수 있습니다.

구독 링크와 단일 노드 링크 구분하기

구독 링크는 보통 https:// 또는 http://로 시작하며, 클라이언트가 해당 주소에 접속해 여러 개의 VMess, VLESS, Trojan 또는 다른 지원 노드 정보를 받아오는 방식입니다. 반면 vmess://, vless://, trojan://으로 시작하는 문자열은 대개 노드 하나를 가져오기 위한 공유 링크입니다. 시작 문자열만 확인해도 어느 메뉴로 가져와야 하는지 대부분 판단할 수 있습니다.

1개
단일 공유 링크가 추가하는 기본 노드 수
443
TLS 또는 Reality에서 자주 쓰는 원격 포트
10808
수동 프록시에서 흔히 쓰는 SOCKS 포트
10~30초
구독 업데이트 결과를 기다릴 시간

구독 그룹은 주소와 이름을 저장하고, 필요할 때 목록을 다시 내려받는 관리 단위입니다. 제공자가 서버 주소나 포트를 변경하면 기존 노드를 수동으로 수정하기보다 구독을 업데이트하는 것이 안전합니다. 다만 구독 응답이 일반 텍스트 공유 링크인지, 특정 클라이언트용 형식인지에 따라 결과가 달라질 수 있으므로 업데이트 후 생성된 노드 수와 이름을 확인해야 합니다.

v2rayNG에 구독 그룹 추가하기

먼저 제공받은 구독 URL을 Android 클립보드에 복사합니다. 주소가 여러 줄로 나뉘어 있다면 한 줄 전체를 복사해야 하며, 메신저가 URL 일부를 자동으로 링크 처리하면서 끝의 문자나 물음표 뒤 매개변수를 누락하지 않았는지도 살펴보세요. v2rayNG를 열고 메인 화면의 프로필 또는 메뉴에서 구독 그룹 관리 화면으로 이동합니다.

  1. 그룹 관리 열기

    v2rayNG 메인 화면에서 왼쪽 메뉴 또는 상단 메뉴를 열고 「구독 그룹 설정」을 선택합니다. 버전에 따라 「Subscription groups」처럼 영어로 표시될 수 있습니다.

  2. 새 그룹 추가

    오른쪽 위의 추가 버튼을 누르고 그룹 이름을 입력합니다. 예를 들어 주사용 또는 업무용처럼 목적을 구분할 수 있는 이름을 사용하면 여러 구독을 관리하기 쉽습니다.

  3. 주소 붙여넣기

    구독 URL 입력란에 복사한 주소를 붙여넣고 저장합니다. 주소 앞뒤에 공백이 있으면 삭제하고, 사용자명과 비밀번호가 포함된 URL은 임의로 URL 디코딩하지 마세요.

  4. 목록 업데이트

    메인 화면으로 돌아와 새 그룹을 선택한 뒤 업데이트 아이콘이나 「업데이트」를 누릅니다. 10~30초 후 노드 수가 표시되는지 확인하고, 실패하면 Wi-Fi와 모바일 데이터에서 각각 다시 시도합니다.

업데이트가 완료되면 노드 목록에 서버 이름과 프로토콜이 나타납니다. 같은 이름이 반복되거나 특수문자가 깨져 보인다고 해서 즉시 노드가 잘못된 것은 아닙니다. 제공자가 인코딩한 이름을 앱이 그대로 표시할 수 있기 때문입니다. 실제 연결 가능 여부는 이름보다 테스트 결과와 연결 로그로 판단하세요.

프로필 업데이트와 노드 목록 관리

구독 그룹을 등록한 뒤에는 노드 선택보다 먼저 업데이트 결과를 확인하는 습관이 좋습니다. 이전에 저장된 노드는 앱 안에 남아 있을 수 있으므로 화면에 목록이 보인다고 최신 상태라는 뜻은 아닙니다. 메인 화면에서 구독 그룹을 선택하고 「업데이트」를 실행한 뒤 마지막 업데이트 시각, 새로 추가된 노드 수, 실패 메시지를 차례로 확인하세요.

구독 URL 확인 그룹 선택 목록 업데이트 노드 테스트 VPN 연결

노드가 너무 많으면 이름 규칙을 이용해 관리할 수 있습니다. 국가나 지역, 회선 유형, 만료일이 이름에 포함되어 있다면 자주 사용하는 노드를 즐겨찾기에 추가하고, 테스트에 실패한 노드는 삭제하기보다 일단 별도 그룹으로 옮기는 것이 좋습니다. 삭제 후 다시 구독을 업데이트하면 제공자가 계속 내려주는 노드가 재생성될 수 있으므로, 반복해서 나타나는 항목은 구독 제공자 측 목록도 확인해야 합니다.

상태 가능한 원인 권장 조치
업데이트 전부터 노드가 보임 이전 캐시 또는 기존 프로필 마지막 업데이트 시각과 그룹 이름 확인
업데이트 후 노드 0개 응답 형식 오류, 만료 URL, 인증 실패 주소를 다시 복사하고 제공자 안내 형식 확인
일부 노드만 추가됨 서버 목록 변경 또는 지원되지 않는 프로토콜 생성된 노드의 프로토콜과 코어 호환성 확인
업데이트 시간 초과 현재 네트워크에서 구독 도메인 접근 불가 네트워크를 바꾸거나 구독 업데이트 프록시 옵션 확인

연결할 노드 선택과 지연 시간 확인

노드 이름이 마음에 든다는 이유만으로 선택하지 말고 먼저 지연 시간 테스트를 실행하세요. v2rayNG에서 노드를 길게 누르거나 선택 메뉴를 열면 지연 시간 테스트, 연결 테스트 또는 유사한 항목을 찾을 수 있습니다. 테스트 방식은 버전에 따라 ICMP가 아니라 프록시 경유 HTTP 요청일 수 있으므로 숫자를 절대적인 인터넷 속도로 해석해서는 안 됩니다. 같은 시간과 같은 네트워크에서 여러 노드를 비교하는 상대 지표로 활용하는 것이 정확합니다.

처음에는 지연 시간이 가장 낮은 노드 하나와 중간 지연 노드 하나를 비교해 보세요. 낮은 숫자의 노드가 실제 사용 중 자주 끊긴다면 패킷 손실이나 서버 과부하가 있을 수 있습니다. 반대로 110ms 노드가 70ms 노드보다 안정적으로 페이지를 열고 동영상 버퍼링도 적다면 장시간 사용에는 전자가 더 적합합니다. 노드를 선택한 뒤 연결 버튼을 누르고 Android의 VPN 키 아이콘이 나타나는지 확인합니다.

결론: 가장 낮은 숫자보다 반복 측정 결과를 선택

한 번의 32ms 측정값보다 5회 테스트에서 45~60ms로 유지되는 노드가 실제 사용에 더 안정적일 수 있습니다. 지연 시간, 연결 성공 여부, 3~5분 동안의 끊김 빈도를 함께 비교한 뒤 주사용 노드를 정하세요.

VPN 모드와 Android 권한 확인하기

v2rayNG는 일반적으로 Android VPN 서비스를 이용해 기기의 트래픽을 캡처합니다. 처음 연결할 때 시스템 VPN 연결 허용 창이 나타나면 앱 이름을 확인하고 허용해야 합니다. VPN 아이콘이 나타나지 않거나 연결 버튼을 눌러도 즉시 원래 상태로 돌아오면 프로필 오류뿐 아니라 VPN 권한 거부, 다른 VPN 앱과의 충돌, 시스템의 백그라운드 제한도 원인이 될 수 있습니다.

앱 설정에서 라우팅 모드를 확인하세요. 전역 모드는 거의 모든 트래픽을 프록시로 보내므로 동작 확인에 유리하지만, 로컬 서비스나 사내 주소까지 우회할 수 있습니다. 분할 모드 또는 규칙 모드는 도메인·IP 규칙에 따라 직접 연결과 프록시를 나누므로 일상 사용에는 편리하지만, 규칙과 DNS 설정이 맞지 않으면 특정 사이트만 열리지 않을 수 있습니다. 처음 진단할 때는 잠시 단순한 모드로 연결을 확인한 뒤 원하는 분할 규칙으로 돌아가는 방법이 좋습니다.

연결 오류를 단계별로 점검하기

연결 실패가 발생하면 먼저 선택한 노드의 지연 시간 테스트가 성공했는지 확인합니다. 테스트부터 실패하면 서버 주소, 포트, DNS, 네트워크 경로를 먼저 살펴보고, 테스트는 성공했는데 앱 연결만 실패하면 프로토콜 매개변수, 코어 지원 여부, VPN 권한을 점검합니다. VLESS + Reality 노드라면 주소와 포트뿐 아니라 UUID, public key, short ID, server name, fingerprint, flow 값이 서버와 맞아야 합니다. 이 중 하나라도 임의로 바꾸면 연결이 성립하지 않을 수 있습니다.

failed to update subscription: timeout

원인과 해결: 구독 서버에 정해진 시간 안에 접속하지 못한 상태입니다. URL 철자를 확인하고 다른 네트워크에서 재시도한 뒤, 앱의 구독 업데이트 프록시 옵션을 사용할 수 있는지 확인하세요.

failed to find an available destination

원인과 해결: 대상 주소를 해석하거나 연결할 아웃바운드를 찾지 못한 경우입니다. 노드의 서버 주소, DNS 상태, 라우팅 모드를 확인하고 다른 노드로 비교 테스트를 진행하세요.

handshake failed

원인과 해결: TLS, Reality 또는 전송 계층의 매개변수가 서버와 일치하지 않을 가능성이 큽니다. 구독을 다시 업데이트하고 SNI, public key, short ID를 직접 임의 수정하지 마세요.

VPN service is not available

원인과 해결: Android VPN 권한이 거부되었거나 다른 VPN 서비스가 사용 중일 수 있습니다. 시스템 VPN 설정에서 기존 연결을 종료하고 v2rayNG에 다시 권한을 부여하세요.

구독을 업데이트했는데 노드가 늘어나지 않나요?

먼저 마지막 업데이트 시각과 응답 오류를 확인하세요. 제공자가 목록을 줄였거나 기존 노드와 동일한 항목만 반환했을 수도 있으므로 노드 이름만 보고 실패로 판단하지 마세요.

연결됐는데 특정 앱만 인터넷이 안 되나요?

전역 VPN이 아니라 규칙 모드인지 확인하고, 해당 앱의 트래픽이 직접 연결 규칙에 걸리지 않는지 점검하세요. DNS 문제가 의심되면 다른 노드와 네트워크에서 다시 비교합니다.

화면을 끄면 연결이 끊겨요.

Android 설정에서 v2rayNG의 배터리 사용을 제한 없음으로 바꾸고 백그라운드 데이터 및 자동 실행 제한을 해제하세요. 제조사별 절전 관리 앱도 예외 목록에 추가해야 할 수 있습니다.

마지막으로 앱 로그에서 실제 오류가 발생한 시각의 내용을 확인하세요. 단순히 “연결 안 됨”이라는 결과만으로는 주소 오류와 VPN 권한 문제를 구분할 수 없습니다. 같은 노드로 반복 연결하기보다 다른 노드 하나를 선택해 비교하고, 모든 노드가 동시에 실패할 때만 구독·DNS·Android 네트워크 설정을 공통 원인으로 판단하는 것이 효율적입니다.

v2rayN 다운로드 4개 플랫폼 클라이언트 보기