Rule Provider (룰셋):Clash 트래픽 분기를 스마트하게

Rule Provider란 무엇인가요

Clash의 트래픽 분기 능력은 rules 규칙 목록에서 비롯됩니다: 각 규칙은 「특정 트래픽이 어느 정책으로 가야 하는지」를 설명합니다. 전통적인 방법은 수백, 수천 개의 규칙을 설정 파일에 직접 작성하는 것입니다. 예를 들어 DOMAIN-SUFFIX,google.com,PROXY, GEOIP,PRIVATE,DIRECT 등입니다.

규칙이 적을 때는 괜찮지만, 규칙이 수천 개로 늘어나면 설정 파일이 방대해져 관리하기 어렵고 커뮤니티 규칙 라이브러리 업데이트를 편리하게 따라갈 수 없습니다. Rule Provider(룰셋)는 바로 이 문제를 해결하기 위해 설계되었습니다: 외부 규칙 목록(로컬 파일 또는 온라인 URL)을 참조할 수 있게 해주며, Clash는 정기적으로 가져와 캐시하고 rules에서 RULE-SET으로 참조합니다.

Rule Provider를 사용하면 주 설정 파일에 핵심 규칙 수십 줄만 남기고, 광고 차단, 스트리밍 분기, 로컬 IP 직접 연결 등의 복잡한 로직을 전문적으로 관리되는 룰셋에 위임하여 간결하면서도 지속적으로 업데이트되는 설정을 유지할 수 있습니다.

룰셋이 필요한 이유

인터넷 도메인과 IP 대역은 지속적으로 변화하며 새로운 서비스와 CDN 노드가 계속 등장합니다. 수동으로 규칙을 관리하는 것은 이 변화를 따라잡기 거의 불가능합니다. 커뮤니티에는 광고, 트래커, 스트리밍, 게임, 개발자 도구 등의 시나리오를 다루는 오픈 소스 룰셋을 관리하는 많은 자원봉사자들이 있습니다(예: Loyalsoldier, blackmatrix7 등).

Rule Provider를 통해 이러한 룰셋을 참조하면 Clash 설정이 다음과 같이 될 수 있습니다:

  • 자동 업데이트: interval을 설정하면 Clash가 정기적으로 최신 규칙을 가져오므로 수동으로 설정을 변경할 필요가 없습니다.
  • 모듈식 관리: 광고 차단, 로컬 직접 연결, 프록시 분기를 각각 독립적인 룰셋으로 관리하여 명확하고 유지보수하기 쉽습니다.
  • 오프라인에서도 사용 가능: 규칙이 path에 지정된 경로에 캐시되어 오프라인에서도 이전 버전을 사용할 수 있습니다.

유형과 behavior

룰셋은 출처에 따라 두 가지로 나뉩니다: http(온라인 URL, 자동 업데이트 지원)와 file(로컬 파일, 커스텀 규칙에 적합). 내용 형식(behavior)에 따라 세 가지로 나뉩니다:

  • domain: 순수 도메인 목록으로, 줄당 하나의 도메인 또는 와일드카드. 매칭 속도가 가장 빠르며 광고 도메인, 트래커 도메인 등에 적합합니다.
  • ipcidr: IP 대역 목록(CIDR 형식)으로, IP에 따른 분기에 사용. 예: 로컬 IP 직접 연결, 사설 네트워크 직접 연결.
  • classical: 범용 형식으로 DOMAIN, DOMAIN-SUFFIX, IP-CIDR, PROCESS-NAME 등 완전한 규칙 문법을 혼합해서 사용 가능. 유연성이 가장 높습니다.

behavior를 선택할 때는 반드시 룰셋 파일의 실제 형식과 일치해야 합니다. 그렇지 않으면 Clash 파싱이 실패하고 해당 RULE-SET 규칙이 적용되지 않습니다. 룰셋 파일을 다운로드한 후 먼저 열어 도메인 목록인지, IP 대역인지, 완전한 규칙 문법인지 확인한 다음 올바른 behavior 유형을 선택하세요. 이 단계는 간단해 보이지만 설정 함정을 피하는 중요한 부분입니다.

설정 예시

설정 파일의 rule-providers 섹션에서 룰셋을 정의합니다:

rule-providers: reject: type: http behavior: domain url: "https://example.com/rules/reject.yaml" path: ./ruleset/reject.yaml interval: 86400 localcidr: type: http behavior: ipcidr url: "https://example.com/rules/localcidr.yaml" path: ./ruleset/localcidr.yaml interval: 86400 proxy: type: http behavior: classical url: "https://example.com/rules/proxy.yaml" path: ./ruleset/proxy.yaml interval: 86400

rules에서 참조합니다(순서가 중요하며, 위에서 아래로 매칭하여 적중되면 중지):

rules: - RULE-SET,reject,REJECT - RULE-SET,proxy,PROXY - RULE-SET,localcidr,DIRECT - GEOIP,PRIVATE,DIRECT - MATCH,PROXY

위 예시에서: 광고 도메인은 REJECT, 프록시가 필요한 도메인은 PROXY, 로컬 IP는 DIRECT, 프라이빗 IP는 직접 연결, 마지막으로 기본값은 프록시로 처리됩니다.

규칙 순서와 베스트 프랙티스

