시스템 프록시부터 확인한 뒤 TUN을 켜세요

Windows에서 Clash Verge Rev를 처음 설정할 때는 ‘클라이언트 설치 → 설정 가져오기 → 정책 선택 → 시스템 프록시 확인 → 서비스 설치 → TUN 활성화’ 순서로 진행하는 것이 좋습니다. 처음부터 DNS, 라우팅, 방화벽을 한꺼번에 바꾸지 마세요. 한 번에 하나씩만 변경해야 문제가 어느 단계에서 생겼는지 파악할 수 있습니다.

Clash Verge Rev는 설정 관리, 시스템 프록시, 인터페이스를 담당하고, mihomo 코어는 설정을 읽고 규칙을 적용해 프록시 연결을 구성합니다. 구독에는 노드와 규칙 등의 설정 데이터가 포함됩니다. 클라이언트 설치에 성공했다고 구독까지 정상인 것은 아니며, 노드 지연 시간이 표시된다고 모든 앱이 프록시를 사용하는 것도 아닙니다.

설치 파일 선택: CPU 제조사가 아니라 시스템 아키텍처 확인

  1. Windows ‘설정’ → ‘시스템’ → ‘정보’를 열고 ‘시스템 종류’를 확인하세요. Windows 10에서는 보통 이 페이지의 이름이 ‘정보’입니다.
  2. ‘x64 기반 프로세서’라고 표시되면 x64 설치 파일을 선택하세요. AMD64는 x64 아키텍처를 가리키며, Intel의 x64 프로세서에서도 사용할 수 있습니다.
  3. ‘ARM 기반 프로세서’라고 표시되면 프로젝트에서 제공하는 ARM64 설치 파일을 우선 선택하세요. 기기 브랜드만으로 아키텍처를 판단하지 마세요.
  4. 클라이언트 다운로드 페이지에서 플랫폼별 다운로드 링크를 확인하세요. 설치 전에 기존 클라이언트를 완전히 종료해 두면 두 코어가 같은 포트를 사용하려는 문제를 피할 수 있습니다.

첫 실행과 실행 환경

설치 마법사의 안내에 따라 설치한 다음, 먼저 일반 사용자 권한으로 클라이언트를 실행하세요. WebView2 런타임이 없다는 안내가 표시되면 설치 프로그램의 지침을 따르거나 Microsoft 공식 경로를 통해 런타임을 설치하세요. 창이 비어 보이는 원인은 그래픽 렌더링 문제나 보안 소프트웨어의 차단일 수도 있습니다. 빈 창만 보고 구독이 작동하지 않는다고 단정할 수는 없습니다.

Windows에서 앱 출처나 게시자 정보에 관한 경고가 표시되면 다운로드 경로와 설치 파일 정보를 먼저 확인하세요. 시스템 보호 기능을 끄는 것을 설치 전제 조건으로 삼지 마세요. 설치 후 클라이언트 ‘설정’에서 클라이언트 버전과 코어 버전을 확인해 두세요. 문제를 문의할 때는 ‘최신 버전’이라고만 적는 것보다 두 버전을 함께 제공하는 편이 유용합니다.

구독 가져오기 및 규칙 모드 확인

클라이언트의 ‘구독’ 페이지에 구독 주소를 붙여 넣고 가져오기를 실행하거나, 로컬 YAML 파일을 가져오세요. 가져온 뒤에는 해당 설정을 선택해 현재 사용할 설정으로 지정해야 합니다. 목록에 설정 이름이 나타났다고 해서 코어 전환까지 완료된 것은 아닙니다.

  1. 업데이트 결과와 실행 로그를 확인해 YAML 파싱 오류, 필드 유형 오류, 노드 로드 실패가 없는지 점검하세요.
  2. ‘프록시’ 페이지에서 먼저 규칙 모드를 사용하세요. 자주 쓰는 정책 그룹에서 선택된 노드를 확인하고, 실수로 DIRECT 또는 REJECT를 선택하지 않았는지 살펴보세요.
  3. 사용할 노드의 지연 시간을 테스트하세요. 시간 초과가 발생하면 노드와 네트워크를 추가로 확인해야 하며, 곧바로 Windows 방화벽 문제라고 단정할 수 없습니다.
  4. 프록시를 사용해야 하는 사이트를 연 다음 ‘연결’ 페이지에서 적용된 규칙과 정책 경로를 확인하세요.

