MANUAL FULL / 완전판 매뉴얼

Clash 완벽 마스터: 시스템 가이드 전체

이 페이지는 사이트에서 정보량이 가장 많은 페이지입니다. "코어와 클라이언트의 관계"부터 "직접 설정 작성과 명령줄 배포"까지, 9개 챕터로 단계별로 진행되며 각 챕터는 독립적으로 참고할 수 있습니다. 10분 안에 빠르게 연결하고 싶다면 먼저 그림으로 보는 시작 가이드를 확인하세요. 그쪽은 빠른 흐름이고, 이 페이지는 시스템 매뉴얼입니다. 설치가 끝난 뒤 다시 돌아와 챕터별로 보완하면 쓸수록 이해가 깊어집니다.

챕터 09 용도 시스템 참고 매뉴얼 연계 tutorial.html 빠른 흐름

1장 핵심 개념: 부품부터 정확히 파악하기CH-01

처음 Clash를 켜면 "코어", "정책 그룹", "Mixed Port" 같은 용어가 화면을 가득 채워 당황하는 초보자가 많습니다. 하지만 부품의 개수는 몇 개 안 됩니다. 먼저 이것들을 정확히 파악해두면 이후 단계가 훨씬 쉬워집니다. 가구를 조립하기 전에 부품 봉투를 확인하는 것과 같습니다.

코어와 클라이언트: 엔진과 조종석

오늘 이야기하는 Clash는 하나의 생태계를 가리킵니다. 실제 작업을 담당하는 코어와 조작 화면을 담당하는 여러 클라이언트로 구성됩니다. 대표적인 코어는 mihomo(Clash Meta 코어라고도 불림)이며, 그래픽 인터페이스가 없는 프로그램으로 프록시 연결을 만들고 규칙에 따라 트래픽을 분배합니다. 일상적으로 클릭하는 Clash Plus, Clash Verge Rev, FlClash 같은 소프트웨어는 모두 코어를 감싸는 그래픽 클라이언트입니다. 비유하자면 코어는 엔진, 클라이언트는 조종석입니다. 엔진이 성능을 결정하고 조종석이 사용 편의성을 결정합니다. 클라이언트마다 화면은 크게 다르지만 밑바탕은 대부분 같은 코어이므로, 이 가이드에서 다루는 원리는 어떤 클라이언트에서도 동일하게 적용됩니다.

설정 파일: 코어가 유일하게 참고하는 지침서

코어가 실행되면 오직 하나만 참고합니다. 바로 설정 파일이며, 보통 config.yaml이라는 이름을 가집니다. 어떤 노드를 쓸지, 어떤 프로토콜을 쓸지, 어떤 트래픽을 프록시하고 어떤 트래픽을 직접 연결할지, DNS를 어떻게 해석할지 모두 이 파일에 담겨 있습니다. 클라이언트에서 클릭하는 모든 동작은 본질적으로 이 파일을 대신 수정하는 것입니다. 이 점을 이해하면 6장과 9장에서 다룰 "설정 수정"이 더 이상 낯설지 않습니다. 지침서를 열어 몇 줄을 고치는 것뿐입니다.

구독, 노드, 규칙: 자주 나오는 세 단어

  • 구독 링크: 서비스 제공업체(흔히 "기지국"으로 불림)가 호스팅하는 원격 설정을 가리키는 URL입니다. 클라이언트가 주기적으로 이를 가져오면 최신 노드 목록을 자동으로 받을 수 있어 직접 입력할 필요가 없습니다.
  • 노드: 설정 파일의 proxies 항목에 있는 각 항목으로, 이름·주소·프로토콜·비밀번호를 가진 하나의 프록시 서버입니다. 수십 개의 노드가 목록으로 제공되어 선택할 수 있습니다.
  • 규칙: 설정 파일의 rules 항목에 있는 각 줄로, "어떤 트래픽을 어느 경로로 보낼지" 결정합니다. 국내 사이트는 직접 연결하고 해외 사이트는 프록시를 거치게 하는 것이 규칙의 역할입니다.

포트: 내 컴퓨터의 연결 구멍

코어가 실행되면 로컬에 리스닝 포트를 하나 엽니다. 기본값은 보통 7890(HTTP와 SOCKS5를 모두 받는 혼합 포트)입니다. 브라우저 등의 프로그램이 트래픽을 127.0.0.1:7890이라는 구멍에 넣으면, 코어가 이를 받아 규칙에 따라 전달합니다. 5장의 시스템 프록시와 8장의 포트 충돌은 모두 이 포트에서 시작됩니다.

