고급 설정 · 핵심 기능 실습 가이드

철저 해설
Clash 코어 고도 설정

TUN 모드, 규칙 설정, DNS 보호, 구독 관리 및 지연 테스트를 마스터하여 Clash의 성능을 극대화하십시오.

TUN 모드

TUN(네트워크 터널) 모드는 커널 레벨에서 가상 네트워크 어댑터를 생성하고 드라이버 계층에서 모든 TCP/UDP 트래픽을 포착하여 진정한 글로벌 투명 프록시를 제공합니다. 앱 측에서 프록시 지원하지 않아도 사용할 수 있습니다.

TUN 모드를 활성화해야 하는 장면
  • 게임 클라이언트(Steam, Epic, UPlay)가 시스템 프록시를 무시하고 높은 지연 및 연결 실패가 발생합니다.
  • git clonenpm installpip install 같은 CLI 도구에서 프록시를 사용하고 싶습니다.
  • Electron 앱(VS Code, Discord)이 내부 통신으로 시스템 프록시를 우회합니다.
  • UDP 트래픽(음성 통화, DNS-over-UDP, 게임 UDP)도 투명하게 프록시하고 싶습니다.

TUN 모드 활성화 절차

1
관리자 권한으로 클라이언트 시작 TUN 모드는 드라이버 수준에서 가상 네트워크 어댑터를 도입하므로 처음 시작할 때 관리자 권한이 필요합니다. Windows를 마우스 오른쪽 버튼으로 클릭하여 "관리자 권한으로 실행", macOS에서 시스템 인증 대화 상자를 허용합니다.
2
클라이언트 설정에서 TUN 사용 Clash Verge Rev에서 Settings → System Settings → TUN Mode를 켭니다. 처음에는 드라이버 도입(Windows는 wintun.dll, macOS는 커널 확장)이 요구되므로 화면의 안내에 따라 허가를 완료해 주십시오.
3
설정 파일에서 TUN 조정(선택 사항) YAML 설정을 사용하면 TUN 작동 모드, DNS 하이재킹 및 라우팅 거동을 세밀하게 제어할 수 있습니다.

TUN 설정 예

YAML config.yaml
# TUN mode configuration
tun:
  enable: true
  stack: mixed        # mixed = gVisor(UDP) + system(TCP), best compatibility
  auto-route: true    # auto-add routing rules for TUN interface
  auto-redirect: true # auto-redirect TCP connections (Linux)
  auto-detect-interface: true
  dns-hijack:
    - any:53           # intercept all DNS queries to prevent leaks
  strict-route: true  # stricter routing, prevents traffic bypass
권장 스택 값: mixed 호환성이 가장 높습니다 (TCP는 시스템, UDP는 gVisor), 순수한 system 고성능이지만 UDP 호환이 약하고,gvisor 는 UDP 대응이 가장 넓은 대신 CPU 부하가 약간 높습니다.
주의: TUN이 활성화되면 모든 통신이 Clash를 통과합니다. 국내 통신까지 프록시 되어 속도 저하하지 않도록,GEOIP,CN,DIRECT 등의 직결 규칙을 반드시 포함하십시오.

YAML 규칙 설정

Clash는 구성 파일에서 rules 로 통신 대상을 제어합니다. 국내는 DIRECT, 해외는 PROXY, 광고 도메인은 차단 등의 분기가 가능합니다. 규칙은 위에서 순서대로 평가되며 첫 번째 일치하는 규칙이 적용됩니다.

규칙 유형 빠른 참조

규칙 유형 매치 조건
DOMAIN 완전 일치 도메인 DOMAIN,google.com,PROXY
DOMAIN-SUFFIX 도메인 접미사(하위 도메인 포함) DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD 키워드가 포함된 도메인 DOMAIN-KEYWORD,google,PROXY
IP-CIDR IP 주소 범위 IP-CIDR,192.168.0.0/16,DIRECT
GEOIP IP 지리 정보(국가/지역) GEOIP,CN,DIRECT
RULE-SET 외부 규칙 세트 파일 RULE-SET,reject,REJECT
MATCH 최종 캐치 올(후미 필수) MATCH,PROXY

완전한 라우팅 구성 예

YAML config.yaml
# proxy groups
proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - Auto-Speed-Test
      - HK-01
      - US-01

  - name: Auto-Speed-Test
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01

