v2rayN TUN 모드 설정 방법: 가상 어댑터로 전체 트래픽 처리하기

시스템 프록시와 TUN 모드의 차이를 비교하고, 가상 어댑터가 프록시 설정을 따르지 않는 앱의 트래픽을 처리하는 원리와 설정 방법, 권한 문제 해결법을 안내합니다.

이 글의 핵심

브라우저는 연결되는데 게임이나 명령줄 도구는 여전히 직접 연결된다면, 해당 앱이 시스템 프록시를 따르는지 확인한 뒤 TUN을 사용할지 판단해 보세요. 이 글에서는 Windows용 v2rayN 데스크톱 버전을 기준으로 권한 준비, 가상 어댑터 활성화, 라우팅 확인, 문제 발생 시 복구 방법을 설명합니다. 먼저 ‘트래픽 처리’와 ‘모든 트래픽을 프록시로 전달’을 구분한 다음, 스위치가 켜졌는지만 보지 말고 로그와 시스템 명령으로 설정을 확인합니다.

시스템 프록시, TUN, 전체 라우팅의 차이

시스템 프록시는 운영체제에 프록시 주소를 등록하고, 해당 설정을 지원하는 앱이 로컬 프록시 주소로 연결하도록 합니다. 모든 프로그램의 네트워크 동작을 자동으로 바꾸지는 않습니다. 일부 명령줄 도구는 환경 변수를 읽고, 일부 게임은 소켓을 직접 연결하며, 자체 프록시 설정을 사용하는 앱도 있습니다. 브라우저에서 접속된다는 사실만으로는 브라우저 연결 경로가 정상이라는 점만 확인할 수 있습니다.

TUN은 네트워크 계층에 가상 어댑터를 만들고 라우팅과 함께 사용해 조건에 맞는 IP 트래픽을 처리 경로로 보냅니다. 앱이 HTTP나 SOCKS 프록시를 직접 지원할 필요는 없지만, 트래픽이 가로채지는지는 라우팅, 인터페이스 바인딩, 주소 계열, 제외 항목에 따라 달라집니다. 트래픽을 가로챈 뒤에도 규칙에 따라 직접 연결하거나 프록시로 전달하거나 차단할 수 있습니다.

설정작동 위치이 설정만으로 보장할 수 없는 점
시스템 프록시해당 설정을 지원하는 앱이 로컬 프록시 포트에 연결하도록 함게임, UDP 또는 모든 명령줄 요청의 트래픽을 처리한다고 보장할 수 없음
TUN 모드가상 어댑터와 시스템 라우팅으로 IP 트래픽을 수신모든 트래픽이 최종적으로 원격 노드를 통해 나간다고 보장할 수 없음
전체 프록시 라우팅규칙에서 허용한 요청을 프록시 출구로 전달TUN을 대신할 수 없으며, 연결할 수 없는 노드를 복구하지도 못함
라우팅 규칙도메인, IP 등의 조건에 따라 서로 다른 출구를 선택중국 본토 또는 로컬 네트워크의 모든 주소가 규칙에 포함된다고 보장할 수 없음

판단 기준: 먼저 트래픽 처리 방식을 정하고, 다음에 출구 규칙을 선택하세요

브라우저에만 프록시가 필요하다면 먼저 시스템 프록시를 사용하세요. 프록시 설정을 읽지 않는 앱의 트래픽도 처리해야 한다면 TUN을 시도해 보세요. 해당 앱의 트래픽을 노드 출구로 보내려면 현재 라우팅 정책도 확인해야 합니다. ‘TUN 활성화’를 곧바로 ‘전체 프록시’와 동일하게 보면 안 됩니다.

권한, 노드, 복구 설정 준비

