Clash 규칙 모드·전체 모드·직접 연결 모드 차이와 선택 방법

Clash의 세 가지 프록시 모드별 트래픽 흐름, 사용 사례와 흔한 오용을 정리하고 일상 사용·임시 문제 해결·LAN 테스트에 맞는 모드 선택 기준을 안내합니다.

Clash 클라이언트의 Rule, Global, Direct는 트래픽이 Clash 코어에 들어온 뒤 어떤 출구로 나갈지를 결정합니다. 세 모드는 구독에 포함된 노드 수를 바꾸거나 노드 프로토콜을 자동으로 수정하지 않습니다. 대신 규칙을 적용할지, 모든 연결을 하나의 정책 그룹으로 보낼지, 연결을 대상 주소로 직접 보낼지를 결정합니다.

일상적인 사용에는 보통 규칙 모드를 선택합니다. 전체 모드는 노드를 임시로 확인하거나 규칙 누락을 점검할 때 적합하고, 직접 연결 모드는 문제가 프록시 경로에서 발생했는지 확인할 때 유용합니다. 선택하기 전에 두 가지 개념을 구분해야 합니다. 시스템 프록시 또는 TUN 모드는 트래픽을 Clash로 전달하고, 프록시 모드는 트래픽이 코어에 들어온 뒤 어디로 나갈지를 결정합니다.

세 모드가 각각 바꾸는 것

규칙 모드: 규칙을 순서대로 확인해 출구 선택

규칙 모드는 설정 항목 mode: rule에 해당합니다. 연결이 코어에 들어오면 Clash는 rules 목록을 위에서 아래로 확인하며 도메인, IP, 포트, 프로세스 또는 규칙 집합을 검사합니다. 첫 번째 규칙과 일치하는 즉시 검사를 멈추고 해당 규칙이 지정한 정책 그룹, 프록시 노드, DIRECT 또는 REJECT로 연결을 전달합니다.

예를 들어 intranet.example에 접속할 때 도메인 접미사 규칙으로 직접 연결할 수 있습니다. 그 밖의 대상은 마지막의 MATCH가 트래픽을 ‘노드 선택’ 정책 그룹으로 전달합니다. 규칙 순서는 결과를 직접 바꾸므로 범위가 좁고 구체적인 규칙을 더 넓은 규칙보다 앞에 두는 것이 일반적입니다.

mode: rule
mixed-port: 7890

rules:
  - DOMAIN,intranet.example,DIRECT
  - DOMAIN-SUFFIX,example.org,노드 선택
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,노드 선택

규칙 모드의 핵심 가치는 단순히 ‘일부 웹사이트만 프록시로 보낸다’는 데 있지 않습니다. 트래픽 유형별로 서로 다른 출구를 사용하게 하는 것이 핵심입니다. LAN 주소는 직접 연결하고, 연결할 필요가 없는 도메인은 거부하며, 자주 사용하는 네트워크 서비스는 자동 지연시간 측정 그룹으로 보내고, 나머지 요청은 수동 선택 그룹으로 보낼 수 있습니다. 규칙 집합과 정책 그룹을 적절히 구성하면 일상적으로 모드를 자주 전환할 필요가 없습니다.

전체 모드: 규칙 목록을 건너뛰고 GLOBAL로 일괄 전달

전체 모드는 mode: global에 해당합니다. 이 모드에서는 일반 연결이 더 이상 rules를 하나씩 확인해 출구를 결정하지 않고, GLOBAL이라는 내장 정책 진입점으로 일괄 전달됩니다. 클라이언트의 전체 정책 영역에서 특정 노드나 정책 그룹을 선택해야 하며, 그렇지 않으면 이전 선택이 계속 사용될 수 있습니다.

‘전체’는 Clash 코어 내부의 라우팅 방식을 뜻할 뿐, 컴퓨터의 모든 패킷이 반드시 프록시를 거친다는 의미는 아닙니다. 시스템 프록시를 따르지 않는 프로그램, TUN에 포착되지 않는 프로토콜, 클라이언트 제외 목록의 프로세스, 일부 LAN 브로드캐스트 트래픽은 여전히 Clash에 들어오지 않을 수 있습니다. 브라우저가 시스템 프록시를 사용할 때 전체 모드는 일반적으로 브라우저처럼 해당 프록시 설정을 따르는 프로그램에만 영향을 줍니다.

