Clash 설정 문서

Clash 설정 가이드
제로에서 시작하는 전체 프록시 배포

구독 링크 가져오기, YAML 설정 문법, 프록시 그룹화, 규칙 분산, DNS 유출 방지, TUN 글로벌 프록시 — Windows, macOS, Android 모든 플랫폼에 적용되는 Clash 설정 전체 프로세스를 하나의 문서로 다룹니다.

시작하기

빠른 시작: 3단계로 프록시 배포 완료

어떤 Clash 클라이언트를 사용하든 핵심 프로세스는 동일합니다: 클라이언트 다운로드 → 구독 링크 가져오기 → 노드 선택 및 프록시 활성화. 전체 과정은 보통 3분 이내에 완료됩니다.

1

Clash 클라이언트 다운로드 및 설치

운영 체제에 따라 클라이언트 다운로드 페이지에서 설치 패키지를 받으세요. Windows는 Clash Verge Rev, macOS는 ClashX Meta 또는 Clash Verge Rev, Android는 ClashMeta를 추천합니다.

2

공항에서 구독 링크 가져오기 및 가져오기

공항 대시보드에 로그인하여 구독 링크(URL 형식)를 복사하세요. Clash 클라이언트에서 「구독」 또는 「설정」 옵션을 찾아 링크를 붙여넣고 「업데이트」를 클릭하면 클라이언트가 자동으로 모든 노드 설정을 다운로드하고 해석합니다.

3

프록시 노드 선택 및 시스템 프록시 활성화

「프록시」 페이지로 전환하여 지연 시간이 낮은 노드를 선택하세요. 「시스템 프록시」(System Proxy) 또는 「TUN 모드」(모든 트래픽 글로벌 관리)를 활성화하면 사용을 시작할 수 있습니다.

권장 방법: config.yaml을 수동으로 작성하는 대신 공항에서 제공하는 구독 링크를 사용하세요. 구독 링크에는 전체 노드 구성이 포함되어 있으며 클라이언트가 정기적으로 자동 업데이트할 수 있어 수동 관리가 필요 없습니다.

시작하기

구독 링크 가져오기 상세 가이드

구독 링크는 공항에서 URL 형식으로 제공하는 구성 파일 주소입니다. Clash는 해당 URL에 액세스한 후 모든 노드, 프록시 그룹 및 규칙이 포함된 전체 YAML 구성을 다운로드하여 로컬에 저장합니다.

각 클라이언트별 가져오기 방식

클라이언트 플랫폼 가져오기 위치
Clash Verge Rev Windows / macOS / Linux 사이드바 「구독」 → 우측 상단 「+」 → URL 붙여넣기 → 확인
ClashX / ClashX Meta macOS 메뉴 바 아이콘 → Config → Remote Config → Manage → 추가
ClashMeta for Android Android 하단 탭 「설정」 → 우측 상단 「+」 → URL 가져오기
FlClash Android / Windows 사이드바 「구성」 → 「+」 → 링크 입력 → 다운로드
Stash iOS 홈 「구성 파일」 → 「URL에서 다운로드」
Shadowrocket iOS 홈 우측 상단 「+」 → 유형 선택 「Subscribe」 → URL 붙여넣기

주의: 구독 링크는 개인 정보이므로 타인에게 노출하지 마세요. 공항의 최신 노드를 받기 위해 클라이언트의 「정기 구독 업데이트」 기능(일반적으로 24시간)을 켜는 것이 좋습니다.

구독 업데이트 간격 추천

대부분의 공항 노드는 1~7일마다 변경됩니다. 자동 업데이트 간격을 24시간으로 설정하면 서버에 부담을 주지 않으면서 항상 최신 노드 상태를 유지할 수 있습니다.

구성 파일

config.yaml 파일 구조

Clash의 설정 파일은 YAML 형식이며 파일 이름은 일반적으로 config.yaml입니다. 다음과 같은 최상위 필드로 구성되며 각 필드는 들여쓰기로 계층화되고 순서는 해석에 영향을 주지 않습니다.