먼저 시스템 프록시 모드에서 선택한 노드에 연결할 수 있는지 확인한 뒤 TUN을 설정하세요. VMess와 VLESS는 노드에서 사용하는 프로토콜이고, 구독 주소는 노드 설정을 제공하고 업데이트합니다. 이 둘이 가상 어댑터를 만드는 것은 아닙니다. 노드에 연결할 수 없는 상태에서 트래픽 처리 방식까지 바꾸면 문제 원인만 늘어날 수 있습니다.

v2rayN은 그래픽 인터페이스를 제공하는 관리 클라이언트이며, 실제 트래픽 처리는 호출된 코어가 담당합니다. 버전에 따라 TUN 구현과 코어 조합이 달라질 수 있으며, 일반적인 구현에는 sing-box가 사용되기도 합니다. ‘노드가 Xray를 사용하므로 TUN도 반드시 같은 코어가 단독으로 처리한다’고 단정하지 마세요. 문제를 해결할 때는 시작 로그에 기록된 프로세스, 설정, 오류를 기준으로 확인하세요.

v2rayN TUN 모드 단계별 활성화

아래 안내는 일반적인 중국어 데스크톱 인터페이스를 기준으로 합니다. v2rayN 버전에 따라 메뉴 위치가 달라질 수 있습니다. ‘Tun 모드 설정’ 또는 ‘TUN 설정’과 비슷한 이름을 찾으면 해당 버전의 안내와 대조해 확인하세요. 메뉴가 보이지 않는다고 해서 가상 어댑터를 직접 만들어야 하는 것은 아닙니다.

  1. 노드 연결 확인

    메인 화면에서 기존 노드를 선택해 활성 서버로 지정한 뒤, 시스템 프록시를 통해 정상 작동이 확인된 HTTPS 사이트에 접속해 보세요. 이 단계에서 연결되지 않는다면 먼저 노드 주소, 포트, 인증 정보, 기기 시간을 확인하세요.

  2. 권한 상승

    시스템 트레이에서 v2rayN을 완전히 종료한 다음 프로그램을 마우스 오른쪽 버튼으로 클릭하고 ‘관리자 권한으로 실행’을 선택해 권한 요청을 승인하세요. 창만 닫고 다시 실행하면 권한이 상승되지 않은 이전 프로세스가 계속 동작할 수 있습니다.

  3. 설정 확인

    ‘설정’ → ‘매개변수 설정’을 열어 로컬 수신 설정을 확인하세요. 해당 탭을 제공하는 버전이라면 ‘Tun 모드 설정’으로 이동합니다. 처음 시도할 때는 클라이언트 기본값을 유지하고 프로토콜 스택, MTU, DNS 정책을 한꺼번에 바꾸지 마세요.

  4. 라우팅 선택

    메인 화면 하단의 라우팅 선택에서 현재 프리셋을 확인하세요. 일반적인 사용에서는 기존 분할 라우팅 규칙을 먼저 선택하고, 연결 경로를 비교해야 할 때만 전체 프록시 프리셋을 임시로 사용하세요. 복원할 수 있도록 기존 선택 항목도 기록해 두세요.

  5. 트래픽 처리 활성화

    메인 화면 하단의 ‘Tun 활성화’ 스위치를 켜고, 로그에 어댑터 생성, 인터페이스 시작, 라우팅 설정 오류가 표시되는지 확인하세요. TUN만 따로 검증하려면 ‘시스템 프록시’를 ‘시스템 프록시 지우기’로 바꾸세요. 그래야 브라우저가 기존 경로로 연결되어 잘못 판단하는 일을 줄일 수 있습니다.

  6. 앱별 연결 확인

    먼저 브라우저를 테스트하고, 이어서 원래 시스템 프록시를 사용하지 않던 대상 프로그램을 확인하세요. 로그에 기록된 대상 주소와 실제 출구를 확인합니다. 인터넷 연결이 끊기면 먼저 ‘Tun 활성화’를 끈 다음 기존 시스템 프록시 설정을 복원하세요.