부품역할대표적인 형태
코어(mihomo)연결 생성 및 규칙 기반 분리인터페이스 없는 프로그램, 클라이언트에 내장
클라이언트그래픽 인터페이스, 코어를 대신 조작Clash Plus / Verge Rev / FlClash 등
설정 파일노드, 규칙, DNS를 담은 종합 지침서config.yaml
구독 링크원격 호스팅 설정, 노드 자동 갱신길게 이어진 하나의 URL
혼합 포트로컬 트래픽 입구127.0.0.1:7890

정책 그룹, fake-ip, GEOIP 같은 용어는 이후 챕터에서 필요할 때 바로 설명합니다. 한꺼번에 확인하고 싶다면 용어집에 분류별로 한 페이지 정리해두었습니다.

2장 클라이언트 선택: 5개 플랫폼별 추천 부품CH-02

부품 파악이 끝났으니 이제 조종석을 고를 차례입니다. 클라이언트 선택이 치명적인 문제는 아니지만, 잘 고르면 시행착오를 줄일 수 있습니다. 원칙은 하나입니다. 초보자는 유지보수가 활발하고 인터페이스가 단순한 것을 먼저 선택하고, 숙련자는 취향에 따라 바꾸면 됩니다.

플랫폼별 추천 순서

플랫폼추천 순서비고
WindowsClash Plus → Clash Verge Rev → FlClash → Clash NyanpasuClash for Windows는 유지보수가 종료되어 아카이브 상태입니다
macOSClash Plus → Clash Verge Rev → FlClashClashX Meta는 유지보수가 종료되어 아카이브 상태입니다
AndroidClash Plus → Clash Meta for Android → FlClash → Surfboard모두 APK 또는 스토어 설치
iOSClash Plus(App Store)스토어에 등록, 검색 또는 다운로드 페이지에서 바로 이동
LinuxClash Verge Rev → FlClash데스크톱 환경. 서버는 9장 명령줄 방식 참고

하나씩 짚어보기

  • Clash Plus: 전 플랫폼 1순위 추천입니다. 5개 시스템의 인터페이스 논리가 동일하며, 구독 가져오기, 노드 전환, 모드 전환이 모두 눈에 잘 보이는 위치에 있어 4장 순서대로 하면 길을 잃을 일이 거의 없습니다. iOS에서는 App Store에서 바로 설치할 수 있는 몇 안 되는 선택지입니다.
  • Clash Verge Rev: 데스크톱에서 기능이 가장 풍부한 편으로, 설정 오버라이드, 스크립트 확장, 코어 전환까지 지원합니다. 6장의 커스텀 규칙 설명에서 자주 예시로 쓰입니다. Linux 데스크톱 사용자의 첫 선택지입니다.
  • FlClash: 오픈소스 크로스플랫폼으로, 데스크톱과 안드로이드에서 동일한 인터페이스를 제공합니다. "모든 기기에서 똑같은 모습"을 원한다면 선택할 만합니다.
  • Clash Nyanpasu: Windows 전용으로, 인터페이스가 가볍고 기능 방향은 Verge Rev와 비슷합니다.
  • Clash Meta for Android / Surfboard: 안드로이드용 두 가지 보완 선택지로, 전자는 코어 원형에 가깝고 후자는 극도로 간소하고 절전형입니다.

Clash for Windows 서비스 종료에 대해

예전 가이드에서 가장 많이 언급되던 Clash for Windows는 유지보수가 종료되었습니다. 새 버전도 없고, 코어 업데이트도 이어지지 않으며, 문제가 생겨도 고쳐줄 사람이 없습니다. 기존 설치 파일은 여전히 실행되지만, 초보자가 이미 생산이 중단된 부품으로 시작할 이유는 없습니다. "CFW" 관련 안내를 볼 때는 해당 동작을 Clash Plus나 Verge Rev에 맞춰 이해하면 됩니다. 개념은 완전히 동일하게 통용됩니다. macOS의 ClashX Meta도 마찬가지입니다.

선택이 끝났다면 다운로드 페이지에서 플랫폼에 맞는 파일을 받으세요. 각 카드에는 추천 배지와 지원 시스템이 표시되어 있습니다. 고민된다면 첫 번째 카드를 고르면 됩니다. 이는 근거 없는 추천이 아니라 저희가 먼저 시행착오를 겪고 정리한 순서입니다.

3장 설치와 최초 실행: 부품을 끼우고 통전 점검CH-03

