왜 ‘시스템 프록시만’으로는 게임과 UDP가 자주 어긋나는가

Clash를 처음 쓸 때 많은 사람이 시스템 프록시만 켠 상태에서 브라우거나 일부 앱의 우회 성공을 확인하고 만족합니다. 그런데 Steam, 라이엇 클라이언트, 배틀넷, 일부 화상회의처럼 OS가 제공하는 HTTP 프록시 설정을 전혀 보지 않는 프로그램은 그대로 직접 연결을 시도합니다. 이런 앱은 로컬의 127.0.0.1:7890 같은 포트를 “자동으로” 타지 않습니다.

또 UDP는 TCP와 달리 상태를 공유하는 방식·방화벽 허용 규칙·NAT 경로가 조금만 어긋나도 체감 증상으로는 바로 보이스 끊김, 매치메이킹 지연, 패킷 손실로 나타납니다. 그래서 “프록 시는 켜졌는데 게임만 안 된다”는 질문이 반복되는 것입니다.

TUN 모드는 이런 한계를 겨냥합니다. 가상 네트워크 인터페이스에 가깝게 동작해 OS 라우팅 단계에서 트래픽을 Clash 쪽으로 끌어오므로, 애플리케이션이 프록시 API를 구현하지 않아도 TCP와 UDP를 넓게 포섭할 수 있습니다. 다만 권한·드라이버·다른 VPN과의 공존 문제 때문에 초기 설정은 시스템 프록시보다 까다롭습니다. 이 글은 2026년 현재 Windows와 macOS에서 실무적으로 자주 쓰는 점검 순서를 기준으로 정리합니다.

TUN이 바꾸는 것: 프록시 포트와 라우팅 테이블

짧게 말하면 시스템 프록시는 “앱이 프록시를 쓰겠다고 동의할 때”만 효과가 있고, TUN은 “OS가 특정 목적지로 보내려는 패킷 자체를 Clash가 받아볼 수 있게” 만듭니다. Clash(Mihomo 계열)는 규칙 엔진으로 이 패킷을 DIRECT로 보낼지, 특정 프록시 그룹으로 보낼지 결정합니다.

그래서 TUN을 켠 뒤에도 Rule 모드의 질이 중요합니다. 모든 트래픽을 기계적으로 해외로 보내면 국내 결제·CDN·게임 국내 서버까지 돌아가 느려질 수 있습니다. 반대로 특정 게임만 프록시가 필요한데 규칙이 좁으면 여전히 빈 구간이 생깁니다.

ℹ️
TUN은 ‘우회 스위치’가 아니라 트래픽을 Clash 규칙으로 먼저 통과시키는 배관에 가깝습니다. 규칙·DNS·노드 품질이 맞지 않으면 배관만 바꿔도 증상은 그대로일 수 있습니다.

TUN을 우선 검토하면 좋은 대표 시나리오

  • 게임 런처·안티치트가 시스템 프록시를 무시하는 경우
  • Discord·줌·웹RTC 계열에서 UDP 경로가 unstable한 경우
  • 터미널에서 git, npm, curl 등이 프록시 변수 없이 직접 붙는 경우
  • WSL·에뮬레이터처럼 별도 네트워크 스택을 쓰는 개발 환경
  • “한 번에 전역을 잡고 싶지만 Global 모드로는 국내 트래픽 분리가 아쉬운 경우”

반대로 웹 브라우징만 필요하고 충돌 가능성을 최소화하고 싶다면 시스템 프록시만으로도 충분한 경우가 많습니다. TUN은 필요할 때 켜는 편이 운영 부담이 적습니다.

Windows에서 TUN 켜기: 관리자 권한과 스택 설치

Windows에서 대부분의 Clash GUI는 TUN 구현에 관리자 권한이나 WFP(Windows Filtering Platform) 관련 컴포넌트에 의존합니다. 흔한 흐름은 다음과 같습니다.

  1. Clash Verge Rev 등 사용 중인 앱을 관리자 권한으로 실행합니다.
  2. 설정 화면에서 TUN 또는 가상 어댑터 항목을 찾아 활성화합니다.
  3. UAC에서 드라이버·커널 모듈 설치를 허용합니다.
  4. 작업 관리자나 ipconfig로 가상 어댑터가 생겼는지 확인합니다.
  5. 우회가 필요 없을 때는 TUN을 꺼서 일상 사용 시 충돌 가능성을 줄입니다.