‘시스템 프록시 지우기’는 검증할 때 변수를 줄이기 위한 설정일 뿐, 두 기능을 함께 사용할 수 없다는 뜻은 아닙니다. 안정화된 뒤에는 앱의 필요에 따라 시스템 프록시를 유지할지 결정하세요. 다만 코어 자체의 트래픽이 다시 프록시 입구로 들어가면 연결이 순환할 수 있으니 주의해야 합니다.

포트, 라우팅, 로그로 트래픽 처리 결과 확인

아래 숫자 세 개는 문제 해결 시 자주 확인하는 값이지, 그대로 입력해야 하는 설정값은 아닙니다. 특히 로컬 프록시 포트는 반드시 ‘설정’ → ‘매개변수 설정’에 표시된 실제 수신 포트를 기준으로 하세요. 설정값이 예시의 10808과 다르면 해당 값으로 바꿔 확인해야 합니다.

10808
예시 로컬 프록시 수신 포트
53
일반적인 DNS 서비스 포트
443
HTTPS 대상 서비스의 일반적인 포트

PowerShell에서 아래 읽기 전용 명령을 실행해 TUN 활성화 전후의 인터페이스와 라우팅을 비교하세요. TUN은 더 구체적인 경로를 통해 트래픽을 처리할 수 있으므로 기존 기본 경로를 반드시 바꾸는 것은 아닙니다. 따라서 기본 게이트웨이 변경 여부만 확인해서는 충분하지 않습니다. 포트가 수신 중이라는 사실도 입구가 시작되었음을 보여줄 뿐, 노드가 정상 작동한다는 증거는 아닙니다.

# 네트워크 인터페이스 확인: TUN 활성화 전후 비교
Get-NetAdapter -IncludeHidden

# IPv4 및 IPv6 라우팅 확인
route print -4
route print -6

# 로컬 수신 포트가 실제로 10808일 때만 사용
Get-NetTCPConnection -State Listen -LocalPort 10808

# 사용자 curl 설정을 읽지 않고 명시적인 HTTP/SOCKS 프록시도 사용하지 않음
curl.exe -q --noproxy "*" --connect-timeout 10 -I https://example.com

마지막 명령은 애플리케이션 수준 프록시를 명시적으로 사용하지 않는 요청을 확인할 때 유용합니다. TUN을 끈 상태에서 한 번, 켠 상태에서 한 번 실행하고 클라이언트 로그도 함께 확인하세요. HTTP 응답이 오면 해당 대상에 연결이 진행되었다는 뜻이지만, 응답이 성공했다는 사실만으로 프록시를 경유했다고 단정할 수는 없습니다. 해당 사이트가 원래 직접 연결 가능한 곳일 수 있으므로 로그에서 출구 선택도 확인하세요.

DNS, UDP, 로컬 네트워크 연결 문제 해결

TUN이 패킷을 받을 수 있다고 해서 도메인 이름이 올바르게 해석된다는 뜻은 아닙니다. 일반 DNS는 주로 UDP 또는 TCP 53번 포트를 사용하지만, 브라우저에서 암호화 DNS를 사용할 수도 있습니다. ‘도메인에 연결할 수 없지만 기존 연결은 계속됨’과 같은 현상이 나타나면 모든 노드를 바로 바꾸기보다 먼저 DNS 경로를 확인하세요.

‘설정’ → ‘매개변수 설정’에서 현재 버전이 제공하는 DNS 관련 탭을 확인하고, 직접 연결용 DNS, 프록시용 DNS, TUN의 DNS 처리 설정을 구분하세요. 도메인 정책과 라우팅 규칙도 함께 적용해야 합니다. 현재 접속할 수 없는 DNS 서버로 모든 DNS 요청을 보내면 직접 연결과 프록시가 모두 시간 초과될 수 있습니다.

