1. Windows 아키텍처와 클라이언트 종류 확인

Windows에서 흔히 말하는 ‘Clash 설치’는 보통 그래픽 클라이언트를 설치해 프록시 코어를 관리하는 것을 뜻합니다. 클라이언트 화면에서는 구독, 켜기·끄기, 로그를 관리하고, 코어는 포트 수신, 규칙 매칭, 노드 연결을 담당합니다. Clash Meta는 이후 mihomo라는 이름으로 개발을 이어가고 있습니다. 지원되는 설정 항목은 창 제목만 보고 판단하지 말고 코어 문서와 현재 버전 안내를 확인하세요.

이 가이드는 Windows 11의 설정 경로를 기준으로 설명합니다. Windows 10에서는 메뉴 이름이 조금 다를 수 있습니다. 클라이언트는 mihomo를 사용하는 Clash Verge Rev 계열 그래픽 인터페이스를 기준으로 하며, 특정 버전의 버튼 위치가 모든 클라이언트에서 같다고 가정하지 않습니다.

  1. 「설정」→「시스템」→「정보」에서 ‘시스템 종류’를 확인하세요. Windows 10에서는 「시스템」→「정보」에서 찾을 수 있습니다.
  2. ‘x64 기반 프로세서’라고 표시되면 x64 또는 AMD64 빌드를 우선 선택하세요. AMD64는 AMD 프로세서 전용이 아닙니다.
  3. ‘ARM 기반 프로세서’라고 표시되면 클라이언트에서 제공하는 ARM64 빌드를 우선 선택하세요. 다운로드 페이지에 해당 빌드가 없다면 프로젝트의 시스템 지원 안내를 확인하세요. x64 설치 파일을 네이티브 ARM64 패키지로 간주해서는 안 됩니다.
  4. 현재 Windows 버전이 클라이언트 릴리스 안내의 최소 요구 사항을 충족하는지 확인하세요. ‘64비트’라고 해서 모든 Windows에서 실행되는 것은 아닙니다.

이 사이트의 다운로드 센터에서 Windows 클라이언트를 선택한 뒤 프로젝트의 릴리스 안내도 확인하세요. 기존 Clash for Windows는 유지 관리가 중단되었습니다. 기존 설정을 옮겨야 한다면 먼저 백업한 다음, 유지 관리 중인 클라이언트에 다시 가져오세요. 새 클라이언트와 기존 클라이언트가 동시에 시스템 프록시를 설정하지 않도록 하세요.

2. 설치와 첫 실행: 일반 권한과 서비스 권한 구분

설치 전에 되돌릴 수 있는 상태를 마련하세요

  • 기존 프록시 클라이언트를 종료하고 시작 프로그램 실행을 잠시 꺼 두세요. 로그인 후 여러 클라이언트가 시스템 프록시 설정을 덮어쓰는 일을 방지할 수 있습니다.
  • 「설정」→「네트워크 및 인터넷」→「프록시」에서 기존 설정을 기록해 두세요. 회사 기기에 설정된 스크립트 주소나 프록시 서버 정보는 임의로 삭제하지 마세요.
  • 설치 파일을 고정된 폴더에 저장하세요. 포터블 패키지는 완전히 압축을 푼 다음 실행하고, 압축 프로그램의 미리 보기 창에서는 실행하지 마세요.

일반적으로 클라이언트 화면 열기, 설정 가져오기, 로컬 시스템 프록시 사용에는 계속 관리자 권한으로 실행할 필요가 없습니다. 서비스를 설치하거나 가상 네트워크 어댑터를 설정하는 등 일부 네트워크 작업을 할 때만 권한 상승을 요청할 수 있습니다. 사용자 계정 컨트롤 알림이 표시되면 허용하기 전에 프로그램 이름과 배포처를 확인하세요.

SmartScreen 경고와 백신 차단은 별도로 확인하세요

‘Windows의 PC 보호’ 메시지는 SmartScreen의 평판 경고일 수 있으며, 악성 코드가 확인됐다는 뜻은 아닙니다. 먼저 다운로드 출처와 파일 속성의 디지털 서명(제공되는 경우), 프로젝트 릴리스 기록을 확인하세요. 출처를 확인할 수 없다면 실행을 중단하고, 무조건 ‘실행’을 선택하지 마세요.

Windows 보안에서 파일을 격리했다면 「Windows 보안」→「바이러스 및 위협 방지」→「보호 기록」으로 이동해 탐지 이름과 영향을 받은 경로를 확인하세요. 문의할 때는 이 정보를 제공하되, 실시간 보호 기능 전체를 끄거나 다운로드 폴더 전체를 제외 항목에 추가하지 마세요. 조직에서 관리하는 기기라면 관리자에게 문의하세요.