직접 연결 모드: 코어 진입 후 로컬 네트워크 출구 사용

직접 연결 모드는 mode: direct에 해당합니다. 연결이 시스템 프록시 포트나 TUN 네트워크 어댑터를 통해 이미 Clash에 들어왔더라도, 코어는 구독 노드를 사용하지 않고 대상 주소에 직접 연결합니다. 이 모드는 프록시 사용 전후의 접속 결과를 비교하거나 LAN 서비스, 사내 네트워크, 로컬 개발 서버를 테스트할 때 적합합니다.

직접 연결 모드는 클라이언트를 종료했다는 뜻이 아닙니다. 시스템 프록시가 여전히 127.0.0.1:7890을 가리키면 요청은 먼저 Clash에 도착한 뒤 Clash가 직접 연결을 시작합니다. TUN이 계속 활성화되어 있으면 트래픽이 가상 네트워크 어댑터를 거칠 수도 있습니다. 운영체제의 원래 네트워크 경로로 완전히 돌아가려면 시스템 프록시 또는 TUN도 끄고 시스템 네트워크 설정이 복원되었는지 확인해야 합니다.

표로 확인하는 트래픽 흐름

비교 항목 규칙 모드 전체 모드 직접 연결 모드
설정 값 rule global direct
rules 읽기 여부 순서대로 일치 확인 일반적으로 건너뜀 일반적으로 건너뜀
주요 출구 일치한 규칙으로 결정 GLOBAL에서 선택한 노드 또는 정책 그룹 로컬 네트워크 DIRECT
주요 용도 일상 사용 및 세밀한 트래픽 분할 일괄 프록시, 노드 확인, 규칙 누락 점검 비교 테스트, LAN 접속, 프록시 요인 배제
일반적인 위험 규칙 순서 오류 또는 부적절한 마지막 규칙 로컬 서비스까지 프록시로 보내 트래픽 사용량 증가 프록시가 필요한 대상에 접속할 수 없음

일상 사용에는 어떤 모드를 선택해야 할까

상시 실행에는 규칙 모드를 우선 선택

구독 설정에 완전한 규칙 집합이 포함되어 있다면 규칙 모드가 보통 가장 적합한 기본값입니다. 로컬 웹사이트, LAN 기기, 프록시가 필요한 대상을 각각 적절한 경로로 보내 불필요한 프록시 트래픽을 줄일 수 있습니다. 트래픽 배수가 적용되는 구독이라면 시스템 업데이트나 LAN 파일 전송까지 프록시 노드로 일괄 전송하는 것도 막을 수 있습니다.

규칙 모드를 선택한 뒤 클라이언트의 ‘프록시’ → ‘모드’에서 Rule이 선택되어 있는지 확인하고 현재 정책 그룹도 점검하세요. 그래픽 클라이언트에 따라 메뉴 이름이 ‘프록시 모드’, ‘라우팅 모드’ 또는 Mode로 표시될 수 있지만 코어 값은 여전히 rule입니다. Clash for Windows v0.20.39에서는 Proxies 페이지에서 모드와 정책 그룹을 확인할 수 있으며, mihomo 기반 클라이언트도 일반적으로 ‘프록시’ 페이지에서 Rule, Global, Direct 세 항목을 제공합니다.

임시 문제 해결에는 전체 모드로 전환

규칙 모드에서 특정 웹사이트가 열리지 않지만 노드 지연시간 측정은 정상이라면 먼저 전체 모드로 전환하고 GLOBAL에서 사용 가능한 노드를 명시적으로 선택하세요. 전체 모드에서 접속된다면 문제는 대개 규칙 일치, 정책 그룹 선택 또는 규칙 집합 업데이트 과정에 있습니다. 전체 모드에서도 접속되지 않는다면 노드 자체, DNS, 시스템 시간, 네트워크 연결을 계속 점검해야 합니다.

  1. 현재 모드와 정책 그룹을 기록해 테스트 후 원래 설정으로 되돌리는 것을 잊지 마세요.
  2. ‘프록시’ → ‘모드’를 열고 Global을 선택합니다.
  3. GLOBAL 정책 진입점에서 지연시간 측정을 완료한 노드를 선택합니다.
  4. 브라우저 캐시의 영향을 피하려면 새 시크릿 창으로 대상을 테스트합니다.
  5. 테스트가 끝나면 Rule로 돌아가 대상 도메인에 실제로 적용된 규칙을 확인합니다.

