이 글은 v2rayN을 설치하고 유효한 구독 주소를 받았지만 아직 첫 연결을 완료하지 못한 사용자를 위한 안내입니다. 구독 업데이트부터 시작해 코어 유형 확인, 노드 필터링, 실제 연결 지연 테스트, 시스템 프록시 활성화, 상태 표시줄·로그·실제 요청을 통한 결과 확인까지 순서대로 설명합니다. 완료 후에는 “코어가 실행 중인 상태”, “애플리케이션이 프록시를 사용하는 상태”, “대상 요청이 실제로 성공한 상태”를 구분할 수 있습니다.
연결 전에 구독과 코어부터 확인하기
처음 실행한 뒤 목록의 아무 노드나 바로 더블클릭하지 마세요. v2rayN의 서버 목록은 설정 모음일 뿐이며, 노드 이름·프로토콜·주소가 표시된다고 해서 연결 가능한 설정이라는 뜻은 아닙니다. 시작하기 전에 시스템 시간이 정확한지, 구독이 정상적으로 업데이트됐는지, 현재 설정에서 사용하는 코어 유형이 무엇인지 확인해야 합니다. VMess, VLESS, Trojan 등의 설정은 일반적으로 Xray 코어가 처리합니다. 구독에 여러 프로토콜이 포함되어 있다면 코어와 프로토콜의 지원 범위가 맞지 않을 때 클라이언트가 시작 직후 설정 오류를 기록할 수 있습니다.
v2rayN 7.x의 화면 배치는 마이너 버전에 따라 달라질 수 있지만, 주요 작업은 여전히 구독 그룹·서버·설정·하단 시스템 프록시 영역에 모여 있습니다. 처음 사용할 때는 구독 그룹 하나만 남겨 단일 노드로 먼저 연결을 확인한 뒤 라우팅 규칙이나 다른 그룹을 추가하는 것이 좋습니다. 이렇게 하면 로그의 오류를 특정 설정과 쉽게 연결할 수 있고, 이름이 같은 여러 노드 때문에 판단이 흐려지는 일도 줄일 수 있습니다.
-
시스템 시간 동기화
운영체제의 날짜 및 시간 설정에서 자동 동기화를 켜세요. 컴퓨터 시간이 표준 시간과 몇 분 이상 차이 나면 시간 검증이 필요한 연결이 핸드셰이크 단계에서 실패할 수 있습니다.
-
구독 추가
「구독 그룹」→「구독 그룹 설정」→「추가」를 열고 그룹 이름을 입력한 다음 전체 구독 주소를 붙여 넣으세요. 저장한 뒤 메인 화면으로 돌아옵니다.
-
노드 업데이트
「구독 그룹」→「모든 구독 업데이트(프록시 사용 안 함)」를 선택하세요. 목록에 프로토콜·별칭·주소가 표시되면 하단 로그에 구독 파싱 오류가 기록되지 않았는지도 확인합니다.
-
코어 확인
「설정」→「매개변수 설정」→「Core 유형」으로 이동한 뒤, 첫 연결에서는 구독 프로토콜에 맞춰 Xray를 선택할 수 있습니다. 설정을 저장하고 코어 설정을 한 번 다시 불러오세요.
-
기본 라우팅 유지
첫 검증 단계에서는 클라이언트의 기존 기본 라우팅 설정을 사용하고, 여러 사용자 지정 규칙을 동시에 가져오지 마세요. 기본 연결이 성공한 뒤 직결·프록시·차단 분할을 설정하는 것이 좋습니다.
구독 목록에서 테스트할 노드 고르기
구독 목록은 지역·회선·배율에 따라 이름이 붙는 경우가 많지만, 이름만으로 현재 사용 가능 여부를 판단할 수는 없습니다. 노드를 고를 때는 먼저 프로토콜 필드와 주소가 완전한지 확인한 다음, 지리적으로 가까우며 이름에 점검 중이거나 만료를 알리는 문구가 없는 항목을 선택하세요. 거리는 왕복 지연에 영향을 주는 경우가 많지만, 피크 시간대의 부하·진입 회선·서버 혼잡도 실제 결과를 바꿀 수 있으므로 지역명만 보고 결론 내리면 안 됩니다.
한 번에 수십 개의 노드를 가져왔다면 먼저 별칭이나 그룹으로 후보를 5~10개로 좁힌 뒤 실제 연결 지연을 테스트하세요. 모든 노드를 반복해서 검사할 필요는 없습니다. 짧은 시간에 많은 연결이 만들어지고 로컬 네트워크의 순간적인 흔들림에도 결과가 영향을 받기 때문입니다. 첫 번째 목표는 이론상 가장 빠른 설정을 고르는 것이 아니라, 핸드셰이크를 안정적으로 완료하는 노드 1~3개를 찾는 것입니다.
| 확인 항목 | 첫 연결에 적합한 판단 기준 | 이것만으로는 입증할 수 없는 내용 |
|---|---|---|
| 노드 프로토콜 | VMess, VLESS 등의 필드가 완전하고 구독 제공업체의 안내와 일치함 | 프로토콜 이름만으로 서버가 현재 온라인이라는 사실을 입증할 수 없음 |
| 노드 주소 | 주소와 포트가 파싱되었으며 빈 값이나 명백한 오류 표시가 아님 | 도메인 이름이 해석된다고 해서 프록시 핸드셰이크가 성공한 것은 아님 |
| 지역적 거리 | 먼저 거리가 가까운 후보 노드 5~10개를 테스트 | 지리적 거리가 실제 회선 품질을 대신할 수 없음 |
| 실제 연결 지연 | 연속 두 번 수치가 반환되고 변동 폭이 허용 범위 내에 있음 | 지연 시간이 낮아도 대용량 파일 전송 속도가 반드시 빠른 것은 아님 |
| 실행 로그 | 코어가 정상적으로 시작되고 테스트 요청에 핸드셰이크 또는 인증 오류가 없음 | 코어가 정상적으로 시작되어도 애플리케이션이 시스템 프록시를 사용한다는 뜻은 아님 |
같은 노드에서 첫 측정이 82ms, 두 번째가 96ms로 나왔다면 흔한 변동 범위입니다. 반면 첫 측정이 90ms이고 두 번째가 900ms를 넘거나 바로 시간 초과가 발생했다면 우선순위를 낮추는 것이 좋습니다. 테스트 값은 연속성을 함께 봐야 하므로 한 번 최저 수치가 나왔다고 즉시 고정해 사용하지 마세요.
Ping 대신 실제 연결 지연으로 사용 가능 여부 판단
Ping은 주로 ICMP 패킷의 왕복 시간을 측정하지만, 프록시 연결에는 도메인 해석, TCP 또는 기타 전송 계층 연결, TLS 핸드셰이크, 프로토콜 인증, 서버 측 외부 연결 과정이 추가로 필요합니다. 일부 서버는 ICMP를 제한하므로 Ping에는 응답하지만 프록시 포트는 사용할 수 없는 경우도 있습니다. 따라서 첫 노드를 고를 때는 Ping 수치만 보지 말고 v2rayN의 실제 연결 지연 기능을 사용해야 합니다.
서버 목록에서 후보 노드를 선택한 뒤 「서버」 메뉴의 「서버 실제 연결 지연 테스트」를 사용하거나 목록의 오른쪽 클릭 메뉴에서 같은 기능을 선택할 수 있습니다. 여러 노드를 테스트할 때는 Shift 또는 Ctrl로 필요한 수만 선택하세요. 테스트가 끝나면 결과가 지연 시간 열에 기록됩니다. 시간 초과·빈 값·음수 형태의 결과는 로그와 함께 추가로 확인해야 합니다.
위 수치는 필터링 방법을 이해하기 위한 예시이며 모든 네트워크가 충족해야 하는 기준은 아닙니다. 가정용 광대역·모바일 핫스팟·기업 네트워크는 기본 지연 시간이 서로 다르고, 저녁 피크 시간에는 변동 폭이 커질 수 있습니다. 더 신뢰할 수 있는 판단 기준은 후보 노드가 연속해서 결과를 반환하고 두 측정값의 차이가 지나치게 커지지 않으며, 실제 페이지를 열거나 요청을 보낼 때 지속적인 시간 초과가 발생하지 않는지 확인하는 것입니다.
- 지연 시간 수치가 표시됨: 테스트 요청이 최소 한 번 실제 연결을 완료했다는 뜻이지만, 시스템 프록시와 애플리케이션 트래픽은 계속 검증해야 합니다.
- 모두 시간 초과: 로컬 네트워크·시스템 시간·구독 유효성·코어 로그를 먼저 확인하고, 곧바로 노드 지역을 원인으로 단정하지 마세요.
- 일부 노드만 성공: 성공한 노드로 첫 연결을 먼저 완료한 뒤, 나머지 노드의 프로토콜 매개변수나 서버 상태를 개별적으로 확인하세요.
- 수치 변동이 큼: 30초 후 다시 측정하고 동시에 테스트하는 노드 수를 줄여 일시적인 혼잡을 배제하세요.
노드 시작 후 3단계로 프록시 적용 확인
노드를 선택한 뒤 해당 행을 더블클릭하거나 오른쪽 클릭 메뉴에서 활성 서버로 지정하세요. 이어서 하단 상태 영역을 확인해 코어가 실행 중인지 확인합니다. v2rayN의 일반적인 로컬 수신 포트는 SOCKS 10808, HTTP 10809이지만 버전이나 기존 설정에 따라 혼합 포트를 사용할 수도 있으므로 「설정」→「매개변수 설정」에 표시된 로컬 포트를 기준으로 삼아야 합니다.
코어가 실행 중이라는 것은 로컬 프록시 진입점이 만들어졌다는 뜻일 뿐이며, 브라우저가 이 진입점을 사용하는지는 시스템 프록시 상태에 따라 달라집니다. 운영체제의 프록시 설정을 따르는 데스크톱 애플리케이션이라면 v2rayN 하단의 시스템 프록시 메뉴에서 「시스템 프록시 자동 설정」을 선택해야 합니다. 「시스템 프록시 지우기」로 유지하면 노드가 활성 상태여도 일반 브라우저 요청이 계속 직접 연결될 수 있습니다.
-
코어 시작 확인
하단 상태 표시줄과 실행 로그를 확인해 활성 서버 이름이 올바른지, 로그에 포트 사용 중·설정 파싱·인증 실패 메시지가 없는지 확인하세요.
-
시스템 프록시 켜기
하단 시스템 프록시 메뉴에서 「시스템 프록시 자동 설정」을 선택한 다음 테스트에 사용할 브라우저 창을 완전히 종료하고 다시 여세요. 기존 연결이 재사용되는 것을 방지하기 위한 절차입니다.
-
실제 요청 보내기
이전에 방문하지 않은 일반 웹페이지를 열고 두 번 새로 고침하세요. 페이지가 안정적으로 로드되면 액세스 로그에 해당 도메인과 프록시 외부 연결 기록이 나타나는지 확인합니다.
-
직접 연결 상태와 비교
잠시 「시스템 프록시 지우기」를 선택하고 같은 페이지를 다시 요청한 다음 자동 설정을 복원하세요. 두 상태의 접속 경로가 예상과 일치하는지 확인하고, 테스트가 끝나면 필요한 모드를 유지합니다.
세 번째 단계가 특히 중요한 이유는 웹페이지가 열린다는 사실만으로 요청이 프록시를 거쳤다고 볼 수 없기 때문입니다. 대상 사이트가 원래 직접 연결 가능했을 수도 있고, 브라우저가 전환 전에 만들어진 연결을 재사용했을 수도 있습니다. 더 확실한 방법은 v2rayN 액세스 로그를 함께 확인하는 것입니다. 페이지를 새로 고칠 때 새 도메인 기록이 나타나고 해당 기록이 프록시 외부 연결로 매칭되어야 애플리케이션에서 로컬 포트·코어·원격 노드로 이어지는 경로가 정상적으로 연결되었다고 볼 수 있습니다.
curl -I --proxy http://127.0.0.1:10809 https://example.com
명령줄 도구는 일반적으로 데스크톱 시스템 프록시를 자동으로 상속하지 않습니다. 위 예시는 로컬 HTTP 프록시 포트를 명시적으로 지정하므로 10809의 사용 가능 여부를 확인하는 데 적합합니다. 매개변수 설정에 다른 포트가 표시된다면 그 값으로 바꿔야 합니다. HTTP 응답 헤더가 수신되면 해당 명령이 프록시 요청을 완료했다는 뜻이지만, 실제 외부 연결은 코어 로그와 함께 확인해야 합니다.
브라우저 성공 후 터미널과 라우팅 분할 설정하기
첫 연결에서는 시스템 설정을 따르는 브라우저 하나로 전체 흐름을 먼저 확인한 뒤 터미널·개발 도구·기타 애플리케이션으로 범위를 넓히세요. 프로그램마다 프록시 설정을 읽는 방식이 다릅니다. 시스템 프록시를 따르는 프로그램도 있고, 자체 설정만 읽는 프로그램도 있으며, HTTP 또는 SOCKS 주소를 명시적으로 입력해야 하는 프로그램도 있습니다. 브라우저는 되는데 명령줄이 실패한다고 해서 반드시 노드 문제인 것은 아니며, 먼저 애플리케이션 자체의 프록시 진입점을 확인해야 합니다.
라우팅 모드는 요청이 코어에 들어온 뒤 어느 외부 연결을 사용할지 결정합니다. 기본 규칙은 일부 대상은 직접 연결하고 다른 대상은 프록시로 보내며, 광고 도메인이나 특정 주소를 차단하도록 구성할 수도 있습니다. 첫 검증 단계에서는 복잡한 규칙을 서둘러 추가하지 마세요. 먼저 기본 규칙이 작동하게 한 뒤 로그에서 대상 도메인이 어느 외부 연결로 매칭되는지 확인합니다. 규칙 순서가 충돌하면 앞쪽의 매칭 항목이 결과를 먼저 결정할 수 있습니다.
4개 플랫폼 첫 연결 확인 포인트
Windows 및 macOS·Linux 데스크톱
- v2rayN으로 동일한 유효 구독 가져오기
- 로컬 수신 포트와 시스템 프록시 상태 확인
- 터미널 도구는 프로그램별 규칙에 따라 프록시를 명시적으로 설정해야 함
- 실행 로그에서 도메인에 매칭된 외부 연결 유형 확인
Android
- 코어 요구 사항에 따라 v2rayNG 또는 v2flyNG 선택 가능
- v2rayNG는 Xray 코어를 사용하며 해당 프로토콜 설정에 적합함
- v2flyNG는 V2Fly 코어를 사용하며 지원되는 설정 기능은 현재 버전을 기준으로 함
- 첫 연결에서는 복잡한 앱별 규칙을 끄고 기본 연결부터 확인
네 플랫폼 모두 동일한 구독 출처를 사용할 수 있지만, 로컬 프록시 적용 방식·메뉴 이름·코어 기능은 완전히 같지 않습니다. 문제를 해결할 때는 애플리케이션 진입점과 코어 로그를 각각 확인해야 합니다.
Windows·macOS·Linux에서는 데스크톱 애플리케이션이 시스템 프록시를 따르는지 하나씩 확인해야 합니다. Android에서는 v2rayNG 또는 v2flyNG로 연결한 뒤 앱별 프록시에서 테스트 중인 프로그램이 제외되지 않았는지도 확인하세요. 여러 기기에서 한쪽만 연결될 때는 먼저 구독 업데이트 시각·선택한 노드·시스템 시간을 비교하고, 그다음 양쪽 코어의 지원 범위를 비교하세요. 다른 플랫폼에 맞지 않는 로컬 라우팅 설정을 그대로 복사하지 마세요.
| 사용 시나리오 | 우선 확인할 위치 | 검증 방법 |
|---|---|---|
| 데스크톱 브라우저 | 시스템 프록시와 브라우저 자체 프록시 설정 | 브라우저를 다시 시작하고 액세스 로그와 대조 |
| 명령줄 터미널 | 명령 매개변수 또는 HTTP·SOCKS 환경 변수 | 127.0.0.1과 실제 수신 포트를 명시적으로 지정 |
| Android 애플리케이션 | 앱별 프록시와 현재 활성 설정 | 먼저 전체 적용으로 테스트한 뒤 앱별 규칙을 하나씩 복원 |
| 사용자 지정 라우팅 | 규칙 순서·도메인 매칭·외부 연결 태그 | 로그에서 요청이 최종적으로 직접 연결 또는 프록시 외부 연결 중 어디로 들어갔는지 확인 |
첫 연결 실패 시 자주 발생하는 문제
모든 후보 노드가 실제 연결 테스트를 완료하지 못한다면 여러 노드에 공통인 로컬 조건부터 점검하세요. 여러 노드가 동시에 작동하지 않는 경우는 단일 노드 장애보다 구독 미업데이트, 시스템 시간 오차, 코어 미실행, DNS 해석 이상, 로컬 포트 충돌일 가능성이 큽니다. 이때 노드를 하나씩 반복해서 시도해도 같은 오류만 되풀이됩니다.
실행 로그는 오류가 발생한 단계를 구분하는 주요 근거입니다. 연결 거부는 대개 대상 주소나 포트가 연결을 받아들이지 않는다는 뜻이고, 시간 초과는 제한 시간 내 네트워크 상호작용이 완료되지 않았다는 뜻입니다. 인증 또는 사용자 정보 오류가 나타나면 구독 매개변수로 돌아가 UUID·비밀번호·전송 방식·TLS 관련 설정을 확인해야 합니다. 중국어 상태 메시지 하나만 보고 모든 매개변수를 바꾸지 말고, 오류가 로컬 수신·원격 핸드셰이크·라우팅 외부 연결 중 어느 단계에서 발생했는지 먼저 파악하세요.
구독을 업데이트했는데도 목록이 비어 있는 이유는 무엇인가요?
구독 그룹 설정을 열어 그룹이 활성화되어 있는지, 주소 앞뒤에 공백이 없는지 확인한 다음 「구독 그룹」→「모든 구독 업데이트(프록시 사용 안 함)」를 실행하세요. 로그에 시간 초과가 표시되면 먼저 이미 사용 가능한 네트워크에서 업데이트를 시도하고, 형식 오류가 표시되면 전체 구독 주소를 다시 발급받아야 합니다.
실제 연결 지연이 모두 시간 초과로 표시되면 어떻게 하나요?
먼저 시스템 시간을 동기화한 다음 「설정」→「매개변수 설정」→「Core 유형」에서 코어 선택을 확인하세요. 그 후 노드 하나만 선택해 테스트하고, 로그에서 도메인 해석 실패·연결 시간 초과·인증 실패 중 어느 오류인지 확인한 뒤 해당 단계에 맞게 처리합니다.
노드에는 지연 시간이 표시되는데 브라우저에서 페이지가 열리지 않으면 어떻게 하나요?
하단 시스템 프록시가 「시스템 프록시 자동 설정」으로 되어 있는지 확인하고 브라우저를 완전히 종료한 뒤 다시 여세요. 그래도 실패하면 브라우저가 다른 프록시 주소를 고정해서 사용하고 있지 않은지, 로컬 포트가 여전히 10808 또는 10809인지 확인합니다.
로그에 포트가 사용 중이라고 표시되면 어떻게 처리하나요?
먼저 같은 포트를 사용할 가능성이 있는 다른 로컬 프로그램을 종료한 뒤 v2rayN을 다시 시작하세요. 충돌이 계속되면 「설정」→「매개변수 설정」에서 로컬 수신 포트를 사용하지 않는 포트로 변경합니다. 예를 들어 10809를 다른 포트로 바꾼 뒤 터미널이나 애플리케이션의 프록시 주소도 함께 수정해야 합니다.
브라우저는 되는데 터미널 명령은 왜 계속 직접 연결되나요?
많은 터미널 프로그램은 데스크톱 시스템 프록시를 읽지 않습니다. 현재 명령에 HTTP 또는 SOCKS 프록시를 명시하고 주소는 127.0.0.1로 지정하세요. 포트는 매개변수 설정에 표시된 값을 사용하고, 실행 중 v2rayN 로그에 해당 요청이 나타나는지도 확인합니다.
한 노드만 실패하고 다른 노드는 정상이라면 로컬 프록시 경로는 대체로 사용할 수 있으므로 해당 노드로 점검 범위를 좁힐 수 있습니다. 구독을 다시 업데이트한 뒤 주소·포트·전송 방식·TLS·서버 이름 등의 필드를 비교하고, 누락된 매개변수를 임의로 추측해 입력하지 마세요. 구독에서 제공한 설정은 필드 간 일관성을 유지해야 하며, 한 항목만 무작위로 수정해도 새로운 핸드셰이크 오류가 발생할 수 있습니다.
기본 검증 후 설정 순서
기본 연결이 성공한 뒤에는 한 번에 변수 하나만 변경하세요. 안정적인 노드 하나를 먼저 고정하고, DNS 해석을 확인한 다음 라우팅 분할을 설정하고, 마지막으로 애플리케이션 수준의 프록시를 처리하는 순서를 권장합니다. 변경할 때마다 실제 요청과 로그 대조를 한 번씩 반복하면 어떤 설정이 결과를 바꿨는지 명확히 알 수 있습니다.
- 1단계: 실제 연결 테스트를 통과한 활성 노드 하나를 유지하고, 정상 상태의 지연 시간 범위를 기록합니다.
- 2단계: DNS 해석이 안정적인지 확인하고, 여러 DNS 방식과 라우팅 규칙을 동시에 변경하지 않습니다.
- 3단계: 필요에 따라 직접 연결·프록시·차단 규칙을 추가하고 로그에서 매칭 순서를 확인합니다.
- 4단계: 터미널이나 특정 애플리케이션에 명확한 HTTP·SOCKS 또는 앱별 프록시 진입점을 설정합니다.
- 5단계: Windows·macOS·Android·Linux에서 각각 독립적으로 연결을 확인하고, 다른 플랫폼의 상태로 대신 판단하지 않습니다.
첫 연결의 핵심은 특정 “연결됨” 표시를 보는 것이 아니라 반복해서 검증할 수 있는 확인 체인을 만드는 데 있습니다. 구독에 유효한 설정이 존재하고, 실제 연결 테스트가 원격 핸드셰이크를 완료하며, 로컬 코어 수신이 정상이고, 애플리케이션 트래픽이 프록시 포트로 들어가며, 라우팅 규칙이 요청을 올바른 외부 연결로 보내야 합니다. 이후 속도가 달라지거나 웹페이지에 접속할 수 없을 때도 이 체인을 따라 단계별로 원인을 찾을 수 있어 클라이언트를 반복해서 재설치하거나 무작정 노드를 바꿀 필요가 없습니다.