설정 · Clash 문서

Rules 규칙

DIRECT, REJECT, 노드, 정책 그룹의 일치 순서를 설명하고 DOMAIN, GEOIP, IP-CIDR, RULE-SET, SCRIPT, MATCH 문법과 no-resolve 동작을 정리합니다.

  • DOMAIN
  • DOMAIN-SUFFIX
  • IP-CIDR
  • RULE-SET
  • MATCH
설정

빠른 시작에서 Clash의 규칙 기반 매칭 기초를 설명했습니다. 이 장에서는 최신 Clash 버전에서 사용할 수 있는 모든 규칙 유형을 소개합니다.

txt
# 类型,参数,策略(,no-resolve)
TYPE,ARGUMENT,POLICY(,no-resolve)

no-resolve 옵션은 선택 사항이며 규칙의 DNS 확인을 건너뜁니다. 도메인을 즉시 IP 주소로 확인하지 않고 GEOIP, IP-CIDR, IP-CIDR6, SCRIPT 규칙을 적용할 때 유용합니다.

정책

현재 정책 유형은 다음 네 가지입니다:

  • DIRECT: 시스템 라우팅 테이블을 조회하지 않고 interface-name에 지정된 인터페이스로 대상에 직접 연결
  • REJECT: 패킷을 폐기합니다.
  • Proxy: 패킷을 지정한 프록시 서버로 라우팅합니다.
  • Proxy Group: 패킷을 지정한 정책 그룹으로 라우팅합니다.

규칙 유형

다음 절에서는 각 규칙 유형과 사용 방법을 설명합니다:

DOMAIN 도메인

DOMAIN,www.google.com,policy 규칙은 www.google.com 도메인을 policy로 라우팅합니다.

DOMAIN-SUFFIX 도메인 접미사

DOMAIN-SUFFIX,youtube.com,policy 규칙은 youtube.com 문자열로 끝나는 모든 도메인을 policy로 라우팅합니다.

이 경우 www.youtube.comfoo.bar.youtube.com 모두 policy로 라우팅됩니다.

DOMAIN-KEYWORD 도메인 키워드

DOMAIN-KEYWORD,google,policy 규칙은 google 키워드가 포함된 모든 도메인을 policy로 라우팅합니다.

이 경우 두 도메인 www.google.comgoogleapis.com 모두 policy로 라우팅됩니다.

GEOIP IP 지리적 위치(국가 코드)

GEOIP 규칙은 대상 IP 주소의 국가 코드를 기준으로 패킷을 라우팅합니다. Clash는 이를 위해 MaxMind GeoLite2 데이터베이스를 사용합니다.

경고

이 규칙을 사용하면 Clash가 도메인을 IP 주소로 확인한 뒤 해당 IP 주소의 국가 코드를 조회합니다. DNS 확인을 건너뛰려면 no-resolve 옵션을 사용하세요.

GEOIP,CN,policy 규칙은 대상 IP 주소가 중국인 모든 패킷을 policy로 라우팅합니다.

IP-CIDR IPv4 주소 대역

IP-CIDR 규칙은 패킷의 대상 IPv4 주소를 기준으로 라우팅합니다.

경고

이 규칙을 사용하면 Clash가 도메인을 IPv4 주소로 확인합니다. DNS 확인을 건너뛰려면 no-resolve 옵션을 사용하세요.

IP-CIDR,127.0.0.0/8,DIRECT 규칙은 대상 IP 주소가 127.0.0.0/8인 모든 패킷을 DIRECT로 라우팅합니다.

IP-CIDR6 IPv6 주소 대역

IP-CIDR6 규칙은 패킷의 대상 IPv6 주소를 기준으로 라우팅합니다.

경고

이 규칙을 사용하면 Clash가 도메인을 IPv6 주소로 확인합니다. DNS 확인을 건너뛰려면 no-resolve 옵션을 사용하세요.

IP-CIDR6,2620:0:2d0:200::7/32,policy 규칙은 대상 IP 주소가 2620:0:2d0:200::7/32인 모든 패킷을 policy로 라우팅합니다.

SRC-IP-CIDR 소스 IP 주소 대역

SRC-IP-CIDR 규칙은 패킷의 소스 IPv4 주소를 기준으로 라우팅합니다.

