V2Ray 초보자 FAQ 10가지: 코어·클라이언트·구독·연결 오류 해결

V2Ray 초보자가 자주 묻는 10가지 질문을 정리했습니다. 코어와 클라이언트의 차이부터 클라이언트 선택, 구독 가져오기, 라우팅, 연결 오류 점검까지 확인하세요.

이 글 미리 보기

먼저 클라이언트, 코어, 서버의 역할을 구분한 다음 구독을 가져오고 웹 접속을 테스트해 보세요. v2rayN, v2rayNG, v2flyNG를 막 설치한 사용자를 위한 안내입니다. 구독 가져오기, 로컬 트래픽 처리, 원격 연결, 라우팅 규칙 중 어디에서 문제가 생겼는지 파악할 수 있어 재설치를 반복할 필요가 없습니다. PC 사용법은 v2rayN의 일반적인 중국어 인터페이스를 기준으로 설명하며, 버전에 따라 메뉴 이름은 다를 수 있습니다.

1. V2Ray, Xray, 클라이언트는 어떤 관계인가요?

설정 화면과 실제 트래픽을 처리하는 프로그램을 구분해서 이해하세요. V2Ray는 프록시 도구 프로젝트이며, 코어 프로그램은 로컬 포트를 열고 라우팅 규칙을 적용해 원격 서버에 연결합니다. Xray는 관련 기술 생태계의 또 다른 코어로, 지원 프로토콜과 설정 세부 사항이 완전히 같지 않습니다. 이름만 보고 서로 바꿔 쓸 수 있다고 판단하면 안 됩니다.

v2rayN은 여러 코어를 관리할 수 있는 데스크톱 클라이언트입니다. v2rayNG는 Xray 코어를 사용하는 안드로이드 클라이언트이고, v2flyNG는 v2fly 코어를 사용하는 안드로이드 클라이언트입니다. ‘지원하지 않는 설정 항목’ 오류가 발생하면 클라이언트 이름만 보지 말고 실제로 실행 중인 코어와 버전을 먼저 확인하세요.

2. v2rayN, v2rayNG, v2flyNG 중 무엇을 선택해야 하나요?

먼저 운영체제에 맞춰 선택지를 좁힌 다음 노드 설정과의 호환성을 확인하세요. PC에서는 v2rayN을 사용하고, 안드로이드에서는 v2rayNG와 v2flyNG 중에서 고르면 됩니다. 데스크톱 안내의 ‘시스템 프록시 설정’을 안드로이드에 그대로 적용하지 마세요. 안드로이드는 보통 시스템 VPN 권한으로 기기 트래픽을 처리하므로 방식이 다릅니다.

클라이언트지원 플랫폼먼저 확인할 항목
v2rayNWindows、macOS、Linux운영체제와 프로세서 아키텍처가 맞는지, 실제로 사용하는 코어가 무엇인지 확인하세요.
v2rayNGAndroid노드의 프로토콜, 전송 방식, 보안 설정을 Xray가 지원하는지 확인하세요.
v2flyNGAndroidv2fly의 설정 지원 여부를 확인하고, 다른 코어 전용 설정을 그대로 가져오지 마세요.

선택 기준: 전체 설정과의 호환성

프로토콜, 전송 방식, TLS 설정을 먼저 확인한 다음 해당 항목을 처리할 수 있는 클라이언트와 코어를 선택하세요. ‘VLESS’나 ‘VMess’라는 이름만으로는 전체 설정의 호환성을 판단할 수 없습니다.

3. 구독 링크와 단일 노드 링크는 어떻게 다른가요?

구독 링크는 보통 클라이언트가 접속해 노드 목록을 가져오는 원격 주소입니다. 단일 노드 공유 링크에는 노드 하나의 접속 정보가 들어 있습니다. 구독 업데이트가 성공했다는 것은 내용을 가져와 해석했다는 뜻일 뿐, 목록의 모든 서버가 온라인이거나 계정의 사용량이 남아 있다는 의미는 아닙니다.