YAML
# Clash config.yaml — top-level structure

mixed-port: 7890          # HTTP + SOCKS5 mixed port
allow-lan: false          # Allow LAN devices to use proxy
mode: rule               # rule | global | direct
log-level: info           # silent | error | warning | info | debug
external-controller: 127.0.0.1:9090   # REST API port

dns:
  # DNS settings — see DNS section below

proxies:
  # Proxy node definitions

proxy-groups:
  # Proxy group policies

rules:
  # Traffic routing rules

글로벌 매개변수 설명

필드기본값설명
mixed-port7890HTTP 및 SOCKS5 프로토콜을 동시에 리스닝하는 혼합 포트
portHTTP 프록시 전용 포트(mixed-port와 택일)
socks-portSOCKS5 전용 포트(mixed-port와 택일)
allow-lanfalseLAN 내 다른 기기가 본체 프록시를 통해 접속하도록 허용할지 여부
moderulerule(규칙 분산) / global(글로벌 프록시) / direct(모두 직접 연결)
log-levelinfo로그 상세도, 디버깅 시 debug로 변경 가능
external-controllerREST API 주소, GUI 클라이언트는 이 인터페이스를 통해 코어를 제어함
secretREST API 액세스 키 (선택 사항)

GUI 클라이언트(Clash Verge Rev, ClashX 등)를 사용할 때 대부분의 글로벌 매개변수는 클라이언트 인터페이스에서 제어되므로 config.yaml을 수동으로 편집할 필요가 없습니다. 수동 설정은 주로 서버 배포나 고도의 사용자 정의 시나리오에 사용됩니다.

구성 파일

프록시 노드

proxies 필드는 모든 프록시 노드를 정의하며 각 노드는 - name:으로 시작하고 type 필드로 프로토콜을 지정합니다. Clash는 다음과 같은 모든 주요 프록시 프로토콜을 지원합니다:

Shadowsocks ShadowsocksR VMess VLESS Trojan Hysteria2 TUIC v5 WireGuard NaïveProxy SOCKS5 HTTP / HTTPS

Shadowsocks 노드 예시

YAML
proxies:
  - nameHK-01 홍콩 노드
    type: ss
    server: hk.example.com
    port: 8388
    cipher: aes-128-gcm
    password: "your-password"
    udp: true

VMess 노드 예시

YAML
  - nameJP-02 일본 노드
    type: vmess
    server: jp.example.com
    port: 443
    uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: "/ws"
      headers:
        Host: jp.example.com

Trojan 노드 예시

YAML
  - nameUS-03 미국 노드
    type: trojan
    server: us.example.com
    port: 443
    password: "your-trojan-password"
    sni: us.example.com
    skip-cert-verify: false
    udp: true

실제 사용 시 노드 설정은 구독 링크를 통해 공항에서 자동으로 제공되므로 위 필드를 수동으로 채울 필요가 없습니다. 수동 설정은 자가 구축 노드나 정밀 디버깅 시나리오에만 적용됩니다.

구성 파일

프록시 그룹 (proxy-groups)

proxy-groups는 여러 노드를 하나의 전략 그룹으로 결합하여 트래픽 흐름을 유연하게 제어하는 데 사용됩니다. 규칙에서는 구체적인 노드가 아닌 프록시 그룹 이름을 참조합니다. Clash는 다음과 같은 그룹 유형을 지원합니다:

유형설명
select수동으로 노드 선택, GUI 클라이언트의 드롭다운 메뉴에서 전환, 가장 많이 사용됨
url-test지연 시간을 자동 테스트하여 가장 낮은 노드 선택
fallback순차적 장애 조치, 기본 노드 사용 불가 시 자동으로 다음 노드로 전환
load-balance트래픽을 여러 노드로 분산하여 대역폭 활용도 향상
relay트래픽이 여러 노드를 순차적으로 경유하여 출구를 숨기는 데 사용됨

