사용 팁
TUN 모드 완전 가이드: 원리, 설정, 자주 발생하는 문제
"시스템 프록시는 켜져 있는데 왜 이 소프트웨어는 인터넷에 연결되지 않을까?" 조금 사용하다 보면 많은 사람들이 이 문제에 부딪히게 되는데, 그 답은 대부분 같은 기능을 가리킵니다: TUN 모드입니다. 이것이 무엇을 하는지 이해하려면 먼저 시스템 프록시가 왜 작동하지 않을 수 있는지 알아야 합니다.
시스템 프록시는 만능이 아니다
"시스템 프록시 자동 설정"의 본질은 클라이언트가 OS 수준의 프록시 설정을 변경하는 것입니다. 대부분의 브라우저와 앱은 네트워크 요청을 보낼 때 이 설정을 자동으로 읽어 트래픽을 로컬 프록시 포트로 전달합니다. 다만 이 방식은 앱이 "적극적으로 이 설정을 따른다"는 전제 위에 성립됩니다. 명령줄 도구, 일부 게임 클라이언트, 특정 메시징 앱은 성능이나 호환성 측면에서 시스템 프록시 설정을 우회해 직접 연결을 맺는 경우가 자주 있습니다. 이런 트래픽은 당연히 프록시로 커버할 수 없어 "프록시는 켜져 있는데 이 소프트웨어만 연결이 안 되는" 상태가 됩니다. TUN 모드의 발상은 완전히 다릅니다: 앱이 "적극적으로 협조"하는 것에 의존하지 않고, OS의 네트워크 프로토콜 스택 안에 가상 네트워크 어댑터(TUN 디바이스)를 생성하고 시스템의 라우팅 테이블을 변경함으로써 거의 모든 트래픽이 실제 네트워크 어댑터에 도달하기 전에 이 가상 어댑터를 거치도록 만듭니다. 클라이언트는 가상 어댑터 위에서 원시 패킷을 가로채 목적지 주소를 분석하고 라우팅 규칙에 따라 직접 연결인지 프록시 전달인지를 판단한 후 다시 패킷을 조립해 전송합니다. 이 처리는 네트워크 계층에서 이루어지므로 앱 계층이 "협조해 주는지"에 거의 의존하지 않으며, UDP 트래픽, 명령줄 도구, 게임 클라이언트를 포함한 대부분의 상황을 커버할 수 있는, 이것이야말로 진정한 의미의 전역 프록시입니다.
결국 언제 반드시 사용해야 하는가
모두가 항상 TUN 모드를 켜 둘 필요는 없지만, 다음과 같은 경우에는 기본적으로 피할 수 없습니다: 일부 패키지 매니저, git, curl 등의 명령줄 도구는 기본적으로 시스템 프록시 설정을 읽지 않으므로 TUN 모드나 수동 프록시 파라미터 지정으로만 해결할 수 있습니다. 일부 게임 클라이언트나 런처는 치트 방지나 성능 측면에서 시스템 프록시를 우회해 직접 연결하는 경우가 있습니다. 만약 사용 중인 앱이 UDP에 크게 의존한다면(일부 실시간 통신이나 DNS over UDP 등) 시스템 프록시는 보통 TCP 트래픽만 처리하므로 대부분 전혀 효과가 없습니다. 여러 앱에서 동시에 프록시 우회 문제가 발생한다면 하나씩 조사해 예외 규칙을 설정하는 것보다 TUN 모드를 한 번 켜서 일괄적으로 해결하는 것이 훨씬 편합니다.
활성화는 단 4단계, 라우팅 규칙도 그대로 유효
활성화 과정은 복잡하지 않습니다: 시스템 프록시 메뉴에서 "TUN 모드"를 선택합니다(Windows에서는 클라이언트를 관리자 권한으로 실행해야 합니다). 처음 활성화 시 시스템이 보안 경고를 표시하거나 가상 어댑터 드라이버 설치를 요구할 수 있지만 허용을 선택하면 문제없습니다. 활성화가 성공하면 트레이 아이콘에 TUN 모드가 활성화되었음이 표시되고 거의 모든 트래픽이 가상 어댑터를 거치게 되지만, 라우팅 규칙은 계속 유효합니다——규칙에서 직접 연결로 지정한 사이트는 계속 직접 연결되고 나머지 트래픽만 프록시를 거치므로 "전역 프록시"라고 해서 모든 트래픽이 느려질까 걱정할 필요는 없습니다.
활성화 후 연결이 안 된다면, 원인은 크게 네 가지로 볼 수 있습니다
TUN 모드는 가상 어댑터 생성과 시스템 라우팅 테이블 변경을 수반하는 비교적 저수준의 작업이므로, 마찬가지로 네트워크 설정을 변경하는 다른 소프트웨어와 충돌하기 쉽습니다. 가장 흔한 것은 기존 VPN 클라이언트와의 충돌입니다: 둘 다 라우팅 테이블을 인수하려 하므로 동시에 켜면 보통 둘 중 하나가 작동하지 않습니다. 동시에 활성화하지 않는 것을 권장합니다. 다음으로 흔한 것은 일부 보안 소프트웨어가 가상 어댑터 생성에 매우 민감해 차단하거나 바이러스로 오탐지할 수 있다는 점입니다. 클라이언트를 신뢰 목록에 추가해야 합니다. 또 다른 원인은 가상 어댑터 드라이버 버전이 오래된 것입니다——Windows에서 흔히 사용되는 WinTun 드라이버 버전이 오래되면 새로운 시스템 버전과의 호환성 문제가 발생하기 쉬우며, 드라이버나 클라이언트를 업데이트하면 보통 해결됩니다. 마지막으로 활성화 후 사내 네트워크 서비스에 연결되지 않는다면 라우팅 규칙에 geoip:private 직접 연결 규칙이 올바르게 유지되고 있는지 확인하세요. 사내 네트워크 요청이 잘못 TUN 어댑터로 전송되어 처리되는 것을 방지할 수 있습니다. 문제 발생 시 일반적인 조사 방법은: 먼저 TUN 모드를 꺼서 문제가 사라지는지 확인하고, 다음으로 위의 네 가지 원인을 하나씩 확인하는 것입니다. 바로 해결되지 않는다면 일단 시스템 프록시 모드로 돌아가 전역 프록시가 꼭 필요한 상황에만 일시적으로 켰다가 사용 후 끄는 방식으로 다른 소프트웨어와의 충돌 기회를 줄일 수도 있습니다.
리소스 소모가 늘어나나요
모든 트래픽이 가상 어댑터에서 추가 패킷 분석을 거치므로 TUN 모드는 단순한 시스템 프록시에 비해 CPU 사용률이 다소 높아지는 것이 사실이지만, 현재 기기에서는 이 오버헤드가 보통 그리 두드러지지 않아 대부분의 사람이 성능을 걱정해 굳이 피할 필요는 없습니다. 저사양 기기나 지연에 특히 민감한 상황에서만 먼저 시스템 프록시 모드를 시도해 보고 정말 필요할 때 TUN 모드로 전환하는 것을 권장합니다.
v2rayN을 다운로드해 원클릭으로 TUN 모드를 활성화하세요
가상 네트워크 어댑터 드라이버를 내장해 설정도 간단합니다. 바로 사용을 시작할 수 있습니다.
관련 글
아직 클라이언트를 다운로드하지 않으셨나요?
v2rayN에는 TUN 모드가 기본 탑재되어 있어 다운로드 후 원클릭으로 전역 프록시를 활성화할 수 있습니다.