# rule-sets from community-maintained lists
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

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

# rules — matched top to bottom, first match wins
rules:
  - RULE-SET,reject,REJECT       # block ads/trackers
  - RULE-SET,direct,DIRECT       # CN domains → direct
  - RULE-SET,proxy,PROXY         # known proxy domains
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY                  # everything else → proxy
추천 커뮤니티 규칙 세트: Loyalsoldier/clash-rules 는 지속적으로 유지보수되며 매일 자동으로 업데이트됩니다. 광고 차단, 국내 직결, 해외 프록시의 주요 시나리오를 포괄하여 수동 유지보수 부담을 줄일 수 있습니다.

DNS 오염 대책 설정

DNS 오염이 발생하면 해외 도메인이 잘못된 IP로 해결되어 연결 실패 및 트래픽 도용의 원인이 됩니다. Clash의 DNS 모듈은 DoH/DoT 암호화에 대응하고 국내외 도메인을 별도의 DNS로 해결함으로써 속도와 안전성을 양립할 수 있습니다.

일반 DNS(오염되기 쉬운)

UDP 53의 평문 통신은 변조되기 쉽고, 해외 도메인이 블록 IP나 오IP로 유도될 우려가 있습니다.

DoH/DoT(암호화 DNS)

DNS-over-HTTPS 또는 DNS-over-TLS는 쿼리를 TLS로 보호합니다. 변조 및 오염의 위험을 크게 낮출 수 있습니다.

권장 DNS 설정(국내외에서 분리해결)

YAML config.yaml
dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip      # fake-ip prevents DNS leaks, recommended
  fake-ip-range: 198.18.0.1/16

  # Nameservers for domains NOT matched by nameserver-policy
  nameserver:
    - https://dns.google/dns-query       # Google DoH
    - https://cloudflare-dns.com/dns-query # Cloudflare DoH
    - tls://1.1.1.1:853                    # Cloudflare DoT

  # Fallback: used when nameserver returns potentially polluted result
  fallback:
    - https://dns.google/dns-query
    - https://doh.pub/dns-query             # Tencent DoH (fast in CN)

  # Fallback filter: if GEOIP is CN → use nameserver; else use fallback
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

  # Policy: route specific domains to specific servers
  nameserver-policy:
    "geosite:cn":
      - https://doh.pub/dns-query   # fast domestic resolver for CN domains
      - 114.114.114.114
    "geosite:geolocation-!cn":
      - https://dns.google/dns-query
      - https://cloudflare-dns.com/dns-query
fake-ip 모드 추천

각 도메인에 가상 IP를 할당하고 연결 시 실제 IP를 해결하는 방식입니다. DNS 누출을 방지하기 쉽고, 해결 속도도 빠릅니다.

redir-host 모드 호환

연결하기 전에 실제 IP를 얻는 방식으로 실제 IP가 필요한 앱과 호환되는 반면 DNS 누출 위험은 약간 남아 있습니다.

구독 관리 및 자동 업데이트

구독 URL은 프록시 서비스가 배포하는 노드 정보가 포함된 YAML 링크입니다.proxy-providers 을 사용하면 여러 구독을 구성 파일에서 직접 찾아보고 업데이트 간격도 자동화할 수 있습니다.

방법 1: 클라이언트에 구독 URL을 직접 가져오기

1
공급자 Clash용 구독 링크 복사 V2Ray 또는 Shadowsocks가 아닌 Clash / Mihomo 형식을 선택하십시오. 보통은 https:// 그리고 시작하면 YAML이 반환됩니다.
2
Clash Verge Rev로 캡처 Profiles 페이지를 열고 오른쪽 상단의 '+' → 'URL Import'→ 링크 붙여넣기 → 'Download'로 이동합니다.
3
자동 업데이트 간격 설정 가져온 프로파일을 마우스 오른쪽 버튼으로 클릭하고 [Edit Info] → [Auto Update]를 24시간(권장)으로 설정하면 노드 목록을 항상 최신 상태로 유지합니다.

방법 2: proxy-providers(여러 구독 통합)

여러 공급자를 사용하는 고급 사용자나 구독과 맞춤 규칙을 분리하려는 경우에 적합합니다.