구독 주소는 인증 정보처럼 안전하게 보관하세요. 주소에 포함된 토큰, 노드 UUID, 비밀번호를 공개 스크린샷에 노출하면 안 됩니다. 휴대폰이나 컴퓨터를 바꿀 때도 편의를 위해 전체 링크를 공개 게시판에 올리지 마세요. 이미 유출됐다면 제공자 관리 페이지에서 재설정하세요.

4. v2rayN에서 구독을 가져오고 업데이트하는 방법

현재 사용할 수 있는 설정은 그대로 두고 별도의 구독 그룹을 추가하면 업데이트 출처를 구분하기 쉽습니다. 아래는 v2rayN에서 흔히 쓰이는 메뉴 이름입니다. 버전에 따라 메뉴가 버튼으로 바뀌어도 ‘구독 그룹 설정’으로 들어가세요. 구독 URL을 단일 노드처럼 가져오면 안 됩니다.

  1. 그룹 만들기

    ‘구독 그룹’ → ‘구독 그룹 설정’을 열고 새 그룹을 추가한 다음 알아보기 쉬운 이름과 전체 구독 주소를 입력하세요. 주소 앞뒤에 공백이나 줄바꿈이 들어가지 않았는지 확인하세요.

  2. 업데이트 실행

    저장한 뒤 ‘구독 그룹’ 메뉴에서 ‘모든 구독 업데이트(프록시 사용 안 함)’를 선택하세요. 먼저 직접 연결로 가져올 수 있는지 확인하세요. 사용할 수 있는 프록시가 아직 없다면 프록시를 통한 업데이트에 의존하지 마세요.

  3. 결과 확인

    업데이트 알림과 해당 그룹의 서버 수를 확인하세요. 결과가 0개라면 클라이언트를 바로 삭제하지 말고 주소가 로그인 페이지, 만료 안내 또는 호환되지 않는 내용을 반환하는지 먼저 확인하세요.

  4. 서버 선택

    서버 목록에서 항목을 선택한 뒤 마우스 오른쪽 버튼 메뉴의 ‘활성 서버로 설정’을 선택하세요. 코어가 실행되는지 확인한 다음 시스템 프록시를 켜고 웹페이지에 접속해 보세요.

사용 가능한 프록시가 있고 구독 주소에 직접 접속할 수 없을 때만 ‘프록시 사용’ 구독 업데이트를 시도하세요. 자동 업데이트 간격의 단위는 현재 설정 화면을 기준으로 확인하고 분과 시간을 혼동하지 마세요. 업데이트를 자주 해도 서버 품질이 저절로 좋아지지는 않습니다.

5. VMess, VLESS, TLS를 모두 직접 입력해야 하나요?

입력 실수를 줄이려면 제공자가 생성한 공유 링크나 구독을 우선 사용하세요. VMess와 VLESS는 프로토콜 이름이고 TLS는 연결 보안 계층입니다. 전송 방식은 이와 별개의 설정입니다. 각 항목은 서버 설정과 일치해야 하며, 따로 ‘높이면’ 속도가 빨라지는 옵션이 아닙니다.

예를 들어 서버에서 WebSocket과 TLS를 요구한다면 주소와 UUID만 입력해서는 연결되지 않을 수 있습니다. 새 설정 항목이 보이면 먼저 코어의 지원 여부를 확인하고 제공자에게 문의하세요. 다른 안내의 설정을 통째로 기존 노드에 덮어쓰지 마세요.

6. 시스템 프록시, TUN, 로컬 포트는 어떻게 다른가요?

시스템 프록시는 운영체제의 프록시 설정을 따르는 앱이 요청을 로컬 수신 포트로 보내도록 합니다. TUN은 가상 네트워크 인터페이스로 트래픽을 처리하며, 적용 범위와 권한 요구 사항이 다릅니다. 먼저 시스템 프록시로 브라우저 접속을 테스트한 다음 TUN이 필요한지 판단하면 문제를 찾을 때 변수를 줄일 수 있습니다.