규칙 모드는 rules 순서대로 규칙을 적용하고, 전역 모드는 GLOBAL 정책을 사용합니다. 직접 연결 모드에서는 노드를 선택해도 해당 노드를 자동으로 사용하지 않습니다. 문제를 확인할 때 잠시 전역 모드로 바꿔 비교해 볼 수 있지만, 테스트가 끝나면 원래 사용할 모드로 되돌리고 해당 트래픽에 적용된 규칙을 확인하세요.

시스템 프록시가 작동하지 않을 때: 포트와 요청 경로부터 확인

시스템 프록시는 브라우저처럼 Windows 프록시 설정을 따르는 앱을 먼저 점검할 때 유용합니다. 하지만 시스템 전체 트래픽을 가로채는 기능은 아닙니다. 일부 게임, 명령줄 도구, 별도의 네트워크 설정을 사용하는 소프트웨어는 자동으로 시스템 프록시를 사용하지 않으며, 일반 HTTP 시스템 프록시가 모든 UDP 트래픽을 처리하는 것도 아닙니다.

127.0.0.1 주소와 실제 혼합 포트 확인

먼저 클라이언트 설정에서 혼합 포트를 확인한 뒤 ‘시스템 프록시’를 켜세요. 아래 명령에서는 진단 예시로 7897을 사용합니다. 클라이언트에 7890이나 다른 포트가 표시된다면 명령의 숫자를 실제 값으로 바꿔야 합니다. 예시를 그대로 따라 하려고 포트를 임의로 변경하지 마세요.

# PowerShell에서 로컬 수신 포트 확인
Test-NetConnection 127.0.0.1 -Port 7897

# 현재 사용자의 Windows 프록시 설정 확인
Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' |
  Select-Object ProxyEnable, ProxyServer, AutoConfigURL

# 수신 프로세스 확인; 마지막 열에 PID가 표시됩니다
netstat -ano | findstr LISTENING | findstr :7897

TcpTestSucceeded : True는 로컬 포트에 연결할 수 있다는 뜻일 뿐, 원격 노드가 정상이라는 뜻은 아닙니다. 결과가 False라면 코어가 실행 중인지, 설정이 로드되었는지, 다른 프로그램이 포트를 사용 중인지 먼저 확인하세요. 작업 관리자의 ‘세부 정보’에서 PID로 프로세스를 찾을 수 있습니다. 정체를 알 수 없는 시스템 프로세스를 바로 종료하지 마세요.

프록시를 명시해 요청 경로 분리하기

# HTTP 프록시를 명시해 앱이 시스템 설정을 읽는지 여부와 분리
curl.exe --proxy http://127.0.0.1:7897 --connect-timeout 10 --max-time 20 -I https://example.com/

일부 PowerShell 환경에서는 curl이 다른 명령으로 해석될 수 있으므로 여기서는 curl.exe를 사용합니다. 이 요청도 코어의 규칙 모드를 따르므로 ‘연결’ 페이지에서 대상 요청이 프록시를 거치는지, 직접 연결되는지 확인하세요. HTTP 응답을 받았다는 것은 해당 요청 경로에서 응답이 있었다는 뜻이지, 모든 사이트에 접속할 수 있다는 뜻은 아닙니다.

  • 프록시를 직접 지정하면 성공하지만 브라우저에서는 실패: 브라우저 확장 프로그램과 별도 프록시 설정을 확인하고, Windows ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’의 설정을 다른 소프트웨어가 변경했는지도 살펴보세요.
  • 프록시를 직접 지정해도 실패하지만 로컬 포트에는 연결됨: 정책 그룹, 노드 인증, 원격 연결, 코어 로그를 확인하세요. 시스템 프록시 스위치를 반복해서 켰다 끄지 마세요.
  • 브라우저는 되지만 특정 앱은 실패: 해당 앱이 시스템 프록시를 따르는지 확인하세요. 필요하면 앱 내부에서 프록시를 설정하거나 TUN으로 다시 테스트하세요.

