Windows 11에서 UWP·Microsoft StoreClash를 안 탈 때: Loopback 예외(CheckNetIsolation)로 시스템 프록시·분류 점검

같은 PC에서 크롬·엣지는 잘 되는데 Microsoft Store만 업데이트가 멈추거나, 포토·Xbox·날씨 같은 UWP만 해외 API에 못 붙는다면, 원인은 종종 「시스템 프록시를 무시한다」가 아니라 「127.0.0.1 루프백으로 올라온 로컬 프록시 자체를 앱 컨테이너가 막는다」에 가깝습니다. Clash·Clash Verge Rev류는 기본적으로 호스트에 HTTP/SOCKS 리스너를 띄우고, 시스템 프록시 스위치로 그 주소를 WinINet 쪽에 밀어 넣는데, UWP네트워크 격리(Network Isolation) 때문에 Loopback을 명시적으로 허용하지 않으면 로컬 프록시에 손을 못 댑니다. 이 글은 CheckNetIsolation으로 루프백 예외를 주는 실무 순서와, 예외를 준 뒤에도 남는 분류 규칙·DNS·TUN 선택을 Windows 11 Clash Verge 첫 설정·LAN·방화벽 글과 짝지어 정리합니다.

① 증상을 한 줄로 고정하기: “프록시를 모른다” vs “로컬 프록시에 못 붙는다”

Windows 11에서 Clash를 켠 뒤에도 Microsoft Store가 0x80072xxx·타임아웃을 내거나, 특정 UWP만 동기화가 안 되는 경우를 먼저 두 갈래로 나눕니다. 첫째, 아예 시스템 프록시 설정이 비어 있거나 다른 VPN·보안 제품이 덮어쓴 경우입니다. 이때는 클라이언트에서 시스템 프록시 토글이 켜져 있는지, 설정 → 네트워크 및 인터넷 → 프록시 화면에 Clash가 적어 준 서버·포트가 보이는지 확인하면 됩니다. 둘째, 프록시 주소가 127.0.0.1 또는 localhost인데도 스토어 앱만 실패하는 패턴입니다. 이 경우가 바로 이 글의 중심인 Loopback 격리 이슈입니다.

데스크톱용 Win32 앱은 대부분 문제없이 로컬 포트에 붙지만, 앱 패키지로 설치된 UWP·스토어 계열은 기본적으로 Loopback 트래픽을 차단합니다. 그래서 브라우저는 시스템 프록시를 따라 127.0.0.1:7890 같은 곳으로 잘 나가는데, Microsoft Store 프로세스는 같은 주소를 “자기 샌드박스 밖의 루프백”으로 보고 막아 버리는 식의 불일치가 생깁니다. 여기까지 이해하면 다음 단계는 명확합니다. 운영체제에 “이 패밀리 이름의 앱은 예외적으로 루프백을 써도 된다”고 등록하는 것입니다.

② CheckNetIsolation과 LoopbackExempt가 하는 일

Windows에는 CheckNetIsolation.exe라는 유틸리티가 있으며, 개발자 모드나 진단 시나리오에서 쓰이는 Loopback 관련 옵션이 여기에 모여 있습니다. 우리가 쓸 부분은 대개 LoopbackExempt입니다. 한 번 등록하면 해당 패키지 패밀리 이름(PFN)을 가진 앱들이 localhost로 나가는 TCP 연결을 허용받습니다. Clash가 리슨하는 포트가 어디에 있든, “로컬 호스트로의 소켓” 자체가 막혀 있으면 의미가 없으므로, 루프백 예외시스템 프록시 경로를 쓰는 전제에서 사실상 필수에 가깝습니다.

주의할 점은 루프백 예외가 “보안을 뚫는 허가”에 가깝다는 것입니다. 가능한 한 Microsoft Store·문제를 일으키는 특정 앱의 PFN만 넣고, 전체에 대해 무분별하게 열어 두지 않는 편이 좋습니다. 또 회사 MDM·보안 정책으로 차단된 PC에서는 관리자 권한이 있어도 명령이 거절될 수 있으니, 기업 장비라면 IT 가이드를 먼저 확인하세요.

