v2rayNG에서 VLESS Reality 설정하는 법과 입력값 완벽 정리

안드로이드 v2rayNG에서 VLESS Reality 노드를 추가하는 방법을 단계별로 안내합니다. 서버 주소와 포트부터 UUID, Public Key, Short ID, SNI, Fingerprint 입력 위치까지 설명하고 연결 테스트와 오류 해결법도 함께 확인할 수 있습니다.

v2rayNG에서 VLESS Reality 노드를 사용하려면 서버 주소와 포트만 입력해서는 충분하지 않습니다. UUID, Reality의 공개 키, Short ID, SNI와 클라이언트 지문이 서로 맞아야 TLS 핸드셰이크가 완료되고, 그 다음에야 실제 프록시 트래픽이 전달됩니다. 제공업체가 URL 형태의 공유 링크를 제공한다면 직접 입력보다 링크 가져오기가 안전하지만, 수동 설정을 익혀 두면 누락된 값이나 잘못된 변환을 찾아내기 쉽습니다.

이 글에서는 Android용 v2rayNG 1.10.x 계열을 기준으로 VLESS와 Reality 프로필을 직접 추가하는 과정을 설명합니다. 앱 버전에 따라 메뉴 이름이나 입력란의 위치가 조금 다를 수 있지만, 핵심은 프로토콜, 주소, 포트, 사용자 ID, 보안 방식, Reality 매개변수, 전송 방식을 한 묶음으로 맞추는 것입니다.

이 글 한눈에 보기

v2rayNG 초보자가 제공업체의 VLESS Reality 정보를 각 입력란에 옮기는 방법을 정리했습니다. UUID와 서버 주소처럼 기본적인 값뿐 아니라 SNI, Public Key, Short ID, Fingerprint의 역할도 구분하고, 연결 전 확인 순서와 로그에 나타나는 대표적인 오류별 수정 방법까지 단계별로 설명합니다.

VLESS Reality 프로필을 이루는 구성 요소

VLESS Reality는 하나의 단일 옵션이 아니라 인증 정보, 서버 위치, TLS 위장 정보와 전송 설정이 결합된 프로필입니다. VLESS는 사용자를 식별하기 위해 UUID를 사용하며, Reality는 일반적인 TLS 통신처럼 보이도록 서버 이름과 지문을 사용합니다. 따라서 UUID가 맞더라도 Public Key가 틀리면 연결되지 않고, 모든 값이 맞아도 서버 포트가 방화벽에 막혀 있으면 시간 초과가 발생할 수 있습니다.

v2rayNG 항목 제공받을 값 입력 시 주의점
주소 도메인 또는 IP 주소 공백과 불필요한 따옴표를 제거합니다.
포트 예: 443 로컬 SOCKS 포트가 아니라 원격 서버 포트입니다.
사용자 ID UUID 하이픈을 포함한 전체 문자열을 그대로 입력합니다.
보안 Reality VLESS를 선택한 뒤 TLS 관련 항목에서 지정합니다.
서버 이름 SNI 또는 Server Name 인증서와 Reality 설정에 맞는 도메인이어야 합니다.
공개 키 Public Key 서버의 Reality 공개 키를 한 글자도 바꾸지 않습니다.
Short ID 16진수 문자열 제공된 값이 여러 개면 서버 안내에 지정된 값을 선택합니다.
지문 chrome 등 대부분 chrome이지만 제공업체 지침을 우선합니다.
443
Reality에서 자주 쓰는 원격 포트
UUID
VLESS 사용자 인증 값
16진수
Short ID의 일반적인 형식
1개
프로필에 선택할 전송 방식

Server Name은 접속할 실제 서버 주소와 항상 같은 값이라는 뜻이 아닙니다. Reality 서버가 허용한 대상 이름을 사용해야 하므로, 제공업체가 별도로 지정한 SNI를 우선 입력하세요. Public Key는 서버의 개인 키가 아니라 클라이언트가 서버를 검증할 때 사용하는 공개 값입니다. 개인 키를 요구하거나 전송하라는 안내는 정상적인 클라이언트 설정 절차가 아닙니다.

공유 링크 가져오기와 수동 입력 비교

공유 링크에는 보통 vless:// 뒤에 UUID, 호스트, 포트, 쿼리 매개변수와 프로필 이름이 포함됩니다. 예를 들어 security=reality, sni=example.com, pbk=..., sid=..., fp=chrome 같은 값이 Reality 설정으로 변환됩니다. 링크를 메모 앱을 거쳐 복사하면 줄바꿈이나 URL 인코딩이 바뀔 수 있으므로, v2rayNG의 클립보드 가져오기 기능에 원문을 직접 붙여 넣는 편이 안전합니다.

UUID, SNI, Public Key와 Short ID를 자동으로 분리해 입력할 수 있어 오탈자가 적습니다.

적합: 일반적인 구독 사용자, 여러 노드 일괄 추가

각 매개변수의 의미를 확인할 수 있고, 링크가 없거나 일부 값만 전달된 경우 유용합니다.

적합: 설정 학습, 누락 값 진단, 단일 노드 수정

