macOS에서 Clash Verge Rev TUN 모드가 필요한 이유
Clash Verge Rev에서 시스템 프록시를 켰는데도 특정 앱만 연결되지 않는다면, 문제는 노드보다 프록시 적용 범위에 있을 가능성이 큽니다. macOS의 시스템 프록시는 일반적으로 HTTP·HTTPS 프록시를 인식하는 앱에만 적용됩니다. Safari나 일부 Chromium 기반 브라우저는 이 설정을 잘 따르지만, 터미널 도구·게임 런처·Docker·Electron 앱·자체 네트워크 스택을 사용하는 프로그램은 시스템 프록시를 무시하고 직접 연결할 수 있습니다.
TUN 모드는 이런 애플리케이션 트래픽을 가상 네트워크 인터페이스로 받아 Clash 코어의 규칙 엔진에 전달하는 방식입니다. 앱 내부에 프록시 주소를 하나씩 입력하지 않아도 운영체제 수준에서 흐름을 관찰하고, 도메인·IP·규칙 모드에 따라 프록시 또는 직접 연결을 선택할 수 있습니다. 따라서 브라우저는 정상인데 특정 개발 도구만 타임아웃이 발생하거나, 시스템 프록시 설정을 지원하지 않는 앱을 함께 사용해야 할 때 특히 유용합니다.
다만 TUN은 단순한 토글 하나가 아닙니다. 가상 인터페이스를 만들기 위한 시스템 권한, DNS 처리 방식, 라우팅 모드, 다른 VPN과의 충돌이 함께 작동합니다. 권한을 승인하지 않은 상태에서 스위치만 켜면 활성화된 것처럼 보여도 실제 트래픽은 터널을 통과하지 않을 수 있습니다. 이 글에서는 macOS용 Clash Verge Rev에서 권한 확인부터 설정 적용, 동작 테스트, 실패 원인 분리까지 초보자도 따라갈 수 있는 순서로 정리합니다.
켜기 전 확인할 항목: 코어·권한·충돌하는 터널
설정을 시작하기 전에 Clash Verge Rev가 실제로 실행 중인지 확인합니다. 메뉴 막대 아이콘이나 대시보드에서 코어 상태가 실행 중으로 표시되어야 하며, 프로필이 로드되지 않았거나 프록시 그룹에 노드가 하나도 없다면 TUN부터 켜도 테스트가 제대로 되지 않습니다. 먼저 사용할 프로필을 선택하고, 프록시 목록에서 하나의 노드를 직접 선택해 일반적인 연결이 가능한지 확인하세요.
다음으로 실행 중인 코어가 TUN을 지원하는 계열인지 봅니다. 최근 Clash Verge Rev에서는 보통 Mihomo 계열 코어를 사용하지만, 설치 버전이나 사용자가 선택한 코어에 따라 메뉴와 지원 필드가 다를 수 있습니다. 설정 화면에 TUN 항목이 없거나 저장 직후 다시 꺼진다면, GUI 문제가 아니라 코어 버전 또는 권한 문제일 수 있습니다. 설정을 반복해서 누르기 전에 코어 이름과 버전을 먼저 기록해 두면 오류를 좁히기 쉽습니다.
다른 터널 프로그램도 잠시 종료하는 것이 좋습니다. 예를 들어 WireGuard, 상용 VPN, 회사 보안 에이전트, 다른 Clash 클라이언트가 동시에 가상 인터페이스나 Network Extension을 사용하면 라우팅 우선순위가 서로 바뀔 수 있습니다. 첫 테스트에서는 Clash Verge Rev 하나만 남기고, 문제가 해결된 뒤 필요한 프로그램을 하나씩 다시 켜면서 충돌 여부를 확인하세요.
- 프로필: 활성 프로필과 프록시 그룹에 실제 노드가 있는지 확인합니다.
- 코어: Mihomo 계열 코어가 실행 중이며 TUN 필드를 인식하는지 확인합니다.
- macOS 권한: 시스템 설정의 네트워크 확장 또는 VPN 관련 승인 항목을 확인합니다.
- 충돌 요소: 다른 VPN, 보안 필터, 수동 프록시, 가상 네트워크 도구를 잠시 종료합니다.
macOS 시스템 권한 승인과 TUN 활성화 순서
Clash Verge Rev를 처음 실행하거나 TUN 기능을 처음 켤 때 macOS는 시스템 확장, VPN 구성 또는 네트워크 필터를 허용할지 묻는 메시지를 표시할 수 있습니다. 알림을 닫았거나 실수로 거부했다면 시스템 설정 → 개인정보 보호 및 보안을 열어 차단된 시스템 소프트웨어와 네트워크 관련 승인 메시지를 확인합니다. macOS 버전에 따라 메뉴 이름과 위치가 조금 다르므로, 화면에 표시된 개발자 또는 앱 이름을 기준으로 승인하세요.
권한 승인 후에는 Clash Verge Rev를 완전히 종료했다가 다시 실행하는 편이 안전합니다. 창의 닫기 버튼만 누르면 메뉴 막대 프로세스가 남아 있을 수 있으므로 앱 메뉴에서 종료하거나 메뉴 막대 아이콘의 종료 항목을 사용합니다. 다시 실행한 뒤 TUN 설정을 열고 가상 인터페이스 기능을 켭니다. 권한 대화상자가 다시 나타나면 관리자 암호나 Touch ID를 요구할 수 있으며, 이는 시스템 네트워크 구성을 변경하기 위한 정상적인 절차입니다.
TUN을 켠 뒤 설정 화면에 서비스 모드, Strict Route, Auto Route, DNS Hijack와 비슷한 항목이 보일 수 있습니다. 릴리스마다 명칭은 다르지만 역할은 구분해야 합니다. Auto Route는 트래픽을 가상 인터페이스로 보낼지 결정하고, Strict Route는 우회 경로가 생기지 않도록 라우팅을 더 엄격하게 적용합니다. DNS Hijack은 앱이 조회하는 DNS 요청을 Clash가 처리하도록 만드는 기능이므로, 켜면 DNS 누락을 줄일 수 있지만 사내 DNS나 로컬 장비 이름 해석에 영향을 줄 수 있습니다.
- Clash Verge Rev에서 사용할 프로필을 선택하고 코어가 실행 중인지 확인합니다.
- TUN 또는 서비스 모드 설정을 열고 가상 네트워크 기능을 활성화합니다.
- macOS가 표시하는 시스템 권한 요청을 읽은 뒤 허용합니다.
- 앱을 완전히 종료하고 다시 실행한 다음 TUN 스위치 상태를 재확인합니다.
- 처음에는 기본 라우팅과 일반 DNS로 테스트한 뒤 필요할 때만 세부 옵션을 추가합니다.
TUN 라우팅·DNS 옵션을 안전하게 조정하는 방법
첫 설정에서는 모든 고급 옵션을 한꺼번에 바꾸지 않는 것이 좋습니다. 가장 안정적인 순서는 TUN 활성화, 기본 라우팅 확인, DNS 동작 확인, 마지막으로 Strict Route나 DNS Hijack을 조정하는 것입니다. 여러 값을 동시에 바꾸면 연결이 끊겼을 때 어떤 항목이 원인인지 알 수 없습니다. 변경 전에는 현재 설정을 캡처하거나 프로필을 백업해 두고, 한 항목을 변경한 뒤 브라우저와 터미널에서 각각 테스트하세요.
DNS는 TUN 문제에서 자주 오해되는 부분입니다. 웹사이트 IP를 찾지 못하는 경우에는 터널 자체보다 DNS 요청이 운영체제의 기존 서버로 빠져나가거나, 잘못된 DNS 모드가 로컬 네트워크와 충돌했을 가능성이 있습니다. 반대로 모든 DNS를 외부 서버로 강제하면 회사 내부 도메인, NAS 이름, 프린터 주소가 해석되지 않을 수 있습니다. 업무용 내부 주소가 필요한 환경이라면 로컬 도메인과 외부 도메인을 같은 정책으로 처리하지 말고, 실제 요구에 맞는 DNS 규칙을 유지하세요.
라우팅 모드는 사용 목적에 따라 선택합니다. 규칙 모드는 도메인과 IP 규칙에 따라 프록시와 DIRECT를 나누므로 일상적인 사용에 적합합니다. 전역 모드는 원인 확인을 위한 짧은 테스트에는 편하지만, 로컬 장치나 사내 서비스까지 프록시로 보내 불필요한 장애를 만들 수 있습니다. 처음에는 규칙 모드에서 시작하고, 특정 앱이 계속 직접 연결되는지 확인할 때만 제한된 시간 동안 전역 모드를 비교하는 방법이 좋습니다.
| 옵션 | 주요 역할 | 주의할 상황 |
|---|---|---|
| TUN | 앱의 네트워크 흐름을 가상 인터페이스로 전달 | 시스템 권한과 다른 VPN의 충돌 |
| Auto Route | 터널을 기본 경로로 등록하고 트래픽을 연결 | 로컬 네트워크 접근이 바뀔 수 있음 |
| Strict Route | 터널 밖으로 빠지는 경로를 엄격하게 제한 | 사내망·프린터·로컬 장비가 막힐 수 있음 |
| DNS Hijack | DNS 요청을 Clash 규칙과 DNS 모듈로 전달 | 내부 도메인 해석과 충돌할 수 있음 |
동작 테스트와 대표적인 오류 해결
설정을 저장한 뒤에는 “스위치가 켜졌다”는 화면만 보고 성공으로 판단하지 마세요. 먼저 Clash Verge Rev의 연결 로그를 열어 테스트 앱의 요청이 표시되는지 확인합니다. 브라우저에서 웹사이트를 하나 열고, 터미널에서 같은 도메인을 조회한 다음, TUN이 필요한 별도 앱을 실행해 세 종류의 흐름을 비교합니다. 로그에 요청이 전혀 없다면 규칙 문제가 아니라 TUN 인터페이스, 권한, 코어 실행 상태를 먼저 살펴야 합니다.
첫 번째 테스트는 일반적인 HTTPS 사이트처럼 도메인과 포트가 명확한 대상이 좋습니다. 그 다음 시스템 프록시를 따르지 않는 앱을 실행해 로그에 새로운 연결이 생기는지 봅니다. 요청이 보이지만 DIRECT로 표시된다면 현재 규칙이 의도한 정책과 다른 것입니다. 이때 무조건 전역 모드로 바꾸기보다 해당 도메인의 규칙, 규칙 순서, 최종 매칭 정책을 확인하세요. 규칙은 위에서 아래로 평가되는 경우가 많으므로 넓은 DIRECT 규칙이 앞에 있으면 뒤의 프록시 규칙은 도달하지 않습니다.
TUN을 켠 뒤 인터넷 전체가 끊기는 경우에는 단계적으로 되돌립니다. 먼저 DNS Hijack을 잠시 끄고 다시 조회해 봅니다. 변화가 없으면 Strict Route를 해제하고, 그 다음 Auto Route를 껐다가 TUN만 남겨 상태를 비교합니다. 각 단계마다 Clash 로그와 macOS 네트워크 상태를 기록하면 원인 항목을 쉽게 찾을 수 있습니다. 설정을 모두 초기화하기 전에 마지막으로 정상 작동했던 값을 적어 두는 것이 좋습니다.
- TUN이 즉시 꺼짐: 시스템 확장 승인, 코어 지원 여부, 관리자 권한을 확인합니다.
- 브라우저만 되고 앱은 안 됨: 앱 요청이 로그에 나타나는지 먼저 확인하고, 나타나지 않으면 TUN 경로를 점검합니다.
- 로그는 보이지만 연결 실패: 매칭된 정책이 DIRECT인지, DNS 응답이 정상인지, 노드 자체가 살아 있는지 비교합니다.
- 로컬 장치가 사라짐: Strict Route나 DNS Hijack을 잠시 끄고 로컬 주소 예외가 필요한지 확인합니다.
- 다른 VPN을 켜면 충돌: 두 프로그램이 동시에 기본 라우트와 네트워크 확장을 점유하지 않는지 확인합니다.
터미널 테스트에서는 셸 환경 변수도 함께 봐야 합니다. HTTP_PROXY, HTTPS_PROXY, ALL_PROXY가 이미 설정되어 있으면 해당 프로그램은 TUN과 별도의 프록시를 사용할 수 있습니다. TUN이 정상인데 특정 CLI만 이상하다면 환경 변수 값을 확인하고, 앱을 완전히 다시 실행한 뒤 결과를 비교하세요. 반대로 환경 변수를 지웠는데도 로그에 해당 요청이 나타난다면 TUN이 앱 트래픽을 실제로 포착하고 있을 가능성이 높습니다.
업데이트 후에도 안정적으로 유지하는 운영 습관
Clash Verge Rev나 Mihomo 코어가 업데이트되면 TUN 필드 이름, 권한 동작, DNS 기본값이 바뀔 수 있습니다. 업데이트 직후에는 기존 설정이 그대로 보인다는 이유만으로 정상이라고 가정하지 말고, 브라우저·터미널·문제 앱을 다시 테스트하세요. 특히 macOS 업데이트 뒤에는 네트워크 확장 승인이 다시 필요하거나, 보안 설정이 이전 허용 상태를 무효화할 수 있습니다.
프로필을 원격 구독으로 관리한다면 로컬 TUN 설정과 원격 YAML 설정을 분리해 생각해야 합니다. 구독 갱신으로 전체 설정이 덮어써지면 사용자 정의 DNS, 라우팅, 프록시 그룹이 사라질 수 있습니다. 중요한 설정은 별도 메모에 보관하고, 갱신 뒤에는 TUN 관련 값과 DNS 모드가 유지되는지 확인하세요. 원격 프로필을 직접 수정하기보다 클라이언트가 제공하는 로컬 오버라이드나 패치 기능을 사용하는 편이 재현성과 유지보수에 유리합니다.
일상적으로는 필요한 경우에만 Strict Route를 사용하고, 회사 내부망이나 로컬 장치를 자주 이용한다면 예외 규칙을 먼저 설계하는 것이 좋습니다. TUN은 “항상 모든 연결을 프록시로 보내는 기능”이 아니라, 프록시를 인식하지 못하는 앱도 같은 정책 엔진으로 관찰하고 분류하는 도구입니다. 이 원칙을 이해하면 문제가 생길 때 노드를 무작정 교체하기보다 로그, DNS, 라우팅, 권한 순서로 원인을 좁힐 수 있습니다.
일부 macOS VPN 앱은 시스템 프록시와 제한적인 앱별 설정만 제공해 CLI나 게임 런처를 따로 조정해야 하고, 구형 Clash 포크는 최신 macOS 네트워크 확장과 권한 흐름을 따라가지 못해 TUN이 불안정할 수 있습니다. 반면 Clash V.CORE는 Mihomo 기반 규칙 처리, TUN과 DNS 설정 확인, 연결 로그를 한 흐름에서 점검하기 쉬워 특정 앱이 프록시를 무시하는 상황을 추적하는 데 유리합니다. macOS에서 여러 앱의 프록시 적용 범위를 한곳에서 관리하고 싶다면, 현재 환경에 맞는 버전을 다운로드하기 전에 지원 코어와 권한 요구 사항을 확인해 보세요.
// 에디터 추천
macOS TUN 설정을 더 간단하게
Clash V.CORE로 TUN, DNS, 규칙 라우팅과 연결 로그를 한 화면에서 관리해 보세요.
- macOS TUN 모드 설정 흐름 지원
- 앱별 연결 로그와 정책 확인
- DNS 및 라우팅 상태를 빠르게 점검
- Mihomo 기반 규칙 엔진과 프로필 관리