시스템 프록시와 Tun은 트래픽을 클라이언트로 보내는 방식이고, 라우팅 모드는 클라이언트에 들어온 트래픽의 출구를 결정합니다. 일반적인 웹 브라우징에는 시스템 프록시와 중국 본토 우회 설정을 먼저 사용해 보세요. 분기 규칙을 확인할 때는 잠시 전역 모드로 전환하고, 시스템 프록시를 따르지 않는 앱에만 Tun이 필요한지 검토하면 됩니다. 이 글에서는 Windows용 v2rayN 사용법을 기준으로 포트 확인, 명령어 테스트, 설정 복구 순서를 안내합니다.
시스템 프록시와 라우팅 모드: 들어오는 경로와 나가는 경로
시스템 프록시를 켜도 전역 프록시가 켜지는 것은 아닙니다. 시스템 프록시는 운영체제의 프록시 설정에 로컬 프록시 주소를 등록해 해당 설정을 따르는 앱에서 사용하게 합니다. 전역 모드는 일반적으로 클라이언트의 라우팅 규칙을 가리키며, 커널에 들어온 연결을 프록시 출구로 보냅니다. 두 설정은 따로 변경할 수 있어 ‘시스템 프록시는 켜져 있지만 라우팅 결과는 직접 연결’인 상태도 가능합니다.
한 번의 접속은 앱의 요청, 로컬 인바운드의 연결 수신, 라우팅 규칙의 출구 선택이라는 세 단계로 나눌 수 있습니다. VMess, VLESS 등의 프로토콜은 클라이언트와 원격 서버 사이의 연결 설정이며, 브라우저가 시스템 프록시를 자동으로 사용하게 하지는 않습니다. 구독 업데이트에 성공했다고 해서 앱 트래픽이 클라이언트에 들어오고 있다는 뜻도 아닙니다.
| 설정 항목 | 해결하는 문제 | 이 설정만으로 보장할 수 없는 것 |
|---|---|---|
| 시스템 프록시 | 시스템 설정을 따르는 앱을 로컬 프록시 포트에 연결 | 모든 프로세스, UDP 트래픽, 앱 자체 프록시 설정까지 처리하지는 못함 |
| 전역 라우팅 | 커널에 들어온 연결을 주로 프록시 출구로 전송 | 원래 커널에 들어오지 않는 연결까지 자동으로 유입시키지는 못함 |
| 중국 본토 우회 라우팅 | 도메인, IP 등의 규칙에 따라 직접 연결과 프록시를 구분 | 중국 본토 서비스가 해외 도메인을 사용하더라도 모두 직접 연결로 판별되는 것은 아님 |
| Tun 모드 | 가상 네트워크 어댑터와 시스템 라우팅을 통해 더 많은 앱 트래픽 수신 | 출구 분기를 없애지는 않으며 예외 라우팅까지 모두 처리한다고 보장할 수 없음 |
전역 모드와 중국 본토 우회: 사용 상황
일상적인 사용에는 트래픽 분기를 우선 고려하세요. 중국 본토 웹사이트, LAN 기기, 내부 서비스는 보통 직접 연결하고, 프록시가 필요한 나머지 연결만 원격 출구로 보내면 됩니다. 불필요한 원격 경유를 줄이고 로컬에서 처리할 수 있는 접속이 서버 트래픽에 포함되는 것도 막을 수 있습니다. 전역 모드는 분기 규칙이 문제인지 잠깐 확인할 때 적합합니다.
두 가지 라우팅 방식
전역 라우팅
- 특정 도메인이 잘못 직접 연결되는지 확인할 때 적합합니다.
- 클라이언트에 들어온 트래픽을 잠시 모두 프록시 출구로 보내야 할 때 적합합니다.
- 로컬 기기에 접속하기 전에 사설 IP 주소가 직접 연결 대상으로 유지되는지 확인하세요.
- 전환 후 새로 연결해야 합니다. 기존 연결의 출구는 즉시 바뀌지 않을 수 있습니다.
중국 본토 우회 라우팅
- 중국 본토 서비스와 다른 지역 서비스를 함께 이용할 때 적합합니다.
- 도메인 규칙, IP 데이터, 실제 규칙 순서에 따라 결과가 달라집니다.
- 서비스가 해외 도메인이나 해외 CDN을 사용하면 프록시를 거칠 수 있습니다.
- 특정 사이트에 문제가 생기면 먼저 해당 도메인에 대한 구체적인 규칙을 추가하세요.
평소에는 트래픽을 분기하고, 문제를 진단할 때만 잠시 전역 모드를 사용하세요. 원인을 확인한 뒤 원래 설정으로 돌아가고, 전역 모드를 모든 네트워크 문제의 해결책처럼 사용하지 마세요.
‘중국 본토 우회’는 웹페이지 언어나 사용자의 위치를 기준으로 판단하는 기능이 아닙니다. Xray 라우팅을 예로 들면 geosite:cn은 도메인 분류이고 geoip:cn은 IP 분류이므로 적용 대상이 다릅니다. 일부 도메인은 DNS 조회 전에 규칙에 일치할 수 있지만, IP 기준으로 판단하는 연결은 라우팅의 도메인 조회 방식에 영향을 받습니다. 사이트 인터페이스가 중국어라고 해서 모든 리소스 도메인이 직접 연결되는 것은 아닙니다.
- 규칙 순서: 일반적으로 위에서 아래로 일치 여부를 확인하며, 먼저 일치한 규칙의 출구가 적용됩니다. 예외 도메인 규칙은 이를 덮어쓸 수 있는 포괄적인 규칙보다 앞에 두세요.
- 여러 도메인을 사용하는 페이지: 로그인, 이미지, API가 서로 다른 도메인에서 제공될 수 있습니다. 주소 표시줄의 기본 도메인만 보지 말고 각각 확인하세요.
- 기본 출구: 규칙에 일치하지 않은 트래픽의 목적지는 생성된 커널 설정에 따라 달라집니다. 모드 이름만으로 결과를 단정할 수 없습니다.
시스템 프록시: 포트와 설정 방법
먼저 시스템 프록시로 기본 연결을 확인한 다음 Tun을 검토하세요. 아래 메뉴 안내는 일반적인 Windows 화면을 기준으로 합니다. 데스크톱 버전과 WPF 버전, 버전에 따라 메뉴 이름과 위치가 다를 수 있습니다. 같은 이름이나 같은 기능의 항목을 찾아 현재 클라이언트에 표시된 수신 포트를 기준으로 설정하세요.
위 포트는 설명을 위한 설정 예시이며 모든 버전의 기본값을 의미하지 않습니다. 일부 설정은 하나의 혼합 인바운드 포트에서 HTTP와 SOCKS를 모두 받고, 다른 설정은 포트를 분리합니다. 포트 번호가 같다는 이유만으로 특정 프로토콜을 지원한다고 단정할 수 없습니다.
-
활성 설정 확인
메인 화면에서 유효한 서버 설정을 선택한 뒤 마우스 오른쪽 버튼 메뉴에서 ‘활성 서버로 설정’을 선택하세요. 커널이 시작될 때까지 기다린 다음 로그에서 포트 충돌이나 설정 파싱 오류가 있는지 확인합니다.
-
수신 포트 확인
‘설정’ → ‘매개변수 설정’을 열고 ‘로컬 수신 포트’와 관련 인바운드 설정을 찾아 프로토콜과 포트를 확인하세요. 화면에 혼합 포트 하나만 표시된다면 해당 포트가 실제로 지원하는 기능에 맞춰 앱을 설정합니다.
-
시스템 프록시 설정
메인 화면 하단의 ‘시스템 프록시’ 메뉴에서 ‘시스템 프록시 자동 설정’을 선택하세요. 일부 화면에서는 트레이 메뉴에서도 설정할 수 있습니다. Windows의 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 등록된 주소와 포트를 확인하세요.
-
라우팅 규칙 선택
메인 화면 하단의 ‘라우팅’에서 현재 규칙 세트 중 중국 본토 우회 방식을 선택하세요. ‘설정’ → ‘라우팅 설정’에서 실제 규칙을 확인하고 사설 주소, 직접 연결할 도메인, 기본 출구를 점검합니다.
-
다시 접속
테스트 페이지를 닫았다가 다시 열고, 필요하다면 테스트 앱도 재시작하세요. 새 연결의 로그에서 대상과 출구를 확인합니다. 노드 지연 시간 테스트에 성공했다는 이유만으로 브라우저 설정까지 올바르다고 판단하지 마세요.
Tun 모드: 사용 조건과 한계
앱이 시스템 프록시를 따르지 않거나 수동 프록시 설정을 지원하지 않는 경우, 또는 해당 앱의 UDP 트래픽을 받아야 하는 경우에 Tun을 검토하세요. Tun은 가상 네트워크 어댑터와 라우팅을 통해 IP 트래픽을 처리하므로 시스템 프록시보다 더 많은 트래픽을 받을 수 있지만, ‘모든 연결을 원격 서버로 보낸다’는 뜻은 아닙니다. Tun으로 들어온 연결에도 라우팅 규칙이 적용됩니다.
시스템 프록시 기본 설정
- 연결 방식
- 앱이 시스템 프록시 설정을 따름
- 수신 주소
127.0.0.1- 포트 예시
- HTTP
10809, 실제 설정 확인 필요 - 라우팅 선택
- 일상적인 사용에는 중국 본토 우회
브라우저처럼 시스템 프록시를 따르는 앱에 적합합니다. 먼저 이 연결 경로가 정상인지 확인하세요.
Tun 연결 방식
- 연결 방식
- 가상 네트워크 어댑터와 시스템 라우팅
- 권한 조건
- 네트워크 어댑터 생성 및 라우팅 변경에 필요한 권한
- DNS 확인
- DNS 조회 요청의 경로가 라우팅 방식과 일치하는지 확인
- 제외 대상
- LAN, 내부 네트워크 대역, 필요한 서비스 연결
시스템 프록시로 처리되지 않는 앱에 적합합니다. 활성화한 뒤에도 트래픽 분기와 네트워크 충돌을 확인해야 합니다.
v2rayN의 Tun 기능은 클라이언트에서 선택한 Tun 구현과 관련 구성 요소의 영향을 받습니다. 특정 프록시 프로토콜과 Tun 스위치를 같은 것으로 보면 안 됩니다. VMess 또는 VLESS 설정이 작동한다고 해서 Tun 구성 요소가 준비된 것은 아니며, 가상 네트워크 어댑터 생성에 성공했다고 원격 서버가 필요한 UDP 전달을 지원한다는 뜻도 아닙니다.
- 권한: 클라이언트 안내에 따라 필요한 권한을 부여하세요. 생성에 실패하면 구독을 반복해서 가져오지 말고 먼저 시작 로그를 확인합니다.
- 라우팅 충돌: 기업 네트워크 연결, 다른 가상 네트워크 어댑터, 겹치는 사설 네트워크 대역이 연결 경로를 바꿀 수 있습니다.
- DNS: 시스템, 브라우저, Tun에서 각기 다른 DNS 설정을 사용할 수 있습니다. 브라우저에서 직접 선택한 암호화 DNS는 조회 경로를 바꿀 수 있으므로 별도로 확인하세요.
- UDP: 앱 트래픽이 Tun으로 들어오는지, 로컬 전달 경로가 UDP를 지원하는지, 원격 설정에서 해당 트래픽을 허용하는지 모두 확인해야 합니다.
- 기존 연결: 트래픽 처리 방식을 바꾼 뒤에는 대상 앱을 재시작해 기존 연결이 이전 경로를 계속 사용하지 않도록 하세요.
프록시 연결 확인: 명령어와 로그
문제를 진단할 때는 먼저 시스템 프록시 설정을 우회하고 로컬 프록시 포트를 직접 지정하세요. 명시적으로 지정한 프록시는 작동하지만 브라우저가 작동하지 않는다면 브라우저 설정, 확장 프로그램, 시스템 프록시 연결 단계에 문제가 있을 가능성이 큽니다. 명시적 프록시도 작동하지 않으면 수신 포트, 활성 설정, 원격 연결부터 확인하세요.
다음은 Windows 터미널에서 사용할 수 있는 두 가지 테스트 방법입니다. HTTP와 SOCKS 예시 포트가 각각 활성화되어 있고, 대상은 명령어 형식 설명을 위한 예약된 예시 도메인이라고 가정합니다. 실제 진단에서는 확인하려는 대상으로 바꿔 사용하세요. 아래 명령의 성공 여부를 특정 지역 서비스에 접속할 수 있다는 증거로 해석하지 마세요.
# HTTP 프록시 포트로 HTTPS 요청 보내기
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com/
# SOCKS 프록시를 사용하고 대상 도메인 조회를 프록시 측에서 처리
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
socks5h와 socks5의 핵심 차이는 대상 도메인을 먼저 로컬에서 조회하는지 여부입니다. 전자는 도메인 조회를 프록시 측에 맡기지만, 실제 조회 방식은 커널 설정에 따라 달라집니다. 명령어의 10초와 20초는 각각 연결 제한 시간과 전체 제한 시간이며, 실제 지연 시간이나 성능을 보장하는 값은 아닙니다. 명령줄 도구가 Windows 시스템 프록시를 자동으로 사용하지 않을 수 있으므로 여기서는 프록시를 명시적으로 지정합니다.
| 테스트 결과 | 먼저 확인할 항목 | 다음 단계 |
|---|---|---|
| 로컬 연결 거부 | 커널이 실행되지 않음, 잘못된 포트, 해당 인바운드 없음 | 시작 로그와 수신 설정 확인 |
| 프록시 핸드셰이크 후 시간 초과 | 원격 연결, 대상 서비스, DNS 또는 라우팅 | 로그를 보고 어느 구간에서 실패했는지 확인 |
| 명령어는 작동하지만 브라우저는 실패 | 브라우저 자체 프록시 설정, 확장 프로그램, 기존 연결 | 시스템 프록시를 확인한 뒤 브라우저를 재시작해 테스트 |
| 전역 모드에서는 작동하지만 분기 모드에서는 실패 | 특정 도메인의 직접 연결, IP 규칙 또는 조회 결과 차이 | 대상 연결의 출구를 확인하고 더 구체적인 규칙 조정 |
| 웹페이지는 열리지만 앱은 실패 | 앱이 시스템 프록시를 따르지 않거나 UDP를 사용 | 먼저 앱의 프록시 설정을 확인하고, 필요한 경우 Tun 검토 |
자주 묻는 질문과 복구 순서
전역 모드로 바꿨는데 특정 앱은 왜 계속 직접 연결되나요?
먼저 해당 앱의 연결이 클라이언트에 들어오는지 확인하세요. 앱이 시스템 프록시를 무시하거나 자체 프록시를 설정했을 수 있고, 전환 전에 맺은 연결을 계속 사용할 수도 있습니다. 로그에 해당 요청이 없다면 라우팅을 바꿔도 해결되지 않는 경우가 많습니다. 먼저 유입 방식을 확인한 다음 출구를 점검하세요.
중국 본토 우회 모드인데 중국 본토 웹사이트가 왜 프록시를 거치나요?
사이트가 도메인 분류에 포함되지 않은 API나 해외 리소스를 사용할 수 있고, 더 앞에 있는 사용자 지정 규칙에 먼저 일치할 수도 있습니다. 먼저 해당 도메인과 연결 출구를 확인한 뒤 필요한 직접 연결 규칙을 추가하세요. 리소스 하나에 문제가 있다고 대규모 공유 도메인 전체나 모든 해외 주소를 직접 연결로 바꾸지는 마세요.
Tun을 켠 뒤에도 시스템 프록시를 켜야 하나요?
모든 설정에 적용되는 정답은 없습니다. Tun이 대상 앱을 처리한다면 시스템 프록시는 필수 유입 경로가 아닐 수 있지만, 일부 앱은 자체 프록시 설정을 계속 우선 사용할 수 있습니다. 문제를 진단할 때는 변수를 줄이도록 명확한 유입 방식을 하나만 유지하고, Tun이 커널 자체의 원격 연결을 다시 가로채 루프를 만들지 않는지도 확인하세요.
Android에서도 이 메뉴를 그대로 따라 하면 되나요?
아니요. v2rayNG는 Xray 커널을, v2flyNG는 V2Fly 커널을 사용합니다. Android에서는 보통 시스템이 제공하는 가상 네트워크 인터페이스를 통해 트래픽을 연결합니다. Windows 시스템 프록시와 유입 방식이 다르며, 프로토콜과 필드도 실제 커널에 맞춰 확인해야 합니다. 다만 ‘먼저 트래픽이 들어오는지 확인하고, 다음에 라우팅 출구를 확인한다’는 진단 순서는 동일하게 적용할 수 있습니다.
Tun을 활성화한 뒤 네트워크 전체에 문제가 생기면 아래 순서대로 이미 확인한 기본 설정으로 돌아가세요. 한 번에 설정 한 부분씩만 바꾸고 결과를 기록하면 노드, DNS, 규칙, 커널을 한꺼번에 바꾸는 것보다 원인을 찾기 쉽습니다.
- Tun을 끄고 클라이언트가 관련 라우팅을 되돌릴 때까지 기다린 다음 LAN과 기존 네트워크가 복구됐는지 확인하세요.
- 시스템 프록시를 확인하세요. 사용할 때는 올바른 로컬 포트를 지정하고, 사용을 중지할 때는 프록시를 해제하거나 원래 설정으로 복구합니다.
- 정상 작동이 확인된 활성 설정 하나를 유지하고, 프록시를 명시한 명령어로 로컬 인바운드부터 원격 서버까지의 연결을 확인하세요.
- 전역 모드로 잠시 전환한 뒤 새로 연결해 트래픽 분기 문제인지 비교합니다. 확인 후에는 평소 사용하던 규칙으로 되돌리세요.
- 트래픽을 가로채야 하는 경우에만 Tun을 따로 켜고 권한, DNS, 라우팅 충돌, 앱 연결을 차례로 확인하세요.