설치 자체는 어렵지 않습니다. 어려운 것은 각 시스템에서 나오는 "차단 알림"입니다. 이 섹션에서는 각 플랫폼의 알림과 대응 방법을 모두 정리했으니, 그대로 따라 하면 됩니다.

Windows

  1. 다운로드 페이지 Windows 섹션에서 설치 파일을 받아 더블클릭하고 안내에 따라 진행하세요. 설치 경로에 한글이나 특수문자가 없는 것이 가장 안전합니다.
  2. SmartScreen에서 "Windows에서 PC를 보호했습니다" 알림이 뜨면 "추가 정보" → "실행"을 클릭하세요. 오픈소스 소프트웨어는 대부분 상업용 서명 인증서를 구매하지 않기 때문에 시스템이 낯선 서명을 일단 막는 것이며, 공식 채널에서 다운로드했다면 파일에 문제가 있는 것은 아닙니다.
  3. 최초 실행 시 관리자 권한이나 서비스 설치를 요구하면 허용을 선택하세요. 7장의 TUN 모드가 이 서비스에 의존합니다.

macOS

  1. .dmg 파일을 다운로드한 뒤 열어서 앱 아이콘을 "응용 프로그램" 폴더로 드래그하세요. 칩 종류를 구분하는 것이 중요합니다. Apple Silicon(M 시리즈)과 Intel용 설치 파일이 각각 다르며, 다운로드 페이지 카드에 명확히 표시되어 있습니다.
  2. 처음 실행할 때 "개발자를 확인할 수 없음" 알림이 뜨면 "시스템 설정 → 개인정보 보호 및 보안"을 열어 화면 하단에 나타난 차단된 앱을 찾아 "열기"를 클릭하세요. 이 동작은 한 번만 하면 됩니다.
  3. 클라이언트가 처음 네트워크를 관리할 때 보조 프로그램 설치나 시스템 프록시 변경을 요청하며 로그인 비밀번호 입력을 요구합니다. 이는 macOS의 표준 권한 승인 절차이므로 입력하면 됩니다.

Android와 iOS

  1. Android: APK를 다운로드해 설치할 때 "알 수 없는 소스의 앱 설치 허용" 알림이 뜨면 브라우저나 파일 관리자에 한 번 권한을 부여하세요. 프록시를 처음 실행할 때 "연결 요청" VPN 승인 창이 뜨며, 반드시 "확인"을 눌러야 합니다. 누르지 않으면 트래픽이 코어로 들어가지 못합니다.
  2. iOS: App Store에서 Clash Plus를 설치하세요. 경로는 다운로드 페이지 iOS 섹션을 참고하세요. 처음 실행 시에도 VPN 구성 추가를 요청하며, Face ID나 비밀번호로 인증을 통과하면 됩니다.

Linux

데스크톱 사용자는 .deb 패키지를 다운로드한 뒤 명령 한 줄로 설치할 수 있습니다.

sudo apt install ./clash-verge-rev_amd64.deb

의존성은 자동으로 채워집니다. 다른 배포판과 서버 배포 방법은 블로그의 《Linux에서 Clash 설치 전체 흐름》을 참고하세요. systemd 상시 실행 방법까지 모두 다루고 있습니다.

최초 실행 점검 목록

  • 트레이나 상태 표시줄에 클라이언트 아이콘이 나타나면 프로그램이 정상 작동 중이라는 뜻입니다.
  • 설정 페이지에서 혼합 포트(일반적으로 기본값 7890)가 보이면 코어가 리스닝 중이라는 뜻입니다.
  • 이 시점에 아직 인터넷이 안 되는 것은 정상입니다. 구독을 아직 등록하지 않아 부품 봉투에 노드가 없는 상태입니다. 다음 장에서 채워 넣습니다.

4장 구독 등록: 클라이언트에 노드 꽂기CH-04

구독 링크는 전체 시스템의 "전원 케이블"입니다. 이 장에서는 어떻게 받고, 어떻게 연결하고, 어떻게 전원을 유지하는지 설명합니다.

구독 링크는 어디서 받나요

구독 링크는 서비스 제공업체가 제공합니다. 제공업체의 회원 페이지에 로그인해 "구독" 또는 "원클릭 구독" 영역에서 전체 URL을 복사하세요. 핵심은 두 가지입니다. 첫째, Clash 형식(또는 mihomo / Clash Meta로 표시된) 구독을 받아야 합니다. 다른 형식은 코어가 읽지 못합니다. 둘째, 링크는 보통 길기 때문에 완전히 복사해야 하며, 한 글자만 빠져도 전체가 무효가 됩니다. 페이지의 "복사" 버튼을 사용하는 것이 가장 좋고, 직접 드래그해서 선택하지 마세요.