제공업체가 프로필을 관리하므로 서버 변경이나 만료 처리에 편리하지만, 잘못된 서버 설정도 함께 내려올 수 있습니다.

적합: 정기적으로 노드가 변경되는 환경

수동으로 입력할 때는 먼저 종이에 값을 분리해 적어 두세요. 주소와 SNI를 같은 값으로 착각하거나, Public Key와 UUID를 서로 바꾸는 실수가 자주 발생합니다. 또한 Short ID가 비어 있는 서버도 있으므로, 제공업체가 빈 값으로 안내했다면 임의로 UUID나 임의의 숫자를 넣지 말고 해당 항목을 비워 두어야 합니다.

판단 기준: 링크가 편해도 원문을 보관하세요

공유 링크를 가져온 뒤에도 프로필 편집 화면에서 SNI, Public Key, Short ID와 Fingerprint를 한 번 확인하세요. 자동 변환이 성공했다는 사실은 값이 서버와 일치한다는 뜻이 아니며, 최종 판단은 로그와 실제 연결 결과로 해야 합니다.

v2rayNG에서 프로필 직접 추가하기

작업 전에는 Android 기기의 날짜와 시간 자동 설정을 켜고, 다른 VPN 앱이 동시에 실행 중인지 확인하세요. Reality는 TLS 기반 핸드셰이크를 사용하므로 기기 시간이 크게 어긋나면 정상적인 키와 SNI를 입력해도 인증 과정이 실패할 수 있습니다. 처음에는 라우팅 규칙이나 분할 터널링을 복잡하게 바꾸지 말고, 하나의 노드가 기본 프록시 모드에서 연결되는지부터 확인하는 것이 좋습니다.

  1. 프로필 메뉴 열기

    v2rayNG를 실행하고 오른쪽 아래의 추가 버튼 또는 프로필 관리 메뉴를 엽니다. QR 코드 가져오기가 아니라 직접 입력하려면 ‘수동 설정’ 또는 ‘VLESS’에 해당하는 프로필 추가 항목을 선택합니다.

  2. 기본값 입력

    주소에 서버 도메인 또는 IP를, 포트에 제공받은 원격 포트를 입력합니다. 사용자 ID에는 UUID를 넣고 전송 방식은 서버 안내에 맞춥니다. 일반적인 VLESS Reality TCP 구성이라면 전송 방식은 TCP입니다.

  3. Reality 선택

    보안 또는 TLS 관련 메뉴에서 Reality를 선택합니다. TLS를 단순히 켜는 것과 Reality를 선택하는 것은 다르므로, ‘Reality Public Key’, ‘Short ID’ 같은 입력란이 표시되는지 확인하세요.

  4. 핵심값 채우기

    Server Name에는 SNI, Public Key에는 제공받은 공개 키, Short ID에는 지정된 16진수 값을 입력합니다. Fingerprint는 기본값이 chrome이라도 서버 안내와 일치하는지 확인하고, Flow가 안내되어 있다면 예를 들어 xtls-rprx-vision 값을 선택합니다.

  5. 저장하고 연결

    프로필 이름을 알아보기 쉽게 정한 뒤 저장합니다. 목록에서 해당 프로필을 선택하고 연결 버튼을 누른 다음, Android VPN 권한 요청이 나타나면 허용합니다. 상태가 연결됨으로 바뀐 뒤 브라우저에서 간단한 페이지를 열어 확인합니다.

VLESS Reality TCP 예시

프로토콜
VLESS
주소와 포트
node.example.net : 443
보안
Reality
전송 방식
TCP
지문
chrome

실제 주소, UUID, 키와 SNI는 제공업체의 값을 사용해야 하며 예시 문자열을 그대로 입력하면 안 됩니다.

Reality 세부값 예시

Server Name
지정된 SNI 도메인
Public Key
서버 제공 공개 키
Short ID
제공된 16진수 값
Flow
서버 안내 시 vision 계열
Allow Insecure
일반적으로 끔

인증서 경고를 없애려고 Allow Insecure를 켜는 것은 Reality 값 오류의 해결책이 아닙니다.

연결 전 입력값 검증 체크리스트

저장하기 전에 입력값의 형식과 의미를 따로 확인하면 시행착오를 크게 줄일 수 있습니다. UUID는 일반적으로 36자 하이픈 형식이며, Public Key는 제공된 문자열 전체가 필요합니다. Short ID는 서버가 허용한 값이어야 하고, SNI는 철자와 점 위치까지 정확해야 합니다. 주소 입력란에 https://를 붙이거나 포트 뒤에 경로를 넣으면 안 됩니다.

  • 주소: 도메인 주소 앞뒤의 공백, vless:// 접두사와 경로 문자를 제거합니다.
  • 포트: 443, 8443 등 서버가 지정한 원격 포트를 입력하며 v2rayNG의 로컬 프록시 포트와 혼동하지 않습니다.
  • UUID: 대문자·소문자와 하이픈을 확인하고, 일부만 복사하지 않습니다.
  • SNI: 서버가 Reality 대상 목록에 등록한 도메인을 사용합니다.
  • Public Key: 서버 개인 키가 아닌 클라이언트용 공개 키를 입력합니다.
  • Short ID: 여러 값 중 하나를 선택할 때 서버 안내의 순서와 용도를 따릅니다.
  • Flow: 서버가 요구하지 않으면 임의로 추가하지 않으며, 지정된 경우에만 정확히 선택합니다.

