클라이언트 창은 설정을 관리하고 코어는 연결을 처리합니다. 구독 그룹에는 서버 출처가 저장되고, 시스템 프록시는 운영체제 설정을 따르는 앱을 로컬 포트로 연결합니다. 라우팅 규칙은 연결이 어디로 나갈지 결정합니다. 세 설정은 서로 다른 계층에 있으므로 한꺼번에 바꿀 필요는 없습니다. 처음 설정할 때는 먼저 서버 항목 하나가 정상 작동하는지 확인한 다음, 분할 라우팅과 다른 진입점을 하나씩 추가하세요.
directblockproxy
출처별 구독 그룹 관리
‘구독 그룹’에서 구독 주소를 추가하고 출처를 알아볼 수 있는 이름을 지정하세요. 업데이트한 뒤에는 해당 그룹을 선택하고 서버 목록을 확인해 다른 출처의 항목을 업데이트 결과로 착각하지 않도록 합니다. 공유 링크는 단일 항목을 가져올 때, 구독 주소는 지속적으로 동기화할 때 적합하며 서로 대체할 수 없습니다. 구독에 포함된 주소와 매개변수는 연결 설정이므로 공개적으로 공유하지 마세요. 아래는 단일 VMess 공유 링크를 식별할 때 볼 수 있는 필드 일부이며, 완전한 연결 설정은 아닙니다.
라우팅 규칙은 보통 위에서 아래 순서로 일치 여부를 확인하고, 일치하면 지정된 아웃바운드를 선택합니다. 먼저 사설 주소는 직접 연결하도록 설정하고, 도메인 목록 규칙을 추가한 뒤 명확한 기본 경로를 지정하세요. ‘중국 본토 우회’는 프리셋 이름이며 실제 적용 범위는 불러온 규칙에 따라 달라집니다. 아래 예시는 사설 주소를 direct로 보내며, 이 태그에 해당하는 아웃바운드가 미리 있어야 합니다. 사용자 지정 규칙을 가져오기 전에 백업하고 geosite 및 geoip 데이터를 사용할 수 있는지 확인하세요. 규칙 이름만으로 동작을 판단할 수 없습니다.
‘시스템 프록시 자동 설정’은 운영체제의 프록시 설정을 바꿔 해당 설정을 따르는 앱을 클라이언트로 연결합니다. ‘시스템 프록시 해제’는 이 진입점을 제거하고, ‘시스템 프록시 유지’는 기존 설정을 그대로 둡니다. 이 설정들은 대상에 직접 연결할지 결정하지 않으며, 아웃바운드는 코어 라우팅이 처리합니다. 앱에 별도의 프록시 설정이 있다면 주소와 실제 수신 포트를 확인하세요. 아래는 루프백 주소를 사용하는 HTTP 인바운드 예시입니다. 포트는 변경할 수 있으며 클라이언트의 현재 설정을 기준으로 삼으세요. LAN에 기본적으로 공개하지 마세요.
TUN 모드는 가상 네트워크 인터페이스로 트래픽을 받아 시스템 프록시 설정을 따르지 않는 앱까지 처리할 때 유용합니다. 먼저 일반 프록시 진입점에서 연결을 확인한 다음 ‘TUN 모드 사용’을 켜고 시스템 안내에 따라 권한을 허용하세요. 라우팅 테이블, DNS, 가상 인터페이스에 영향을 주므로 문제가 생기면 먼저 모드를 끄고 기본 연결을 복구한 뒤 원인을 확인해야 합니다. 아래는 sing-box 형식의 인터페이스 필드 일부로, 설정 구조를 알아보기 위한 예시입니다. 이 형식을 사용할 수 있는지는 클라이언트 구현에 따라 달라지며 Xray 설정에 그대로 붙여 넣으면 안 됩니다.
그래픽 인터페이스와 프록시 코어는 별개의 구성 요소입니다. 인터페이스에서 서버 정보를 가져오고, 코어가 프로토콜·전송·라우팅을 처리합니다. 전환하기 전에 프로토콜 유형, TLS, 전송 매개변수를 확인하세요. 같은 설정이 모든 코어에서 동일하게 작동한다고 볼 수 없습니다. 아래 freedom 아웃바운드는 Xray 및 V2Fly 생태계에서 흔히 사용하는 직접 연결 설정 형식입니다. 전환 후에는 새로고침하고 로그를 확인해 설정이 시작되는지 검증한 다음 실제 접속을 테스트하세요. 코어, DNS, 라우팅을 동시에 바꾸면 실패 원인을 찾기 어렵습니다.
데스크톱에서는 v2rayN을, Android에서는 v2rayNG를 먼저 확인하고 V2Fly 코어가 필요할 때 v2flyNG를 고려하세요. 기기 간 설정을 옮길 때는 보통 구독 주소나 단일 공유 링크를 사용하며 앱 데이터 폴더 전체를 복사하지 않습니다. 서버 매개변수는 공통으로 사용할 수 있지만 시스템 프록시, 가상 인터페이스, 권한은 각 기기에서 따로 설정해야 합니다. 아래 로그 필드는 코어 설정을 읽을 때 식별 예시로 참고할 수 있으며 실제 로그 위치는 클라이언트에 따라 다릅니다. 화면을 공유하기 전에는 구독 주소와 서버 연결 정보를 가리세요.
구독은 서버 출처를, 시스템 프록시는 트래픽 진입점을, 라우팅 규칙은 연결의 아웃바운드를 결정합니다.
분할 라우팅 예시에서 direct, block, proxy는 아웃바운드 태그이며 고정된 프로토콜 이름이 아닙니다. 태그는 설정에서 직접 지정할 수 있고 규칙에 적힌 값은 아웃바운드와 일치해야 합니다. 예를 들어 연결 차단에는 blackhole 프로토콜을 사용할 수 있지만 태그 이름은 block으로 지정해도 됩니다. 규칙을 복사할 때는 참조 관계도 함께 확인해 “규칙은 저장됐지만 코어가 시작되지 않는” 상황을 방지하세요.
DNS 설정도 매칭 결과에 영향을 줍니다. 도메인 규칙과 IP 규칙이 확인하는 정보는 서로 다르며, 앱 자체 DNS 조회와 클라이언트 또는 원격 DNS 조회가 같은 경로를 거친다고 볼 수 없습니다. 기본 접속은 정상이지만 특정 사이트의 경로가 예상과 다르면 로그에 기록된 대상과 아웃바운드를 먼저 확인한 다음 규칙 순서와 DNS 처리 방식을 점검하세요. 문제를 찾는 대신 모든 연결을 전역 모드로 바꾸지 말고, 테스트가 끝나면 기존 프리셋으로 되돌리세요.
클라이언트 선택 / 운영체제와 프로세서에 맞게
4개 플랫폼의 클라이언트 선택
먼저 운영체제를 확인한 다음 프로세서 아키텍처와 설치 패키지 형식을 확인하세요. 이름이 비슷한 클라이언트라도 설치 파일을 서로 바꿔 쓸 수 있는 것은 아닙니다. 다운로드 페이지에서 선택 가능한 항목과 시스템 요구 사항을 확인할 수 있습니다. 이 페이지는 플랫폼별 안내만 제공하며 홈페이지에 설치 파일을 함께 나열하지 않습니다. 기존 클라이언트를 업데이트하기 전에는 구독 그룹과 사용자 지정 규칙을 백업하고 현재 사용 중인 진입점 모드를 기록하세요.
우선 추천하는 클라이언트는 v2rayN입니다. 다운로드 페이지에서 데스크톱 버전과 클래식 WPF 버전을 제공합니다. 데스크톱 버전은 크로스 플랫폼 인터페이스를 사용하고, WPF 버전은 익숙한 클래식 창 구성을 유지합니다. 가이드를 따라 할 때는 먼저 어느 인터페이스를 사용하는지 확인하세요. 메뉴 위치가 다를 수 있습니다. 설치 후 실행되지 않으면 시스템 요구 사항과 데스크톱 런타임을 확인하고, 프로그램을 쓰기 가능한 폴더에 완전히 압축 해제했는지 점검하세요.
구독 그룹, 서버 목록, 라우팅 설정이 필요한 데스크톱 환경에 적합합니다. 압축 파일 미리보기 창에서 프로그램을 바로 실행하지 마세요.
v2rayN을 선택하고 시스템의 ‘이 Mac에 관하여’에서 칩 정보를 확인하세요. Apple Silicon은 ARM 아키텍처, Intel은 x64 아키텍처에 해당합니다. 파일 이름이 비슷한지만 보고 선택하면 안 됩니다. 설치한 뒤 클라이언트를 열어 구독을 가져오고 시스템 프록시를 설정하세요. 가상 네트워크 인터페이스를 사용할 때는 권한 안내를 따로 확인하고 요청이 방금 실행한 앱에서 나온 것인지 검증해야 합니다.
설정을 옮길 때는 구독 주소나 공유 링크를 우선 사용하세요. 데스크톱 운영체제마다 프록시 진입점과 앱 데이터 폴더가 다릅니다.
우선 Xray 코어를 사용하는 v2rayNG를 선택하세요. V2Fly 코어가 필요하면 대안인 v2flyNG를 확인할 수 있습니다. 대부분의 최신 기기에서는 arm64를 선택하면 되며, 아키텍처를 확인할 수 없다면 범용 버전을 이용하세요. 가져온 뒤 서버 항목 하나를 선택해 연결을 시작하고 시스템 VPN 권한 요청에 응답하세요. 연결이 자주 끊기면 백그라운드 실행 제한과 배터리 절약 설정도 확인해야 합니다.
QR 코드는 단일 설정을 옮기기에 편리하고 구독은 서버 목록을 지속적으로 업데이트할 때 적합합니다. 구독 QR 코드를 공개 페이지에 올리지 마세요.
v2rayN을 선택하고 배포판의 패키지 형식에 따라 deb 또는 rpm을 고른 다음 x64나 arm64를 확인하세요. 그래픽 데스크톱의 시스템 프록시 설정과 명령줄 앱의 프록시 설정은 서로 다른 경로입니다. 브라우저에서 접속된다고 모든 프로그램이 프록시를 사용하고 있다는 뜻은 아닙니다. 먼저 그래픽 클라이언트의 기본 연결을 테스트한 뒤 다른 프로그램에 별도의 프록시 진입점을 설정할지 결정하세요.
TUN 모드를 사용할 때는 권한과 시스템 네트워크 관리 방식도 확인해야 합니다. 로컬 포트 설정 오류를 해결하려고 수신 범위를 넓히지 마세요.
클라이언트는 연결 도구를 제공하지만 서버 설정은 별도로 준비해야 합니다. 설치를 마쳤다고 사용할 수 있는 서버가 생기는 것은 아닙니다. 목록이 비어 있다면 먼저 사용 권한이 있는 구독 주소나 공유 링크를 준비하세요. 아래 순서는 처음 설정할 때뿐 아니라 변경 사항이 많아진 뒤 기본 상태로 돌아가 다시 확인할 때도 유용합니다.
설정을 가져오고 출처 확인
v2rayN을 열고 ‘구독 그룹’에서 구독 주소를 추가한 뒤 저장하고 구독 업데이트를 실행하세요. 단일 공유 링크만 있다면 링크를 복사한 다음 기본 창에서 Ctrl+V를 눌러 가져올 수 있습니다. 두 방식은 업데이트 경로가 다릅니다. 구독은 출처와 동기화되고 단일 링크는 보통 직접 교체해야 합니다. 가져온 뒤 프로토콜, 주소, 포트, 전송 정보를 확인하고 예상한 항목이 목록에 나타났는지 확인한 다음 사용할 서버를 선택하세요.
업데이트 후에도 목록이 비어 있다면 전체 주소를 복사했는지, 필터 설정이 현재 그룹을 숨기고 있지 않은지 먼저 확인하세요. 같은 구독을 계속 추가해 문제를 해결하려 하지 말고 공개 화면에 전체 구독 주소가 보이지 않도록 하세요. Android 클라이언트도 가져오기 메뉴에서 같은 방식으로 설정할 수 있으며 버튼 위치는 현재 인터페이스에 따라 다릅니다.
진입점을 설정한 뒤 라우팅 프리셋 선택
데스크톱 클라이언트에서 ‘시스템 프록시 자동 설정’을 선택하면 시스템 설정을 따르는 앱이 로컬 프록시 포트를 사용합니다. 다음으로 라우팅 프리셋을 확인하세요. ‘중국 본토 우회’를 사용하면 직접 연결 규칙과 일치하는 대상은 우회 연결되고, ‘전역’을 사용하더라도 프리셋에 예외 규칙이 남아 있을 수 있습니다. 시스템 프록시와 전역 라우팅은 별개의 설정이므로 하나를 켠다고 다른 설정까지 자동으로 적용되지는 않습니다.
첫 테스트에서는 기본 DNS와 일반 프록시 진입점을 유지하고 TUN 모드는 추가하지 마세요. 앱 자체 프록시 설정이 있다면 시스템 설정을 덮어쓰는지 확인하세요. Android에서 연결을 시작할 때는 안내에 따라 VPN 권한을 허용한 뒤 클라이언트 연결 상태와 실제 접속 결과를 확인하세요.
대상 페이지를 열고 로그로 확인
시스템 프록시를 따르는 브라우저에서 테스트할 사이트에 접속해 페이지가 제대로 열리는지 확인한 다음 클라이언트 로그를 살펴보세요. TCPing은 특정 구간의 TCP 연결 가능 여부만 보여줄 뿐 프로토콜 핸드셰이크, TLS, 대상 접속까지 검증하지는 않습니다. 수치가 정상인데 페이지가 열리지 않으면 테스트 결과만 보고 순서를 바꾸기보다 서버 매개변수, 시스템 시간, DNS 조회, 선택한 아웃바운드를 차례로 확인하세요.
한 번에 변수 하나만 바꾸고 새로고침한 뒤 같은 대상에 다시 접속하면 결과를 비교하기 쉽습니다. 테스트가 끝나고 데스크톱 클라이언트를 종료할 때는 먼저 시스템 프록시를 해제한 다음 프로그램을 닫으세요. 앱이 더 이상 수신하지 않는 로컬 포트로 계속 연결하는 일을 막을 수 있습니다. 추가 점검이 필요하다면 “연결할 수 없음”이라고만 설명하기보다 오류 메시지와 작업 순서를 기록하는 편이 도움이 됩니다.
‘V2Ray’는 여러 프록시 도구를 통칭하는 말로 자주 쓰이지만 프로젝트 배경, 코어, GUI 클라이언트는 구분해서 이해해야 합니다. Project V는 관련 네트워크 도구와 기술의 프로젝트 배경이며 V2Ray는 널리 사용되는 핵심 구성 요소입니다. V2Fly 커뮤니티는 V2Ray 관련 개발을 이어가고, Xray는 이 생태계에서 분기해 고유한 기능과 설정 지원 범위를 발전시켰습니다. 용어가 비슷하다고 모든 필드를 그대로 바꿔 쓸 수 있는 것은 아닙니다.
코어는 연결을 처리하고 클라이언트는 작업을 구성합니다
프록시 코어는 프로토콜 핸드셰이크, 전송, DNS, 라우팅 등을 처리하고 GUI 클라이언트는 메뉴, 서버 목록, 설정 화면으로 기능을 구성합니다. v2rayN은 데스크톱 설정 인터페이스를 제공하며 지원 범위 내에서 코어를 선택할 수 있습니다. v2rayNG는 Android용이며 Xray 코어를 사용합니다. v2flyNG는 V2Fly 코어를 사용하는 Android 대안입니다. 기기와 서버 요구 사항을 먼저 확인하고 클라이언트 이름을 프로토콜 이름으로 혼동하지 마세요.
예를 들어 VMess, VLESS, Trojan은 연결 프로토콜 이름이고 WebSocket은 전송 방식이며 TLS는 연결 보안 관련 설정입니다. REALITY를 사용할 수 있는지는 해당 코어와 설정에 따라 달라집니다. 공유 링크에는 이러한 매개변수가 함께 들어가지만 인터페이스에서는 각각 별도의 입력 항목으로 표시됩니다. 점검할 때는 서버에서 받은 정보를 항목별로 대조해야 하며 프로토콜 이름만 같다고 설정이 완성된 것은 아닙니다.
오픈 소스 라이선스와 설정 책임은 구분해서 확인
세 가지 GUI 클라이언트는 모두 오픈 소스 소프트웨어지만 클라이언트, 코어, 규칙 데이터에는 서로 다른 오픈 소스 라이선스가 적용될 수 있습니다. 소스 코드를 읽거나 수정·배포할 때는 각 구성 요소에 포함된 라이선스 문서를 따로 확인해야 합니다. 예를 들어 V2Fly의 V2Ray 코어와 Xray 코어는 MPL 2.0을 사용하지만 이를 근거로 모든 GUI 클라이언트에도 같은 라이선스가 적용된다고 볼 수는 없습니다. 클라이언트는 무료로 사용할 수 있는 연결 도구이며 서버 리소스와 구독 서비스는 별개의 문제입니다.
오픈 소스는 코드와 라이선스에 관한 설명이지 설정 출처를 판단하는 기준은 아닙니다. 구독 주소에는 접근 식별 정보가 포함될 수 있고 공유 링크에는 연결 자격 증명이 들어갈 수 있습니다. 백업은 안전하게 보관하고 로그나 화면을 보내기 전에 이러한 정보를 삭제하세요. 구독 변환을 사용하면 설정을 처리하는 단계가 추가됩니다. 다른 기기로 설정을 옮기는 것뿐이라면 먼저 클라이언트의 기본 구독 가져오기나 공유 가져오기 기능을 사용해 보세요.
업데이트할 때 인터페이스·코어·규칙을 따로 확인
클라이언트 업데이트는 인터페이스, 설정 생성 방식, 포함된 구성 요소를 바꿀 수 있습니다. 코어 업데이트는 프로토콜 동작과 필드 지원에 영향을 줄 수 있고, 규칙 데이터 업데이트는 도메인 및 주소 목록의 매칭 범위를 바꿀 수 있습니다. 따라서 클라이언트를 업데이트했다고 모든 설정 데이터까지 함께 업데이트된 것은 아닙니다. 작업 전에 백업하고 해당 업데이트 안내를 확인하세요. 업데이트 후에는 먼저 실행 여부를 확인하고, 기존에 접속되던 대상을 테스트한 다음 사용자 지정 분할 라우팅을 검증하세요.
같은 설정이 업데이트 후 이상해졌다면 백업을 복원해 이번 변경과 관련된 문제인지 먼저 확인할 수 있습니다. 원인을 찾기 전에 데이터 폴더 전체를 반복해서 덮어쓰거나 다른 기기의 폴더 전체를 그대로 복사해 교체하지 마세요. 기기 간에 설정을 옮길 때는 서버 연결 정보만 우선 이전하고 새 기기에서 시스템 프록시, 권한, TUN 진입점을 다시 설정하면 구성 요소를 명확히 구분하기 쉽습니다.
기본 연결을 확인한 뒤 구체적인 문제에 맞춰 설정을 추가하세요. 컴퓨터와 휴대폰에서 같은 설정을 사용하려면 구독, 공유 링크, 백업의 차이부터 확인하고, 트래픽이 직접 연결되는 이유를 모르겠다면 시스템 프록시와 라우팅을 구분하세요. 클라이언트가 실행되지 않는다면 실행 환경부터 점검하면 됩니다. 각 글은 한 가지 상황을 다뤄 순서대로 재현하고 되돌리기 쉽습니다.