가져오기 4단계

  1. 구독 링크를 클립보드에 복사합니다.
  2. 클라이언트를 열고 "설정" 또는 "구독" 페이지로 이동합니다(Clash Plus와 Verge Rev 모두 Profiles/설정이라는 이름을 사용합니다).
  3. 링크를 입력란에 붙여넣고 "가져오기" 또는 "다운로드"를 클릭합니다. 클라이언트가 원격 설정을 가져오며, 몇 초 뒤 목록에 새 설정 카드가 나타납니다.
  4. 이 카드를 클릭해 활성화하세요. 홈 화면이나 "프록시" 페이지로 돌아가면 긴 노드 목록이 보이며, 이는 전원이 연결되었다는 뜻입니다.

구독 갱신: 수동과 자동

서비스 제공업체는 정기적으로 노드 주소를 변경하므로 구독을 갱신해야 합니다. 수동 갱신: 설정 카드에서 새로고침 버튼을 클릭하면 됩니다. 자동 갱신: 대부분의 클라이언트는 설정에 갱신 간격(분 단위, 예를 들어 1440은 하루에 한 번)을 지정할 수 있으며, 설정해두면 이후로는 신경 쓰지 않아도 됩니다. 둘 다 함께 쓰는 것을 권장합니다. 평소에는 자동에 맡기고, 대규모로 연결이 안 될 때는 먼저 수동으로 한 번 새로고침하세요.

가져오기 실패의 흔한 원인 세 가지

  • 링크가 불완전하거나 이미 만료됨: 회원 페이지에서 다시 복사하고 요금제가 만료되지 않았는지 확인하세요.
  • 현재 네트워크에서 구독 도메인에 접속할 수 없음: 일부 제공업체의 구독 주소 자체가 방해를 받는 경우가 있습니다. 사용 가능한 노드가 있다면 우선 프록시를 켠 뒤 갱신하거나, 다른 네트워크 환경(예: 휴대폰 테더링)에서 가져와 보세요.
  • 형식이 맞지 않음: 다른 소프트웨어용 구독을 받은 경우입니다. 회원 페이지에서 Clash 전용 링크로 교체하세요.

가져오기가 성공하면 먼저 지연 시간 테스트를 한 번 돌린 뒤 노드를 선택하세요. 지연 시간 숫자를 어떻게 읽는지, 트래픽 배율이 무엇인지는 블로그의 《Clash 노드 선택 가이드》에서 4가지 기준으로 정리했으니, 이 단계에서 함께 읽어보길 권합니다.

5장 프록시 모드와 시스템 프록시: 트래픽이 들어오는 경로와 나가는 경로CH-05

노드가 준비되었으니 이제 두 가지 질문에 답해봅시다. 트래픽은 어떻게 Clash로 들어오는가(시스템 프록시), 들어온 뒤 어느 경로로 가는가(프록시 모드). 이 두 스위치는 역할이 다르므로 혼동하면 "켰는데도 적용이 안 되는" 착각이 생깁니다.

세 가지 프록시 모드

모드동작적용 상황
규칙(Rule)rules를 하나씩 대조해 일치하는 대로 처리일상적인 기본값, 국내 직접 연결·해외 프록시
전역(Global)모든 트래픽이 선택한 노드로만 이동일시적인 긴급 상황, 예를 들어 구독 도메인이 방해받을 때 전역 모드로 먼저 갱신
직접 연결(Direct)모든 트래픽이 프록시를 거치지 않음문제 해결 시 대조 테스트용

일상적으로는 규칙 모드를 유지하면 됩니다. 전역 모드는 편리해 보이지만 실제로는 직접 연결해도 되는 국내 트래픽까지 해외로 우회시켜 느려지고 트래픽도 낭비합니다. 임시 도구로만 써야 합니다. 직접 연결 모드의 가장 큰 쓸모는 8장에 있습니다. 문제 해결 시 "프록시를 거치지 않을 때 네트워크 자체가 정상인지"를 확인하는 데 씁니다.

시스템 프록시란 무엇인가