연결 실패 시 로그로 원인 찾기

연결 버튼을 눌렀는데 상태가 곧바로 해제되거나 인터넷이 열리지 않으면 v2rayNG의 로그 화면에서 실패 시각의 기록을 확인하세요. “connection refused”는 서버 포트가 닫혔거나 방화벽이 거부한 상황에 가깝고, “i/o timeout”은 주소 해석, 네트워크 차단 또는 서버 무응답 가능성이 큽니다. 반면 Reality 관련 핸드셰이크 오류는 SNI, Public Key, Short ID, 시간 설정 또는 서버와 클라이언트의 전송 방식 불일치로 좁혀 볼 수 있습니다.

오류: failed to dial server 또는 i/o timeout

원인과 해결 방법: 주소가 잘못되었거나 원격 포트에 도달하지 못한 상태입니다. 주소의 철자를 확인하고 Wi-Fi와 모바일 데이터처럼 다른 네트워크에서 다시 테스트한 뒤, 제공업체가 안내한 포트가 443인지 8443인지 확인하세요.

오류: connection refused

원인과 해결 방법: 서버 호스트까지 도달했지만 해당 포트에서 연결을 받아 주지 않는 상황입니다. 포트 번호를 수정하고 서버가 중지되었는지 제공업체에 확인하세요. 이 오류는 UUID를 다시 생성한다고 해결되지 않습니다.

오류: TLS handshake failed 또는 reality handshake error

원인과 해결 방법: SNI, Public Key, Short ID, Fingerprint 중 하나가 서버 설정과 다를 가능성이 큽니다. 링크를 다시 받아 프로필을 새로 가져오고, Android 날짜·시간을 자동으로 설정한 뒤 재연결하세요.

오류: handshake success 후 인터넷 불가

원인과 해결 방법: 서버 인증은 통과했지만 라우팅, DNS 또는 앱별 프록시 설정에서 문제가 발생한 경우입니다. 먼저 v2rayNG의 전역 프록시 모드로 테스트하고, 연결 로그의 대상 도메인과 DNS 오류를 확인하세요.

Public Key와 UUID 중 무엇을 사용자 ID에 넣나요?

사용자 ID에는 UUID만 넣습니다. Public Key는 Reality 보안 설정의 공개 키 항목에 입력하며 두 값을 합치거나 서로 바꾸지 않습니다.

Short ID가 여러 개면 아무 값이나 선택해도 되나요?

서버가 허용한 값만 사용할 수 있습니다. 제공업체가 특정 값이나 첫 번째 값을 지정했다면 그 안내를 따르고, 임의의 숫자를 만들지 마세요.

연결은 되는데 특정 앱만 접속되지 않나요?

프로필보다 Android VPN 모드, 분할 터널링, DNS 또는 해당 앱의 자체 네트워크 정책을 먼저 확인하세요. 전역 모드에서 정상이라면 라우팅 제외 목록을 점검합니다.

Allow Insecure를 켜면 연결될까요?

일반적인 Reality 입력 오류를 해결하지 못합니다. 보안 검증을 약화시키기보다 SNI와 Public Key를 다시 확인하고 서버가 요구한 Fingerprint를 사용하세요.

안정적인 운영과 보안 주의사항

VLESS Reality 프로필이 연결된 뒤에는 속도만 확인하지 말고 연결 안정성도 관찰하세요. 같은 노드로 여러 번 연결했을 때 매번 핸드셰이크가 완료되는지, 화면이 잠긴 뒤 VPN이 끊겼다가 복구되는지, DNS 조회가 실패하지 않는지 확인하면 좋습니다. Android 배터리 절전 기능이 v2rayNG의 백그라운드 작업을 제한하면 일정 시간이 지나 연결이 끊길 수 있으므로, 장시간 사용할 때는 배터리 최적화 예외를 검토하세요.

구독 링크와 UUID는 계정 인증 정보에 해당하므로 공개 채팅이나 불특정한 변환 사이트에 붙여 넣지 않는 것이 안전합니다. 이미 링크가 외부에 노출되었다면 제공업체에 UUID 폐기 또는 프로필 재발급을 요청하세요. Public Key와 SNI만으로 계정이 바로 탈취되는 것은 아니지만, 전체 공유 링크에는 서버 주소와 사용자 인증 값이 함께 들어 있을 수 있습니다.

서버가 바뀌어 연결이 실패한 경우에는 기존 프로필을 여러 번 수정하기보다 새 링크를 받아 새 프로필로 비교하는 편이 빠릅니다. 새 프로필이 정상이라면 기존 항목의 오탈자를 역추적할 수 있고, 새 프로필도 동일하게 실패한다면 네트워크나 서버 상태를 별도로 의심할 수 있습니다. 사용하지 않는 프로필은 목록에서 정리해 잘못된 노드에 연결하는 실수를 줄이세요.

클라이언트 다운로드