전체 모드 테스트는 몇 분 이내로 제한하는 것이 좋습니다. 소프트웨어 업데이트, 클라우드 드라이브 동기화, 동영상 재생 같은 백그라운드 연결도 선택한 노드를 일괄 사용할 수 있습니다. 테스트 전에 대용량 작업을 일시 중지하면 대상 요청 자체의 변화를 더 쉽게 관찰할 수 있습니다.

LAN 및 비교 테스트에는 직접 연결 모드 사용

라우터 관리 페이지, NAS, 프린터 또는 로컬 개발 서비스에 접속할 때 직접 연결 모드로 프록시 라우팅이 문제에 관여하는지 빠르게 확인할 수 있습니다. 예를 들어 192.168.1.1, 10.0.0.20:8080 또는 localhost:3000에 접속할 때 Direct로 전환한 뒤 복구된다면, 기존 규칙이 인트라넷 주소를 프록시 정책 그룹으로 잘못 보냈을 가능성이 있습니다.

장기적인 해결 방법은 계속 직접 연결을 유지하는 것이 아니라 규칙 모드에 LAN 규칙을 추가하는 것입니다. 대표적인 사설 주소 범위는 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16입니다. 규칙은 해당 주소를 덮어쓸 수 있는 광범위한 IP 규칙보다 앞에 배치하고, 순수 IP 규칙에 추가 DNS 조회가 발생하지 않도록 no-resolve를 추가할 수 있습니다.

rules:
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,노드 선택

시스템 프록시·TUN·모드 전환의 관계

시스템 프록시는 프록시 설정을 읽는 프로그램만 제어

Clash에서 자주 사용하는 HTTP, SOCKS 또는 mixed 리슨 포트는 7890이지만 실제 값은 설정 파일과 클라이언트 홈 화면을 기준으로 확인해야 합니다. 시스템 프록시를 활성화하면 Windows가 프록시 주소를 시스템 설정에 기록합니다. 브라우저와 일부 데스크톱 프로그램은 이 설정을 읽어 요청을 Clash로 보내지만, 일부 게임·명령줄 도구·자체 네트워크 스택을 사용하는 프로그램은 이를 무시할 수 있습니다.

따라서 Global로 전환해도 시스템 프록시를 무시하는 프로그램이 갑자기 Clash에 들어오는 것은 아닙니다. Windows 11의 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 프록시 상태를 확인하거나 클라이언트 연결 기록을 확인할 수 있습니다. 테스트 프로그램이 Connections 또는 ‘연결’ 페이지에 나타나지 않는다면 문제는 트래픽이 코어에 들어오기 전에 발생한 것이므로 Rule, Global, Direct 선택과 직접적인 관련이 없습니다.

TUN 모드는 가로채는 범위를 넓히지만 라우팅 모드를 대체하지 않음

TUN 모드는 가상 네트워크 어댑터와 시스템 라우팅을 통해 더 많은 트래픽을 포착하므로 시스템 프록시를 지원하지 않는 프로그램에 적합합니다. TUN이 포착한 트래픽도 현재 라우팅 모드를 거쳐야 합니다. Rule은 규칙을 확인하고, Global은 전체 정책 진입점으로 보내며, Direct는 로컬 네트워크에서 직접 연결합니다. TUN은 ‘어떻게 코어에 들어오는가’를 해결하고, 세 모드는 ‘들어온 뒤 어떻게 나가는가’를 해결합니다.

mihomo 설정에서 TUN에 자주 사용되는 항목은 enable, stack, auto-route, strict-route입니다. 이 항목들은 가상 네트워크 어댑터와 시스템 라우팅에 영향을 주지만 mode를 대신하는 용도로 사용해서는 안 됩니다. 문제를 해결할 때는 한 번에 변수 하나만 바꾸세요. 먼저 TUN 상태를 그대로 둔 채 모드를 전환하고, 다음에는 모드를 유지한 채 TUN을 테스트하면 결과를 더 쉽게 해석할 수 있습니다.