3. 구독을 가져오고 현재 설정이 활성화됐는지 확인

구독 주소는 제공 업체가 노드나 전체 설정을 전달하기 위한 URL이며, 웹사이트 로그인 주소와는 다릅니다. 완전한 Clash 설정에는 보통 프록시, 정책 그룹, 규칙 등이 포함됩니다. 노드 목록만 있는 구독은 클라이언트나 설정 템플릿과 함께 사용해야 합니다. 형식 오류가 발생하면 먼저 제공 업체의 형식이 Clash 또는 mihomo에 맞는지 확인하세요.

  1. 클라이언트의 「구독」 또는 「설정」 화면에서 ‘새로 만들기’, ‘가져오기’ 또는 URL 입력란을 선택해 구독 주소를 붙여 넣으세요.
  2. 다운로드나 업데이트를 실행한 뒤, 구독 이름만 추가된 것이 아니라 화면에 성공으로 표시되는지 확인하세요.
  3. 해당 설정을 선택하고 활성화하세요. 클라이언트에 여러 설정을 저장할 수 있더라도 한 번에 사용하는 설정은 하나뿐인 경우가 많습니다.
  4. 「프록시」 화면으로 이동해 정책 그룹이 표시되는지 확인하고, 실제 사용할 그룹에서 연결 가능한 노드를 선택하세요.
  5. 로그에서 YAML 파싱 오류, 알 수 없는 프록시 이름, 규칙 프로바이더 로드 실패가 없는지 확인하세요.

가져오는 중 401 또는 403 오류가 표시되면 구독 만료 여부, 토큰 유효성, 기기 수 제한을 확인하세요. 시간 초과가 발생하면 구독 도메인에 현재 연결할 수 있는지 확인하세요. 계속 업데이트를 눌러도 인증 오류는 해결되지 않습니다. 구독 주소에는 계정 토큰이 포함되는 경우가 많으므로 스크린샷, 로그, 문의 글에 전체 주소가 노출되지 않도록 가리세요.

원격 구독을 사용한다면 다운로드된 기본 설정 파일을 직접 수정하지 않는 것이 좋습니다. 다음 업데이트에서 변경 내용이 덮어써질 수 있습니다. 포트나 규칙 재정의 등이 필요하면 클라이언트에서 제공하는 설정 또는 재정의 기능을 우선 사용하고, 다시 불러온 뒤 실제 실행 설정에 반영됐는지 확인하세요.

4. 시스템 프록시 켜기: 포트를 확인한 뒤 요청 테스트

시스템 프록시는 Windows 프록시 설정을 따르는 앱이 로컬 프록시로 연결되도록 합니다. 모든 프로그램의 연결을 가로채는 기능은 아닙니다. 브라우저는 대개 시스템 프록시를 사용하지만, 게임이나 일부 명령줄 도구, 자체적으로 네트워크 연결을 관리하는 앱은 사용하지 않을 수 있습니다. HTTP 프록시만으로 임의의 UDP 트래픽까지 처리할 수도 없습니다.

로컬 수신 주소와 포트 설정

먼저 클라이언트 설정에서 ‘혼합 포트’ 또는 mixed-port를 찾으세요. 아래 예시에서는 7890을 사용하지만, 모든 클라이언트의 기본 포트가 이 값인 것은 아닙니다. mixed-port는 하나의 포트에서 HTTP와 SOCKS 프록시 요청을 모두 받을 수 있습니다. 클라이언트에서 HTTP 포트와 SOCKS 포트를 따로 설정했다면 해당 프로토콜에 맞는 포트를 사용하세요.

항목예시 값확인 위치 또는 용도
프록시 주소127.0.0.1로컬 컴퓨터를 뜻하며 노드 서버 주소가 아닙니다.
혼합 포트7890클라이언트에서 현재 적용 중인 값을 사용하세요.
시스템 프록시켜기Windows의 「네트워크 및 인터넷」→「프록시」에서 확인하세요.
아웃바운드 모드rule규칙에 따라 연결을 분기하므로 일반적인 사용에 적합합니다.
LAN 허용끄기로컬 컴퓨터에서만 사용할 때는 보통 켤 필요가 없습니다.
  1. 코어가 정상적으로 실행 중인지 확인하고 실제 혼합 포트를 기록하세요.
  2. 클라이언트에서 ‘시스템 프록시’를 켠 다음 Windows 프록시 화면에서 서버 주소와 포트를 확인하세요. PAC 스크립트를 사용하는 환경에서는 수동 프록시 항목만 보고 판단하면 안 됩니다.
  3. 모드를 ‘규칙’으로 설정하고 프록시 그룹에서 노드를 선택하세요. 규칙 모드에서는 일부 사이트가 직접 연결될 수 있습니다. 이는 규칙에 따른 동작일 수 있으며, 프록시 스위치가 작동하지 않는다는 뜻은 아닙니다.
  4. 확인이 필요한 웹페이지를 열고 클라이언트의 「연결」 화면에서 대상, 적용된 규칙, 아웃바운드 경로를 확인하세요.