127.0.0.1
내 기기의 루프백 주소이며 원격 노드가 아닙니다
10808
로컬 수신 포트 예시. 실제 값은 설정을 확인하세요
443
TLS 서비스에서 흔히 쓰는 포트이며 고정값은 아닙니다

v2rayN의 ‘설정’ → ‘매개변수 설정’에서 로컬 수신 포트와 관련 옵션을 확인하세요. 버전에 따라 HTTP, SOCKS, 혼합 수신 설정이 다를 수 있으므로 모든 포트가 같은 프록시 프로토콜을 지원한다고 가정하지 마세요. 위의 숫자는 주소의 역할을 구분하기 위한 예시이며 모든 설치 환경의 기본값은 아닙니다.

7. 전역 모드와 분할 라우팅은 무엇을 제어하나요?

시스템 프록시는 앱의 트래픽을 클라이언트에 전달할지 결정하고, 라우팅 규칙은 전달된 트래픽을 어떤 경로로 내보낼지 결정합니다. 서로 다른 단계입니다. ‘전역’은 보통 클라이언트가 처리 중인 트래픽을 프록시 아웃바운드로 보낸다는 뜻입니다. 모든 앱의 트래픽이 이미 처리되고 있다는 의미도, TUN이 켜졌다는 뜻도 아닙니다.

V2Ray/Xray의 일반 라우팅 규칙은 순서대로 확인하며, 먼저 일치하는 규칙이 아웃바운드 경로를 결정합니다. 도메인 규칙과 IP 규칙은 필요한 정보가 다르고, 도메인 해석 정책도 매칭 결과에 영향을 줍니다. 처음에는 클라이언트의 라우팅 프리셋을 사용하세요. 특정 사이트만 접속되지 않을 때 로그를 확인해 관련 규칙을 조정하고, 모든 대상의 경로를 계속 같은 방식으로 바꾸지는 마세요. 규칙에 대한 자세한 내용은 고급 핸드북을 참고하세요.

8. 연결됨으로 표시되는데 웹페이지가 열리지 않는 이유는 무엇인가요?

안드로이드 상태 표시줄의 VPN 아이콘은 주로 로컬 VPN 서비스가 시작됐다는 뜻입니다. 데스크톱에서 코어가 실행 중이라는 표시도 로컬 프로세스가 있다는 뜻일 뿐입니다. 둘 다 원격 인증, DNS 해석, 웹페이지 요청이 성공했다는 것을 단독으로 증명하지는 않습니다. 연결 버튼을 반복해서 누르기보다 가까운 단계부터 순서대로 확인하세요.

  1. 로컬 확인: 코어 시작에 실패했는지, 수신 포트가 사용 중인지, 브라우저에 별도의 프록시 확장 프로그램이나 수동 프록시 설정이 켜져 있는지 확인하세요.
  2. 트래픽 처리 확인: 데스크톱에서는 ‘시스템 프록시 설정’이 적용됐는지 확인하세요. 안드로이드에서는 대상 앱이 앱별 프록시 제외 목록에 들어 있지 않은지 확인하세요.
  3. 원격 연결 확인: 같은 구독의 다른 서버로 바꿔 보고 계정 만료일, 데이터 사용량, 노드 설정을 확인하세요.
  4. 요청 확인: 서로 다른 웹사이트 두 곳에서 테스트하세요. 한 사이트만 실패한다면 해당 사이트의 DNS, 라우팅, 서버 측 제한을 중점적으로 확인하세요.

지연 시간 테스트에 성공했다고 웹페이지 접속까지 성공한 것은 아닙니다. TCP 연결 테스트, 프록시 요청 테스트, 실제 페이지 로드는 서로 다른 단계일 수 있습니다. 단순히 ‘연결이 안 된다’고 하기보다 어떤 테스트가 성공하고 실패했는지 기록하면 원인을 찾기 쉽습니다.

9. 로그에 자주 표시되는 오류는 어떻게 해석하나요?

문제가 발생한 시각을 기록한 뒤 다시 재현하고, 주변 로그를 함께 확인하세요. 오류에 표시된 주소는 로컬 수신 주소, DNS 서버, 원격 노드, 최종 대상 중 하나일 수 있으므로 앞뒤 내용을 살펴봐야 합니다. 아래는 흔한 오류 예시이며 운영체제와 코어 버전에 따라 전체 문구가 다르게 표시될 수 있습니다.

