v2rayN을 설치했고 구독을 가져오거나 연결 문제를 해결하려는 데스크톱 사용자에게 적합합니다. 서버 목록, 구독 그룹, 트래픽 진입 경로, 로그, 설정 순서로 살펴보며 ‘서버 선택’, ‘코어 실행’, ‘앱 트래픽의 프록시 경유’가 어떻게 다른지 구분하고, 한 번에 한 항목씩 점검하는 방법을 알아봅니다.
메인 창 구성: 설정·진입 경로·실행 상태
v2rayN은 서버 설정을 관리하고 프록시 코어를 실행하며 시스템 프록시 등의 진입 경로를 제공하는 데스크톱 GUI 클라이언트입니다. 서버 목록에 VMess 또는 VLESS 항목이 있어도 설정이 저장된 것일 뿐, 코어 연결이 성공했거나 브라우저가 해당 서버를 사용한다는 뜻은 아닙니다. 목록과 상태 표시줄, 로그를 함께 확인해야 합니다.
플랫폼과 UI 버전에 따라 버튼 위치와 메뉴 이름이 조금씩 다를 수 있습니다. 아래에서는 중국어 데스크톱 UI에서 흔히 쓰는 명칭을 기준으로 설명합니다. 설정값은 사용 중인 기기의 UI와 실제 실행 로그를 기준으로 확인하세요. 특정 포트나 코어를 모든 설치 패키지의 기본값으로 간주하지 않습니다.
| UI 영역 | 주요 기능 | 확인할 항목 |
|---|---|---|
| 서버 목록 | 서버 확인·편집·선택 | 활성 표시, 프로토콜, 주소, 포트, 그룹 |
| 구독 그룹 | 구독 주소 저장 및 목록 업데이트 | 업데이트 범위·방식·실패 메시지 |
| 시스템 프록시 및 라우팅 | 트래픽이 코어로 들어오고 나가는 방식 결정 | 시스템 프록시 상태, 현재 라우팅 설정 |
| 로그 패널 | 시작·요청·오류 기록 확인 | 오류 발생 시간, 대상 주소, 오류 유형 |
| 설정 | 로컬 리스닝·로그·실행 동작 조정 | 포트, 리스닝 범위, 실제 사용 코어 |
서버 목록: 선택한 행과 활성 서버는 다릅니다
행을 한 번 클릭하면 보통 편집·복사·테스트를 위해 항목이 선택될 뿐입니다. 실제 사용 서버를 바꾸려면 해당 행을 우클릭해 ‘활성 서버로 설정’을 실행한 다음, 활성 표시와 시작 로그를 확인하세요. 행의 배경색만 보고 연결 대상을 판단하거나 지연 시간 열의 숫자를 현재 연결 상태로 간주하지 마세요.
우클릭 메뉴의 편집 기능으로 서버 주소, 서버 포트, 사용자 ID, 전송 방식, TLS 등의 항목을 확인할 수 있습니다. 각 값은 서버 측 설정과 일치해야 합니다. 특히 로컬 리스닝 포트를 서버 포트에 입력하지 마세요. 구독에서 가져온 항목을 직접 수정하면 다음 업데이트에서 변경 사항이 덮어써질 수 있습니다. 계속 수정할 설정이 있다면 먼저 구독 출처의 관리 방식을 확인하세요.
- 활성 서버 설정: 서버를 바꾼 뒤 코어가 정상적으로 시작되는지 확인하고 웹 접속을 테스트하세요. 기존 연결은 앱에서 다시 연결해야 할 수 있습니다.
- 서버 편집: 문제를 확인할 때는 서버 측 정보와 항목별로 대조하세요. VMess와 VLESS는 필요한 필드가 다르므로 프로토콜 이름만 바꿔서는 안 됩니다.
- 복사 또는 내보내기: 공유 링크에는 인증 정보가 모두 포함될 수 있습니다. 공개 스크린샷이나 채팅방, 문의 글에 올리지 마세요.
- 여러 항목 선택: 삭제나 테스트 등 일괄 작업을 하기 전에 선택 범위를 확인하세요. 그룹 항목을 삭제하기 전에는 복구할 수 있도록 구독 출처를 보관하세요.
- 지연 시간 및 속도 테스트: TCP 연결 테스트는 프록시 요청 테스트와 다르며, 속도 테스트 결과가 실제 앱 사용 경험을 보장하지도 않습니다. 서로 다른 테스트 결과를 한데 모아 정렬하거나 비교하지 마세요.
테스트 시간 초과가 반드시 서버 장애를 뜻하지는 않습니다. 테스트 대상에 연결할 수 없거나 DNS 조회에 문제가 있거나 테스트 방식이 맞지 않아도 결과에 영향을 줄 수 있습니다. 설정이 명확한 항목 하나를 골라 로그와 함께 실제 요청을 확인한 뒤 삭제 여부를 결정하세요.
구독 그룹: 가져오기·선택 업데이트·프록시를 통한 업데이트
구독 그룹에는 설정 출처와 관리 정보가 저장되며, 네트워크 경로 자체가 저장되는 것은 아닙니다. 그룹 탭을 바꿔도 보이는 항목만 필터링될 뿐, 활성 서버가 바뀌는 것은 아닙니다. 출처별로 그룹을 만들고 서로 다른 계정이나 서비스의 항목이 같은 그룹에 섞이지 않도록 관리하세요.
-
그룹 만들기
‘구독 그룹’ → ‘구독 그룹 설정’을 열고 새 그룹을 추가한 다음, 알아보기 쉬운 메모와 서비스 제공업체가 안내한 구독 주소 전체를 입력하세요. UI에 ‘+’ 버튼이 있다면 해당 버튼으로 새 그룹 창을 열 수도 있습니다.
-
업데이트 범위 확인
메인 창으로 돌아와 대상 그룹을 선택하고 ‘구독 그룹’ 메뉴에서 현재 구독을 업데이트하는 항목을 선택하세요. 처음 문제를 확인할 때는 그룹 하나만 업데이트하고, 내용과 로그가 정상인지 확인한 다음 전체 구독을 업데이트하세요.
-
업데이트 방식 선택
구독 주소에 직접 접속할 수 있으면 프록시를 사용하지 않는 업데이트 방식을 선택하세요. 직접 연결에 실패했지만 사용 가능한 서버가 있다면 먼저 해당 서버를 활성 서버로 설정한 다음 프록시를 통한 업데이트를 선택하세요. 메뉴에 두 가지 방식이 표시되면 원하는 항목이 선택됐는지 확인하세요.
-
가져온 결과 확인
목록에 항목이 생성됐는지 확인하고 프로토콜, 메모, 소속 그룹을 살펴본 뒤 활성 서버를 설정하세요. 업데이트 후 목록이 비었다면 업데이트 로그와 그룹 필터를 먼저 확인하세요. 곧바로 같은 작업을 반복하지 마세요.
프록시를 통한 업데이트를 하려면 현재 사용 가능한 로컬 프록시 진입 경로와 연결이 필요합니다. 이 방식으로 이미 만료된 구독을 되살릴 수는 없습니다. 사용 가능한 서버가 하나도 없다면 구독 주소에 직접 접속할 수 있도록 먼저 문제를 해결하거나, 서비스 제공업체가 별도로 제공하는 유효한 설정을 사용하세요. 구독 주소에는 계정 토큰이 들어가는 경우가 많으므로 문의할 때는 도메인과 오류 정보를 비식별 처리해 공유하세요.
시스템 프록시와 TUN: 먼저 트래픽 진입 경로 확인
‘시스템 프록시 설정’과 라우팅 모드는 서로 다른 문제를 해결합니다. 시스템 프록시는 해당 설정을 따르는 앱의 요청을 로컬 포트로 전달하고, 라우팅 모드는 코어에 들어온 요청이 어느 출구로 나갈지 결정합니다. 프록시 출구를 선택했더라도 앱이 트래픽을 클라이언트에 전달하지 않으면 라우팅 변경은 효과가 없습니다.
진입 경로 선택: 시스템 프록시부터 사용하고 필요하면 TUN 테스트
시스템 프록시 진입 경로
- 메인 창이나 트레이 메뉴의 ‘시스템 프록시’에서 ‘시스템 프록시 자동 설정’을 선택하세요.
- 시스템 프록시 설정을 따르는 브라우저 요청을 먼저 확인하기에 적합합니다.
- 앱이 자체 프록시 설정을 사용할 수 있으므로 별도로 확인해야 합니다.
- Linux 데스크톱 환경에서는 앱이 데스크톱 프록시 설정을 읽는지도 확인해야 합니다.
TUN 진입 경로
- 가상 네트워크 인터페이스를 통해 설정에 해당하는 트래픽을 처리합니다. 처리 범위는 라우팅 및 제외 규칙에 따라 달라집니다.
- 사용하기 전에 현재 플랫폼과 권한, 클라이언트 실행 구성 요소가 요구 사항을 충족하는지 확인하세요.
- 처음 확인할 때는 라우팅 충돌을 줄이기 위해 같은 종류의 다른 네트워크 처리 도구를 일시적으로 끄세요.
- 문제가 생기면 TUN을 끄고 이미 확인한 시스템 프록시 경로로 되돌리세요.
한 번에 하나의 진입 경로만 확인하세요. 진입 경로가 정상인지 확인한 뒤 라우팅을 조정하면 ‘요청이 클라이언트에 들어오지 않는 문제’와 ‘들어온 뒤 출구를 잘못 선택하는 문제’를 구분할 수 있습니다.
라우팅 설정에서 직접 연결·프록시·차단은 출구를 결정하는 규칙이며, UI의 구독 그룹과는 다릅니다. 라우팅을 바꾼 뒤 같은 테스트 대상으로 요청을 다시 보내고 액세스 로그에서 적용된 출구 라벨을 확인하세요. 특정 웹사이트의 접속 여부만으로 전체 라우팅이 적용됐다고 판단하지 마세요.
설정: 리스닝 포트와 범위부터 확인
‘설정’ → ‘설정’을 열고 먼저 로컬 리스닝 항목을 확인하세요. 버전에 따라 항목이 서로 다른 설정 탭에 나뉘어 있을 수 있습니다. 아래 두 카드는 설정 예시일 뿐, 고정 기본값이 아니며 원격 서버 매개변수로 그대로 입력하라는 뜻도 아닙니다. 혼합 리스닝을 사용하면 하나의 포트에서 HTTP와 SOCKS 요청을 모두 받을 수 있습니다. 이 모드를 지원하는지는 현재 UI에서 확인하세요.
로컬 접속 예시
- 리스닝 주소
- 127.0.0.1
- 예시 포트
- 10808
- 진입 유형
- 혼합 리스닝: 사용 설정 여부 확인
- LAN 연결 허용
- 끔
로컬 앱에서는 실제 리스닝 포트를 사용하세요. 해당 포트가 이미 사용 중이면 비어 있는 포트로 바꾸고 앱 설정도 함께 변경해야 합니다.
로그 점검 예시
- 일반 로그 수준
- warning
- 임시 점검 로그 수준
- info
- 테스트 요청 횟수
- 대상이 명확한 요청 1회
- 점검 완료
- 기존 로그 수준으로 복원
액세스 로그와 오류 로그는 각각 별도로 설정될 수 있습니다. 로그 수준이 warning뿐일 때 성공한 요청이 매번 표시되지 않는 것은 정상입니다.
‘LAN 연결 허용’은 리스닝 범위를 바꿉니다. 로컬에서만 사용할 때는 켤 필요가 없습니다. 공유가 꼭 필요하다면 방화벽과 접근 제어, 현재 네트워크의 신뢰성도 확인하세요. 모든 네트워크 인터페이스에서 리스닝하는 경우와 127.0.0.1에서만 리스닝하는 경우는 노출 범위가 다릅니다. 로컬 브라우저 문제를 확인하려고 무작정 범위를 넓히지 마세요.
- 포트 충돌: 같은 클라이언트가 중복 실행 중이면 먼저 종료한 뒤 로컬 포트를 바꾸세요. 브라우저에서 수동 프록시를 사용하는 경우 포트를 바꾼 뒤 브라우저 설정도 변경해야 합니다.
- 코어 선택: 설정에 ‘Core 유형’이나 코어 관련 항목이 있다면 선택한 코어가 현재 설정을 지원하는지 확인하세요. v2rayN은 관리 UI이며 V2Ray와 Xray는 서로 다른 코어입니다. 클라이언트 이름만 보고 프로토콜 지원 여부를 판단하지 마세요.
- 자동 시작: 로그인 후 클라이언트 실행, 서버 자동 선택, 시스템 프록시 설정은 각각 다른 기능입니다. 시작 옵션을 선택한 뒤에는 다시 로그인해 실제 상태를 확인하세요.
- 변경 사항 적용: 저장한 뒤 UI 안내에 따라 코어 또는 프로그램을 재시작하고 새 시작 로그를 확인하세요. 저장하기 전 로그를 기준으로 새 설정이 적용됐는지 판단하지 마세요.
로그 패널: 시작·진입 경로·출구 순서로 확인
문제를 재현한 시간을 먼저 기록하세요. 패널에 표시된 내용을 지운 뒤 활성 서버를 한 번 바꾸거나 대상 웹페이지를 한 번 여는 등 동작 하나만 실행합니다. 로그 패널에는 구독 업데이트, 클라이언트 실행, 코어 출력이 함께 표시될 수 있으므로 메시지가 어느 계층에서 나온 것인지 구분한 다음 오류가 발생한 위치를 판단하세요.
| 로그 단서 | 흔한 의미 | 다음 확인 사항 |
|---|---|---|
address already in use | 로컬 리스닝 주소 또는 포트가 이미 사용 중 | 중복 실행 중인 인스턴스를 종료하고 실제 리스닝 포트를 확인하세요 |
connection refused | 대상 포트에서 연결을 거부함 | 대상이 로컬 진입 경로인지 원격 서버인지 구분한 뒤 주소와 포트를 확인하세요 |
timeout | 제한 시간 안에 특정 단계가 완료되지 않음 | 대상과 전후 상황을 함께 살펴 DNS, 연결, TLS, 응답 대기 시간 초과 중 무엇인지 구분하세요 |
no such host | 도메인 이름을 확인할 수 없음 | 서버 도메인 철자, 현재 네트워크, DNS 설정을 확인하세요 |
certificate 관련 오류 | 인증서 검증 또는 TLS 설정이 맞지 않을 수 있음 | 시스템 시간, 서버 인증서, 설정에서 요구하는 서버 이름을 확인하세요 |
아래 명령은 Windows 터미널에서 로컬 HTTP 프록시 진입 경로를 확인할 때 사용합니다. 실제 리스닝 주소와 포트, 진입 유형이 모두 예시와 일치할 때만 실행하세요. 다르면 먼저 로컬 값으로 바꾸세요. 이 명령은 테스트용이며 실제 측정 결과가 아니고 특정 서버의 성능을 보장하지도 않습니다.
curl.exe --proxy http://127.0.0.1:10808 --head --max-time 15 https://example.com/
명령 실행 시 127.0.0.1에 연결할 수 없다는 메시지가 나오면 원격 DNS를 바꾸기 전에 코어와 로컬 리스닝을 확인하세요. 로컬 진입 경로가 요청을 받은 뒤 원격 연결 또는 TLS 오류가 발생한다면 활성 서버 설정과 네트워크 경로를 계속 점검하세요. 로그 상세 수준을 임시로 높였다면 문의하기 전에 구독 토큰, 사용자 ID 등 인증 정보를 삭제하세요.
자주 묻는 문제: 목록은 정상인데 사용 결과가 예상과 다를 때
서버를 클릭했는데 브라우저가 왜 프록시를 거치지 않나요?
먼저 대상 행을 우클릭해 ‘활성 서버로 설정’을 실행한 뒤 ‘시스템 프록시’ → ‘시스템 프록시 자동 설정’ 상태를 확인하세요. 브라우저에서 자체 프록시 설정이나 확장 프로그램을 사용하는 경우 브라우저의 진입 경로 설정도 확인해야 합니다. 행을 클릭해 선택하는 것만으로는 이 작업들이 완료되지 않습니다.
구독 업데이트는 성공했는데 목록이 왜 비어 있나요?
먼저 전체 그룹으로 돌아가 검색 필터를 지운 뒤, 방금 업데이트한 그룹을 보고 있는지 확인하세요. 그래도 항목이 없다면 업데이트 로그에 파싱 실패가 있는지 확인하세요. 구독 주소에서 웹페이지나 호환되지 않는 내용이 반환됐다면 네트워크 다운로드가 성공했더라도 서버 설정 가져오기는 실패할 수 있습니다.
지연 시간은 표시되는데 웹페이지가 열리지 않는 이유는 무엇인가요?
테스트 유형을 확인하세요. TCP 연결 성공은 해당 연결 단계에 도달할 수 있다는 뜻일 뿐, 인증·전송 경로·TLS 설정이 모두 정상이라는 의미는 아닙니다. 해당 서버를 활성 서버로 설정한 뒤 실제 요청을 한 번 보내고 같은 시각의 코어 오류를 확인하세요.
클라이언트를 종료한 뒤 브라우저에서 인터넷이 안 되는 이유는 무엇인가요?
클라이언트를 다시 열고 ‘시스템 프록시’에서 ‘시스템 프록시 지우기’를 실행한 뒤 종료하세요. 이후 시스템 네트워크 프록시 설정을 확인합니다. 수동 프록시를 사용했다면 앱에서 로컬 포트를 가리키는 설정도 삭제해야 합니다. 로컬 코어가 종료되면 해당 포트에서는 더 이상 서비스를 제공하지 않습니다.
전체 점검을 마치면 다음 네 가지를 답할 수 있어야 합니다. 현재 활성 서버가 무엇인지, 앱 요청이 어떤 로컬 포트로 들어오는지, 코어가 어떤 출구를 선택했는지, 로그의 오류가 어느 단계에서 발생했는지입니다. 이 네 가지를 기록한 뒤 설정을 바꾸면 구독 업데이트, 코어 변경, TUN 활성화를 한꺼번에 하는 것보다 원인을 찾기 쉽습니다.