GLOSSARY · 개념 정리
Clash 개념 정리: 코어·프로토콜·라우팅 용어집
구독, 노드, 정책 그룹, TUN처럼 설정과 튜토리얼에서 자주 나오는 단어들을 6개 분류로 나눠 각각 간단한 해설을 붙였다. 각 용어 카드에는 앵커 링크가 있어 상단 분류 내비게이션이나 초성 색인으로 바로 이동할 수 있으며, 설명만으로 부족하면 문서 끝에 문제 해결과 튜토리얼로 가는 링크도 있다.
- 26개 용어
- 6개 분류
- 앵커 바로가기
- 언제든 검색
초성으로 빠르게 찾기
KERNEL / CLIENTS
코어와 클라이언트
코어는 실제로 작업을 처리하는 엔진이고, 클라이언트는 그 엔진을 감싸는 조종석이다. 이 두 계층을 구분해두면 이어지는 대부분의 개념이 훨씬 쉬워진다.
mihomo 코어
Clash 생태계에서 현재 주류로 쓰이는 코어로 예전 이름은 Clash Meta였다. 설정을 해석하고 규칙을 매칭해 프록시 연결을 맺는 역할을 한다. 대부분의 GUI 클라이언트는 이 코어 위에 인터페이스를 씌운 형태이며, 코어 자체는 커맨드라인으로 동작하고 GPL-3.0 라이선스로 공개돼 있다. 요즘 「Clash 코어」라고 하면 대개 이것을 가리킨다.
Clash Meta 이전 명칭
mihomo 코어가 이름을 바꾸기 전에 쓰던 명칭으로 2023년 이후 점차 쓰이지 않게 됐다. 오래된 튜토리얼이나 예전 설정에서 보이는 Clash Meta, Clash.Meta 표기는 모두 지금의 mihomo를 가리킨다. 구독 변환 도구의 「Meta」 옵션도 이 코어에 대응한다.
Clash Verge Rev 데스크톱 클라이언트
Windows, macOS, Linux 데스크톱에서 널리 쓰이는 GUI 클라이언트로 mihomo 코어를 기반으로 하며, 구독 관리, 규칙 전환, 로그 확인 등을 인터페이스에서 처리할 수 있다. 기존 Clash Verge가 업데이트를 멈춘 뒤 커뮤니티가 이어받은 포크로, 데스크톱에서 설치 규모가 큰 편이다.
Clash Plus 전 플랫폼 클라이언트
Windows, macOS, Android, iOS를 아우르는 GUI 클라이언트로 역시 mihomo 코어를 기반으로 하며, 각 플랫폼에서 인터페이스와 설정 방식이 동일하다. iOS 버전은 App Store로 배포되며 공식 사이트는 clashplus.io다. 본 사이트의 다운로드 페이지에서도 각 플랫폼별 첫 추천으로 안내한다.
PROTOCOLS
프록시 프로토콜
노드와 클라이언트 사이에서 미리 정해두는 암호화 및 전송 방식이다. 구독의 각 노드에는 프로토콜 이름이 표시되므로, 이를 잘 구분하면 설정을 보고 짐작만 할 필요가 없어진다.
Shadowsocks SS · 프로토콜
초기부터 널리 쓰인 암호화 프록시 프로토콜로 패킷 구조가 단순하고 오버헤드가 낮다. 서버 주소, 포트, 비밀번호, 암호화 방식 네 가지로 설정한다. SSR 등 파생 버전이 생겨났으며 현재도 많은 구독에서 SS나 그 개선판을 제공한다. 설정 필드는 ss로 표기한다.
VMess / VLESS V2Ray 계열 프로토콜
V2Ray 프로젝트가 내놓은 두 가지 프로토콜이다. VMess는 자체 암호화와 사용자 ID 검증을 포함하고, VLESS는 내장 암호화를 없애 외부 TLS에 맡기는 방식으로 오버헤드가 더 적다. 두 가지 모두 WebSocket, gRPC 같은 전송 계층과 함께 쓰이는 경우가 많으며, 설정 필드는 각각 vmess, vless로 표기한다.
Trojan 프로토콜
HTTPS 트래픽처럼 보이도록 위장하는 프록시 프로토콜로 전체 통신이 TLS를 거치며 서버는 비밀번호로 연결을 검증한다. 겉모습이 일반적인 웹 접속과 비슷해 위장이 중요한 환경에서 자주 쓰인다. 설정 필드는 trojan이며 인증서와 SNI 설정이 필수다.
Hysteria2 프로토콜
QUIC 기반의 프록시 프로토콜로 UDP를 통해 전송되며 자체 혼잡 제어 기능이 있어 손실률과 지연이 높은 환경에서 특히 속도가 잘 나온다. 2세대 프로토콜에서 핸드셰이크와 위장 방식이 단순화됐으며, 설정 필드는 hysteria2이고 코어와 노드 양쪽 모두 지원이 필요하다.
RULES / ROUTING
규칙과 분기
Clash의 핵심 기능이 바로 여기서 결정된다. 어떤 연결을 프록시로 보내고 어떤 연결을 직접 연결할지는 이 개념들에 달려 있다.
규칙 분기 메커니즘
미리 정한 규칙에 따라 각 연결을 프록시, 직접 연결, 차단 중 하나로 판단하는 메커니즘으로 Clash의 핵심 사용 방식이다. 규칙은 위에서 아래로 순서대로 매칭되고 처음 일치하는 순간 멈추기 때문에 순서가 결과를 좌우한다. 도메인, IP 대역, 프로세스 이름, 지역 정보 등이 흔히 쓰이는 기준이다.
정책 그룹 proxy-groups
여러 노드나 하위 정책 그룹을 하나의 출구로 묶는 단위로, 설정에서는 proxy-groups로 표기한다. 수동 선택 select, 자동 속도 테스트 url-test, 장애 조치 fallback, 로드 밸런싱 load-balance 등이 대표적인 유형이다. 규칙에서 지정하는 목적지 이름은 사실 정책 그룹 이름이다.
GeoIP 데이터베이스
IP 주소로 소속 국가나 지역을 판별하는 데이터베이스로, 규칙에서 GEOIP,CN처럼 쓰는 방식이 이를 호출하는 것이다. 코어는 시작할 때 mmdb나 dat 형식의 파일을 불러오는데, 파일이 오래되면 새로 할당된 IP 대역을 제대로 판별하지 못하므로 클라이언트와 함께 업데이트해야 한다.
규칙 세트 rule-provider
같은 용도의 대량 규칙을 별도 파일로 분리해 필요할 때 불러오는 방식으로, 설정에서는 rule-providers로 선언한다. 수천 줄의 규칙을 메인 설정에 직접 넣는 것과 달리, 규칙 세트는 개별 업데이트와 필요 시 로드가 가능해 구독과 분기 템플릿에서 흔히 쓰인다.
RUN MODES
실행 모드
같은 설정이라도 모드를 바꾸면 동작 방식이 완전히 달라진다. 문제를 해결하기 전에 클라이언트가 지금 어떤 모드로 동작 중인지 먼저 확인해야 한다.
규칙 모드 Rule
세 가지 기본 모드 중 하나로, 규칙표를 하나씩 확인해 각 연결의 목적지를 판단한다. 평소 사용 시 기본으로 권장되는 모드이며, 국내 사이트는 직접 연결하고 해외 사이트만 프록시로 보내는 식의 효과가 바로 이 모드에서 나온다. 분기의 정확도는 규칙표 품질에 좌우된다.
글로벌 모드 Global
세 가지 기본 모드 중 하나로, 규칙표를 확인하지 않고 모든 연결을 GLOBAL 정책 그룹에서 선택한 출구로 일괄 전송한다. 노드가 정상 작동하는지 임시로 확인하거나, 반드시 하나의 출구로만 접속해야 하는 서비스를 이용할 때 적합하다. 계속 켜두면 국내 사이트조차 프록시를 거치게 돼 대체로 더 느려진다.
직접 연결 모드 Direct
세 가지 기본 모드 중 하나로, 모든 연결이 프록시를 거치지 않아 프록시를 잠시 끈 것과 비슷한 효과를 내면서도 클라이언트는 계속 실행 상태를 유지한다. 문제가 프록시 때문인지 확인할 때 직접 연결 모드로 전환해 비교하는 것이 가장 빠른 대조 실험이다.
TUN 모드 가상 네트워크 어댑터
코어 안에 가상 네트워크 어댑터를 만들어 전체 기기의 트래픽을 처리하는 실행 방식으로, 앱별 프록시 설정에 의존하지 않는다. 시스템 프록시를 따르지 않는 프로그램(일부 게임, 커맨드라인 도구 등)도 이 방식으로 처리된다. 어댑터 드라이버 설치를 위해 관리자 권한이 필요하며, 시스템 프록시와 동시에 사용할 수 있다.
시스템 프록시 System Proxy
클라이언트의 로컬 포트를 운영체제의 프록시 설정에 등록해, 시스템 프록시를 지원하는 브라우저와 앱이 자동으로 Clash를 거치도록 하는 방식이다. 시스템 프록시 설정을 따르는 프로그램에만 적용되며 UDP나 해당 설정을 읽지 않는 소프트웨어는 처리하지 못하므로, 이런 경우 TUN 모드로 보완해야 한다.
CONFIG SYNTAX
설정 문법
설정 파일은 YAML로 작성된 텍스트다. 3단 구조와 몇 가지 핵심 필드를 이해하면 설정을 수정하는 일이 더는 블랙박스가 아니다.
YAML 문법
Clash 설정 파일에서 쓰이는 텍스트 형식으로, 들여쓰기로 계층 구조를 표현하며 콜론 뒤에는 반드시 공백이 필요하다. 가장 흔한 설정 오류는 탭과 공백을 섞어 쓰거나 들여쓰기가 어긋나는 경우인데, YAML은 이 부분에 매우 엄격하다. 편집할 때는 문법 검사 기능이 있는 에디터를 쓰는 것이 좋다.
설정 파일 Profile · 구독
완전한 형태의 Clash 설정으로 클라이언트에서는 보통 Profile이라고 부른다. 노드, 정책 그룹, 규칙 세 부분으로 이뤄지며 구독 링크로 주기적으로 갱신되거나 직접 손으로 유지 관리하는 파일일 수 있다. 여러 개의 Profile을 동시에 두고 전환할 수 있으니, 수정 전에 어느 파일을 고치는지 먼저 확인해야 한다.
3단 구조 proxies / groups / rules
설정의 핵심이 되는 세 부분으로, proxies는 전체 노드 목록을, proxy-groups는 정책 그룹 정의를, rules는 분기 규칙을 담는다. 설정을 읽을 때는 이 세 부분을 먼저 찾고, 문제를 해결할 때도 노드, 정책 그룹, 규칙 순서로 확인해나가면 된다.
혼합 포트 mixed-port
HTTP와 SOCKS5 두 프록시 프로토콜을 동시에 받아들이는 로컬 리스닝 포트로, 설정 필드는 mixed-port이며 흔히 7890을 사용한다. 시스템 프록시나 직접 프록시를 입력하는 소프트웨어 모두 이 포트를 가리키며, 포트가 이미 사용 중이면 클라이언트가 실행되지 않으니 포트를 바꾸거나 점유 중인 프로그램을 종료하면 된다.
NETWORK BASICS
네트워크 기초
Clash에만 있는 개념은 아니지만 문제 해결 시 반드시 알아야 하는 네트워크 개념 중 자주 등장하는 다섯 가지를 골랐다.
노드 Node · 서버
연결 가능한 프록시 서버 하나를 가리키며, 설정에서는 proxies 항목 아래 한 줄로 표현되고 프로토콜, 주소, 포트, 인증 정보를 포함한다. 구독 링크의 본질은 결국 여러 노드와 그에 맞는 규칙을 함께 묶어 배포하는 것이며, 노드 품질은 회선, 부하, 통신사에 따라 달라진다.
지연 시간 Latency · 속도 테스트
클라이언트가 노드에 테스트 요청을 보내고 응답을 받는 데 걸리는 시간으로 단위는 밀리초다. 이 수치는 그 순간의 핸드셰이크 결과일 뿐 실제 다운로드 속도와는 다르다. 지연은 낮지만 대역폭이 작은 노드로는 동영상 재생이 여전히 끊길 수 있으므로, 노드를 고를 때는 지연과 배율, 지역을 함께 봐야 한다.
DNS 유출 개인정보 문제
시스템이나 브라우저가 프록시를 거치지 않고 통신사 DNS에 직접 질의를 보내 접속 기록이 본래 네트워크에 노출되는 현상이다. Clash의 nameserver 설정과 Fake-IP 모드는 도메인 해석을 대신 처리해 이 경로를 막는 데 쓰인다.
Fake-IP DNS 모드
코어 DNS의 동작 방식 중 하나로, 도메인 질의에 먼저 198.18.x.x 대역의 가짜 주소를 돌려주고 연결이 시작될 때 실제 도메인으로 규칙을 매칭한다. 먼저 해석하고 나중에 분기하는 대기 시간을 줄여 웹페이지가 눈에 띄게 빨리 열리며, 대부분의 클라이언트에서 기본 강화 모드로 쓰인다.
UDP 포워딩 UDP Relay
UDP 트래픽도 프록시를 거쳐 전송할 수 있게 해주는 기능으로 음성 통화, 일부 게임, QUIC 프로토콜이 이에 의존한다. 노드와 코어 양쪽 모두 udp 옵션을 지원하고 활성화해야 하며, 한쪽이라도 빠지면 UDP가 조용히 실패해 웹페이지는 열리지만 음성 통화는 안 되는 증상으로 나타난다.