"시스템 프록시" 스위치를 켜면 클라이언트가 운영체제에 "HTTP 프록시는 127.0.0.1:7890으로 설정해주세요"라고 등록합니다. 브라우저와 대부분의 일반 소프트웨어는 이 시스템 설정을 따르므로 트래픽이 자동으로 Clash 포트로 흘러들어갑니다. 이는 두 가지를 설명해줍니다. 첫째, 시스템 프록시를 켜지 않으면 노드가 모두 정상이어도 브라우저는 그대로 직접 연결됩니다. 둘째, 시스템 프록시는 "신사협정"과 같습니다. 일부 소프트웨어(일부 게임, 명령줄 도구, UWP 앱)는 시스템 설정을 전혀 참고하지 않고 트래픽이 Clash를 거치지 않고 바로 나갑니다. 이런 예외를 모두 잡으려면 7장의 TUN 모드를 참고하세요.

노드 선택과 지연 시간 테스트

"프록시" 페이지에서 정책 그룹에 대해 지연 시간 테스트를 실행하면 클라이언트가 각 노드에 테스트 요청을 보내 왕복 밀리초를 표시합니다. 경험상 100~200밀리초 이내면 일상적인 사용에 부드럽습니다. 숫자가 작을수록 좋지만, 같은 데이터센터 노드 간 몇십 밀리초 차이는 체감이 크지 않으니 최저값에 지나치게 집착할 필요는 없습니다. 시간 초과(timeout)된 노드는 바로 건너뛰세요. 노드를 고른 뒤 웹페이지를 열어 확인해보세요. 지연 시간은 정상인데 실제 속도가 느리다면 다른 문제입니다. 블로그의 《Clash 속도 느림 진단법》에서 3단계 진단법을 제공하니, 곧바로 구독을 바꾸지 말고 먼저 확인해보세요.

여기까지 왔다면 사실 빠른 흐름은 이미 끝났습니다. 설치, 가져오기, 시스템 프록시 켜기, 노드 선택까지 하면 인터넷이 됩니다. 그림으로 보는 가이드가 다루는 것이 바로 이 흐름입니다. 이후 챕터는 "쓸 수 있는" 단계에서 "제대로 이해하는" 단계로 나아갑니다.

6장 규칙 분리: 이해부터 커스텀까지CH-06

규칙 모드는 어떤 사이트를 직접 연결하고 어떤 사이트를 프록시로 보낼지 어떻게 아는 걸까요? 답은 모두 설정 파일의 rules 항목에 있습니다. 이 장에서는 이를 이해하는 법과 안전하게 수정하는 법을 알아봅니다.

한 줄 규칙의 3단 구조

각 규칙은 "유형, 매칭 대상, 출구" 세 부분으로 구성됩니다. 예를 들어 DOMAIN-SUFFIX,github.com,수동 선택은 github.com으로 끝나는 도메인의 트래픽을 "수동 선택"이라는 출구로 보낸다는 뜻입니다. 자주 쓰는 유형은 다음과 같습니다.

  • DOMAIN-SUFFIX: 도메인 접미사를 매칭하며 가장 자주 쓰입니다.
  • DOMAIN-KEYWORD: 도메인에 특정 키워드가 포함되면 일치하며, 범위가 더 넓습니다.
  • IP-CIDR: IP 대역을 매칭하며, 주로 로컬 네트워크를 통과시키는 데 씁니다.
  • GEOIP,CN: 대상 IP가 중국 본토에 속할 때 일치하며, DIRECT와 함께 사용해 "국내 직접 연결"을 구현합니다.
  • MATCH: 기본 규칙으로 항상 맨 마지막 줄에 두며, 앞에서 매칭되지 않은 모든 트래픽을 받아냅니다.

매칭 순서는 위에서 아래로, 처음 일치하는 줄에서 멈추는 방식입니다. 즉 규칙의 순서가 곧 우선순위입니다. 커스텀 규칙을 적용하려면 먼저 일치할 수 있는 일반 규칙보다 앞에 둬야 합니다. 이 점만 기억하면 "규칙이 적용되지 않는" 의문의 8할은 해결됩니다.

출구는 노드만이 아니다: 정책 그룹

규칙의 세 번째 부분에 쓰는 출구는 대개 특정 노드가 아니라 정책 그룹입니다. 이는 노드 묶음과 선택 방식의 조합입니다. 자주 쓰는 세 가지는 select(수동 선택, 화면의 드롭다운 목록이 바로 이것), url-test(정기적으로 속도를 측정해 자동으로 가장 빠른 노드 사용), fallback(순서대로 검사해 첫 번째가 끊기면 자동으로 다음으로 대체)입니다. 구독에 미리 설정된 "자동 선택", "장애 조치" 그룹이 각각 뒤의 두 방식입니다.