netsh winhttp show proxy는 WinHTTP 프록시 상태를 표시하며, 현재 사용자의 브라우저가 사용하는 Windows 프록시 설정과는 다릅니다. 결과가 ‘직접 연결’로 표시되더라도 Clash Verge Rev의 시스템 프록시가 작동하지 않는다는 증거가 되지는 않습니다. 이 결과만 보고 시스템 전체의 WinHTTP 설정을 무작정 변경하지 마세요.

TUN 서비스 설치: 서비스 상태부터 확인한 뒤 라우팅 점검

TUN은 가상 네트워크 인터페이스와 라우팅을 통해 트래픽을 처리하므로 시스템 프록시를 따르지 않는 앱에 사용할 수 있습니다. 필요한 권한이 있으며, 다른 VPN이나 가상 네트워크 어댑터, 기업 네트워크 정책과 충돌하기도 쉽습니다. TUN은 노드 문제를 해결하는 도구가 아닙니다. 시스템 프록시에서 이미 실패한 노드는 TUN을 켜도 대개 복구되지 않습니다.

  1. 먼저 다른 프록시 클라이언트와 타사 VPN을 종료하고, 현재 네트워크에서 직접 연결이 정상인지 기록해 두세요.
  2. Clash Verge Rev의 ‘설정’에서 ‘서비스 모드’와 서비스 설치 또는 관리 메뉴를 찾으세요. 안내에 따라 서비스를 설치하고 Windows 사용자 계정 컨트롤 권한 요청을 승인하세요.
  3. 화면에 서비스를 사용할 수 있다고 표시되는지 확인한 다음 ‘가상 네트워크 어댑터 모드’ 또는 ‘TUN 모드’를 켜세요. 서비스 상태에 문제가 있으면 설치 오류부터 해결하고, TUN을 연달아 켰다 끄지 마세요.
  4. 원인을 분리하려면 시스템 프록시를 잠시 끄고 TUN만 사용하세요. 대상 앱을 열고 ‘연결’과 ‘로그’에 해당 트래픽이 표시되는지 확인하세요.

TUN 관련 필드 알아보기

다음은 mihomo에서 자주 사용하는 TUN 설정 예시입니다. 노드, 정책 그룹, 규칙을 포함한 전체 설정이 아닙니다. Clash Verge Rev가 실행 중에 설정을 덮어써 해당 필드를 생성할 수 있으므로 클라이언트 설정 화면을 우선 사용하고 최종 적용된 설정을 확인하세요. tun 키가 중복되지 않도록 이 내용을 구독 설정 끝에 그대로 덧붙이지 마세요.

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53
  • auto-route는 라우팅을 자동으로 설정합니다. 켠 뒤에도 트래픽이 실제로 코어에 전달되는지 확인해야 합니다.
  • auto-detect-interface는 외부 연결에 사용할 인터페이스를 자동으로 찾습니다. 여러 네트워크 어댑터, 핫스팟, VPN을 함께 사용하는 경우 로그에서 감지 결과를 확인하세요.
  • dns-hijack의 any:53은 해당하는 기존 DNS 요청을 가로채는 설정입니다. 모든 HTTPS 암호화 DNS 요청을 일반 DNS로 자동 변환하지는 않습니다.
  • stack의 지원 여부와 동작은 코어와 플랫폼에 따라 다릅니다. 로그 근거 없이 네트워크 스택을 계속 바꾸지 마세요.

