지역 불가 메시지가 DNS 유출과 함께 오는 이유
스트리밍 서비스는 로그인·라이선스·재생 세그먼트를 서로 다른 호스트로 나눕니다. TCP 연결은 프록시 노드로 나가는데, 그 전 단계에서 운영체제나 브라우저가 ISP DNS·공유기 DNS로 이름을 먼저 물어보면, 응답이 기대 지역과 다르게 떨어져 규칙 매칭이 흔들릴 수 있습니다. 이를 흔히 DNS 유출이라고 부릅니다. Clash는 dns 섹션과 TUN·시스템 DNS 설정을 통해 이 경로를 잡으려 하지만, 분 앱 프록시·이중 VPN·IPv6 우회가 끼면 여전히 엇갈립니다.
Disney+는 지역·카탈로그 정책이 국가마다 다르고, 홍보 캠페인과 맞물려 «왜 이 나라에서는 안 보이지?» 같은 검색이 반복됩니다. 여기서는 약관·결제 수단·공식 지원 정책은 서비스 가이드를 따르고, 로컬 Clash 프로필에서 재현·완화할 수 있는 네트워크 요인만 다룹니다.
실측 1단계: 규칙 모드·출구 이름을 로그로 고정했는가?
먼저 Clash를 Rule 모드로 두고, Disney+ 앱 또는 웹을 연 직후 코어 로그에서 어떤 호스트가 어떤 정책 그룹으로 나갔는지 확인합니다. 여기서 흔한 실수는 disneyplus.com 한 줄만 스트리밍 그룹에 넣고, 실제 재생은 media.dssott.com·disney.playback.edge.bamgrid.com 등 다른 접미사로 이어지는데 그 줄들이 DIRECT나 다른 노드로 새는 경우입니다.
로그에 찍힌 실제 연결 도메인을 메모해 두고, rules에서 해당 DOMAIN-SUFFIX가 스트리밍 전용 그룹보다 아래에 있지 않은지 봅니다. 넓은 GEOIP나 MATCH가 더 위에 있으면 의도와 다른 줄이 먼저 선택됩니다. 스포츠·라이브 CDN을 다룬 월드컵 스트리밍 분기에서도 같은 원리로 «세그먼트 호스트를 빠뜨리지 않기»를 강조했습니다.
실측 2단계: 스트리밍 정책 그룹 이름과 rules 인자가 일치하는가?
rules 끝에 적힌 그룹 이름은 proxy-groups의 name과 완전히 같아야 합니다. GUI에서 그룹 이름을 바꿨는데 YAML에는 옛 이름이 남아 있으면, 해당 규칙 줄이 무시되거나 기본 그룹으로 떨어질 수 있습니다. 스트리밍용은 select로 지역 고정 노드를 두는 패턴이 재생 안정성에 유리한 경우가 많습니다.
실측 3단계: DNS가 Clash 밖으로 새는지 확인
브라우저 주소창이 아니라, 해당 기기의 시스템 DNS 설정을 봅니다. Windows는 어댑터·브라우저 보안 DNS, macOS는 Wi‑Fi 고급, Android는 Private DNS 등이 Clash와 별도로 동작할 수 있습니다. «프록시는 타는데 지역만 틀리다»면 (1) DoH/DoT가 켜져 있는지, (2) 라우터가 여전히 ISP DNS를 밀어 넣는지부터 끕니다.
fake-ip를 쓰는 프로필에서는 화면에 보이는 해석 결과와 코어 내부 동작이 다르게 느껴질 수 있습니다. 이때는 fake-ip와 redir-host 비교 글의 순서를 참고해, dns.enhanced-mode와 nameserver 폴백을 rules와 같은 날 점검합니다.
Disney+ 관련 DOMAIN-SUFFIX 예시(개념용)
아래는 시작점으로 쓰는 예시이며, 실제 환경에서는 로그와 Rule Provider 갱신에 맞춰 조정해야 합니다. 호스트는 시기·클라이언트·지역에 따라 바뀔 수 있습니다.
rules: - DOMAIN-SUFFIX,disneyplus.com,DISNEY - DOMAIN-SUFFIX,disney-plus.net,DISNEY - DOMAIN-SUFFIX,dssott.com,DISNEY - DOMAIN-SUFFIX,bamgrid.com,DISNEY # 로그에 보이는 playback·image 호스트를 이어서 추가
DOMAIN-KEYWORD,disney처럼 짧게 쓰면 다른 서비스까지 같은 그룹으로 붙을 수 있어, 가능하면 DOMAIN-SUFFIX와 검증된 RULE-SET을 우선합니다.
proxy-groups: - name: "DISNEY" type: select proxies: - "지역고정-A" - "지역고정-B" - "DIRECT"
구독에서 streaming·disney류 RULE-SET을 내려준다면 중복 줄을 정리하고, 규칙 순서만 헷갈리지 않게 유지합니다.
DNS 유출 점검을 깊게 하는 방법
한 번은 같은 시점에 다음을 적어 두세요: (1) 로그의 아웃바운드 이름, (2) 문제의 호스트에 대해 어떤 DNS 서버가 응답했는지, (3) IPv4만 썼는지 IPv6도 섞였는지. 다음 시도에서 값이 바뀌면 원인 후보가 좁혀집니다.
IPv6가 활성화되어 있고 Disney+ 관련 연결이 IPv6로만 나가면, IPv4 프록시만 맞춘 구성과 결과가 달라집니다. 일시적으로 IPv6를 끄거나, TUN·라우팅으로 스트리밍 트래픽을 한 스택으로 모으는 식으로 맞추는 경우가 많습니다.
TUN을 쓰는 환경에서는 시스템이 Clash 가상 어댑터를 통해 DNS를 넘기도록 했는지, 반대로 스플릿 터널 앱이 특정 프로세스만 우회하고 있지 않은지도 함께 봅니다. 데스크톱과 달리 TV·태블릿은 기본 게이트웨이가 다르면 같은 계정이라도 완전히 다른 경로가 됩니다.
증상별로 좁히기
로그인은 되는데 재생 직전에 지역 오류
인증 호스트와 재생 CDN이 서로 다른 규칙 줄에 걸렸을 가능성이 큽니다. 로그에서 재생 요청 직전 도메인을 잡아 DISNEY 그룹(또는 사용 중인 이름)으로 올립니다.
해상도는 낮고 버퍼만 심하다
url-test가 너무 자주 노드를 바꾸면 세션이 끊깁니다. 스트리밍 그룹은 select로 고정하거나, 테스트 간격·허용 오차를 완화해 보세요.
모바일 앱만 실패한다
앱이 Private DNS나 셀룰러 DNS를 따로 쓰는 경우입니다. Android DNS·구독 타임아웃 글의 순서로 앱 측 설정과 Clash DNS를 맞춥니다.
웹은 되고 네이티브 앱만 지역이 다르다
앱이 자체 인증서 고정·별도 API 엔드포인트를 쓰면 호스트 목록이 달라질 수 있습니다. 앱 사용 시 로그에 찍힌 접미사를 기준으로 규칙을 보강합니다.
TLS·SNI 쪽을 의심할 때
지역 메시지와 별개로 TLS handshake failed가 난다면 노드·인증서·SNI 문제일 수 있습니다. 그때는 TLS 핸드셰이크 5단계 글의 순서로 시계·체인·스니펫을 점검합니다. 본 글의 DNS·분기 체크와 직교하는 축입니다.
짧은 Q&A
Q. 구독 링크만 갈아끼우면 자동으로 Disney+가 되나요? A. 노드 풀은 바뀌어도 규칙에 Disney+ 호스트가 포함돼 있어야 합니다. 무료 클라이언트로 프로필을 넣은 뒤에도 rules와 DNS는 그대로 따라가므로, 구독 링크와 로컬 머지 설정을 함께 봅니다.
Q. 같은 노드인데 어제는 됐고 오늘만 지역 오류인 이유는? A. IP 평판·세션·캐시·DNS 캐시가 바뀌었을 수 있습니다. 앱 데이터 삭제·완전 종료 후, 위 실측 순서를 처음부터 다시 밟아 보세요.
Q. 가족 공유 계정도 영향을 받나요? A. 계정 정책은 공식 안내를 따르고, 네트워크 측면에서는 시청 기기의 출구 IP·DNS가 일관되는지가 핵심입니다.
마무리
2026년에도 Disney+는 신작·지역 카탈로그 이슈로 Clash 사용자의 분기 규칙·정책 그룹·DNS 질문이 이어질 것입니다. 지역 불가 메시지는 한 줄의 노드 선택만이 아니라, 로그로 확인한 호스트 묶음과 DNS가 새지 않는지를 함께 봐야 재현과 해결이 빨라집니다. Netflix·기타 OTT와 도메인 축이 다르므로, RULE-SET을 그대로 복붙하기보다 플랫폼별로 로그를 한 번씩 수집해 두면 이후 튜닝이 쉬워집니다.
장기적으로는 검증된 클라이언트에서 프로필을 고정하고, 구독 링크 갱신과 로컬 규칙 보강만 주기적으로 하는 편이 덜 지칩니다. 전체 YAML 설계는 규칙 분기 완전 가이드를 기준으로 삼으면 됩니다.