윈도우 보안 제품이 “가상 어댑터 프로그램”을 차단하는 경우가 있어, 이 경우 연결이 전부 실패하거나 특정 프로토콜만 죽는 증상이 납니다. 예외 목록에 Clash 실행 파일과 코어 바이너리를 넣었는지 확인하세요.

macOS에서 TUN 켜기: 네트워크 확장과 승인

macOS는 권한 모델이 더 엄격해서, TUN을 켤 때 네트워크 확장 승인·재시동 요구가 뜨는 것이 흔합니다. ClashX Meta·Clash Verge Rev 등은 제품마다 메뉴 이름이 다르지만, 보통 다음을 순서대로 확인합니다.

  1. 시스템 설정의 개인 정보 보호 및 보안에서 관련 확장이 허용됐는지 봅니다.
  2. TUN 관련 토글을 켠 뒤 메뉴 막대 아이콘 상태가 정상인지 확인합니다.
  3. 다른 VPN(기업용 포함)이 동시에 올라와 있지 않은지 봅니다.
  4. Apple Silicon과 Intel 빌드를 혼동하지 않았는지 확인합니다.

맥에서 “한 번은 됐는데 재부팅 후 안 된다”는 경우는 확장 로딩 순서나 잠금 화면 직후 타이밍 문제이기도 해서, 재로그인 후 다시 토글하는 것만으로 복구되는 경우도 있습니다.

Rule·DNS를 TUN과 같이 맞추기

TUN으로 패킷이 Clash에 들어온 뒤에도 DNS가 규칙 밖으로 새 나가면, 브라우저는 우회된 것처럼 보여도 실제 목적지는 엉뚱하게 잡히는 일이 생깁니다. Mihomo 계열에서는 dns 블록과 enhanced-mode 같은 옵션을 구독과 함께 점검하는 것이 일반적입니다.

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - https://dns.cloudflare.com/dns-query
  fallback:
    - https://dns.google/dns-query

위는 예시이며, 회사망·ISP 정책에 따라 허용되는 DoH 서버가 달라질 수 있습니다. 핵심은 “어떤 DNS가 먼저 응답하는가”와 “fake-ip와 Rule이 기대대로 매칭되는가”를 로그로 확인하는 것입니다.

  • 국내 금융·공공 사이트는 GEOIPDOMAIN-SUFFIXDIRECT를 보장했는지
  • 게임 전용 도메인이 의도치 않게 글로벌 프록시로 빠지지 않는지
  • VoIP·푸시 서버가 UDP와 함께 특정 포트를 요구하지 않는지

UDP와 게임: TUN 이후에도 남는 변수

TUN은 트래픽을 Clash 안으로 가져오지만, 서버·노드가 UDP 릴레이를 허용하는지, 지역 잠금이 있는지는 별개 문제입니다. 예를 들어 일부 모바일 회선은 UDP 자체를 제한하거나, 특정 포트 대역만 막는 경우가 있습니다.

실무 체크리스트는 다음과 같습니다.

  • 프로필에서 해당 노드에 udp: true가 명시되어 있는지(구독 형식에 따라 생략되기도 함)
  • 지연 테스트는 TCP 기준인 경우가 많아 UDP 품질과 항상 일치하지 않는다는 점
  • 프록시 체인이 길어질수록 RTT와 재전송 비용이 커져 FPS 게임 체감이 나빠질 수 있음
  • 경쟁작/안티치트가 VM·이상 트래픽을 탐지해 차단하는 정책이 있는지
⚠️
TUN은 기술적으로 트래픽을 가져올 뿐, 서비스 약관·지역 정책을 바꾸지는 않습니다. 합법적 범위와 제공자 정책을 반드시 확인하세요.

충돌 진단: 다른 VPN, 필터, 회사 보안 에이전트

