왜 「중국은 직결, 해외는 프록시」인가

많은 사용자가 Clash Meta(Mihomo) 계열 클라이언트를 쓸 때 규칙 모드(Rule)를 선택하는 이유는 단순합니다. 검색·동영상·클라우드 등 해외 서비스만 프록시를 타게 하고, 은행·쇼핑·지역 콘텐츠처럼 지연과 경로가 중요한 본토 트래픽은 ISP 회선으로 직접 나가게 하려는 것입니다. 모든 연결을 한 노드에 몰아넣으면 지연이 늘고, 불필요하게 대역폭을 소모하기도 합니다. 반대로 본토 사이트까지 프록시로 돌리면 인증·위치 기반 제한이 꼬이거나 속도가 떨어지는 일이 잦습니다.

이 글에서 말하는 「중국 본토」는 GEOIP 데이터와 공개 룰셋에서 흔히 쓰는 GEOIP,CN 또는 도메인 기반의 중국 리스트에 해당하는 트래픽을 가리킵니다. 한국·일본 등 다른 지역에 거주하더라도, 구독 구성이 위와 같은 분류를 전제로 만들어진 경우가 많으므로 원리를 이해하면 같은 YAML을 자신의 환경에 맞게 고치기 쉽습니다. 전체 설치·기본 흐름은 문서 페이지와 함께 보면 좋습니다.

ℹ️
용어: DIRECT는 프록시를 거치지 않고 로컬 라우팅 그대로 나가는 것이고, 프록시 그룹 이름(예: Proxy, 🚀 선택)은 구독 프리셋마다 다릅니다. 글에서는 해외로 보내는 쪽을 통칭해 「프록시」라고 부릅니다.

규칙은 위에서 아래로 한 줄만 매칭된다

Clash의 rules: 목록은 먼저 적힌 규칙이 우선입니다. 한 번 조건에 걸리면 그 아래 규칙은 보지 않습니다. 그래서 실무에서는 보통 다음 순서를 따릅니다. (1) 로컬호스트·LAN 대역은 즉시 DIRECT (2) 광고·추적 차단이 필요하면 REJECT 계열 (3) 특정 도메인 예외 (4) GEOIP나 큰 지역 단위 (5) 마지막에 MATCH로 전부 프록시 또는 DIRECT 중 하나를 택합니다.

흔한 실수는 「중국 트래픽을 DIRECT」 규칙을 너무 아래에 두는 것입니다. 그 위에서 이미 MATCH,Proxy가 나와 버리면 본토 사이트도 전부 프록시로 갑니다. 반대로 GEOIP,CN,DIRECT를 너무 위에 두고 세밀한 예외를 아래에 두면, 예외가 의도대로 동작하지 않을 수 있으니 자신이 쓰는 프리셋의 권장 순서를 한 번 훑는 것이 좋습니다.

자주 쓰는 규칙 유형만 빠르게 짚기

DOMAIN은 정확한 호스트 한 개, DOMAIN-SUFFIX는 접미사 일치(예: example.com과 그 하위), DOMAIN-KEYWORD는 문자열 포함 여부로 매칭합니다. 키워드 규칙은 과매칭 위험이 있어 장기적으로는 서픽스나 외부 룰셋으로 좁히는 편이 안전합니다. IP-CIDR는 특정 대역을 지정할 때 쓰고, GEOIP,CN은 IP 기준으로 중국에 속한지 판별합니다. GEOIP 데이터베이스는 주기적으로 갱신되는데, 클라이언트·코어 버전에 따라 내장 경로나 형식이 다를 수 있습니다.

PROCESS-NAME으로 특정 실행 파일만 DIRECT나 Proxy로 보내는 방법도 있지만, 모바일이나 샌드박스 환경에서는 제한이 있을 수 있습니다. 데스크톱에서 게임 런처만 직결하고 싶다 같은 요구에 쓰입니다.

rule-providers로 룰셋을 나누어 관리하기

수백 줄의 규칙을 한 파일에 모두 쓰기보다, 원격 또는 로컬 YAML 조각을 규칙 공급자(rule-providers)로 불러와 rules에서 참조하는 방식이 유지보수에 유리합니다. Mihomo(Clash Meta)에서는 type: http으로 URL을 지정해 주기적으로 받아오거나, type: file로 로컬 파일을 가리킬 수 있습니다. 이때 behaviorclassical(일반 규칙 목록), domain, ipcidr 등으로 맞춰야 하며, 공급자 문서를 따라야 합니다.

커뮤니티에서 공유되는 「중국 도메인 직결」「해외 영상 프록시」 같은 룰셋을 그대로 쓸 때는, 출처와 갱신 주기를 확인하세요. 악의적으로 조작된 규칙은 민감한 도메인을 잘못된 프록시로 보낼 수 있습니다. 신뢰할 수 있는 저장소의 원본을 쓰고, 가능하면 checksum이나 공식 미러를 확인하는 습관이 좋습니다.

# Example only — adjust names and URLs to your profile
rule-providers:
  cn-direct:
    type: http
    behavior: classical
    url: "https://example.com/rules/cn-direct.yaml"
    path: ./ruleset/cn-direct.yaml
    interval: 86400

rules:
  - RULE-SET,cn-direct,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