프록시를 명시하는 명령으로 문제 범위 좁히기

PowerShell에서 아래 명령을 실행하세요. 테스트 도메인은 연결 확인을 위한 예시입니다. 성공 결과가 나와도 해당 요청이 로컬 프록시를 거쳤다는 것만 확인할 수 있으며, 모든 웹사이트나 정책 그룹이 정상이라는 뜻은 아닙니다.

Test-NetConnection 127.0.0.1 -Port 7890
curl.exe --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com/

TcpTestSucceeded : True는 해당 포트에 TCP 연결을 설정할 수 있다는 뜻일 뿐입니다. 두 번째 명령은 프록시 처리, 대상 연결, TLS도 확인합니다. 200 Connection established가 표시되면 프록시 터널 단계의 응답이므로, 이어지는 대상 사이트의 응답이나 오류도 확인해야 합니다. 일부 PowerShell 환경에서 같은 이름의 별칭이 간섭하지 않도록 curl.exe를 사용하세요.

5. TUN과 서비스 모드: 필요한 앱에만 사용

TUN은 가상 네트워크 인터페이스와 라우팅 설정을 통해 조건에 맞는 IP 트래픽을 처리하므로 시스템 프록시를 따르지 않는 앱에 사용할 수 있습니다. 서비스 모드는 클라이언트가 백그라운드 서비스와 권한을 관리하는 방식입니다. 두 기능은 같은 스위치가 아닙니다. 서비스를 설치해도 TUN이 자동으로 켜지지 않으며, TUN을 켜도 모든 연결이 프록시 노드로 전달되는 것은 아닙니다.

  1. 시스템 프록시 모드에서 구독, 노드, 규칙이 정상인지 먼저 확인하세요. 라우팅 충돌을 줄이려면 다른 VPN이나 가상 네트워크 어댑터 관리 도구는 끄세요.
  2. 클라이언트의 「설정」에서 ‘서비스 모드’ 또는 ‘서비스 관리’를 찾아 현재 클라이언트의 안내에 따라 서비스를 설치하고 시작하세요. 관리자 권한을 요청하면 작업 출처를 확인하세요.
  3. ‘TUN 모드’ 또는 ‘가상 네트워크 어댑터 모드’를 켜고, 로그에 권한 부족, 장치 생성 실패, 경로 추가 실패가 표시되는지 확인하세요.
  4. 대상 앱을 실행한 다음 「연결」 화면에 해당 앱의 요청이 표시되는지 확인하고, 적용된 규칙과 최종 아웃바운드도 확인하세요.

mihomo 설정에서 tun.enable은 TUN을 켜고 끄며, auto-route는 관련 경로를 자동으로 설정하고, dns-hijack은 조건에 맞는 DNS 요청을 가로채는 데 사용됩니다. 클라이언트가 이 항목을 자동 생성할 수 있으므로 온라인에서 찾은 TUN 설정을 구독에 그대로 덮어쓰지 마세요. 암호화 DNS, IPv6, LAN 접속, 프로세스 식별은 세부 설정과 실행 환경에 따라서도 달라집니다.

TUN을 켠 뒤 회사 내부망에 접속할 수 없거나 네트워크 프린터가 작동하지 않거나 절전 모드에서 깨어난 후 네트워크가 끊기면 먼저 TUN을 끄고 기존 네트워크 상태를 복구하세요. 그런 다음 라우팅과 DNS를 하나씩 확인하세요. 처음부터 Windows 네트워크 스택 전체를 재설정하지 마세요. 기존 VPN, 고정 IP 주소, 가상 스위치에 영향을 줄 수 있습니다.

6. 자주 발생하는 문제: 진입점·규칙·출구 순서로 확인

브라우저는 프록시를 사용하지 않지만 프록시 지정 명령은 정상인 경우

이 경우 로컬 프록시 진입점과 적어도 하나의 요청 경로는 작동할 가능성이 높으므로, 브라우저가 프록시를 어떻게 읽는지 먼저 확인하세요. Edge와 Chrome은 보통 시스템 프록시 설정을 사용하지만 확장 프로그램, 실행 인수, 조직 정책이 이를 덮어쓸 수 있습니다. Firefox에서는 「설정」→「일반」→「네트워크 설정」→「설정」에서 ‘시스템 프록시 설정 사용’을 선택할 수 있습니다. 변경 후 브라우저 창을 모두 닫았다가 다시 실행하세요.