Clash 규칙은 위에서 아래로 순서대로 매칭되며, 첫 번째로 적중된 규칙이 적용되고 이후는 더 이상 확인하지 않습니다. 따라서:

  • 더 정확하고 우선순위가 높은 규칙을 앞에 배치합니다. 예: REJECT 광고, 특정 도메인 직접 연결.
  • GEOIP, MATCH 등 광범위한 규칙은 뒤에 기본값으로 배치합니다.
  • 중복되거나 충돌하는 룰셋을 피하여 예상치 못한 동작을 방지합니다.
  • 새 룰셋을 처음 사용할 때 대시보드에서 연결 방향을 관찰하여 트래픽 분기가 올바른지 확인하는 것을 권장합니다.

일시적으로 Clash의 debug 로그 레벨을 활성화하여 RULE-SET 적중 상황을 확인할 수 있습니다. 어떤 룰셋이 장기간 업데이트되지 않으면 fork하여 직접 관리하거나 더 활발히 유지보수되는 대체 소스로 교체하여 규칙이 오래되어 새 서비스가 올바르게 분기되지 않는 것을 방지하세요.

신뢰할 수 있는 출처의 룰셋 URL만 사용하세요. 악의적인 룰셋은 민감한 도메인을 잘못된 정책으로 유도하거나 REJECT를 도입하여 정상적인 웹사이트에 접근할 수 없게 만들 수 있습니다. GitHub에서 star가 많고 활발히 유지보수되는 오픈 소스 프로젝트를 우선 선택하세요.

자주 묻는 질문

룰셋 업데이트 실패

URL에 접근 가능한지, 네트워크에서 룰셋 소스에 접근하려면 프록시가 필요한지 확인하세요. 룰셋을 로컬에 수동으로 다운로드하고 type: file로 변경할 수 있습니다.

트래픽 분기가 예상과 다름

Clash 대시보드에서 연결 상세 정보를 확인하여 적중된 규칙을 확인하세요. rules 순서를 조정하거나 behavior가 룰셋 형식과 일치하는지 확인하세요.

설정 파일 크기가 너무 큼

Rule Provider의 rules 섹션은 RULE-SET 참조 한 줄만 필요하므로 주 설정을 크게 늘리지 않습니다. 룰셋 내용은 독립적인 캐시 파일에 저장됩니다.

Proxy Provider와의 차이

Clash에는 Proxy Provider(노드 세트)도 있어 노드를 일괄 가져오는 데 사용되며, Rule Provider는 트래픽 분기 규칙을 관리합니다. 두 가지를 함께 사용하면: 노드 세트는 「어떤 경로로 갈지」를 제공하고 룰셋은 「어떤 트래픽이 어떤 경로로 갈지」를 결정합니다. 구독 서비스에는 보통 노드가 이미 포함되어 있으며, 사용자가 직접 Rule Provider를 추가하는 경우가 더 일반적입니다. 이 역할 분담을 이해하면 커스텀 설정 시 시행착오를 줄일 수 있습니다.

실전 조합 제안

초보자는 세 가지 기본 룰셋으로 시작할 수 있습니다: 광고 차단(reject), 로컬 IP 직접 연결(localcidr), 프록시가 필요한 도메인(proxy). 여기서 필요에 따라 스트리밍, 게임, 개발자 도구 등의 전문 룰셋을 추가합니다. 룰셋을 추가할 때마다 rules에 RULE-SET 참조 한 줄을 추가하고 순서에 주의하세요: 차단류 먼저, 직접 연결 다음, 프록시 그 다음, GEOIP와 MATCH 기본값. 점진적으로 확장하는 것이 한꺼번에 많은 룰셋을 쌓는 것보다 문제 해결이 훨씬 쉽습니다.

관리할 때는 룰셋 소스의 업데이트 빈도와 커뮤니티 평판에만 집중하면 되고, 주 설정은 장기간 변경하지 않아도 됩니다. 이것이 Rule Provider의 가장 큰 가치입니다: 한 번 설정하면 지속적으로 혜택을 받습니다. 깊이 있는 트래픽 분기 커스터마이징을 원하는 사용자는 커뮤니티 룰셋을 fork하여 필요에 따라 항목을 추가/삭제하고 프라이빗 URL로 호스팅한 후 Rule Provider로 참조하여 완전히 개인화된 트래픽 분기 전략을 구현할 수 있습니다.

정리

Rule Provider는 규칙 관리를 「긴 목록 직접 작성」에서 「참조 + 자동 업데이트」로 업그레이드하여 설정을 간결하게 유지하면서 커뮤니티의 최신 트래픽 분기 전략을 지속적으로 활용할 수 있게 합니다. domain, ipcidr, classical 세 가지 behavior를 적절히 조합하고 규칙 순서와 신뢰할 수 있는 출처에 주의하면 Clash 트래픽 분기가 정확하고 효율적이 됩니다. 광고 차단과 로컬 IP 직접 연결 두 가지 룰셋으로 시작하여 점차 스트리밍, 게임 등의 시나리오로 확장하는 것을 권장합니다. 사용이 깊어지면서 자신에게 맞는 룰셋 조합을 점차 구축하여 Clash를 개인 습관에 맞는 네트워크 관리자로 만들 수 있습니다.

Clash를 시작할 준비가 되셨나요?

Clash 공식 사이트에서 무료 클라이언트를 다운로드하고 구독을 가져오기만 하면 됩니다. Windows, macOS, Android, iOS, Linux 모든 플랫폼을 지원하며 몇 분 만에 시작할 수 있습니다.

블로그 목록으로