DNS 때문에 테스트 결과가 모순되어 보일 수도 있음

모드 전환은 주로 연결 출구를 결정하지만 DNS 조회 경로는 dns 섹션, 시스템 DNS, 프록시 프로그램 구현, 캐시의 영향도 받습니다. 규칙 모드에서는 열리지 않고 전체 모드에서는 열리는 현상이 반드시 도메인 규칙 때문인 것은 아니며, 출구가 달라 서로 다른 조회 결과가 발생했을 수도 있습니다. 테스트할 때는 먼저 대상 앱을 종료했다가 다시 열고, 필요하면 시스템 DNS 캐시를 비운 뒤 클라이언트 로그에서 도메인, 대상 IP, 적용 정책을 확인하세요.

fake-ip를 사용하면 애플리케이션에 198.18.0.0/16 범위의 매핑 주소가 표시될 수 있습니다. 이는 Clash의 도메인 매핑 메커니즘이며 웹사이트의 실제 서버가 해당 주소 대역에 있다는 뜻은 아닙니다. 규칙 적용 여부를 판단할 때는 앱에 표시된 대상 IP만 보지 말고 연결 상세 정보의 Host, Rule, Chains를 확인해야 합니다.

흔한 오용과 수정 방법

오용 1: 전체 모드를 더 빠른 모드로 생각하기

Global이 노드 지연시간을 자동으로 낮추거나 대역폭을 높여 주는 것은 아닙니다. 규칙 기반 분배를 건너뛰고 연결을 선택한 출구로 일괄 전달할 뿐입니다. 전체 모드에서 특정 웹사이트가 빨라졌다면 규칙 모드가 다른 정책 그룹을 선택했거나 규칙 집합이 해당 웹사이트를 적합하지 않은 노드로 보냈을 가능성이 있습니다. 올바른 방법은 연결 상세 정보를 확인하고 규칙 또는 정책 그룹을 수정하는 것이며, Global을 장기간 사용해 트래픽 분배 문제를 가리는 것이 아닙니다.

오용 2: 직접 연결로 전환한 뒤 클라이언트가 종료됐다고 생각하기

Direct 상태에서도 리슨 포트, 시스템 프록시 스위치, TUN 네트워크 어댑터, DNS 모듈은 계속 실행될 수 있습니다. ‘클라이언트를 전혀 거치지 않는’ 네트워크 상태를 테스트하려면 TUN을 끄고 시스템 프록시를 끈 다음 클라이언트를 종료하고, Windows 프록시 설정에서 수동 프록시가 꺼져 있는지 확인해야 합니다. Direct 전환만으로는 프록시 출구를 테스트할 수 있지만 클라이언트가 완전히 종료된 상태를 재현할 수는 없습니다.

오용 3: 전체 모드에서 GLOBAL 노드 선택을 잊기

Global로 전환한 뒤에는 GLOBAL이 현재 무엇을 가리키는지도 확인해야 합니다. 자동 선택 정책 그룹을 가리키면 최종 노드가 상태 확인 결과에 따라 바뀔 수 있고, 사용할 수 없는 노드를 가리키면 코어에 들어오는 모든 일반 연결에 영향을 줍니다. 문제를 해결할 때는 지연시간 측정 결과가 있고 최근에 사용 가능한 특정 노드를 선택한 뒤 노드 이름과 테스트 시간을 기록해야 합니다.

오용 4: YAML을 수정하고 모드만 전환한 뒤 다시 불러오지 않기

mode, rules 또는 정책 그룹을 직접 수정해도 클라이언트의 실행 설정이 자동으로 새로 고쳐지지 않을 수 있습니다. ‘설정’ → ‘다시 불러오기’를 사용하거나 클라이언트의 해당 Reload 메뉴를 실행하세요. YAML은 공백으로 계층을 표시하므로 Tab 사용, 콜론 누락, 목록 들여쓰기 불일치로 인해 불러오기에 실패할 수 있습니다.

mode: rule

proxy-groups:
  - name: 노드 선택
    type: select
    proxies:
      - 자동 선택
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.com,노드 선택
  - MATCH,노드 선택

