고급 활용 예상 읽기 시간 16분

안드로이드 v2rayNG VLESS Reality 설정 방법 완벽 가이드

안드로이드 v2rayNG에서 VLESS Reality 서버를 추가하는 방법을 초보자 눈높이로 설명합니다. 서버 주소와 포트, UUID, Flow, SNI, Public Key, Short ID, 지문 값을 어느 항목에 입력하는지 정리하고, 제공업체에서 받아야 할 정보와 연결 테스트…

안드로이드에서 v2rayNG로 VLESS Reality 노드를 사용하려면 단순히 서버 주소와 포트만 입력해서는 충분하지 않습니다. VLESS는 사용자 식별자인 UUID를 사용하고, Reality는 TLS와 비슷한 핸드셰이크 과정에서 서버 이름(SNI), 공개 키, shortId, 지문 같은 값을 함께 검증합니다. 이 중 하나라도 서버 측 설정과 다르면 프로필은 저장되더라도 연결이 실패하거나 “handshake error”, “connection timeout”처럼 원인을 바로 알기 어려운 메시지가 표시될 수 있습니다.

이 글에서는 2026년 기준 v2rayNG Android 앱에서 VLESS Reality 프로필을 추가하는 순서, 각 입력값의 의미, VPN 권한과 라우팅 모드 확인 방법, 연결 후 실제 트래픽을 검증하는 절차를 설명합니다. 구독 링크를 사용하는 경우와 수동으로 공유받은 링크를 입력하는 경우를 나누어 살펴보며, 오류가 발생했을 때 무작정 다른 노드로 바꾸지 않고 어떤 값을 먼저 대조해야 하는지도 정리합니다.

이 글의 핵심

v2rayNG에서 VLESS Reality를 안정적으로 설정하는 메뉴 순서와 필수 매개변수를 확인하고, 연결 후 VPN 권한·로컬 트래픽·핸드셰이크 로그를 기준으로 성공 여부를 판별하는 실전 안내서입니다.

설정 전에 VLESS Reality 값을 구분하기

먼저 노드 정보를 이름별로 분리해 적어 두는 것이 좋습니다. 제공자가 “VLESS Reality 링크” 하나만 보냈다면 v2rayNG에서 링크를 직접 가져와 자동으로 채울 수 있지만, 수동 편집을 해야 할 때는 링크 안의 값을 정확히 이해해야 합니다. vless:// 뒤에 있는 문자열은 일반적으로 UUID, 서버 주소, 포트, 쿼리 매개변수와 표시 이름으로 구성됩니다. URL 인코딩된 문자가 포함될 수 있으므로 링크를 메모장에 복사한 뒤 임의로 공백이나 특수문자를 삭제하지 마세요.

6개
핵심 입력 항목
443
자주 사용하는 포트
10초
첫 연결 대기 기준
1회
VPN 권한 승인

VLESS 기본값

주소
서버 도메인 또는 IP
포트
서버가 지정한 TCP 포트
사용자 ID
UUID 전체 문자열
암호화
none

UUID의 앞뒤 공백과 하이픈 위치를 변경하지 마세요.

Reality 보안값

보안
reality
SNI
서버가 지정한 대상 이름
공개 키
서버의 Reality publicKey
shortId
서버가 허용한 식별자
지문
chrome

공개 키와 shortId는 클라이언트에서 새로 만들지 않습니다.

전송 방식은 서버 설정에 따라 다르지만 VLESS Reality 구성에서는 TCP와 xtls-rprx-vision flow 조합이 자주 사용됩니다. 그렇다고 모든 Reality 서버에 같은 flow를 입력해야 하는 것은 아닙니다. 서버가 flow를 비워 둔 구성이라면 클라이언트에서도 비워 두고, 서버가 Vision flow를 지정했다면 그 값을 그대로 선택해야 합니다. 전송 방식이 WebSocket인지 TCP인지도 링크 또는 제공자의 안내를 기준으로 판단하세요.

v2rayNG에 프로필 가져오기

가장 오류가 적은 방법은 서버 제공자가 만든 공유 링크 또는 구독 링크를 사용하는 것입니다. 수동 입력은 매개변수의 철자와 형식을 직접 확인해야 하므로, 자동으로 가져온 뒤 필요한 항목만 검토하는 방식을 권장합니다. v2rayNG의 버전에 따라 버튼 아이콘이나 메뉴 위치가 조금 달라질 수 있지만, 프로필 목록에서 가져오기와 연결 버튼을 찾는 기본 흐름은 같습니다.

  1. 앱 설치 확인

    공식 배포 경로에서 v2rayNG를 설치하고 실행합니다. Android 설정에서 알 수 없는 출처의 임의 APK를 추가하기보다 신뢰할 수 있는 배포 안내를 사용하세요.

  2. 프로필 가져오기

    메인 화면의 프로필 추가 또는 가져오기 메뉴를 열고 클립보드에서 VLESS 링크를 불러옵니다. 구독이라면 구독 관리 메뉴에서 주소를 등록한 뒤 업데이트를 실행합니다.

  3. 값 검토하기

    가져온 프로필을 길게 누르거나 편집 메뉴로 열어 주소, 포트, UUID, 전송 방식, SNI, 공개 키, shortId와 flow를 서버 안내와 대조합니다.

  4. 프로필 선택

    목록에서 사용할 프로필을 한 번 눌러 선택합니다. 선택 표시와 현재 활성 프로필 표시는 다른 동작일 수 있으므로 연결 전에 대상 프로필 이름을 다시 확인하세요.

  5. VPN 권한 승인

    화면 아래의 연결 버튼을 누르고 Android가 표시하는 VPN 연결 요청에서 허용을 선택합니다. 다른 VPN 앱이 실행 중이면 먼저 종료해야 합니다.

