1단계: 구독 가져오기
구독 주소와 개별 공유 링크는 서로 다른 형식입니다. 구독 주소는 보통 https://로 시작하며 클라이언트가 여기에 접속해 서버 설정 목록을 가져옵니다. vmess:// 또는 vless://로 시작하는 주소는 대개 개별 공유 링크입니다. 먼저 가진 정보가 어느 유형인지 확인한 뒤 알맞은 메뉴를 선택하세요. 구독 주소를 ‘클립보드에서 가져오기’에 붙여 넣어도 업데이트 가능한 구독 그룹이 만들어지지 않을 수 있습니다.
v2rayN: 그룹을 추가하고 구독 업데이트
메인 창에서 ‘구독 그룹’을 열고 ‘구독 그룹 설정’으로 이동해 추가를 선택합니다. ‘메모’에는 구분하기 쉬운 이름을 입력하고 ‘선택 주소’ 또는 구독 주소 입력란에 전체 주소를 붙여 넣은 뒤 저장합니다. 메모는 로컬에서 구분할 때만 사용하며 연결에는 영향을 주지 않습니다. 주소는 원래대로 유지해야 하며 특히 물음표 뒤의 매개변수를 삭제하지 마세요. 버전에 따라 그룹 목록 위쪽에 추가 메뉴가 있을 수 있습니다. 주소가 포함된 구독 항목을 만드는 것이 목적입니다.
저장한 뒤 메인 창으로 돌아와 ‘구독 그룹’ 메뉴에서 업데이트를 실행합니다. 사용할 수 있는 프록시 연결이 아직 없다면 먼저 ‘프록시를 사용하지 않고 업데이트’ 옵션을 선택할 수 있습니다. 업데이트에 실패해도 버튼을 반복해서 누르기만 하지 마세요. 알림을 확인해 주소 접속 실패, 응답 내용 없음, 설정 파싱 실패 중 무엇인지 구분합니다. 서비스 제공자가 프록시를 통한 업데이트를 명시적으로 요구한다면 먼저 사용할 수 있는 연결이 필요합니다. 아직 가져오기에 실패한 같은 구독에 의존해 이 단계를 완료할 수는 없습니다.
업데이트가 끝나면 방금 만든 그룹으로 전환하고 메인 창에 서버 설정 항목이 표시되는지 확인합니다. 항목 하나를 선택한 뒤 마우스 오른쪽 버튼을 눌러 ‘활성 서버로 설정’을 선택하세요. 일부 버전에서는 항목을 두 번 클릭해 활성화할 수도 있습니다. 현재 항목이 선택됐는지만 확인하면 됩니다. 목록에 항목이 보인다고 연결까지 성공한 것은 아닙니다. 활성 항목에 따라 코어를 시작할 때 사용할 원격 매개변수가 결정됩니다.
v2rayNG: 구독 그룹 설정에 주소 저장
사이드 메뉴에서 ‘구독 그룹 설정’을 열고 추가 버튼을 누릅니다. ‘메모’와 ‘선택 주소’를 입력해 저장한 뒤 메인 화면으로 돌아와 메뉴에서 ‘구독 업데이트’를 실행합니다. 업데이트가 끝나면 설정 항목 하나를 눌러 현재 선택 항목으로 지정하세요. 그룹별 필터가 적용된 화면이라면 방금 추가한 그룹이 필터에 포함됐는지 먼저 확인합니다. 구독 업데이트에 성공했는데도 목록이 비어 있다고 착각할 수 있습니다.
개별 공유 링크를 받았다면 두 클라이언트 모두 ‘클립보드에서 가져오기’와 같은 메뉴로 가져온 뒤 설정을 선택할 수 있습니다. 개별 링크는 구독 업데이트에 따라 자동으로 바뀌지 않는 경우가 많습니다. 목록을 채우려고 서로 다른 가져오기 방법을 섞거나, 이해하지 못하는 서버 주소 및 사용자 ID를 직접 수정하지 마세요. 링크 형식을 구분하려면 공유 링크와 구독 주소의 차이를 확인하세요.
2단계: 프록시 모드 선택
이제 서로 다른 두 가지를 설정합니다. 앱이 요청을 클라이언트에 전달하는지, 클라이언트로 들어온 요청이 어떤 출구를 이용하는지 확인해야 합니다. 데스크톱의 ‘시스템 프록시’는 주로 첫 번째를, ‘라우팅’은 두 번째를 처리합니다. 안드로이드의 VPN 모드는 시스템 VPN 인터페이스를 통해 앱 트래픽을 받습니다. 두 설정을 구분해야 트래픽이 클라이언트에 전달되지 않은 것인지, 규칙에 따라 직접 연결된 것인지 파악하기 쉽습니다.
v2rayN: 시스템 프록시와 라우팅을 따로 설정
메인 창 하단이나 트레이 메뉴에서 ‘시스템 프록시’를 찾아 브라우저로 처음 확인할 때는 ‘시스템 프록시 자동 설정’을 선택합니다. 이 설정은 시스템 프록시가 클라이언트의 로컬 수신 주소를 가리키게 합니다. 기기의 모든 프로그램이 프록시를 이용한다는 뜻은 아닙니다. 일부 앱은 별도 프록시 설정을 사용하고 시스템 프록시를 따르지 않기도 합니다. 첫 테스트에는 시스템 프록시를 따르는 브라우저를 사용하고, 다른 트래픽 전달 경로가 추가되지 않도록 TUN은 함께 켜지 마세요.
그다음 ‘라우팅’ 설정을 확인합니다. 규칙에 따라 직접 연결과 프록시를 구분하려면 ‘중국 본토 우회(Whitelist)’ 또는 해당 버전에 포함된 규칙 세트를 선택할 수 있습니다. 이 모드는 구체적인 규칙으로 요청을 처리하며 웹페이지 언어에 따라 연결 경로를 정하지 않습니다. 이름이 비슷한 규칙 세트라도 사설 주소, 도메인, IP 조건이 다를 수 있습니다. 로컬 기기나 특정 사이트에 실제로 어떻게 연결되는지는 현재 규칙을 확인하세요.
‘전역’ 라우팅은 일반적으로 기본 트래픽을 프록시 출구로 보내는 데 사용하지만, 최종 동작은 실제 규칙과 출구 설정에 따라 달라집니다. 시스템 프록시와 같은 기능이 아닙니다. 처음에는 필요한 분할 라우팅 규칙 하나를 선택하세요. 테스트를 위해 규칙 순서, DNS, 코어를 동시에 변경하지 마세요. 두 설정의 관계는 시스템 프록시와 라우팅 모드 안내에서 확인할 수 있습니다.
v2rayNG: VPN 모드와 라우팅 설정 확인
‘설정’에서 VPN 모드를 사용 중인지 확인한 뒤 ‘라우팅 설정’으로 이동해 사전 정의된 규칙을 살펴봅니다. 버전에 따라 관련 설정이 ‘사전 정의 규칙’, ‘도메인 정책’ 등의 이름으로 표시될 수 있습니다. 처음 설정할 때는 나머지 값을 기본값으로 유지하고 필요에 따라 중국 본토 우회와 같은 규칙을 선택하세요. 데스크톱 화면의 설정 항목을 그대로 적용하지 마세요. 클라이언트 버전에 따라 사전 정의 규칙의 내용이 업데이트될 수도 있습니다.
첫 연결을 확인할 때는 ‘앱별 프록시’를 끄는 것이 좋습니다. 이 기능을 켜면 목록과 ‘우회 모드’에 따라 VPN으로 전달할 앱이 정해집니다. 테스트 브라우저를 제외하면 연결이 설정돼도 브라우저 요청이 클라이언트에 전달되지 않을 수 있습니다. 앱별로 트래픽을 나눠야 한다면 이 가이드의 기본 연결을 먼저 확인하세요. 그런 다음 앱별 프록시를 켜고 목록의 의미를 확인한 뒤 한 번에 한 항목만 변경해 다시 테스트합니다.
사용자 지정 JSON을 입력하거나 전송 프로토콜을 바꿀 필요는 없습니다. 가져온 설정의 프로토콜, 포트, 전송 방식, TLS 매개변수는 원격 서비스와 일치해야 합니다. 옵션이 더 최신처럼 보인다는 이유로 임의로 바꾸지 마세요. 각 필드의 관계와 라우팅 규칙 구조는 설정 필드 문서의 routing 섹션을 참고하세요. 처음 설정할 때는 이 내용을 건너뛰어도 됩니다.
3단계: 연결 시작
이제 활성 설정을 선택했고 트래픽을 전달할 경로도 정했습니다. 연결을 시작할 때는 버튼 색상만 보지 말고 클라이언트 상태와 로그를 함께 확인하세요. 프록시 클라이언트는 보통 앱에서 요청이 발생할 때 원격 연결을 맺습니다. 코어가 실행 중이라고 해서 지속적인 원격 세션이 반드시 유지되는 것은 아닙니다. 먼저 프로그램이 정상적으로 시작되는지 확인하고 다음 단계에서 실제 접속으로 연결을 점검합니다.
v2rayN: 활성 항목과 코어 실행 확인
메인 창으로 돌아와 현재 활성 서버를 다시 확인합니다. 활성 항목을 설정하면 v2rayN이 해당 설정을 불러와 코어를 시작하거나 재시작하는 경우가 많습니다. 실제 동작은 현재 버전의 상태 표시줄과 로그를 기준으로 확인하세요. 설정을 다시 불러오라는 메시지가 나오면 화면에 표시된 재시작 메뉴를 사용합니다. 여러 서버를 빠르게 연달아 전환하지 마세요. 로그가 뒤섞이면 어떤 동작에서 오류가 발생했는지 파악하기 어렵습니다.
메인 화면의 로그 영역에서 설정 읽기, 수신 대기 시작 또는 명확한 오류 메시지가 표시되는지 확인합니다. 그런 다음 ‘매개변수 설정’에서 로컬 수신 포트를 확인하고 시스템 프록시에 지정된 주소 및 포트와 일치하는지 살펴봅니다. 로컬 혼합 포트는 흔히 10808이지만 현재 설정을 기준으로 판단하세요. 가이드에 나온 숫자만 보고 포트를 바꾸지 마세요. 브라우저에 별도 프록시를 설정했다면 이전 포트를 계속 사용 중인지도 확인합니다.
로그에 주소나 포트가 이미 사용 중이라고 표시되면 클라이언트를 중복 실행했는지, 다른 프록시 프로그램이 같은 포트를 사용 중인지 확인하세요. 충돌하는 프로그램을 종료한 뒤 다시 시작합니다. 설정을 파싱할 수 없다는 오류가 나오면 시스템 프록시를 반복해서 켜고 끄는 대신 활성 항목과 구독 업데이트 기록을 확인하세요. 로그 수준이 낮으면 접속 기록이 보이지 않을 수 있지만 명확한 시작 오류는 우선 해결해야 합니다.
v2rayNG: 연결 버튼을 누르고 시스템 권한 허용
메인 화면에서 설정을 선택한 뒤 오른쪽 아래의 연결 버튼을 누릅니다. 처음 시작하면 안드로이드에 VPN 연결 요청이 표시됩니다. 요청을 보낸 앱이 v2rayNG인지 확인한 뒤 허용하세요. 권한을 거부하면 클라이언트가 VPN 인터페이스를 통해 앱 트래픽을 받을 수 없습니다. 이는 구독이 올바른지와는 별개의 문제입니다. 이미 권한을 허용한 기기에서는 바로 시작될 수 있어 매번 같은 대화상자가 표시되지는 않습니다.
시작한 뒤 버튼 상태와 알림창의 실행 알림, 시스템 VPN 표시를 확인하고 클라이언트 로그에 시작 오류가 있는지 살펴봅니다. 다른 VPN이 실행 중이면 기존 연결을 중지한 뒤 다시 시도하세요. 한 기기에서 VPN 서비스끼리 서로 대체될 수 있으므로 다른 앱의 알림만 보고 v2rayNG가 트래픽을 처리 중이라고 판단하지 마세요.
첫 테스트에서는 클라이언트를 포그라운드에 둬도 됩니다. 배터리 관리 설정은 지금 변경할 필요가 없습니다. 포그라운드에서는 정상 작동하지만 백그라운드로 전환한 뒤 끊길 때만 시스템의 백그라운드 활동 제한을 확인하세요. 관련 설정은 기기마다 다르므로 v2rayNG에 필요한 권한만 조정하면 됩니다. 시스템 옵션을 한꺼번에 모두 바꿀 필요는 없습니다. 시작 오류가 없다면 실제 접속을 확인합니다.
4단계: 작동 여부 확인
정상 접속이 확인된 HTTPS 페이지 하나를 테스트 대상으로 선택하세요. 데스크톱에서는 시스템 프록시를 따르는 브라우저를, 안드로이드에서는 앱별 규칙에서 제외되지 않은 앱을 사용합니다. 새 페이지를 열고 캐시된 내용만 표시되지 않도록 필요하면 새로고침하세요. 테스트 대상은 확인하려는 라우팅 규칙이 적용되는 곳이어야 합니다. 현재 규칙이 해당 사이트를 직접 연결하도록 설정돼 있다면 페이지가 열린다고 프록시 연결이 정상이라는 뜻은 아닙니다.
접속 결과와 로그를 함께 확인
클라이언트 로그를 열어 두고 페이지를 누른 시각을 기록한 뒤 같은 시간대에 관련 연결이나 오류가 있는지 확인합니다. 현재 로그 수준에서 일반 접속이 기록되지 않는다면 새 로그가 없다는 이유만으로 요청이 클라이언트에 전달되지 않았다고 판단할 수 없습니다. 필요하면 클라이언트에서 제공하는 정보 수준을 임시로 사용해 확인하고 완료 후 원래 설정으로 돌려놓으세요. 로그를 공유하기 전에는 구독 주소, 사용자 ID, 기타 접속 정보를 가려야 합니다.
이상적인 결과는 앱에서 요청을 보내고, 클라이언트가 현재 규칙에 따라 출구를 선택하며, 페이지가 정상적으로 열리고, 로그에 해당 연결 실패가 표시되지 않는 것입니다. 페이지는 열렸지만 로그에 직접 연결로 표시된다면 우회 규칙에 따른 예상 동작일 수 있습니다. 페이지가 열리지 않고 로그에 시간 초과가 표시되면 원격 설정과 네트워크 경로를 더 확인해야 합니다. 직접 연결을 무조건 오류로 보거나 한 번 접속에 성공했다고 모든 앱이 클라이언트를 거친다고 판단하지 마세요.
클라이언트의 연결 테스트는 참고 자료로 활용할 수 있지만 특정 대상과 방식만 테스트하므로 앱에서 실제로 접속하는 과정과는 다릅니다. 테스트 수치와 파일 다운로드 속도도 같은 지표가 아닙니다. 첫 확인에서는 트래픽 전달 경로, 라우팅, 접속 결과가 서로 일치하는지만 보면 됩니다. 특정 테스트 수치를 얻기 위해 설정을 반복해서 바꿀 필요는 없습니다.
실패하면 경로를 하나씩 따라 확인
브라우저 요청이 클라이언트로 전달되지 않는다면 먼저 트래픽 전달 경로를 확인합니다. v2rayN에서는 ‘시스템 프록시 자동 설정’이 선택돼 있는지, 브라우저에 별도 프록시가 설정돼 있는지 확인하세요. v2rayNG에서는 앱이 실행 중인지, 테스트 앱이 ‘앱별 프록시’에서 제외됐는지 살펴봅니다. 트래픽이 클라이언트에 전달되지 않는 문제는 원격 프로토콜을 바꿔도 해결되지 않습니다. 한 곳을 수정한 뒤 같은 페이지로 다시 테스트해 조건을 유지하세요.
로그에 요청이 표시되지만 연결 시간 초과가 발생하면 활성 서버가 올바른지, 구독이 유효한지, 현재 네트워크에서 원격 서버에 접속할 수 있는지 확인합니다. TLS 핸드셰이크 오류가 발생하면 먼저 기기 시간과 구독에 포함된 서버 이름 등의 매개변수를 확인하세요. 인증서 검증을 끄는 방식으로 문제를 피하지 마세요. 도메인으로 접속할 때만 실패한다면 DNS 문제와 원격 연결 문제를 구분해야 합니다. 자세한 확인 방법은 실행 로그 오류 안내를 참고하세요.
중지 전후의 동작을 비교하려면 데스크톱에서 먼저 ‘시스템 프록시 지우기’를 선택한 뒤 v2rayN을 종료합니다. 안드로이드에서는 연결 버튼을 눌러 VPN을 중지하세요. 데스크톱 클라이언트는 종료했는데 시스템 프록시가 수신 중지된 로컬 포트를 계속 가리키는 상황을 방지할 수 있습니다. 다시 연결한 뒤 같은 테스트를 반복해 결과가 재현돼야 설정이 적용됐는지 확인하기 쉽습니다.
이 단계가 끝나면 현재 사용할 수 있는 설정을 기준값으로 유지하세요. 이후 앱별 프록시를 켜거나 라우팅을 조정하거나 코어를 변경할 때는 한 번에 한 항목만 바꾸고 같은 접속 테스트를 반복합니다. inbounds, outbounds, routing, dns를 자세히 설정하려면 V2Ray 설정 필드를 참고하세요. 첫 연결을 위해 전체 설정을 새로 작성할 필요는 없습니다.