YAML config.yaml
# Reference multiple subscription sources
proxy-providers:
  AirportA:
    type: http
    url: "https://your-airport-a.com/clash/subscribe?token=xxx"
    interval: 86400         # refresh every 24 hours
    path: ./providers/airport_a.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

  AirportB:
    type: http
    url: "https://your-airport-b.com/clash/subscribe?token=yyy"
    interval: 86400
    path: ./providers/airport_b.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

# Use providers in proxy groups
proxy-groups:
  - name: PROXY
    type: select
    use:
      - AirportA      # include all nodes from AirportA
      - AirportB      # include all nodes from AirportB

  - name: Auto-Best
    type: url-test
    use:
      - AirportA
      - AirportB
    url: https://www.gstatic.com/generate_204
    interval: 300
구독 URL 안전 관리: 구독 링크에는 계정 토큰이 포함됩니다. 공개 공유는 피하고 정기적으로 토큰을 업데이트하고 비정상적인 트래픽을 감지하면 즉시 다시 발급합니다.

흔한 구독 문제

캡처 후 "노드 없음"또는 비어 있음
구독 형식이 잘못되었을 수 있습니다.Clash/Mihomo 형식 인지 확인하십시오 (V2Ray JSON 또는 Shadowsocks 형식은 불가능). 출처 페이지에서 'Clash' 또는 'Mihomo' 표기법 링크를 사용하고 올바른데 비어 있으면 수동으로 'Update Subscription'을 사용해 보세요.
구독 갱신 시 네트워크 오류 발생
구독 배달 서버 자체에 연결하려면 프록시가 필요할 수 있습니다. Clash Verge Rev에서 System Proxy를 활성화한 후 업데이트하거나 설정에서 Update subscription via proxy를 선택합니다.
로컬 YAML과 온라인 구독을 함께 사용하고 싶습니다.
온라인 측은 proxy-providers 에서 참조하고 로컬 노드는 proxies 에 수동으로 추가합니다.proxy-groups 에서 use(provider)와 proxies(수동)을 병기하면 통합 운용할 수 있습니다.

지연 테스트 및 최적화

Clash의 프록시 그룹은 자동 라우팅을 지원합니다.url-test 최소 지연 노드를 자동 선택,fallback 장애시 자동 전환,load-balance 는 여러 노드에 분산하여 처리합니다.

url-test 가장 흔한

테스트 URL에 정기적으로 액세스하여 가장 지연이 낮은 노드로 자동 전환합니다. 게임이나 스트리밍 등 지연에 민감한 용도에 최적입니다.

fallback

통상은 선두 노드를 사용해, 이용 불가시에 다음 노드로 전환합니다. 우선 노드를 고정하면서 중복하고 싶은 경우에 적합합니다.

load-balance

여러 노드에 트래픽을 분산시켜 종합 대역폭을 향상시킵니다. 여러 다운로드를 동시에 실행하는 장면에 적합합니다.

지연 테스트용 프록시 그룹 설정 예

YAML config.yaml
proxy-groups:
  # Auto select lowest-latency node
  - name: Auto-Best
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300         # test every 5 minutes
    tolerance: 50          # switch only if new node is 50ms faster (prevents thrashing)
    lazy: true             # only test when traffic is present
    proxies:
      - HK-01
      - HK-02
      - US-01
      - SG-01

  # Failover: use HK-01 first, switch if unavailable
  - name: Failover
    type: fallback
    url: https://www.gstatic.com/generate_204
    interval: 180
    proxies:
      - HK-01       # primary
      - US-01       # backup 1
      - SG-01       # backup 2

  # Load balance across multiple nodes
  - name: LoadBalance
    type: load-balance
    strategy: consistent-hashing  # same domain always uses same node
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01
      - SG-01

  # Manual selection group (top-level entry point)
  - name: PROXY
    type: select
    proxies:
      - Auto-Best
      - Failover
      - LoadBalance
      - HK-01
      - US-01
tolerance 매개 변수는 중요: 예를 들어 50ms의 임계값을 설정하면 미소차에서의 빈번한 전환을 방지합니다. 미설정이면 1ms 차이에서도 전환이 일어나 접속이 불안정해지는 경우가 있습니다.
테스트 URL을 선택하는 방법: https://www.gstatic.com/generate_204(Google 204) 또는 https://cp.cloudflare.com/generate_204(Cloudflare 204)를 추천합니다. 응답이 빠르고 안정적이며 내용의 영향을 받기 어려운 URL입니다.