이해하기 쉬운 최소 예시

proxy-groups:
  - name: 수동 선택
    type: select
    proxies: [자동 측정, 홍콩-01, 일본-01, DIRECT]
  - name: 자동 측정
    type: url-test
    proxies: [홍콩-01, 일본-01]
    url: https://www.gstatic.com/generate_204
    interval: 300

rules:
  - DOMAIN-SUFFIX,github.com,수동 선택
  - DOMAIN-KEYWORD,google,수동 선택
  - IP-CIDR,192.168.0.0/16,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,수동 선택

해석: GitHub와 google이 포함된 도메인은 "수동 선택" 그룹으로 보내고, 로컬 네트워크와 국내 IP는 직접 연결하며, 나머지는 모두 "수동 선택"으로 받아냅니다. 이 다섯 줄이 대부분의 구독 설정의 골격이며, 구독은 이를 수백 줄로 확장한 것뿐입니다.

내 규칙을 추가하는 법

구독으로 받은 파일을 직접 수정하면 안 됩니다. 다음 구독 갱신 때 수정 내용이 통째로 덮어씌워집니다. 올바른 방법은 클라이언트의 오버라이드/병합 기능을 쓰는 것입니다. Clash Verge Rev는 "전역 확장 설정"과 Merge 오버라이드를 제공하고, Clash Plus도 커스텀 규칙 입력창이 있습니다. 여기에 작성한 규칙은 구독을 갱신할 때마다 최종 설정 상단에 자동으로 덧붙습니다. DOMAIN-SUFFIX 줄을 추가하고 저장한 뒤 설정을 다시 불러와서 로그에서 일치 여부를 확인하면 됩니다. 잘못 적었다면 그 줄을 지우고 다시 불러오면 되고, 구독 원본은 전혀 손상되지 않습니다.

7장 TUN 모드와 DNS: 빠져나간 트래픽까지 수용하기CH-07

5장에서 설명했듯 시스템 프록시가 모든 소프트웨어를 통제하지는 못합니다. 이 장에서는 두 가지 고급 부품을 다룹니다. 모든 트래픽을 인수하는 TUN, 그리고 "도메인 번역" 품질을 결정하는 DNS입니다.

TUN: 가상 네트워크 카드 수준의 인수

TUN 모드를 켜면 클라이언트가 시스템에 가상 네트워크 카드를 만들고 기본 라우팅을 그쪽으로 지정합니다. 이 순간부터 모든 애플리케이션의 트래픽이 시스템 프록시를 참고하든 안 하든 먼저 Clash를 거쳐 나갑니다. 게임, 명령줄 도구, 말을 안 듣는 각종 클라이언트까지 전부 잡을 수 있습니다. 활성화 조건은 다음과 같습니다.

  • Windows: 클라이언트를 관리자 권한으로 실행하거나, 먼저 설정에서 "서비스 모드"를 설치하세요(한 번만 설치하면 계속 유효하므로 후자를 권장합니다).
  • macOS: 처음 켤 때 시스템 권한 승인을 요청하며, 비밀번호를 입력해 허용하세요.
  • Android / iOS: 원래부터 항상 VPN 인수 방식이므로 별도로 TUN을 켤 필요가 없습니다.

TUN을 켤 때는 시스템 프록시 스위치를 함께 끄는 것을 권장합니다. 두 입구가 겹치는 것을 방지하기 위함입니다. 확인 방법: 평소 시스템 프록시를 참고하지 않는 명령줄 도구로 네트워크를 시도해보세요. 연결되면 인수가 성공했다는 뜻입니다.

fake-ip: 먼저 통과시키고 나중에 번역

TUN은 보통 enhanced-mode: fake-ip와 함께 사용됩니다. 애플리케이션이 도메인을 조회하면 코어가 먼저 198.18.0.0/16 대역의 가짜 IP를 반환해 연결을 즉시 성립시키고, 실제 해석은 전달 시점에 처리합니다. 장점은 실제 DNS 왕복 한 번을 아끼고, 규칙이 도메인 기준으로 정확히 매칭될 수 있다는 것입니다. 가짜 IP를 봐도 놀라지 마세요. 설계상 그런 것이며 바이러스가 아닙니다.

DNS 항목의 최소 구성

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  fallback:
    - https://1.1.1.1/dns-query