③ 1단계: 패키지 패밀리 이름(PFN) 찾기

가장 흔한 대상은 Microsoft Store 본체입니다. 관리자 권한이 아닌 일반 PowerShell에서도 조회는 가능한 경우가 많습니다. 아래는 예시이며, 환경에 따라 출력 문자열이 조금씩 다를 수 있습니다.

# Example: list Store-related packages (output varies by Windows build)
Get-AppxPackage *WindowsStore* | Select Name, PackageFamilyName

PackageFamilyName 열에 나오는 값이 CheckNetIsolation에 넘길 식별자입니다. Microsoft.WindowsStore_8wekyb3d8bbwe처럼 보이는 한 줄을 메모해 두세요. 다른 UWP(예: Xbox 앱, 일부 미디어 앱)도 같은 방식으로 Get-AppxPackage에 와일드카드를 바꿔 검색할 수 있습니다. 여기서 잘못된 PFN을 넣으면 아무 일도 일어나지 않으므로, 복사·붙여넣기 오타를 특히 조심합니다.

④ 2단계: Loopback 예외 추가·확인·삭제

실제 등록은 관리자 권한 명령 프롬프트 또는 관리자 PowerShell에서 수행합니다. 아래에서 -n= 뒤는 반드시 본인이 조회한 PackageFamilyName으로 바꿉니다.

# Run in elevated cmd/PowerShell — replace PFN with your PackageFamilyName
CheckNetIsolation.exe LoopbackExempt -a -n="Microsoft.WindowsStore_8wekyb3d8bbwe"

-a는 추가(add), -n은 이름 지정입니다. 성공하면 별도 메시지 없이 끝나는 경우가 많습니다. 현재 목록을 보고 싶다면 다음을 씁니다.

CheckNetIsolation.exe LoopbackExempt -s

목록에 방금 넣은 PFN이 보이면 등록이 반영된 것입니다. 잘못 넣었거나 테스트 후 되돌리고 싶다면 -d로 같은 -n 값을 제거할 수 있습니다. 스크립트로 여러 앱을 한꺼번에 넣는 방법도 있지만, 이 글에서는 재현과 롤백이 쉬운 “한 앱씩” 흐름을 권장합니다.

💡 한 줄 요약 UWPClash 로컬 포트에 붙지 못한다면, 시스템 프록시만 만질 게 아니라 LoopbackExempt로 해당 앱의 PFN을 먼저 허용하세요.

⑤ 3단계: Clash 쪽 “시스템 프록시”와 포트가 일치하는지

루프백 예외를 준 뒤에도 안 되면, 이제는 순수하게 Clash 설정 문제입니다. 클라이언트가 실제로 켠 포트와 Windows에 기록된 시스템 프록시 포트가 같은지 확인합니다. mixed-port를 7890으로 쓰는데 OS에는 7897로 박혀 있다면, Microsoft Store는 열린 문이 아닌 다른 문을 두드리게 됩니다. Clash Verge 첫 설정에서 말한 것처럼 TUN시스템 프록시를 동시에 켜 충돌시키지 않았는지도 같이 봅니다.

휴대폰이 같은 Wi‑Fi에서 PC Clash를 쓰도록 Allow LAN을 연 경우에는, 일부 앱이 LAN IP로 프록시를 잡기도 합니다. 이때는 LAN·방화벽 글의 순서로 Windows Defender 방화벽 인바운드를 맞춰야 합니다. 다만 UWP 기본 경로는 여전히 localhost 쪽이 많으므로, Loopback과 LAN 이슈를 섞지 말고 증상별로 나누는 것이 중요합니다.

⑥ 4단계: 트래픽이 Clash에 도달한 뒤의 “분류”와 DNS