전형적인 그룹 설정 예시

YAML
proxy-groups:

  # Main select group — user picks manually
  - name노드 선택
    type: select
    proxies:
      - 자동 선택
      - HK-01 홍콩 노드
      - JP-02 일본 노드
      - US-03 미국 노드
      - DIRECT

  # Auto lowest-latency group
  - name자동 선택
    type: url-test
    proxies:
      - HK-01 홍콩 노드
      - JP-02 일본 노드
      - US-03 미국 노드
    url: "http://www.gstatic.com/generate_204"
    interval: 300   # test every 300 seconds
    tolerance: 50   # switch if latency diff > 50ms

  # Fallback for services requiring specific region
  - name장애 조치 (Failover)
    type: fallback
    proxies:
      - HK-01 홍콩 노드
      - JP-02 일본 노드
    url: "http://www.gstatic.com/generate_204"
    interval: 120

DIRECTREJECT는 Clash에 내장된 특수 전략으로, proxies 필드에 정의할 필요 없이 그룹의 proxies 목록에서 직접 참조할 수 있습니다.

구성 파일

규칙 분산

rules 필드는 트래픽 라우팅 전략을 정의하며 위에서 아래로 순차적으로 매칭됩니다. 첫 번째 규칙에 일치하면 즉시 해당 전략을 실행하고 더 이상 매칭을 진행하지 않습니다. 각 규칙의 형식은 다음과 같습니다:

유형, 매칭값, 전략 이름[, no-resolve]

규칙 유형

유형매칭 내용예시
DOMAIN전체 도메인 정확히 매칭DOMAIN,google.com,노드 선택
DOMAIN-SUFFIX도메인 접미사 매칭 (하위 도메인 포함)DOMAIN-SUFFIX,google.com,노드 선택
DOMAIN-KEYWORD키워드를 포함하는 도메인DOMAIN-KEYWORD,youtube,노드 선택
IP-CIDR대상 IP 주소 범위IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR6IPv6 주소 범위IP-CIDR6,2001:db8::/32,DIRECT
GEOIPIP 소속 국가 (GeoIP 데이터베이스)GEOIP,CN,DIRECT
GEOSITE사이트 분류 (GeoSite 데이터베이스 필요)GEOSITE,cn,DIRECT
PROCESS-NAME프로세스 이름 (데스크톱)PROCESS-NAME,curl,DIRECT
MATCH기본 규칙, 나머지 모든 트래픽 매칭MATCH,노드 선택

규칙 예시: 자주 사용되는 분산 설정

YAML
rules:
  # Block ads and tracking domains
  - DOMAIN-KEYWORD,ads,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # Direct: LAN addresses
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # Proxy: common overseas services
  - 노드 선택
  - 노드 선택
  - 노드 선택
  - 노드 선택
  - 노드 선택

  # Direct: mainland China IPs
  - GEOIP,CN,DIRECT

  # Default: proxy all remaining traffic
  - 노드 선택

규칙 순서는 매우 중요합니다 — 더 구체적인 규칙이 앞쪽에 와야 합니다. MATCH는 기본 예외 규칙으로 규칙 목록의 마지막 줄에 있어야 합니다. IP 관련 규칙(IP-CIDR, GEOIP)을 포함할 때는 불필요한 DNS 해석을 피하기 위해 no-resolve 접미사를 추가하는 것이 좋습니다.

Rule Provider를 사용하여 외부 규칙 세트 참조

Mihomo(Clash Meta 코어)는 rule-providers를 지원하여 원격 URL에서 규칙 세트를 로드할 수 있습니다. 이를 통해 config.yaml에서 방대한 도메인 목록을 수동으로 관리하는 것을 피할 수 있습니다:

YAML
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

rules:
  - RULE-SET,reject,REJECT
  - 노드 선택
네트워크