요약: 국내 도메인은 nameserver의 암호화 DNS로 빠르게 해석하고, 의심스럽거나 해외로 판단되는 결과는 fallback에서 다시 검증해 해석 오염을 방지합니다. 각 항목의 선택 기준과 fallback-filter 작성법은 블로그의 《Clash DNS 설정 완전 해설》에서 항목별로 자세히 다루니 함께 읽어보길 권합니다.

Windows 전용: UWP 루프백 예외

Windows 스토어 앱(UWP)은 기본적으로 로컬 루프백 주소 접근이 시스템에 의해 차단되어 있어, 127.0.0.1:7890에 연결할 수 없습니다. 즉 스토어 앱이 아무리 해도 프록시를 거치지 않는 현상으로 나타납니다. 해결책: 대부분의 클라이언트에는 "UWP 루프백 예외" 도구가 내장되어 있어, 열어서 해당 앱을 체크하고 저장하면 됩니다. 내장 도구가 없다면 시스템 기본 명령으로 직접 예외 처리할 수 있습니다.

CheckNetIsolation LoopbackExempt -a -n=앱 패키지 이름

8장 일상 유지보수와 문제 해결: 순서대로 분석하기CH-08

잘 설치된 시스템도 관리가 필요합니다. 이 장에서는 두 가지를 제공합니다. 일상적인 세 가지 습관, 그리고 순서가 정해진 문제 해결 흐름표입니다. 문제 해결에서 가장 피해야 할 것은 이곳저곳 아무렇게나 건드리는 것입니다. 순서대로 진행하면 매 단계마다 범위를 좁힐 수 있습니다.

세 가지 일상 습관

  • 구독을 최신 상태로 유지: 자동 갱신 간격을 설정하고, 연결이 안 될 때는 소프트웨어 재설치보다 먼저 구독을 수동으로 새로고침하세요.
  • 클라이언트도 함께 업그레이드: 클라이언트 업데이트에는 대개 코어 업데이트가 함께 포함되며, 프로토콜 호환성과 규칙 동작 수정이 들어 있습니다. 업데이트 알림을 보면 너무 오래 미루지 마세요.
  • 로그 읽는 법 익히기: 클라이언트의 "로그" 페이지는 각 연결이 어떤 규칙에 걸렸고 어떤 노드를 통과했는지 실시간으로 보여줍니다. 거짓말하지 않는 유일한 증인이므로 이후의 모든 문제 해결 단계에서 참고해야 합니다.

6단계 문제 해결 흐름

  1. 직접 연결 모드로 기본 네트워크 확인: 직접 연결로도 인터넷이 안 되면 문제는 광랜이나 Wi-Fi에 있는 것이고 Clash와는 무관하니 먼저 네트워크를 고치세요.
  2. 노드 지연 시간 테스트: 전부 시간 초과라면 구독 만료나 서비스 장애이므로 구독을 새로고침하고 요금제를 확인하세요. 일부만 시간 초과라면 다른 노드로 바꾸세요.
  3. 노드와 지역 변경: 특정 노드만 불안정한 경우가 흔합니다. 같은 지역의 다른 노드로 바꿔보고, 안 되면 지역을 바꿔보세요.
  4. 모드와 스위치 확인: 규칙 모드이거나 시스템 프록시, TUN 중 최소 하나가 켜져 있는지 확인하세요. "다 정상인데 트래픽이 없는" 경우는 대개 입구 스위치가 꺼져 있는 것입니다.
  5. 로그로 매칭 결과 확인: 목표 사이트의 연결이 DIRECT로 매칭되었다면 규칙 문제입니다. 6장으로 돌아가 커스텀 규칙을 추가하세요.
  6. 포트 충돌 확인: 실행 시 bind: address already in use 오류가 뜬다면 7890 포트를 다른 프로그램이 점유한 것입니다. 점유 상태 확인 방법:
# Windows
netstat -ano | findstr 7890

# macOS / Linux
lsof -i :7890

점유 중인 프로세스를 찾았다면 종료하거나, 클라이언트 설정에서 혼합 포트를 다른 값(예: 7897)으로 바꾸세요. 3개 플랫폼별 전체 처리 방법과 포트 변경 세부사항은 블로그의 《Clash 포트 점유 오류 해결법》을 참고하세요. 속도가 느릴 때의 단계별 진단은 《속도 느림 3단계 진단법》을 참고하고, 그 외 자잘한 문제는 자주 묻는 질문 페이지에 분류별로 한 페이지 정리되어 있습니다.

클라이언트 교체와 이전

