어떤 증상에 이 글이 해당할까

Discord를 쓰다 보면 대표적으로 두 가지 패턴이 있습니다. 첫째, 웹 로그인이나 텍스트 채팅은 대체로 되는데 음성 채널에만 들어가면 지연·끊김·“RTC 연결” 메시지가 길게 남는 경우입니다. 둘째, 앱 자체가 갱신·CDN 단계에서만 열리지 않거나, 특정 지역 회선에서만 아예 접속이 막히는 것처럼 보이는 경우입니다. 이 두 패턴은 “느린 노드 하나”로 설명되기보다 TCP로 잘 가던 흐름과 UDP 실시간 흐름이 서로 다른 경로로 갈라질 때 흔히 나타납니다.

Clash 계열은 규칙 기반으로 도메인·IP를 넓은 트래픽 묶음에 맞출 수 있지만, UDP 분기음성 프록시가 실제로 동작하려면 사용 중인 노드·프로토콜(VMess/Trojan/Hysteria 등)이 UDP를 지원하는지, 그리고 운영체제까지 트래픽이 터널로 모이는지(TUN)가 함께 맞아야 합니다. Docker 레지스트리나 AI 웹사이트처럼 “특정 사이트 호스트만 보낸다”는 접근과 방향은 같아도, Discord는 실시간 음성이라 변수가 하나 더 붙습니다.

왜 Discord 음성은 “도메인만”으로 끝나지 않을까

Discord 클라이언트는 채널 입장·음성 전송 단계에서 WebRTC 계열의 실시간 경로를 쓰고, 여기에는 TCP 연결만으로는 대체하기 어려운 UDP 스트림이 포함되는 경우가 많습니다. 그래서 DOMAIN-SUFFIX,discord.com 같은 줄이 있어도, 그 줄이 가리키는 전략 그룹이 UDP를 제대로 넘기지 못하면 “규칙은 맞는데 음성만 안 된다”가 됩니다. 반대로 브라우저 탭은 시스템 프록시를 따르는데 데스크톱 앱은 제한적으로만 프록시를 탄다면, 도메인 분기와 무관하게 앱 경로가 DIRECT로 빠질 수도 있습니다.

또한 Discord가 사용하는 호스트 이름은 시간이 지나며 바뀌거나 늘어날 수 있어, 커뮤니티 RULE-SET만 복붙하는 것보다 실제 연결 로그의 SNI·도메인을 기준으로 좁혀 가는 편이 오탐이 적습니다. 이 과정에서 DNS가 Fake-IP 모드라면 로컬 해석 결과와 터널 내부 질의가 어긋나는지도 함께 봐야 하며, 전체 DNS·Fake-IP 구조는 YAML 설정 심화 가이드와 대조하는 것이 좋습니다.

문제 재현 시에는 “게임·스트리밍”용으로 미리 만들어 둔 넓은 MATCH보다, 먼저 Discord만 골라 담은 좁은 전략 그룹으로 출구를 고정해 보세요. 자동 전환이 잦으면 UDP 세션이 계속 재협상처럼 보일 수 있습니다.

도메인·트래픽 덩어리를 나누어 생각하기

설정을 짤 때는 최소한 아래처럼 역할을 나누면 유지보수가 쉬워집니다. 아래 호스트 예시는 교육용이며, 실제 환경에서는 클라이언트 버전과 지역에 따라 달라질 수 있습니다.

  • 앱·웹 UI·계정: 로그인, 설정 동기화, 일반 API 호출 — 대부분 TCP 중심
  • 음성·영상(RTC): 채널 입장 후 양방향 스트림 — UDP 비중이 커짐
  • 첨부·스티커·CDN: 파일·이미지 전송 — 대용량·병렬 요청
  • 이웃·라우팅 메타: 클라이언트가 어떤 미디어 서버로 붙을지 잡는 단계 — 실패 시 음성만 안 붙는 증상으로 이어질 수 있음

규칙을 쌓을 때는 “Discord 전부 한 줄”보다, 우선 음성 프록시에 쓸 그룹과 일반 웹에 쓸 그룹을 구분할지부터 정하는 것이 안전합니다. 이미 OTT 전용 분기를 쓰고 있다면 스트리밍 분기 글에서 말한 것처럼 규칙 순서가 음성에도 동일하게 적용됩니다 — 위에서 아래로 첫 매칭이 최종입니다.

전략 그룹: UDP를 버틸 출구 고정하기

Clash Discord 시나리오에서 핵심은 proxy-groups의 멤버가 UDP relay를 지원하는지 확인하는 것입니다. 코어·프로필 문법에 따라 표기는 다르지만, 일반적으로 udp: true처럼 UDP가 켜진 프록시를 선택해야 음성 경로가 따라갑니다. 노드 목록에 혼합되어 있으면, 음성용으로는 UDP가 확실한 노드만 모아 PROXY_DISCORD 같은 전용 그룹을 두는 패턴이 많습니다.

url-test로 자동 선택할 때는 측정 URL이 웹 지연만 보고 UDP 품질을 대변하지 못할 수 있습니다. 음성이 자주 끊기면 select로 한동안 출구를 고정하고, 동일 조건에서만 비교하는 편이 원인 분리에 유리합니다. Proxy Groups 설계 전반은 YAML 가이드의 전략 그룹 절과 맞춰 읽으면 충돌이 줄어듭니다.