DNS 설정 및 유출 방지

Clash에는 트래픽 프록시 시 도메인 이름을 해석하는 DNS 모듈이 내장되어 있습니다. 적절한 DNS 구성은 DNS 유출(ISP가 방문 도메인을 볼 수 있는 현상)을 방지하고 DNS 오염을 피하며 해석 속도를 높일 수 있습니다.

추천 DNS 설정

YAML
dns:
  enable: true
  listen: 0.0.0.0:1053       # DNS server port inside Clash
  ipv6: false                 # Disable if IPv6 not needed
  enhanced-mode: fake-ip     # fake-ip | redir-host
  fake-ip-range: 198.18.0.1/16

  # Domains resolved directly (not through fake-ip)
  fake-ip-filter:
    - "*.lan"
    - localhost.ptlogin2.qq.com

  # Upstream DNS servers used by Clash
  nameserver:
    - 114.114.114.114         # CN public DNS
    - 223.5.5.5               # Alibaba DNS

  # Fallback DNS (used for overseas domains)
  fallback:
    - tls://1.1.1.1:853      # Cloudflare DoT
    - tls://8.8.8.8:853      # Google DoT
    - https://1.1.1.1/dns-query

  # Use fallback when geoip is not CN
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4           # Poison result range

FakeIP 및 Redir-Host 모드 비교

모드원리장점적용 시나리오
fake-ip 가짜 IP 반환, 실제 도메인은 Clash 프록시 계층에서 해석됨 DNS 유출 완전 방지; 속도 빠름 대부분의 시나리오에서 권장됨
redir-host 먼저 실제 IP를 해석한 다음 IP에 따라 라우팅 전략 결정 호환성이 더 좋음, 일부 NAS / 게임 시나리오에서 필요 FakeIP와 호환성 문제가 있을 때 사용
네트워크

TUN 글로벌 프록시 모드

TUN 모드는 가상 네트워크 인터페이스를 생성하여 운영 체제 커널 수준에서 모든 TCP/UDP 트래픽을 가로채며 각 앱마다 수동으로 프록시를 설정할 필요가 없습니다. 이는 「일부 소프트웨어가 시스템 프록시를 무시하는」 문제에 대한 최종 해결책이며 게임, 터미널 도구, Electron 앱 등을 모두 커버합니다.

TUN 모드는 관리자 권한이 필요합니다(Windows는 관리자 권한으로 실행, macOS는 보조 프로그램 승인 필요). 대부분의 GUI 클라이언트는 권한 요청 프로세스를 이미 처리했으므로 인터페이스에서 직접 전환하기만 하면 됩니다.

config.yaml에서 TUN 활성화

YAML
tun:
  enable: true
  stack: mixed          # mixed (recommended) | system | gvisor
  dns-hijack:
    - any:53           # Intercept all DNS queries
  auto-route: true     # Automatically add routing rules
  auto-detect-interface: true

TUN stack 모드 선택

stack 값설명추천 정도
mixedTCP는 system, UDP는 gvisor를 사용하여 성능과 호환성의 균형을 맞춤추천 최우선
system시스템 네트워크 스택 호출, 성능이 가장 우수하지만 일부 UDP 시나리오에서 호환성이 약간 떨어짐성능 우선 시 선택
gvisor사용자 영역 네트워크 스택, 호환성이 가장 좋지만 CPU 소모가 약간 높음호환성 우선 시 선택

각 클라이언트별 TUN 활성화 방법

클라이언트조작 경로
Clash Verge Rev설정 → 시스템 설정 → 「가상 네트워크 카드(TUN 모드)」 활성화
ClashX Meta메뉴 바 → Enhanced Mode 활성화
ClashMeta for Android하단 탭 「VPN」 → TUN 모드 전환
FlClash사이드바 설정 → 서비스 모드(먼저 서비스 설치 필요)
进阶

고급 설정

Proxy Provider: 노드 소스 통합 관리