TUN을 켠 직후 컴퓨터 전체에서 인터넷이 끊기면 TUN을 먼저 끄고 네트워크를 복구한 뒤 외부 연결 인터페이스, DNS 설정, 다른 VPN의 라우팅을 확인하세요. 절전 모드에서 깨어난 뒤나 유선 네트워크에서 Wi-Fi로 전환한 뒤 문제가 생겨도 시스템을 바로 재설치하지 말고 인터페이스와 서비스 상태부터 다시 확인하세요.

UWP 앱이 인터넷에 연결되지 않을 때: 루프백 제한과 프록시 우회 구분

Microsoft Store 앱처럼 앱 컨테이너 네트워크 모델을 사용하는 프로그램은 로컬 루프백 접근 제한의 영향을 받을 수 있습니다. 로컬 프록시 127.0.0.1:7897을 사용하려다 연결에 실패할 수 있으며, 일반 브라우저가 정상이어도 마찬가지입니다. 스토어에서 설치한 앱이 모두 같은 네트워크 모델을 사용하는 것은 아니므로 일괄적으로 UWP 문제라고 판단하지 마세요.

두 가지 점검 방법

  • 시스템 프록시 계속 사용: 현재 버전에 UWP 루프백 예외 도구가 있다면 필요한 앱에만 권한을 부여하세요. 해당 메뉴가 없다면 Windows 기본 도구를 사용해 확인할 수 있습니다. 출처를 알 수 없는 일괄 수정 스크립트는 다운로드하지 마세요.
  • TUN으로 트래픽 처리: 시스템 프록시를 끄고 별도로 테스트해 앱의 연결이 코어에 들어오는지 확인하세요. TUN은 트래픽 처리 경로를 바꿀 수 있지만 앱 인증, DNS, 서버 오류를 대신 해결하지는 않습니다.
# 관리자 권한 터미널에서 기존 앱 컨테이너 루프백 예외 확인
CheckNetIsolation.exe LoopbackExempt -s

이 명령은 기존 예외 목록만 표시하며 모든 앱의 제한을 자동으로 해제하지는 않습니다. 새 예외가 필요하면 먼저 Get-AppxPackage로 대상 앱의 패키지 패밀리 이름을 확인한 다음 도움말을 참고해 필요한 작업만 정확히 수행하세요. 영향을 받는 앱만 처리하고, ‘모든 앱 예외’를 일반적인 최적화 방법으로 여기지 마세요.

TUN을 사용해도 문제가 계속되면 클라이언트에 해당 앱의 연결이 표시되는지 확인하세요. 연결이 전혀 없다면 먼저 트래픽 처리 경로를 점검하세요. 연결은 표시되지만 인증 오류나 지역 제한 오류가 반환된다면 계정, 출구 위치, 서비스 요구 사항을 확인해야 합니다. 이를 단순히 루프백 제한 탓으로 돌리지 마세요.

방화벽 점검: 보호 기능은 유지하고 필요한 규칙만 조정

일반적인 로컬 프록시는 127.0.0.1에서 연결을 받으므로 인터넷에 접속하려고 혼합 포트를 로컬 네트워크 전체에 공개할 필요가 없습니다. 다른 기기에서 이 컴퓨터의 프록시에 연결해야 하는 경우에만 ‘LAN 연결 허용’, 수신 주소, 인바운드 규칙을 검토하고 접속 가능한 네트워크를 제한하세요.

증상우선 확인할 항목해결 방향
로컬 포트에 연결할 수 없음코어 상태, 포트 사용 여부먼저 포트 수신을 복구하고 방화벽 규칙 추가는 미루세요
로컬 수신은 정상이지만 원격 연결 시간 초과노드, 외부 연결 차단, 보안 소프트웨어 기록로그와 다른 노드를 비교해 원인을 찾으세요
업데이트 후 차단 발생규칙에 지정된 프로그램 경로현재 코어 경로를 확인하고 유효하지 않은 규칙을 수정하세요
다른 기기에서 이 컴퓨터의 프록시에 연결할 수 없음수신 주소, LAN 연결 설정, 인바운드 범위공유가 필요한 경우에만 필요한 접근을 허용하세요