증상먼저 확인할 항목구체적인 조치
도메인 연결 실패DNS 서버 연결 가능 여부, DNS 경로, 로그Resolve-DnsName example.com을 실행하면서 로그를 확인하세요. DNS 설정은 한 번에 하나씩 변경한 뒤 다시 테스트하세요.
웹은 되지만 음성 통화가 안 됨UDP 지원 여부, 노드 서버, 방화벽 정책대상 프로그램의 UDP 연결 로그를 확인하고 사용 중인 노드와 전송 경로가 트래픽 전달을 지원하는지 점검하세요.
프린터 또는 공유 폴더 연결 끊김로컬 네트워크 주소가 실수로 프록시를 경유하는지 여부실제 로컬 네트워크 대역이 라우팅에서 직접 연결로 설정되어 있는지 확인하고 로컬 방화벽도 점검하세요.
일부 대상에 직접 연결됨IPv6 라우팅, 앱 인터페이스 바인딩, 규칙 제외 항목IPv4와 IPv6 라우팅 테이블을 비교하고 해당 대상에 실제로 적용된 규칙을 확인하세요.

시작 오류 해결 및 네트워크 복구

문제를 해결할 때는 ‘권한 및 인터페이스 → 코어 시작 → 노드 연결 → DNS 및 라우팅’ 순서로 확인하세요. 로그에서 가장 먼저 나타난 명확한 오류가 이후에 이어지는 여러 시간 초과보다 더 중요한 단서인 경우가 많습니다. 로그를 공유하기 전에는 구독 주소, 노드 인증 정보와 기타 민감한 내용을 가리세요.

TUN을 켜면 권한 부족 오류가 표시됩니다. 어떻게 해결하나요?

먼저 시스템 트레이에서 클라이언트를 종료한 뒤 ‘관리자 권한으로 실행’으로 다시 시작하세요. 그래도 해결되지 않으면 보안 프로그램이나 회사 정책이 가상 인터페이스 생성 또는 라우팅 변경을 차단하는지 확인하세요. 문제를 해결하려고 모든 보안 기능을 끄지는 마세요.

스위치는 켜졌는데 로그에 코어 시작 실패가 표시됩니다. 어떻게 해야 하나요?

프로그램 폴더가 완전한지 확인하고 코어 시작 로그에서 첫 번째 오류를 살펴보세요. 주소나 포트가 이미 사용 중이라는 메시지가 나오면 Get-NetTCPConnection -State Listen을 실행해 관련 프로세스를 확인하세요. 정체를 모르는 시스템 프로세스를 바로 종료하지 마세요.

TUN을 켠 뒤 모든 웹페이지가 시간 초과됩니다. 무엇부터 바꿔야 하나요?

먼저 TUN을 끄고 기존 시스템 프록시를 복원한 다음 같은 노드로 테스트하세요. 기존 모드에서도 연결되지 않으면 먼저 노드 문제를 해결하세요. TUN에서만 실패한다면 라우팅 충돌과 DNS를 확인하세요. 기본 프로토콜 스택을 기준으로 두고 한 번에 옵션 하나만 변경하세요.

클라이언트를 종료한 뒤에도 인터넷이 연결되지 않습니다. 어떻게 해야 하나요?

프로그램이 비정상적으로 종료되었다면 같은 권한으로 다시 실행하고 TUN을 끈 다음 ‘시스템 프록시 지우기’를 선택하고 정상 종료하세요. 그래도 복구되지 않으면 컴퓨터를 재부팅한 뒤 Windows 프록시 설정과 네트워크 연결을 확인하세요. 모든 라우팅을 지우는 명령을 바로 실행하지 마세요.

검증이 끝나면 일상적으로 사용할 분할 라우팅 프리셋을 복원하고 로컬 네트워크, 브라우저, 대상 앱을 다시 테스트하세요. 시스템 프록시만으로 충분하다면 TUN을 꺼 둬도 됩니다. 필요한 경우에만 활성화하세요. MTU, DNS, 프로토콜 스택, 라우팅을 계속 바꾸는 것보다 검증된 설정을 보관하는 편이 문제 원인을 찾기 쉽습니다.

V2Ray 클라이언트 다운로드