proxy-providers는 URL 또는 로컬 파일에서 동적으로 노드를 로드할 수 있게 하여 다중 공항 사용자의 통합 관리에 적합합니다:

YAML
proxy-providers:
  airport-a:
    type: http
    url: "https://sub.airport-a.com/clash/subscribe?token=xxx"
    interval: 86400
    path: ./providers/airport-a.yaml
    health-check:
      enable: true
      url: "http://www.gstatic.com/generate_204"
      interval: 300

proxy-groups:
  - name노드 선택
    type: select
    use:           # Reference provider instead of individual nodes
      - airport-a

Profile Mixin: 구독 설정 덮어쓰기

Clash Verge Rev 등의 클라이언트는 Mixin 기능을 지원하여 구독 파일을 수정하지 않고도 사용자 정의 설정을 최종 활성 설정에 「혼합」할 수 있습니다. 주로 TUN 모드 강제 활성화나 DNS 설정 교체에 사용됩니다:

YAML — Mixin 설정
# Mixin config — merged on top of subscription
mixed-port: 7890
allow-lan: false
tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 114.114.114.114
进阶

자주 묻는 질문

구독을 가져온 후 노드 목록이 비어 있나요?

다음 사항을 확인하세요: 구독 링크가 만료되었는지(공항 리셋 후 다시 복사 필요), 네트워크가 구독 URL에 액세스할 수 있는지(일부 공항 구독 URL은 국내에서 차단될 수 있으므로 VPN을 켜고 업데이트 시도), 구독 형식이 Clash 형식인지(일부 공항은 Clash / ShadowsocksR 등 여러 형식을 제공하므로 「Clash」 형식을 선택해야 함).

시스템 프록시를 켰는데도 일부 소프트웨어가 여전히 차단되나요?

일부 소프트웨어(게임 클라이언트, UWP 앱, 터미널 도구 등)는 시스템 프록시 설정을 따르지 않습니다. 해결책은 TUN 모드를 켜서 시스템 커널 수준에서 모든 트래픽을 가로채는 것입니다. 자세한 내용은 TUN 모드 섹션을 참조하세요.

지연 시간 테스트 결과 노드 사용이 가능하지만 실제 접속이 매우 느린가요?

지연 시간 테스트(PING)는 핸드셰이크 왕복 시간만을 반영하며 실제 다운로드 속도를 나타내지 않습니다. 다른 노드로 전환하거나 「자동 선택」 그룹을 선택하여 Clash가 자동으로 속도를 측정하고 최적의 노드를 선택하게 하세요. 또한 현재 노드의 프로토콜이 로컬 네트워크에서 속도 제한을 받는지 확인하세요(예: Shadowsocks는 QoS에 취약하므로 Hysteria2나 TUIC로 교체 시도).

설정 파일 오류 YAML parse error?

YAML은 들여쓰기에 매우 민감합니다. 다음 사항을 확인하세요: 들여쓰기에는 2개의 공백을 사용하세요(Tab 키 사용 금지);특수 문자가 포함된 문자열 값은 따옴표로 감싸야 합니다;목록 항목의 - 뒤에는 반드시 공백이 있어야 합니다. YAML Lint를 사용하여 구성 파일 구문을 온라인으로 검증하는 것을 권장합니다.

Clash 실시간 연결 로그를 어떻게 확인하나요?

대부분의 GUI 클라이언트는 내장된 로그 패널을 제공합니다: Clash Verge Rev → 사이드바 「로그」; ClashX → 메뉴 바 → Dashboard → Logs; 또는 REST API: http://127.0.0.1:9090(external-controller 구성 필요)에 직접 액세스하여 Yacd나 MetaCubeXD 등의 패널로 연결 상세 정보를 확인할 수 있습니다.

시작할 준비가 되셨나요?

Clash 클라이언트를 다운로드하고 공항 구독 링크를 가져와서 몇 분 안에 프록시 배포를 완료하세요.