Win + R을 누르고 wf.msc를 입력해 ‘고급 보안이 포함된 Windows Defender 방화벽’을 여세요. 먼저 ‘아웃바운드 규칙’에서 현재 클라이언트나 코어를 차단하는 규칙이 있는지 확인한 뒤 보안 소프트웨어의 차단 기록도 살펴보세요. Windows의 일반적인 기본 정책은 아웃바운드 연결을 허용하지만, 조직에서 관리하는 PC는 정책이 다를 수 있으므로 관리자에게 문의하세요.

‘이 앱이 방화벽을 통과하도록 허용’ 안내가 표시되더라도 모든 네트워크 유형을 무조건 선택하지 마세요. 실제 사용 목적에 맞게 허용해야 합니다. 이 컴퓨터에서 프록시를 사용한다고 해서 공용 Wi-Fi에서 다른 기기의 인바운드 연결을 받아야 하는 것은 아닙니다. 일반적인 웹 페이지 접속 문제를 해결하려고 코어 제어 인터페이스를 외부에 공개하지 마세요.

설치 후 점검 및 종료 후 인터넷 연결 복구

설치가 끝나면 정해진 순서로 점검하세요. 시스템 트레이 아이콘만 확인하는 것보다 확실합니다. 우선 정상 작동이 확인된 노드 하나와 트래픽 처리 방식 하나만 사용하고, 안정적으로 작동하는 것을 확인한 뒤 복잡한 규칙이나 추가 설정을 적용하세요.

  1. 설정 확인: 현재 사용할 구독을 선택했고 코어 로그에 반복 오류가 없으며, 정책 그룹이 실수로 직접 연결이나 연결 거부로 설정되지 않았는지 확인하세요.
  2. 트래픽 확인: 프록시를 사용해야 하는 대상을 열고 ‘연결’에서 적용된 규칙과 정책 경로를 확인하세요. IP 주소 조회 결과는 참고용일 뿐입니다. 조회 요청 자체가 직접 연결 규칙을 따를 수도 있습니다.
  3. 앱 확인: 브라우저와 기존에 문제가 있었던 앱을 각각 테스트하세요. 브라우저가 정상이라고 모든 앱이 정상이라고 볼 수는 없습니다.
  4. 종료 확인: 시스템 프록시와 TUN을 먼저 끈 다음 클라이언트를 정상 종료하고 일반 네트워크 연결이 복구되었는지 확인하세요.

클라이언트를 종료했는데도 Windows가 로컬 프록시를 가리키는 경우

클라이언트가 비정상 종료된 뒤에도 Windows 프록시 설정에 127.0.0.1이 남아 있고 해당 포트에서 연결을 받지 않으면, 시스템 프록시를 따르는 앱에서 오류가 발생합니다. Windows ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’를 열고 ‘수동 프록시 설정’의 ‘프록시 서버 사용’을 확인하세요. 해당 주소가 종료된 클라이언트가 설정한 값임을 확인한 뒤에만 끄세요. 회사에서 요구하는 프록시나 설정 스크립트는 임의로 삭제하지 마세요.

TUN을 끈 뒤에만 문제가 생긴다면 클라이언트를 다시 실행해 TUN을 정상적으로 끈 다음 가상 네트워크 어댑터와 라우팅이 복구되었는지 확인하세요. 다른 VPN이나 기업 네트워크에 영향을 줄 수 있으므로 네트워크 어댑터를 일괄 삭제하거나 라우팅 테이블을 비우고 모든 네트워크 설정을 초기화하지 마세요.

필드를 더 조정해야 한다면 YAML 설정 설명서를 참고하세요. 최소 설정과 한 가지 트래픽 처리 방식부터 작동하게 만든 뒤 사용자 지정 DNS, 분기 규칙, 다른 네트워크 도구를 차례로 다시 적용하는 편이 모든 옵션을 한꺼번에 켜는 것보다 문제를 찾기 쉽습니다.