연결 기록도 확인하세요. 요청이 표시되고 DIRECT 규칙이 적용됐다면 규칙과 정책 그룹을 확인하세요. 해당 연결이 전혀 없다면 브라우저의 프록시 설정 출처를 확인하세요. 웹사이트에 표시되는 외부 IP 주소는 참고 자료일 뿐이며 연결 로그를 대신할 수 없습니다.

프록시를 켠 뒤 모든 웹페이지에 접속할 수 없는 경우

  • 먼저 시스템 프록시를 끄고 원래 네트워크 연결을 확인하세요. 원래 네트워크도 연결되지 않는다면 Wi-Fi, 이더넷 케이블, 인증 페이지, 라우터 문제부터 해결하세요.
  • 로컬 포트 테스트에 실패하면 코어가 실행 중인지, address already in use 오류가 표시되는지 확인하세요.
  • 포트는 정상이지만 대상 연결이 시간 초과되면 같은 정책 그룹에서 다른 노드로 바꿔 보세요. 연결 시간 초과, TLS 실패, 도메인 이름 확인 실패 중 어느 문제인지 로그에서 확인하세요.
  • 일부 도메인에서만 문제가 생긴다면 해당 도메인에 적용된 규칙, DNS 결과, 대상 사이트 상태를 확인하세요. 바로 전체를 재설치할 필요는 없습니다.

7890 포트를 수신 중인 프로세스를 확인하려면 PowerShell에서 다음 명령을 사용하세요. 마지막 열은 PID입니다. 작업 관리자의 「세부 정보」에서 해당 프로세스를 확인하세요. 정체를 확인하기 전에는 알 수 없는 프로세스를 종료하지 마세요. 특히 시스템 프로세스나 기업 보안 프로세스는 주의해야 합니다.

netstat -ano | findstr LISTENING | findstr ":7890"

혼합 포트를 7891로 변경하려면 Windows 시스템 프록시와 브라우저 확장 프로그램, 명령줄 환경 변수, 프록시 주소를 직접 입력한 앱도 함께 수정해야 합니다. 클라이언트가 시스템 프록시를 자동으로 변경하더라도 실제 변경 결과를 확인하세요.

클라이언트를 종료한 뒤에도 인터넷이 연결되지 않는 경우

시스템 프록시가 종료된 로컬 포트를 계속 가리키고 있을 수 있습니다. 클라이언트를 다시 실행한 뒤 시스템 프록시를 끄거나, Windows 프록시 화면에서 이번 설정으로 추가된 수동 프록시를 제거하세요. 기존 회사 프록시나 자동 구성 스크립트가 있었다면 기록해 둔 원래 값으로 복구해야 합니다. TUN을 사용했다면 클라이언트 안내에 따라 가상 네트워크 어댑터의 트래픽 처리를 먼저 해제한 뒤 프로그램을 종료하세요.

7. 설정을 마친 뒤 확인할 항목

  • 버전 기록: 「정보」에서 그래픽 클라이언트 버전과 코어 버전을 각각 기록하세요. 문의할 때는 ‘최신 버전’이라고만 하지 마세요.
  • 구독 상태: 현재 설정이 활성화되어 있고 업데이트가 정상적으로 완료됐으며, 실제 사용할 정책 그룹에서 노드를 선택했습니다.
  • 진입점 일치: Windows 프록시 포트와 코어 수신 포트가 일치하고 다른 클라이언트가 주기적으로 설정을 덮어쓰지 않습니다.
  • 연결 경로 확인: 연결 기록에서 프록시 요청과 예상한 직접 연결을 각각 확인하고, 어떤 규칙이 적용됐는지 파악했습니다.
  • 재시작 후 작동: 설정이 안정된 뒤 시작 프로그램 실행을 켜고, 재부팅 후 서비스, 코어, 시스템 프록시가 올바른 순서로 시작되는지 확인했습니다.
  • 종료 후 복구: 프록시를 끄거나 클라이언트를 종료한 뒤에도 원래 네트워크를 정상적으로 사용할 수 있습니다.

클라이언트를 업데이트할 때는 구독 출처와 필요한 재정의 설정만 보관하면 됩니다. 기존 클라이언트의 실행 파일을 새 버전 폴더에 전부 복사할 필요는 없습니다. 문제가 생기면 모든 스위치를 반복해서 바꾸기보다 ‘로컬 포트 수신 여부 → 앱의 코어 진입 여부 → 적용된 규칙 → 노드 연결 여부’ 순서로 확인하세요. 용어는 용어 빠른 확인에서 살펴보고, 설정 항목의 의미는 프로토콜 가이드에서 확인할 수 있습니다.