Loopback을 통과해 드디어 Clash 로그에 스토어 트래픽이 보이기 시작하면, 다음 병목은 분류 규칙입니다. microsoft.com·windows.com·azureedge.netMicrosoft Store·배달 최적화·CDN 계열 호스트가 의도치 않게 DIRECT나 느린 그룹으로 빠지지 않는지, 연결 로그에서 적중 규칙 이름을 확인합니다. GEOIPMATCH가 앞서 먹어버리는 패턴도 흔하므로, 사용자 규칙을 구독 세트보다 위에 두는지 사용자 정의 규칙을 다시 점검합니다.

DNS는 “연결은 되는데 이름만 이상하다”는 증상을 만듭니다. fake-ip·DoH·상위 공유기 DNS를 섞어 쓰면, 브라우저와 UWP가 서로 다른 해석 경로를 밟는 것처럼 보일 수 있습니다. 이때는 TUN·DNS 심화 글의 체크리스트로 코어의 dns 블록과 규칙 순서를 한 축으로 맞추는 편이 빠릅니다. TUN 모드로 전환하면 시스템 프록시·Loopback 이야기와 겹이는 부분이 줄어드는 경우도 있으나, 회사 정책·다른 VPN과의 충돌을 항상 전제에 둬야 합니다.

⑦ 자주 겹치는 오해와 체크 포인트

Microsoft StoreClash를 무시한다”는 표현은 사용자 입장에서는 맞지만, 기술적으로는 “시스템 프록시를 읽기 전에 localhost 접근이 막혀 있다”에 가깝습니다. 그래서 CheckNetIsolation 없이 프록시 그룹만 바꿔도 증상이 그대로인 경우가 많습니다. 반대로 Loopback만 열어 두고 시스템 프록시는 꺼져 있으면 역시 아무 일도 일어나지 않습니다. 두 스위치를 같은 타임라인에서 보세요.

또 하나는 배달 최적화(Delivery Optimization)BITS가 큰 업데이트를 담당하면서, 스토어 UI만 프록시를 타는 것처럼 보이는 경우입니다. 이때는 작은 앱 업데이트와 OS 대형 패치를 구분해 로그를 봐야 합니다. 마지막으로, 조직 PC에서 MDM이 프록시 PAC을 강제하면 Clash와 경로가 겹칠 수 있으니, 개인 기기 기준으로 쓴 이 글의 순서를 그대로 적용할 수 있는지 정책부터 확인하는 것이 안전합니다.

⑧ 정리: Win11·UWP·스토어는 “Loopback → 시스템 프록시 → 분류·DNS” 순

Windows 11에서 Microsoft Store·UWPClash를 “안 탄다”고 느낄 때, 실무 순서는 (1) 증상이 localhost 프록시 차단인지 판별하고, (2) CheckNetIsolation LoopbackExempt로 필요한 PFN을 등록하며, (3) 시스템 프록시·포트·TUN 스위치를 클라이언트와 OS 화면에서 일치시키고, (4) 연결이 코어에 도달한 뒤라면 분류 규칙DNS를 로그 기준으로 다시 맞추는 네 단계입니다. 같은 OS라도 Win32 브라우저와 앱 컨테이너는 전제가 다릅니다.

원클릭 VPN에 익숙한 사용자에게 Clash는 처음에 손이 많이 갑니다. 대신 한 번 축을 잡아 두면 분류·DNS·노드 선택을 같은 패턴으로 다른 앱에도 재사용할 수 있습니다. 클라이언트 패키지는 릴리스 링크만 쫓기보다 사이트 입문 튜토리얼다운로드 페이지를 함께 보는 편이 덜 헷갈립니다. 다른 형태의 터널과 비교할 때는 Clash와 VPN의 차이도 참고하면 선택이 분명해집니다. → Clash를 무료로 내려받고, Windows 11에서 UWP·스토어까지 한 줄로 점검해 보세요.