위는 개념 설명용 예시이며, 실제 키 이름·들여쓰기는 사용 중인 템플릿에 맞춰야 합니다. RULE-SET 문법 역시 코어 버전에 따라 세부 옵션이 다를 수 있으니 공식 문서와 릴리스 노트를 함께 보세요.

DNS와 fake-ip: 분류가 이상할 때 의심할 것

규칙은 「어떤 목적지로 갈지」를 정하지만, 그 전에 도메인이 어떤 IP로 해석되느냐에 따라 매칭 결과가 달라질 수 있습니다. fake-ip 모드를 쓰면 브라우저가 보낸 이름 기반으로 먼저 규칙을 적용한 뒤 실제 IP를 알아내는 흐름이 되어, 대체로 규칙 분기에 유리합니다. 반면 redir-host 계열에서는 DNS 응답 IP로 IP-CIDR·GEOIP가 잡히는 경우가 많아, DNS 서버가 해외에 있으면 본토 사이트도 해외 IP로 보일 수 있습니다.

그래서 「중국 사이트인데 왜 프록시로 가지?」라고 느낄 때는 (1) 규칙 순서 (2) DNS 설정과 nameserver/fallback 구성 (3) DoH/DoT 차단 여부를 함께 점검하는 것이 좋습니다. 클라이언트 로그에 실제로 매칭된 규칙 이름이 찍히는 경우가 많으니, 한 번 추적해 보면 원인 파악이 빨라집니다.

팁: 특정 사이트만 예외로 DIRECT나 다른 그룹으로 보내고 싶다면, DOMAIN-SUFFIX나 소규모 rule-providersGEOIP,CN보다 위에 두는 방식이 안전합니다.

프록시 그룹과 「자동 선택」은 분류와 별개다

규칙이 트래픽을 Proxy 그룹으로 넘기면, 그 다음은 그룹 타입에 따라 어떤 실제 노드로 나갈지가 결정됩니다. url-test는 주기적으로 지연을 재고 가장 빠른 노드를 고르고, fallback은 순서대로 쓸 수 있는지 검사합니다. 「중국 직결 / 해외 프록시」라는 지역 분류와, 「그중에서 어떤 해외 노드를 쓸지」는 서로 다른 층입니다. 분류 규칙만 잘 잡혀 있어도 노드 품질이 나쁘면 체감 속도는 떨어지므로, 구독 건강 상태도 함께 봐야 합니다.

구독을 방금 연결했다면 구독 가져오기 가이드에서 다룬 것처럼 노드 목록이 채워졌는지, 헬스 체크가 켜져 있는지 확인하세요. TUN 모드로 전체 트래픽을 가로채는 경우에는 TUN 모드 안내와 겹치는 설정이 없는지도 점검하면 좋습니다.

글로벌·규칙·직접 모드의 역할

UI에서 볼 수 있는 Global / Rule / Direct 같은 스위치는 단순합니다. Direct는 가능한 한 규칙을 무시하고 직결에 가깝게 동작하게 하고, Global은 기본적으로 모든 것을 지정한 프록시로 보내려는 경향이 있습니다(구현·버전별로 세부는 확인 필요). 일상 사용에서는 Rule을 유지하고, 특정 앱만 전부 프록시가 필요할 때 잠깐 Global을 쓰는 식이 일반적입니다.

문제 해결 시 「일단 Direct로 바꿔서 본토 사이트가 정상인지」를 확인하면, 원인이 규칙인지 노드인지 DNS인지 가늠하는 데 도움이 됩니다.

보안·프라이버시 관점의 짧은 메모

프록시 서버는 트래픽을 중계할 수 있으므로, 신뢰할 수 있는 구독과 노드를 쓰는 것이 전제입니다. 규칙 분류는 성능과 접속성을 위한 것이지, HTTPS 등 암호화된 콘텐츠의 기밀성을 프록시 운영자에게서 완전히 숨겨 주지는 않습니다(메타데이터·SNI 등은 환경에 따라 다름). 공용 Wi-Fi에서의 보호, 회사 정책 준수 등은 별도로 고려해야 합니다.

점검 체크리스트

  1. 규칙 목록 상단에 LAN·로컬 예외가 있는가.
  2. GEOIP,CN,DIRECT 또는 동등한 룰셋이 MATCH보다 앞에 있는가.
  3. 충돌하는 구식 규칙이 남아 있지 않은가(이전에 수동으로 넣은 한 줄이 전체를 망가뜨리는 경우).
  4. DNS 모드와 nameserver가 의도한 매칭 방식과 맞는가.
  5. rule-providers의 interval과 수동 업데이트로 최신 룰을 유지하는가.

정리

중국 본토 직결과 해외 프록시를 동시에 만족시키려면, 노드 풀만큼이나 규칙 순서·룰셋 품질·DNS 동작이 중요합니다. Clash Meta 계열은 한 파일에서 이들을 투명하게 다룰 수 있어, GUI로는 보이지 않는 세부도 YAML을 열어 보며 조정할 수 있습니다. 한 번 안정적인 분류를 잡아 두면 일상적인 지연과 대역 낭비를 줄이는 데 큰 차이가 납니다.

환경에 맞는 클라이언트는 Clash 공식 다운로드 페이지에서 고를 수 있습니다. → Clash를 무료로 내려받아 규칙·구독·DNS를 한 번에 맞춰 보세요.