구독 업데이트가 실패하는 경우에는 주소를 반복해서 붙여 넣기보다 네트워크 상태와 구독 방식부터 확인하세요. 일부 구독 서버는 업데이트 요청을 직접 연결로 받을 수 없고, 이미 연결된 다른 프록시를 통해서만 접근할 수 있습니다. 앱의 구독 설정에 “프록시를 통해 업데이트”와 유사한 선택지가 있다면 현재 사용할 수 있는 연결 경로를 지정한 뒤 다시 시도합니다. 업데이트 후 목록에 노드가 표시되어도 실제 연결 가능성까지 보장되는 것은 아니므로, 새로 갱신된 프로필을 선택해 별도로 연결해야 합니다.

수동 편집에서 놓치기 쉬운 항목

수동 편집 화면에서는 프로토콜, 주소, 포트, 사용자 ID, 암호화, 전송 설정과 보안 설정을 순서대로 확인하세요. 프로토콜은 반드시 VLESS로 선택하고, 사용자 ID에는 서버가 발급한 UUID를 넣습니다. VLESS의 암호화 항목은 일반적으로 none이며, 이것을 비밀번호나 TLS 암호화 알고리즘으로 오해해 임의의 문자열을 입력하면 인증이 성립하지 않습니다. TLS 또는 Reality 보안은 별도의 보안 설정 영역에서 지정합니다.

Reality 설정에서는 SNI와 대상 이름을 혼동하지 않는 것이 중요합니다. SNI는 핸드셰이크에서 서버 이름으로 전달되는 값이며, 서버가 허용한 이름과 정확히 일치해야 합니다. 주소 필드에는 실제 연결할 서버 주소를 입력하지만, SNI에는 별도로 전달받은 대상 도메인을 입력할 수 있습니다. 두 값이 항상 같다고 가정하지 마세요. 서버 주소를 IP로 바꾸면서 SNI까지 함께 바꾸면 연결이 깨질 수 있습니다.

공개 키는 서버의 Reality 설정에서 생성된 public key에 해당합니다. Base64 형태의 문자열은 대소문자와 기호 하나만 달라도 다른 키가 되므로 직접 타이핑하지 말고 복사해 넣으세요. shortId는 서버가 허용하는 값 중 하나여야 하며, 비워도 되는 서버와 반드시 값이 필요한 서버가 있습니다. 길이가 짧아 보인다는 이유로 앞에 0을 추가하거나 뒤의 문자를 삭제하지 마세요. 지문은 서버 안내가 없다면 보통 chrome을 사용하지만, 이것 역시 서버가 요구하는 값과 충돌하지 않는지 확인해야 합니다.

항목클라이언트에서 하는 일불일치할 때 나타나는 현상
주소·포트서버의 TCP 연결 지점을 지정시간 초과, 연결 거부, DNS 오류
UUIDVLESS 사용자 인증에 사용인증 실패, 서버에서 연결 거부
SNIReality 핸드셰이크의 서버 이름 전달핸드셰이크 실패 또는 즉시 종료
공개 키서버의 Reality 공개 키 검증invalid public key, handshake error
shortId서버가 허용한 짧은 식별자 전달Reality 인증 실패
flowVLESS 전송 동작을 선택연결 후 종료, 프로토콜 불일치

판단 기준: 주소보다 보안값을 먼저 대조하세요

서버 포트에 접근할 수 있는데 Reality 핸드셰이크만 실패한다면 주소를 계속 바꾸기보다 SNI, 공개 키, shortId, 지문과 flow를 원본 링크와 비교하는 편이 훨씬 빠릅니다.

연결 후 VPN과 실제 트래픽 확인하기

프로필을 선택하고 연결 버튼을 누르면 Android가 VPN 권한을 요청합니다. 허용을 누른 뒤 앱 화면의 연결 상태, 알림 영역의 VPN 표시, 수신·송신 트래픽 증가 여부를 함께 확인하세요. 연결 버튼의 색상만으로 성공을 판단해서는 안 됩니다. VPN 인터페이스가 생성되었지만 노드 연결이 실제로 완료되지 않았거나, DNS만 처리되고 웹 트래픽은 전달되지 않는 경우도 있기 때문입니다.

