스플릿 터널링이란?
스플릿 터널링(규칙 기반 라우팅)은 Clash의 가장 강력한 기능 중 하나입니다. 한마디로, 미리 정의된 규칙에 따라 각 네트워크 요청을 직접 연결할지 프록시 노드를 경유할지 자동으로 판단하는 메커니즘입니다.
전형적인 예: 로컬 인트라넷, 지역 콘텐츠가 포함된 스트리밍 서비스, 지연에 민감한 게임 서버는 직접 연결로 최고 속도를 확보하고, 나머지 트래픽은 프록시를 경유하도록 설정할 수 있습니다. 이 모든 것이 백그라운드에서 원활하게 이루어지므로 프록시를 수동으로 켜고 끌 필요가 없습니다.
규칙 기반 라우팅의 기반은 Clash 설정 파일의 rules 필드입니다. 이 작동 방식을 이해하면 자신의 사용 사례에 맞게 트래픽 라우팅을 자유롭게 커스터마이징할 수 있습니다.
규칙 파일 구조
Clash는 YAML 형식의 설정 파일을 사용하며, 모든 규칙은 rules: 필드에 작성합니다. 각 규칙은 다음 형식을 따릅니다:
- TYPE,VALUE,POLICY
세 부분의 의미:
- TYPE:매칭 방법——트래픽을 어떻게 식별할지 결정합니다.
- VALUE:도메인 이름, IP 범위, 국가 코드 등 구체적인 매칭 대상.
- POLICY:규칙이 매칭될 때 수행할 동작. 주요 정책:
PROXY(프록시 경유)、DIRECT(직접 연결)、REJECT(차단, 광고 필터링에 유용).
주요 규칙 유형
도메인 규칙(가장 많이 사용)
도메인 규칙은 가장 널리 사용되는 규칙 유형으로, 세 가지 수준의 정밀도로 매칭할 수 있습니다:
DOMAIN,www.example.com,PROXY— 완전 일치:서브도메인은 제외하고www.example.com에만 적용.DOMAIN-SUFFIX,example.com,PROXY— 접미사 일치:example.com과 모든 서브도메인(mail.example.com、api.example.com등)에 매칭. 가장 많이 사용되는 도메인 규칙 유형.DOMAIN-KEYWORD,googleapis,PROXY— 키워드 일치:googleapis를 포함하는 모든 도메인에 매칭. 유연하지만 오탐이 발생할 수 있으므로 주의가 필요.
IP 주소 규칙
도메인 규칙으로 충분하지 않을 때, IP 주소 범위로 트래픽을 라우팅할 수 있습니다:
IP-CIDR,192.168.0.0/16,DIRECT— 지정한 IP 범위에 매칭. 로컬/프라이빗 네트워크를 직접 연결로 유지하는 데 자주 사용.GEOIP,KR,DIRECT— GeoIP 데이터베이스로 국가/지역별 트래픽을 매칭. 특정 국가의 트래픽을 일괄 처리하는 캐치올로 유용.
프로세스 규칙(Mihomo 확장)
Mihomo 코어는 프로세스 이름 기반 규칙을 지원하여 애플리케이션 단위로 라우팅을 제어할 수 있습니다:
PROCESS-NAME,curl,DIRECT— curl의 모든 요청을 직접 연결.PROCESS-NAME,steam.exe,PROXY— Steam의 모든 트래픽을 프록시 경유.
캐치올 규칙(필수)
목록의 마지막 규칙은 반드시 MATCH 규칙이어야 합니다. 앞의 규칙에 매칭되지 않은 모든 요청을 캐치하여 기본 정책으로 처리합니다:
- MATCH,PROXY
규칙 세트 활용(권장)
수천 개의 도메인 규칙을 직접 관리하는 것은 비효율적이고 최신 상태를 유지하기도 어렵습니다. Clash는 rule-providers 필드를 통해 외부 규칙 세트 파일을 참조할 수 있습니다. 커뮤니티에서는 광고 차단, 도메인 분류, 스트리밍 해제 등을 커버하는 고품질 규칙 세트를 공개하고 있습니다.
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
- RULE-SET,proxy,PROXY
- GEOIP,KR,DIRECT
- MATCH,PROXY
interval: 86400은 규칙 세트 파일을 86,400초(24시간)마다 갱신한다는 의미로, 규칙이 자동으로 최신 상태를 유지합니다.
규칙 매칭 순서와 우선순위
Clash는 규칙을 위에서 아래로 평가합니다. 규칙이 매칭되면 해당 정책이 즉시 적용되고 평가가 중지됩니다. 즉, 규칙의 순서가 매우 중요합니다:
- 광고 차단(REJECT)규칙을 맨 앞에 배치하여 광고 요청을 조기에 차단합니다.
- 더 구체적인 규칙(완전 일치)을 더 일반적인 규칙(접미사 일치)보다 앞에 배치합니다.
MATCH규칙은 항상 마지막——이전 규칙에 매칭되지 않은 모든 트래픽의 기본 정책입니다.
디버깅 및 문제 해결
규칙 설정 후 트래픽이 예상대로 라우팅되지 않으면 다음 단계로 확인할 수 있습니다:
- 「연결」탭 확인:Clash Verge Rev의 「연결(Connections)」 페이지에서 각 요청에 적용된 규칙과 정책을 실시간으로 확인할 수 있습니다.
- 규칙 순서 확인:특정 도메인에 잘못된 규칙이 적용되고 있다면 더 구체적인 규칙을 위로 이동시키면 해결됩니다.
- 규칙 세트 업데이트:외부 규칙 세트가 오래된 경우 구독 화면에서 수동으로 업데이트하거나
interval값을 줄여 자동 업데이트 빈도를 높이세요.