오류: address already in use

원인: 수신하려는 주소와 포트를 다른 프로세스가 이미 사용 중입니다. 해결: 중복 실행된 클라이언트나 충돌하는 프로그램을 종료하세요. 필요한 경우 로컬 포트를 바꾸고 앱의 수동 프록시 주소도 함께 업데이트하세요.

오류: connection refused

원인: 대상 포트에서 연결을 거부했습니다. 서비스가 수신 중이 아니거나 주소와 포트가 잘못됐을 수 있습니다. 해결: 로그의 대상이 로컬인지 원격인지 먼저 구분한 다음 해당 수신 서비스와 포트를 확인하세요.

오류: i/o timeout

원인: 네트워크 작업이 시간 초과됐습니다. DNS 해석, 연결, 응답 대기 중에 발생했을 수 있습니다. 해결: 앞뒤 로그로 어느 단계에서 발생했는지 확인하고, 네트워크와 노드를 각각 바꿔 비교하세요. 한 번에 하나의 조건만 변경하세요.

오류: x509: certificate has expired or is not yet valid

원인: 인증서 유효기간 확인에 실패했습니다. 기기 시간이 잘못됐거나 원격 인증서가 만료됐을 수 있습니다. 해결: 먼저 시스템 날짜와 시간을 동기화하세요. 시간이 정확한데도 오류가 계속되면 제공자에게 인증서 수정을 요청하세요.

로그를 공유하기 전에 구독 토큰, UUID, 비밀번호 및 기타 인증 정보를 가리세요. 오류 원문, 발생 시각, 클라이언트 버전, 코어 버전, 재현 절차를 남기면 충분합니다. 마지막 ‘실패’ 한 줄만 캡처하거나 인증 정보가 포함된 설정 파일 전체를 공개하지 마세요.

10. 처음 설정한 뒤 어떤 설정을 유지해야 하나요?

사용이 확인된 기준 설정을 유지하세요. 활성 서버 하나, 트래픽 처리 방식 하나, 라우팅 프리셋 하나를 정해 둔 다음 설정을 한 번에 하나씩 바꾸고 문제가 생기면 이전 상태로 되돌리세요. 그러면 새 규칙, DNS 변경, 노드 자체 중 어디에서 문제가 생겼는지 구분할 수 있고, 기존에 되던 설정을 재현할 수 없는 상태로 만들지 않을 수 있습니다.

화면을 끄면 연결이 끊기는데 구독을 다시 가져와야 하나요?

먼저 안드로이드의 ‘설정’ → ‘앱’ → 해당 클라이언트 → ‘배터리’에서 백그라운드 제한을 확인하세요. 메뉴 이름은 제조사에 따라 다를 수 있습니다. 필요한 백그라운드 실행을 허용한 뒤 앱별 프록시와 시스템 VPN 설정을 확인하세요. 구독은 아직 삭제하지 마세요.

컴퓨터를 다시 시작한 뒤 TUN도 켜야 하나요?

부팅 후 연결을 위해 TUN을 반드시 켤 필요는 없습니다. 먼저 v2rayN을 실행해 활성 서버와 코어 상태를 확인한 뒤, 이전에 사용하던 시스템 프록시 방식을 복원하세요. 시스템 프록시를 따르지 않는 앱의 트래픽도 처리해야 할 때 TUN 사용을 별도로 검토하면 됩니다.

업데이트 후 작동하지 않는데 설정을 바로 덮어써도 되나요?

먼저 클라이언트와 코어 버전을 기록하고 현재 설정을 백업하세요. 새 버전에서 수신 포트, 활성 서버, 라우팅 프리셋을 확인하세요. 백업 없이 데이터를 지우거나 서로 다른 버전의 코어 파일을 섞어 사용하지 마세요.

v2rayN 다운로드플랫폼에 맞는 클라이언트를 선택하세요