먼저 짧은 테스트를 진행하세요. 브라우저에서 일반 웹페이지 하나를 열고, 이어서 다른 도메인의 페이지를 열어 응답 차이를 확인합니다. 앱의 연결 통계에서 업로드와 다운로드 바이트가 증가하는지도 살펴보세요. Wi-Fi에서 모바일 네트워크로 바꾼 직후에는 기존 소켓과 DNS 캐시가 남을 수 있으므로 연결을 끊었다가 다시 시작하는 것이 좋습니다. 테스트 중에는 다른 VPN, 보안 DNS 앱, 방화벽 앱이 같은 VPN 인터페이스를 차지하고 있지 않은지 확인해야 합니다.

프로필은 저장됐는데 연결 버튼이 바로 꺼지나요?

먼저 다른 VPN 앱을 종료하고 Android의 VPN 권한을 다시 승인하세요. 이후 주소·포트가 맞는지 확인한 다음 공개 키와 shortId를 원본 링크에서 다시 복사합니다.

연결 표시는 켜졌지만 웹페이지가 열리지 않나요?

앱의 송수신 바이트가 증가하는지 확인하고, DNS가 실패하는지 코어 로그를 살펴보세요. Wi-Fi와 모바일 데이터에서 각각 한 번씩 테스트해 네트워크별 차이도 분리합니다.

지연 시간 테스트가 항상 실패하나요?

지연 시간 측정 대상이 현재 네트워크에서 차단되었을 수 있습니다. 측정 실패와 노드 전체 연결 실패를 구분하고, 실제 웹 요청과 로그 결과를 함께 판단하세요.

구독을 갱신하면 수정한 값이 사라지나요?

구독 프로필은 다음 업데이트에서 원본 데이터로 덮어써질 수 있습니다. 수동 수정은 원인 확인에만 사용하고, 최종적으로는 제공자가 수정한 링크를 다시 받아 사용하세요.

핸드셰이크 오류를 순서대로 점검하기

오류 메시지는 문제 계층을 좁히는 단서입니다. timeout이 보인다면 도메인 해석, 네트워크 차단, 포트 접근성, 서버 응답 지연을 먼저 확인합니다. 반면 TCP 연결은 성립하는데 handshake error, invalid public key, rejected가 표시된다면 Reality 매개변수 불일치 가능성이 높습니다. 오류가 발생할 때마다 여러 값을 동시에 바꾸면 어떤 수정이 효과가 있었는지 알 수 없으므로 한 번에 한 항목만 변경하세요.

timeout

원인과 해결: 주소 해석이 안 되거나 현재 네트워크에서 원격 포트에 접근하지 못할 수 있습니다. 주소와 포트를 확인한 뒤 Wi-Fi와 모바일 데이터에서 각각 재시도합니다.

invalid public key

원인과 해결: Reality 공개 키가 서버 값과 다릅니다. 공백을 제거하되 문자열 자체는 변경하지 말고 링크에서 다시 복사하세요.

handshake error

원인과 해결: SNI, 지문, shortId, 서버 보안 설정 또는 flow가 일치하지 않을 가능성이 큽니다. 제공받은 원본 항목을 순서대로 대조합니다.

connection refused

원인과 해결: 해당 포트에서 서비스가 실행되지 않거나 서버 방화벽이 연결을 거부하는 상태일 수 있습니다. 다른 값을 고치기 전에 서버 운영자에게 포트 상태를 확인받으세요.

점검 순서는 주소와 포트, UUID, 전송 방식, 보안 모드, SNI, 공개 키, shortId, 지문, flow 순서가 적합합니다. 주소와 포트가 틀리면 애초에 서버 응답을 받을 수 없고, UUID가 틀리면 서버에 도달해도 인증이 거부됩니다. TCP와 Reality를 선택했는데 서버가 다른 전송을 요구하는 경우에도 핸드셰이크가 완료되지 않습니다. 모든 항목이 맞는데 특정 네트워크에서만 실패하면 통신사나 공용 Wi-Fi의 포트 정책, DNS 변조, VPN 충돌을 별도로 조사해야 합니다.

프로필 선택
  ↓
VPN 권한 승인
  ↓
서버 주소·포트 연결
  ↓
VLESS UUID 인증
  ↓
Reality 핸드셰이크
  ↓
웹 요청과 송수신 통계 확인

최종적으로 연결이 성공했다면 프로필 이름, 마지막 업데이트 시각, 사용 중인 전송 방식과 실제 연결 네트워크를 기록해 두세요. 나중에 구독이 갱신되거나 앱을 다시 설치했을 때 정상 설정과 변경된 설정을 비교하는 기준이 됩니다. 서버가 공개 키나 shortId를 교체했다면 기존 프로필을 계속 수정하기보다 새 링크를 받아 추가한 뒤 정상 연결을 확인하고 오래된 프로필을 정리하는 편이 안전합니다.

v2rayN 다운로드