rules 스케치: 도메인을 먼저, 넓은 규칙은 아래로

아래는 개념 예시입니다. 실제 RULE-SET 이름·경로·추가 SNI는 사용 중인 프로필에 맞게 바꿔야 하며, 큰 범위의 DOMAIN-SUFFIX는 다른 업무 트래픽까지 끌고 올 수 있으니 로그로 검증 후 최소화하세요.

# Conceptual excerpt — adapt to your profile and node capabilities
proxy-groups:
  - name: PROXY_DISCORD
    type: select
    proxies:
      - NODE_UDP_A  # pick nodes whose underlying protocol supports UDP relay
      - NODE_UDP_B
      - PROXY_DEFAULT

rules:
  - DOMAIN-SUFFIX,discord.com,PROXY_DISCORD
  - DOMAIN-SUFFIX,discordapp.com,PROXY_DISCORD
  - DOMAIN-KEYWORD,discord,PROXY_DISCORD
  - GEOIP,CN,DIRECT
  - MATCH,PROXY_DEFAULT

DOMAIN-KEYWORD는 과매칭 위험이 있으니 장기 용도보다는 임시로 로그를 모을 때에 가깝습니다. 키워드가 다른 서비스까지 건드리면 오히려 음성이 더 불안정해질 수 있습니다. 안정화단계에서는 RULE-SET이나 더 좁은 접미사로 바꾸는 편이 낫습니다.

TUN·시스템 프록시: 앱이 실제로 코어를 타는지

브라우저만 시스템 프록시를 따르고 Discord 데스크톱 앱은 우회한다면, 규칙이 아무리 정교해도 UI와 음성이 서로 다른 길을 갈 수 있습니다. 이때는 TUN 모드로 시스템 레벨 트래픽을 코어에 모으거나, 반대로 Discord가 시스템 프록시를 존중하는 조합인지 클라이언트 설정을 확인하는 편이 좋습니다. Windows에서 TUN을 켠 뒤 반대로 전체가 끊기면 TUN 인터넷 점검 가이드의 순서로 라우팅·다른 VPN·방화벽을 먼저 정리하는 것이 안전합니다.

동시에 돌리는 상용 VPN·기업 터널이 있으면 UDP 포트가 겹치거나 라우트가 덮여 음성만 intermittent해질 수 있습니다. 테스트할 때는 다른 터널을 끄고 Clash만 켠 상태에서 음성 품질을 먼저 재현해 보세요. 모바일 앱별 우회는 Android 앱별 프록시 가이드와 목적이 비슷하지만, iOS·데스크톱 Discord는 OS 정책이 달라 같은 스위치가 없을 수 있습니다.

주의

지역 약관·서비스 정책·학교·직장 보안 규정을 위반하는 우회를 돕는 목적의 설명은 다루지 않습니다. 이 글은 합법적으로 접근 권한이 있는 네트워크에서 기술 경로 불일치로 생기는 끊김을 줄이는 데 한합니다.

점검 순서 체크리스트

대규모로 프로필을 갈아엎기 전에 아래 순서를 권합니다.

  1. 실제 연결 로그에 찍힌 도메인·SNI를 적어 두고, rules에서 그보다 넓은 줄이 먼저 잡히지 않았는지 확인합니다.
  2. 음성에 쓰는 전략 그룹에 UDP 가능 노드만 넣었는지, 혼합되어 있지 않은지 확인합니다.
  3. TUN vs 시스템 프록시 중 무엇을 쓰는지 하나로 고정하고, 다른 VPN과 중복이 없는지 확인합니다.
  4. DNS가 Fake-IP인지, Discord 관련 이름이 fake-ip-filter 예외가 필요한지 YAML과 대조합니다.
  5. IPv6 경로만 타는 경우가 없는지, 회선이 바뀔 때(와이파이↔이동통신) 증상이 달라지는지 비교합니다.
  6. 문제가 음성만인지, 첨부·로그인까지 같이 깨지는지 범위를 나누어 재현합니다.

이 순서는 새 노드를 무작정 추가하기보다 프로토콜·경로·규칙 순서를 먼저 맞추게 해 줍니다. 즉시 통신은 RTT만이 아니라 손실·재전송 정책에도 민감하므로, 같은 속도 표시라도 체감이 크게 달라질 수 있습니다.

정리

Discord가 “안 열림”이거나 음성만 끊기는 증상은 텍스트 채용 AI 사이트나 컨테이너 레지스트리 분기와 달리 UDP와 클라이언트 경로를 동시에 봐야 합니다. Clash에서 도메인 규칙과 UDP 분기가 맞물리려면 전략 그룹·노드 능력·TUN·DNS가 한 축으로 정렬되어야 하고, 규칙은 좁은 줄을 위에 쌓는 것이 재발을 줄입니다.

규칙 파일을 손댈 때마다 버전을 메모해 두면 이후 점검이 쉬워집니다. 코어·GUI 조합은 공식 배포 페이지에서 확인하는 것이 좋습니다. → Clash를 무료로 내려받아 프로필을 맞춘 뒤, 로그에 나온 실제 호스트부터 Discord 전용 전략 그룹을 다시 점검해 보시기 바랍니다.