한 클라이언트에서 다른 클라이언트로 옮길 때 "이사"할 필요는 없습니다. 구독 링크가 곧 당신의 모든 자산입니다. 새 클라이언트를 설치하고 링크를 다시 등록하면 됩니다. 커스텀 규칙은 기존 클라이언트의 오버라이드 페이지에서 복사해 새 클라이언트의 해당 위치에 붙여 넣으세요. 기존 클라이언트를 삭제하기 전에는 반드시 시스템 프록시와 TUN을 먼저 끄세요. 그러지 않으면 남은 프록시 설정 때문에 "삭제 후 인터넷이 안 되는" 상황이 생길 수 있습니다. 이는 FAQ에서도 자주 나오는 문제입니다.

9장 고급 활용: 사용자에서 마스터로CH-09

8장까지 왔다면 이미 훌륭한 일상 사용자입니다. 마지막 장에서는 고급 활용 지도를 그려봅니다. 더 깊이 들어가고 싶다면 이 순서로 진행하면 길을 잃지 않습니다.

첫 번째 단계: config.yaml 직접 작성하고 이해하기

구독으로 받은 설정 파일을 텍스트 편집기로 열어 6, 7장의 예시와 비교하며 전체를 읽어보세요. port, mode, proxies, proxy-groups, rules, dns 여섯 개 항목이 각각 무엇을 담당하는지 읽어보면 감이 잡힙니다. 그다음 오버라이드에 자신만의 정책 그룹을 직접 작성해보세요. 예를 들어 자주 쓰는 노드 세 개를 fallback 그룹으로 묶어 특정 사이트 전용으로 지정해보는 겁니다. 수정 전에는 원본 설정을 하나 복사해 보관하세요. 잘못돼도 이전 단계로 되돌리면 됩니다.

두 번째 단계: 명령줄과 서버 배포

데스크톱 클라이언트는 단지 껍데기일 뿐, mihomo 코어 자체는 소프트 라우터, NAS, 클라우드 서버 등 어떤 Linux 기기에서도 독립적으로 실행할 수 있습니다. 핵심은 세 단계입니다. 코어 바이너리를 배치하고, config.yaml을 작성하고, systemd로 부팅 상시 실행 서비스로 등록하는 것입니다. 이후 브라우저로 패널 주소를 열면 원격으로 노드와 규칙을 관리할 수 있습니다. 전체 명령과 service 파일 템플릿은 블로그의 《Linux에서 Clash 설치 전체 흐름》 후반부에 모두 정리되어 있으며, 코어 파일은 다운로드 페이지 코어 섹션에서 아키텍처별로 받을 수 있습니다.

세 번째 단계: 규칙셋과 자동화

수동으로 작성한 규칙이 수십 줄이 되면 규칙셋(rule-providers)으로 넘어가야 합니다. 용도별로 규칙을 나눠 원격으로 관리되는 목록 파일로 만들고, 메인 설정에서 한 줄로 참조해 자동으로 정기 갱신되게 하는 방식입니다. 커뮤니티에서 관리하는 목록은 주요 사이트 분류를 대부분 포괄하므로 직접 한 줄씩 작성하는 것보다 훨씬 효율적입니다. url-test 그룹과 적절한 DNS를 함께 쓰면 "설치 후 신경 쓸 필요 없는" 설정이 완성됩니다.

추천 학습 순서

  • 용어집의 "설정 파일 필드", "규칙과 분리" 두 분류를 한 번 훑어보며 어휘를 정리하세요.
  • DNS 편과 노드 선택 편 두 블로그 글을 정독하세요. 가장 얻는 것이 많은 지식입니다.
  • 오버라이드에서 직접 연습해보세요. 규칙 추가 → 정책 그룹 생성 → 규칙셋 참조, 매 단계마다 로그로 매칭 여부를 확인하세요.
  • 유휴 Linux 기기가 있다면 명령줄 배포 편을 따라 mihomo를 직접 실행해보세요. 코어가 그래픽 인터페이스 없이 동작하는 모습을 이해할 수 있습니다.

마지막으로 한 가지 당부드립니다. 프록시는 도구이고 규칙은 질서입니다. 설정을 아무리 다양하게 다뤄도 거주 지역의 법률과 규정을 준수하며 네트워크 도구를 합리적으로 사용해주세요. 이 매뉴얼은 여기서 조립이 끝났습니다. 어느 챕터든 다시 느슨해지면 언제든 돌아와 도면을 보고 다시 조립하세요.

클라이언트 다운로드 ->