전형적인 증상은 “TUN 켜자마자 전체 단선”, “브라우저만 되고 나머지는 죽음”, “30초 후 복구”입니다. 우선 아래를 순서대로 줄여 봅니다.

  1. 다른 상용 VPN·기업용 ZTNA를 모두 종료
  2. 방화벽 제품의 앱 격리·SSL 검사 일시 해제 테스트
  3. Clash를 최신 안정 빌드로 올리고 구독 동기화
  4. 이전 버전 가상 어댑터가 남았다면 장치 관리자에서 정리

문제가 재현되면 앱 로그에 tun, route, dns 키워드를 중심으로 원인을 좁히는 것이 빠릅니다.

Mihomo(Clash Meta)와 TUN을 함께 쓰는 이유

2026년 현재 많은 공항·구독 구성은 VLESS Reality, Hysteria2 등 최신 전송을 포함합니다. 코어가 오래되면 필드 해석 실패로 “연결만 안 되는” 상황이 생깁니다. TUN을 켜도 규칙 엔진이 해당 패킷을 이해하지 못하면 소용이 없으므로, 패치가 이어지는 Mihomo 계열을 탄 클라이언트를 쓰는 편이 장기적으로 덜 고생합니다.

UI 이름보다 “내 OS에서 TUN 스택이 안정적으로 도는가”, “구독 문법과 호환되는가”를 기준으로 고르는 것이 실전에서 더 큽니다.

운영 팁: 평소에는 Rule+시스템 프록시, 필요 시에만 TUN

가장 덜 피로한 패턴은 다음과 같습니다.

  • 일상 업무: Rule + 시스템 프록시
  • 게임·화상·개발 터미널이 필요한 세션: TUN ON
  • 세션 종료 후: TUN OFF로 회사망·다른 소프트웨어와의 마찰 최소화

이렇게 나누면 “항상 전역”보다 진단도 쉽고, 가족 공용 PC처럼 변덕스러운 환경에서도 안전합니다.

자주 묻는 질문(본문 요약)

Q. TUN만 켜면 Global과 같나요?
A. 아닙니다. TUN은 경로이고 Global은 프록시 선택 정책입니다. Rule을 유지한 채 TUN을 켜는 경우가 일반적입니다.

Q. Linux나 Android는?
A. 원리는 같지만 권한·UI가 달라 별도 가이드를 참고하는 것이 좋습니다. 이 글은 Windows·macOS 중심입니다.

Q. fake-ip를 꺼야 하나요?
A. 환경마다 다릅니다. 특정 앱이 로컬 DNS 캐시에 민감하면 증상이 달라질 수 있어 프로필 주석과 공식 문서를 함께 보세요.

정리: 전역 트래픽을 잡되, 규칙과 UDP는 따로 검증하라

TUN은 게임과 UDP처럼 시스템 프록시 사각지대를 줄이는 강력한 수단이지만, DNS·라우팅·노드 UDP 지원·보안 소프트웨어 충돌 같은 변수를 한 번에 안고 가는 기능이기도 합니다. 그래서 “켜고 끄는 스위치”만 외우기보다, 자신의 프로필에서 어떤 도메인이 DIRECT로 빠지는지, VoIP가 어떤 IP로 붙는지를 로그로 확인하는 습관이 장기적으로 훨씬 값집니다.

한편 일부 상용 VPN 앱은 UI는 단순하지만 규칙 세밀함이나 프로토콜 폭에서는 Clash 계열만큼 유연하지 않은 경우가 있습니다. 반대로 오래된 Clash 포크는 이름만 같고 코어가 멈춰 있으면 최신 전송을 해석하지 못합니다. 그 점에서 Mihomo 기반으로 꾸준히 갱신되는 클라이언트에 TUN을 얹어 쓰면, UDP가 필요한 시나리오에서도 설정을 한 화면에서 이어 가기 쉽습니다.

설치·업데이트 경로를 단순하게 유지하고 싶다면, 릴리스 탭을 여러 저장소에서 뒤지지 않아도 되도록 플랫폼별 패키지를 모아 둔 다운로드 허브를 함께 쓰면 버전 고정과 재현에 도움이 됩니다.

다운로드 페이지에서 Clash 클라이언트 받기