SRC-IP-CIDR,192.168.1.201/32,DIRECT 규칙은 소스 IP 주소가 192.168.1.201/32인 모든 패킷을 DIRECT로 라우팅합니다.

SRC-PORT 소스 포트

SRC-PORT 규칙은 패킷의 소스 포트를 기준으로 라우팅합니다.

SRC-PORT,80,policy 규칙은 소스 포트가 80인 모든 패킷을 policy로 라우팅합니다.

DST-PORT 대상 포트

DST-PORT 규칙은 패킷의 대상 포트를 기준으로 라우팅합니다.

DST-PORT,80,policy 규칙은 대상 포트가 80인 모든 패킷을 policy로 라우팅합니다.

PROCESS-NAME 소스 프로세스 이름

PROCESS-NAME 규칙은 패킷을 보낸 프로세스 이름에 따라 패킷을 라우팅합니다.

경고

현재 macOS, Linux, FreeBSD 및 Windows만 지원합니다.

PROCESS-NAME,nc,DIRECT 규칙은 nc 프로세스에서 발생한 모든 패킷을 DIRECT로 라우팅합니다.

PROCESS-PATH 소스 프로세스 경로

PROCESS-PATH 규칙은 패킷을 보낸 프로세스 경로에 따라 패킷을 라우팅합니다.

경고

현재 macOS, Linux, FreeBSD 및 Windows만 지원합니다.

PROCESS-PATH,/usr/local/bin/nc,DIRECT 규칙은 경로가 /usr/local/bin/nc인 프로세스의 모든 패킷을 DIRECT로 라우팅합니다.

IPSET IP 집합

IPSET 규칙은 IP 집합으로 패킷을 매칭하고 라우팅합니다. IPSET 공식 웹사이트의 설명은 다음과 같습니다:

IP 집합은 Linux 커널의 프레임워크이며 ipset 프로그램으로 관리할 수 있습니다. 유형에 따라 IP 주소, 네트워크, (TCP/UDP) 포트 번호, MAC 주소, 인터페이스 이름 또는 이들의 조합을 저장해 집합 항목을 매우 빠르게 매칭할 수 있습니다.

따라서 이 기능은 Linux에서만 작동하며 ipset 설치가 필요합니다.

경고

이 규칙을 사용하면 Clash가 도메인을 IP 주소로 확인한 뒤 해당 IP 주소가 IP 집합에 포함되는지 검사합니다. DNS 확인을 건너뛰려면 no-resolve 옵션을 사용하세요.

IPSET,chnroute,policy 규칙은 대상 IP 주소가 IP 집합 chnroute에 포함된 모든 패킷을 policy로 라우팅합니다.

RULE-SET 규칙 집합

정보

이 기능은 Premium 버전에서만 사용할 수 있습니다.

RULE-SET 규칙은 Rule Providers 규칙 집합의 결과에 따라 패킷을 라우팅합니다. Clash는 지정된 Rule Providers에서 규칙을 불러와 패킷과 매칭합니다. 일치하는 규칙이 있으면 지정된 정책으로 패킷을 보내고, 없으면 이 규칙을 건너뜁니다.

경고

RULE-SET을 사용할 때 규칙 집합 유형이 IPCIDR이면 Clash가 도메인을 IP 주소로 확인합니다. DNS 확인을 건너뛰려면 no-resolve 옵션을 사용하세요.

RULE-SET,my-rule-provider,DIRECT 규칙은 my-rule-provider에서 모든 규칙을 불러옵니다

SCRIPT 스크립트

정보

이 기능은 Premium 버전에서만 사용할 수 있습니다.

SCRIPT 규칙은 스크립트 결과에 따라 패킷을 라우팅합니다. Clash가 이 규칙을 사용하면 지정한 스크립트를 실행한 뒤 패킷을 스크립트의 출력으로 라우팅합니다.

경고

SCRIPT를 사용하면 Clash가 도메인을 IP 주소로 확인합니다. DNS 확인을 건너뛰려면 no-resolve 옵션을 사용하세요.

SCRIPT,script-path,DIRECT 규칙은 패킷을 스크립트 script-path의 출력으로 라우팅합니다.

MATCH 전체 매칭

MATCH 규칙은 남은 모든 패킷을 라우팅합니다. 이 규칙은 필수이며 보통 마지막 규칙으로 사용합니다.

MATCH,policy 규칙은 나머지 패킷을 policy로 라우팅합니다.