현상별로 모드 문제 해결하기

웹사이트가 전체 모드에서만 접속됨

  • 연결 페이지에서 대상 도메인을 찾아 적용된 규칙과 정책 체인을 기록합니다.
  • 규칙 모드에서 DIRECT, 잘못된 지역의 정책 그룹 또는 사용할 수 없는 노드가 적용되었는지 확인합니다.
  • 구독과 규칙 집합을 수동으로 업데이트한 다음 설정을 다시 불러옵니다.
  • 대상 도메인에 더 구체적인 규칙을 추가하고 광범위한 규칙보다 앞에 배치합니다.
  • Rule로 돌아간 뒤 다시 테스트해 Global에 의존하지 않는지 확인합니다.

직접 연결 모드는 정상이고 규칙 모드와 전체 모드는 모두 이상함

이는 보통 로컬 네트워크에서는 대상에 직접 연결할 수 있지만 현재 프록시 노드 또는 프록시 경로에 문제가 있음을 의미합니다. 먼저 노드의 지연시간을 측정한 뒤 같은 지역의 다른 노드로 바꿔 보세요. 지연시간 측정은 테스트 주소에 도달할 수 있다는 것만 보여 주며 대상 서비스의 정상 작동을 보장하지 않으므로, 연결 로그에서 시간 초과, 연결 거부 또는 TLS 핸드셰이크 실패가 발생했는지도 확인해야 합니다.

여러 노드에서 모두 문제가 발생하면 구독 만료 여부, 시스템 시간의 정확성, 보안 프로그램이 클라이언트 프로세스를 차단하는지 확인하세요. Windows 시간이 몇 분만 어긋나도 TLS 인증서 검증이 실패할 수 있습니다. ‘설정’ → ‘시간 및 언어’ → ‘날짜 및 시간’에서 시간 자동 설정을 켜고 즉시 동기화를 실행할 수 있습니다.

세 모드 모두 접속할 수 없음

먼저 트래픽이 Clash에 들어오는지 확인합니다. 연결 목록에 대상 요청이 전혀 없다면 시스템 프록시, TUN, 앱 자체의 프록시 설정, 리슨 포트를 점검해야 합니다. 요청은 보이지만 세 모드 모두 실패한다면 DNS, 대상 서버 상태, 로컬 방화벽, 기본 네트워크를 확인하세요. 클라이언트를 잠시 종료한 뒤 직접 접속해 명확한 비교 결과를 만드는 방법도 있습니다.

모드 선택 빠른 안내

  • 일반 웹페이지·업무·상시 백그라운드 실행: Rule을 선택해 규칙 집합이 일상적인 트래픽 분배를 담당하게 합니다.
  • 대상 도메인에 잘못된 규칙이 적용된 것으로 의심될 때: 잠시 Global을 선택해 접속 결과를 비교한 뒤 규칙을 수정합니다.
  • 특정 구독 노드가 대상 트래픽을 처리할 수 있는지 확인할 때: Global을 선택하고 GLOBAL에서 해당 노드를 지정합니다.
  • 라우터·NAS·로컬 개발 서비스에 접속할 때: 먼저 Direct로 비교한 뒤 LAN 직접 연결 규칙을 추가합니다.
  • 장애가 프록시 출구에서 발생했는지 판단할 때: 트래픽을 가로채는 방식은 유지하고 Rule, Global, Direct를 차례로 비교합니다.
  • 시스템의 완전한 원래 네트워크를 테스트할 때: TUN과 시스템 프록시를 끈 뒤 클라이언트를 종료해야 하며 Direct 전환만으로는 충분하지 않습니다.

가장 안정적인 사용 습관은 Rule을 기본 모드로 두고 Global과 Direct를 진단 도구로 사용하는 것입니다. 테스트할 때마다 조건 하나만 바꾸고 현재 노드, 적용 규칙, 트래픽 가로채기 방식, 결과를 기록한 뒤 원래 설정으로 되돌리세요. 이렇게 하면 규칙 문제를 빠르게 찾는 동시에 시스템 프록시, TUN, DNS, 프록시 모드를 뒤섞어 판단하는 일을 피할 수 있습니다.

클라이언트 다운로드 보기