고급 설정

Clash YAML 설정 파일 완전 가이드

Clash YAML 설정 파일은 전체 프록시 시스템의 핵심으로, 그 구조와 필드 규범을 이해하는 것은 고급 사용의 필수 과정입니다. 구독 링크가 제공하는 설정은 보통 일반적인 템플릿으로, 특정 시나리오에 최적화되어 있지 않습니다. 이 글은 Clash 공식 설정 파일 완전 설명서로, 각 핵심 필드의 정의와 공식 권장 모범 사례 작성법을 체계적으로 설명합니다.

설정 파일 전체 구조

완전한 Clash 설정 파일은 여섯 가지 주요 부분으로 구성됩니다: 전역 파라미터, DNS 설정, 프록시 노드(proxies), 전략 그룹(proxy-groups), 규칙(rules), 그리고 선택적인 TUN 설정. 이 여섯 부분이 함께 Clash가 각 네트워크 요청을 처리하는 방법을 결정합니다.

port: 7890
socks-port: 7891
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver: [1.1.1.1, 8.8.8.8]

proxies: [ ... ]
proxy-groups: [ ... ]
rules: [ ... ]

전역 파라미터 상세 해설

전역 파라미터는 Clash의 기본 실행 동작을 제어합니다. 다음은 가장 자주 사용되는 필드들입니다:

  • portsocks-port: 각각 HTTP 프록시와 SOCKS5 프록시의 수신 포트로, 기본값은 7890/7891입니다. mixed-port: 7890으로 두 프로토콜을 하나의 포트로 통합할 수도 있습니다.
  • allow-lan: true로 설정하면 로컬 네트워크의 다른 기기도 Clash를 프록시 서버로 사용할 수 있어, 라우터 수준의 공유 프록시 시나리오에 적합합니다.
  • mode: 전역 프록시 모드로, rule(스마트 트래픽 분류), global(전체 프록시 통과), direct(전체 직접 연결)중 선택 가능합니다.
  • external-controller: RESTful API의 주소와 포트로, 각종 대시보드(예: Yacd, MetaCubeXD)가 이 인터페이스를 통해 Clash와 통신하여 그래픽 제어를 구현합니다.

proxies: 프록시 노드 설정

proxies 배열의 각 객체는 하나의 프록시 서버 노드를 나타냅니다. 프로토콜마다 필수 필드가 다르지만, name, type, server, port는 모든 프로토콜에 공통적인 필수 항목입니다.

Clash(Mihomo 코어)는 Shadowsocks, VMess, VLESS, Trojan, Hysteria2, TUIC 등 20여 가지 프로토콜을 지원합니다. 다음은 세 가지 가장 일반적인 프로토콜의 예시 설정입니다:

proxies:
  - name: "🇰🇷 한국-01"
    type: ss
    server: kr.example.com
    port: 8388
    cipher: chacha20-ietf-poly1305
    password: "your-password"
    udp: true

  - name: "🇺🇸 미국-01"
    type: vmess
    server: us.example.com
    port: 443
    uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: /ray
      headers:
        Host: us.example.com

  - name: "🇯🇵 일본-01"
    type: trojan
    server: jp.example.com
    port: 443
    password: "your-password"
    sni: jp.example.com
    udp: true

proxy-groups: 전략 그룹

전략 그룹은 Clash가 다른 프록시 도구와 차별화되는 핵심 장점입니다. 여러 노드를 하나의 논리적 프록시 단위로 결합하여 수동 선택, 자동 속도 테스트, 페일오버, 로드 밸런싱 네 가지 작동 방식을 지원하며, 전략 그룹 간에 중첩 참조가 가능하여 유연한 계층 프록시 아키텍처를 구축할 수 있습니다.

proxy-groups:
  - name: "🚀 노드 선택"
    type: select
    proxies: ["♻️ 자동 선택", "🇰🇷 한국-01", "🇺🇸 미국-01", DIRECT]

  - name: "♻️ 자동 선택"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies: ["🇰🇷 한국-01", "🇯🇵 일본-01", "🇺🇸 미국-01"]

  - name: "🎬 스트리밍"
    type: select
    proxies: ["🇺🇸 미국-01", "🇯🇵 일본-01"]

위의 설정은 두 계층 구조를 구성합니다: 「노드 선택」 전략 그룹이 외부에 노출되는 진입점으로, 사용자는 여기서 구체적인 노드나 「자동 선택」 전략 그룹을 수동으로 선택할 수 있습니다; 「자동 선택」 전략 그룹은 백그라운드에서 지속적으로 속도를 테스트하여 자동으로 지연 시간이 가장 낮은 노드로 전환합니다.

rules: 트래픽 분류 규칙

규칙 목록은 위에서 아래 순서로 순차적으로 매칭되며, 어떤 규칙이 적중되면 즉시 해당 동작을 실행하고 매칭을 중지합니다. 규칙 형식은 유형,매칭값,정책이며, 마지막 규칙은 반드시 MATCH 기본 규칙이어야 합니다.

rules:
  - DOMAIN,google.com,🚀 노드 선택
  - DOMAIN-SUFFIX,youtube.com,🎬 스트리밍
  - DOMAIN-KEYWORD,facebook,🚀 노드 선택
  - GEOIP,KR,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,🚀 노드 선택
규칙 목록을 수동으로 유지 관리하는 것은 번거롭습니다. RULE-SET을 사용하여 커뮤니티에서 관리하는 규칙 집합(예: Loyalsoldier/clash-rules)을 참조하는 것을 권장합니다. 정성껏 정리된 로컬 직접 연결 도메인과 프록시 도메인 목록이 포함되어 있어 바로 사용 가능하고 정기적으로 업데이트됩니다.

설정 모범 사례

실제 사용에서 몇 가지 설정 권장 사항이 경험을 크게 향상시킬 수 있습니다: 첫째, 자주 사용하는 스트리밍 플랫폼(Netflix, Disney+, YouTube)을 별도의 전략 그룹으로 설정하여 필요에 따라 다른 지역의 콘텐츠를 편리하게 이용할 수 있도록 합니다; 둘째, url-test 전략 그룹에 합리적인 tolerance(허용 오차)를 설정하여 지연 시간 차이가 작을 때 노드가 자주 전환되는 것을 방지합니다; 셋째, external-controller와 Yacd 또는 MetaCubeXD 등의 대시보드를 함께 사용하면 브라우저에서 실시간으로 연결 상태와 트래픽을 모니터링할 수 있어 문제 진단에 매우 편리합니다.

Clash
Clash를 사용할 준비가 되셨나요?
무료 다운로드, Windows, macOS, Linux, Android 전 플랫폼 지원.
지금 다운로드
글 탐색
관련 글
Clash
지금 Clash 다운로드
전 플랫폼 클라이언트, 무료 사용
다운로드 페이지로 이동