Clash
용어집
클라이언트, 커널과 프록시 프로토콜부터 시작해 고급 라우팅, DNS, 구독 설정과 TUN 트래픽 가로채기를 단계적으로 이해합니다. 각 용어의 의미와 사용 위치, 설정 시 주의할 범위를 설명합니다.
설정 단계별 개념 찾기
용어를 실제 사용 순서에 따라 묶었습니다. 처음 설정한다면 커널과 클라이언트부터 읽고, 라우팅·조회·가로채기 문제를 해결할 때는 해당 분류로 바로 이동하세요.
커널과 클라이언트
클라이언트는 인터페이스와 시스템 연동을 담당하고, 프록시 커널은 연결과 트래픽 처리를 담당합니다. 두 계층을 구분하면 업데이트, 설정 호환성, 실행 오류가 어느 계층에서 발생했는지 판단하기 쉽습니다.
- Clash
-
CLASH ECOSYSTEM
Clash는 규칙 매칭, 정책 그룹과 다양한 프록시 프로토콜 지원을 중심으로 하는 네트워크 프록시 도구 체계입니다. 일상적으로 말하는 Clash는 초기 커널을 가리킬 수도 있고, 호환 커널 기반의 그래픽 클라이언트를 통칭할 수도 있습니다.
문서를 읽을 때는 먼저 커널, 설정 형식 또는 특정 클라이언트 중 무엇을 설명하는지 확인해야 합니다. 이름이 비슷하다고 해서 인터페이스, 업데이트 경로와 지원 기능이 완전히 같은 것은 아닙니다.
- mihomo
-
CORE / CLASH META
mihomo는 Clash Meta에서 이어져 개발된 프록시 커널로, 일반적인 Clash 설정 구조와 호환되며 더 많은 프로토콜, 규칙 유형, DNS 옵션과 트래픽 가로채기 기능을 제공합니다. 일부 클라이언트는 설정 화면에 mihomo 커널을 직접 표시합니다.
기능 사용 가능 여부는 클라이언트 인터페이스에 스위치가 있는지만으로 결정되지 않으며, 커널 버전과 설정 문법의 지원 여부에도 달려 있습니다. 기존 설정을 이전할 때는 확장 필드와 규칙 집합 문법을 중점적으로 확인해야 합니다.
- 클라이언트
-
GUI CLIENT
클라이언트는 프록시 커널 외부의 그래픽 인터페이스와 시스템 연동 계층으로, 보통 구독 가져오기, 정책 그룹 전환, 프록시 모드 변경, 로그 확인과 시작 시 자동 실행을 담당합니다. Windows, macOS와 Android 클라이언트는 시스템 가로채기 방식이 서로 다를 수 있습니다.
클라이언트 자체는 노드 서비스가 아니며 사용 가능한 노드를 자동으로 생성하지도 않습니다. 클라이언트를 선택할 때는 운영체제, 커널 유형, TUN 지원 여부와 유지 관리 상태를 함께 고려해야 합니다.
- 프록시 커널
-
PROXY CORE
프록시 커널은 설정을 읽고 프록시 연결을 만들며 DNS를 처리하고 규칙을 매칭해 트래픽을 전달합니다. 그래픽 클라이언트를 닫은 뒤에도 계속 작동하는지는 커널 프로세스와 백그라운드 서비스가 실행 중인지에 따라 달라집니다.
로그의 프로토콜 핸드셰이크, 규칙 매칭과 수신 포트 오류는 대부분 커널 계층에서 발생합니다. 클라이언트 인터페이스는 정상인데 연결되지 않는다면 커널 상태와 실행 로그를 함께 확인해야 합니다.
프록시 프로토콜
프로토콜은 클라이언트와 프록시 서버가 연결을 수립하는 방식을 결정합니다. 프로토콜 이름, 서버 매개변수와 로컬 프록시 포트는 서로 다른 계층이므로 설정을 가져올 때 혼동해서는 안 됩니다.
- HTTP 프록시
-
HTTP PROXY
HTTP 프록시는 애플리케이션이 로컬 Clash 수신 포트에 연결하는 방식 중 하나로, 브라우저, 터미널 도구와 개발 소프트웨어에서 흔히 사용됩니다. HTTPS 웹사이트에서는 애플리케이션이 일반적으로 CONNECT 메서드로 터널을 만든 뒤 터널 안에서 암호화 통신을 수행합니다.
이는 애플리케이션이 로컬 프록시 입구에 연결하는 방식을 설명할 뿐, 원격 노드도 HTTP 프로토콜을 사용한다는 뜻은 아닙니다. 시스템 프록시를 읽거나 수동 프록시 설정을 지원하는 애플리케이션만 이 입구를 능동적으로 사용합니다.
- SOCKS5
-
SOCKS VERSION 5
SOCKS5는 다양한 TCP 기반 애플리케이션의 연결을 전달하고 UDP 지원을 확장할 수 있는 범용 프록시 프로토콜입니다. 웹 요청 중심의 프록시 입구보다 활용 범위가 넓은 편입니다.
SOCKS5 자체는 로컬 애플리케이션과 프록시 포트 사이의 데이터를 암호화하지 않습니다. 소프트웨어를 설정할 때는 로컬 SOCKS5 수신 포트와 구독의 원격 노드가 사용하는 프로토콜을 구분해야 합니다.
- Shadowsocks
-
SS
Shadowsocks는 암호화 전송을 사용하는 프록시 프로토콜입니다. 노드 설정에는 일반적으로 서버 주소, 포트, 비밀번호와 암호화 방식이 포함되며, 각 필드는 서버 측과 일치해야 합니다.
가져오기에 실패하거나 연결 시간이 초과되면 먼저 노드 매개변수가 완전한지 확인한 다음 로컬 네트워크와 서버 접근 가능성을 점검하세요. 커널마다 지원하는 암호화 방식의 범위가 다를 수 있습니다.
- Trojan
-
TLS-BASED PROXY
Trojan은 TLS 전송 특성을 기반으로 동작하는 프록시 프로토콜로, 일반적인 설정에는 서버 주소, 포트, 비밀번호와 서버 이름이 포함됩니다. 인증서 검증, 시스템 시간과 도메인 조회가 모두 연결 결과에 영향을 줍니다.
TLS 핸드셰이크 오류가 발생했을 때 노드만 반복해서 바꾸지 마세요. 로그를 바탕으로 서버 이름, 인증서 체인, 시스템 시간과 중간 네트워크가 연결을 방해하는지 확인해야 합니다.
규칙과 정책 그룹
규칙은 연결이 어느 범주에 속하는지 판단하고, 정책 그룹은 해당 연결이 어느 출구로 나갈지 결정합니다. 라우팅 문제를 해결할 때는 규칙 순서, 매칭 결과와 정책 그룹 선택을 단계별로 확인하세요.
- 고급 라우팅
-
RULE ROUTING
고급 라우팅은 도메인, 대상 IP, 프로세스, 네트워크 유형 또는 규칙 집합에 따라 연결을 지정된 정책 그룹으로 전달하는 과정입니다. 어떤 트래픽이 어느 출구를 사용할지 결정하는 기능이지, 단순히 프록시를 켜고 끄는 기능이 아닙니다.
규칙은 일반적으로 위에서 아래 순서로 매칭되며, 연결이 유효한 규칙에 매칭되면 이후 규칙을 더 확인하지 않습니다. 범위가 지나치게 넓은 규칙을 앞에 두면 뒤의 정밀한 규칙이 가려질 수 있습니다.
- 정책 그룹
-
PROXY-GROUP
정책 그룹은 노드, 직접 연결 출구 또는 다른 정책을 묶고 최종 출구를 선택하는 방식을 정의합니다. 흔한 유형으로 수동 선택, 자동 속도 측정, 장애 조치와 부하 분산이 있습니다.
규칙이 정책 그룹에 매칭된 뒤에도 실제 연결은 그룹의 현재 선택 항목에 따라 달라집니다. 특정 웹사이트가 잘못된 경로로 연결되면 규칙이 어느 그룹을 가리키는지와 그 그룹에서 무엇을 선택했는지를 모두 확인해야 합니다.
- DOMAIN-SUFFIX
-
DOMAIN RULE
DOMAIN-SUFFIX는 도메인 접미사에 따라 요청을 매칭합니다. 예를 들어 기본 도메인에 접미사 규칙을 설정하면 일반적으로 하위 도메인에도 적용됩니다.
이 규칙은 웹사이트나 서비스 도메인별 라우팅에 적합하지만, 커널이 연결에 해당하는 도메인을 확인할 수 있어야 합니다. 대상 IP만 있고 도메인 정보가 없으면 도메인 규칙이 매칭되지 않을 수 있습니다.
- IP-CIDR
-
ADDRESS RANGE
IP-CIDR은 CIDR 표기법으로 IPv4 주소 대역을 매칭하며, IPv6에는 보통 해당하는 IP-CIDR6 규칙을 사용합니다. 로컬 네트워크 주소, 고정 서버 대역이나 알려진 서비스 주소 범위를 처리하는 데 적합합니다.
규칙이 대상 IP를 판단하기 전에 도메인을 먼저 조회해야 한다면 DNS 조회 과정이 추가될 수 있습니다. 네트워크 대역을 지나치게 넓게 지정하면 관련 없는 대상까지 같은 정책에 포함될 수 있습니다.
- MATCH
-
FINAL FALLBACK
MATCH는 규칙 목록의 최종 기본 항목으로, 앞선 규칙에 매칭되지 않은 연결을 받습니다. 일반적으로 규칙 마지막에 배치하고 프록시, 직접 연결 또는 선택 가능한 정책 그룹을 가리킵니다.
MATCH를 중간에 배치하면 뒤의 규칙에는 매칭 기회가 없습니다. 알 수 없는 트래픽의 경로를 분석할 때는 먼저 최종 기본 정책을 확인한 뒤 더 정확한 규칙이 빠졌는지 거슬러 확인할 수 있습니다.
네트워크와 DNS
DNS는 도메인을 주소로 변환할 뿐 아니라 도메인 규칙의 매칭 여부, 대상 서버 선택과 조회가 예상한 경로로 전송되는지도 좌우합니다.
- DNS
-
DOMAIN NAME SYSTEM
DNS는 도메인을 연결 가능한 IP 주소로 변환합니다. Clash는 시스템 DNS를 사용할 수도 있고, 설정에서 리졸버, 보조 리졸버와 도메인별 조회 정책을 지정할 수도 있습니다.
웹페이지가 열리지 않는 원인이 반드시 프록시 노드 장애인 것은 아닙니다. 조회 실패, 만료된 결과 또는 요청이 예상한 DNS 경로로 들어가지 않은 경우도 있습니다. 문제를 해결할 때는 도메인 조회와 대상 연결을 나누어 검증해야 합니다.
- Fake-IP
-
ENHANCED DNS MODE
Fake-IP 모드는 먼저 애플리케이션에 예약 주소를 반환하고 커널 내부에 해당 주소와 원래 도메인의 매핑을 저장합니다. 이후 애플리케이션이 이 주소에 연결하면 커널이 도메인을 복원해 도메인 규칙을 정확히 적용할 수 있습니다.
이 방식은 조회와 연결을 일관되게 가로채는 데 유리하지만, 일부 로컬 네트워크 장치, 특수 애플리케이션이나 실제 주소에 의존하는 환경에서는 필터 목록에 추가해야 할 수 있습니다. 설정 이상은 로컬 네트워크 서비스 검색 실패나 특정 애플리케이션의 연결 불가로 나타나는 경우가 많습니다.
- Redir-Host
-
REAL-IP DNS MODE
Redir-Host 모드는 보통 애플리케이션에 실제 DNS 조회 결과를 반환한 뒤 연결 단계에서 도메인과 대상 주소를 함께 사용해 라우팅합니다. Fake-IP와 가장 큰 차이는 애플리케이션이 실제 주소를 받는다는 점입니다.
이 방식은 실제 IP에 의존하는 환경에서 더 직관적이지만, 도메인 정보 보존과 규칙 매칭 결과는 시스템, 연결 방식 및 스니핑 설정의 영향을 받을 수 있습니다. 모드를 전환한 뒤에는 DNS 캐시와 규칙 매칭을 다시 테스트해야 합니다.
- DNS 누수
-
DNS PATH MISMATCH
DNS 누수는 일부 도메인 조회가 예상한 해석 경로를 따르지 않고 시스템 네트워크, 브라우저 내장 리졸버 또는 다른 DNS 서비스로 처리되는 현상입니다. 보통 가로채기 범위가 불완전하거나 애플리케이션이 독립 조회 기능을 사용하고 있음을 뜻합니다.
문제를 해결할 때는 클라이언트 DNS 설정, 시스템 프록시와 TUN 상태, 브라우저 보안 DNS 설정, IPv4와 IPv6가 서로 다른 경로를 사용하는지 확인해야 합니다. 노드만 바꾸는 것으로는 조회 경로 문제가 해결되지 않는 경우가 많습니다.
- GeoIP
-
IP GEOLOCATION
GeoIP는 IP 주소의 지역 정보를 기준으로 규칙을 매칭하며, 특정 지역의 주소를 직접 연결이나 지정된 정책으로 보내는 데 흔히 사용됩니다. 로컬 또는 원격 데이터베이스에 의존하며, 각 주소의 물리적 위치를 실시간으로 조회하는 방식은 아닙니다.
주소의 지역 정보는 바뀔 수 있고 데이터베이스에도 오차가 있을 수 있습니다. 지역 규칙의 판단이 예상과 다르면 데이터베이스 업데이트 시점을 확인하고 로그에서 실제 대상 IP를 확인해야 합니다.
- 지연 시간
-
LATENCY
지연 시간은 클라이언트가 탐색을 시작한 뒤 응답을 받을 때까지 걸리는 시간으로, 보통 밀리초 단위로 표시합니다. 클라이언트 결과는 특정 테스트 주소, 테스트 방식과 당시 네트워크 상태에만 해당합니다.
지연 시간이 짧다고 다운로드 속도가 빠른 것은 아니며, 노드가 안정적이라는 뜻도 아닙니다. 경로를 선택할 때는 패킷 손실, 핸드셰이크 성공률, 장시간 연결 성능과 실제 웹사이트 접속 상태도 확인해야 합니다.
구독 및 설정
구독 주소, 단일 노드 링크와 전체 YAML 파일은 서로 다른 설정 소스입니다. 가져오기 전에 데이터 유형을 확인하면 형식 불일치와 업데이트 실패를 줄일 수 있습니다.
- 구독
-
SUBSCRIPTION URL
구독은 원격 주소에서 노드, 정책 그룹과 규칙 설정을 가져와 업데이트하는 방식입니다. 클라이언트는 보통 구독 주소를 저장하고 수동 실행이나 예약 작업에 따라 설정을 다시 다운로드합니다.
구독 업데이트에 실패하면 주소가 완전한지, 인증이 필요한지, 네트워크에 접근할 수 있는지와 반환 내용이 클라이언트가 지원하는 형식인지 확인해야 합니다. 구독을 업데이트하면 구독으로 관리되는 현재 설정 일부가 덮어써질 수 있습니다.
- 노드
-
PROXY NODE
노드는 프록시 커널이 원격 서버에 연결하는 데 사용하는 매개변수 모음으로, 보통 프로토콜, 서버 주소, 포트, 인증 정보와 전송 옵션이 포함됩니다. 노드 이름은 표시용 라벨일 뿐 회선 품질을 의미하지 않습니다.
노드 연결 실패는 만료된 매개변수, 서버 접근 불가, 프로토콜 비호환 또는 로컬 네트워크 제한으로 발생할 수 있습니다. 커널 로그를 통해 조회, 연결, 핸드셰이크와 인증 중 어느 단계에서 실패했는지 확인해야 합니다.
- YAML
-
CONFIG FORMAT
YAML은 Clash 설정에 자주 사용하는 텍스트 형식으로, 들여쓰기로 객체와 목록의 계층을 표현합니다. 공백 수, 콜론 위치, 목록 기호와 문자열 따옴표가 모두 파싱 결과에 영향을 줍니다.
편집할 때는 탭 대신 공백을 사용하고 같은 계층의 들여쓰기를 일관되게 유지해야 합니다. 클라이언트가 설정 파싱 실패를 표시하면 오류 행 주변의 들여쓰기, 닫히지 않은 따옴표와 필드 철자를 확인하세요.
- Proxy Provider
-
PROXY-PROVIDERS
Proxy Provider는 독립 파일이나 원격 주소에서 노드 그룹을 불러온 뒤 여러 정책 그룹에서 참조하도록 합니다. 노드 소스와 기본 설정을 분리해 중복 관리를 줄일 수 있습니다.
Provider에는 보통 소스 주소, 업데이트 간격, 캐시 경로와 상태 확인 설정이 포함됩니다. 불러오기에 실패하면 원격 콘텐츠 형식, 캐시 디렉터리 권한과 정책 그룹에서 참조하는 이름이 일치하는지 확인해야 합니다.
시스템 프록시와 TUN
시스템 프록시는 애플리케이션이 프록시 설정을 능동적으로 읽어야 하지만, TUN은 가상 네트워크 인터페이스 계층에서 더 많은 트래픽을 가로챕니다. 적용 범위, 권한 요구 사항과 문제 해결 방법이 서로 다릅니다.
- 시스템 프록시
-
SYSTEM PROXY
시스템 프록시는 운영체제의 HTTP, HTTPS 또는 SOCKS 프록시 주소를 Clash의 로컬 수신 포트로 지정합니다. 브라우저와 시스템 설정을 따르는 대부분의 데스크톱 애플리케이션은 이를 통해 트래픽을 전송합니다.
시스템 프록시를 읽지 않는 애플리케이션, 일부 게임과 특정 명령줄 도구는 가로채지 못할 수 있습니다. 클라이언트를 종료하기 전에 시스템 프록시 상태를 복원하면 이미 수신을 중단한 로컬 포트를 계속 가리키는 문제를 막을 수 있습니다.
- TUN 모드
-
VIRTUAL NETWORK INTERFACE
TUN 모드는 가상 네트워크 인터페이스를 통해 시스템 트래픽을 가로챈 뒤 커널이 규칙에 따라 직접 연결 또는 프록시를 결정하게 합니다. 시스템 프록시를 지원하지 않거나 HTTP가 아닌 트래픽을 사용하거나 더 넓은 범위의 가로채기가 필요한 애플리케이션에 적합합니다.
활성화할 때는 일반적으로 시스템 권한이 필요하며 다른 VPN, 가상 네트워크 카드, 보안 소프트웨어나 라우팅 설정과 충돌할 수 있습니다. 인터넷이 끊겼다면 먼저 TUN 장치, 라우팅 기록과 DNS 가로채기가 정상적으로 완료되었는지 확인해야 합니다.
- Mixed Port
-
MIXED-PORT
Mixed Port는 HTTP 프록시와 SOCKS5 프록시 연결을 동시에 받는 로컬 수신 포트입니다. 애플리케이션은 지원하는 방식에 따라 하나의 포트에 연결할 수 있어 여러 포트를 따로 기억할 필요가 줄어듭니다.
이는 로컬 입구일 뿐 트래픽이 최종적으로 어느 노드를 사용할지는 결정하지 않습니다. 포트를 다른 프로그램이 사용 중이거나 방화벽이 수신을 차단하거나 애플리케이션에 주소를 잘못 입력한 경우 로컬 프록시에 연결되지 않을 수 있습니다.
- 라우팅 테이블
-
ROUTING TABLE
라우팅 테이블은 패킷이 어느 네트워크 인터페이스를 거쳐 어느 다음 홉으로 전송될지 운영체제가 판단하는 규칙 집합입니다. TUN 모드에서는 대상 트래픽이 가상 인터페이스로 들어가도록 라우팅을 추가하거나 조정하는 경우가 많습니다.
잘못된 라우팅은 로컬 네트워크 접근 불가, 순환 전달 또는 모든 연결 중단을 일으킬 수 있습니다. 여러 VPN 도구를 동시에 실행할 때는 기본 경로를 서로 차지하려 하는지 특히 주의해야 합니다.
- 우회 주소
-
BYPASS RANGE
우회 주소는 프록시 수신이나 TUN 전달 경로에 들어가지 않는 대상 범위로, 루프백 주소, 로컬 네트워크 대역, 게이트웨이와 필수 시스템 서비스가 대표적입니다. 적절히 설정하면 프린터, 라우터 관리 화면과 로컬 공유에 계속 접근할 수 있습니다.
우회 범위가 너무 넓으면 라우팅해야 할 연결이 직접 외부로 나가고, 너무 좁으면 로컬 네트워크 통신에 영향을 줄 수 있습니다. 변경 후에는 로컬 장치, 공개 웹사이트와 대상 애플리케이션을 각각 테스트해야 합니다.