왜 앱별 프록시가 필요한가

모바일 뱅킹·증권·간편결제 앱은 VPN이나 해외 IP·비정상 경로를 감지하면 로그인·송금·공동인증 단계에서 막는 경우가 흔합니다. 반대로 브라우저·메신저·특정 서비스만 해외 노드를 타야 할 때는 전역 터널이 오히려 번거롭습니다. Clash for Android앱 분기(검색용으로 per-app, 앱별 라우팅)는 «어떤 UID의 트래픽을 터널에 넣을지」를 나누는 기능으로, 바이패스는 «터널 밖으로 내보낼 앱」·허용 전용은 «터널에 넣을 앱만 남기고 나머지는 밖으로」라는 두 극단의 패턴을 만듭니다. 둘 다 YAML 규칙DOMAIN 분기와는 다른 층위에서 동작하므로, «앱 단위로 먼저 갈라놓고 규칙은 그 안에서만 태운다»고 이해하면 설정이 헷갈리지 않습니다.

한국 사용자에게는 공동인증·PASS·ARS처럼 별도 패키지가 연쇄로 뜨는 흐름이 많아, 은행 본체 앱만 바이패스에 넣었는데도 증상이 남는 경우가 있습니다. 이때는 최근 앱 목록오류 화면 캡처를 남겨 두고, 같은 순간에 실행된 패키지 이름을 하나씩 바이패스 후보에 올려 보는 방식이 실전에서 가장 빠릅니다. 앱 스토어·웹뷰 기반 간편가입이 섞이면 브라우저 컴포넌트까지 겹칠 수 있으니, «뱅킹만 직결」보다 «인증·결제에 관여하는 묶음 전체를 직결»에 가깝게 잡는 편이 안전합니다.

준비: 모드·권한·용어 정리

VPN 권한TUN(가상 네트워크 인터페이스) 기반 모드가 준비돼 있어야 앱 단위 분기가 의미 있습니다. 시스템 프록시만 켠 상태에서는 앱마다 프록시를 존중하지 않거나, 전부 같은 소켓으로 몰리는 식으로 보이는 경우가 있어 분앱 목적이면 TUN 쪽 설명을 기본으로 두세요. 사용 중인 빌드가 Clash Meta for Android, CMFA, 혹은 이름이 비슷한 포크라도 앱별 제어 항목은 보통 설정·네트워크·접근 제어·패키지·bypass 같은 키워드 근처에 모여 있습니다. 메뉴 라벨이 영문-only인 경우 Bypass·Per-App Proxy·Allow를 그대로 찾으면 됩니다.

설정을 바꾼 뒤에는 VPN 세션을 한 번 끊었다가 다시 연결해 주세요. 일부 ROM에서는 앱 목록 변경이 즉시 iptables·라우팅 테이블에 반영되지 않아, 재연결 없이는 옛 UID 매핑이 남습니다.

바이패스(우회) 목록: 뱅킹·결제만 터널 밖으로

이 패턴은 «대부분의 앱은 Clash를 타고, 민감한 앱만 직접 나가게 한다»는 전제입니다. 화면에서 Bypass·제외·직접 연결에 해당하는 목록을 연 뒤, 해당 앱을 검색해 체크합니다. 시스템 앱이나 웹뷰 셸은 목록에 이름이 애매하게 보일 수 있는데, 이때는 설정 앱의 앱 정보에서 패키지명을 확인하고 검색어를 바꿔 봅니다. 은행 앱이 내부적으로 커스텀 탭이나 삼성 인터넷·Chrome을 띄우면, 그 순간에는 브라우저 프로세스도 터널을 탈 수 있으니 증상이 «특정 화면만 오류»로 나옵니다.

추가로 간편결제(카카오페이·토스·페이코 등)와 본인인증 앱을 같은 묶음으로 바이패스에 넣는 것이 좋습니다. 일부 서비스는 위치·전화 상태 권한과 함께 네트워크 경로를 검사해, 터널 안에 있으면 리스크 차단 UI를 띄웁니다. 바이패스 후에도 오류가 남으면 DNS가 여전히 Clash 쪽으로 가는지, 스니핑이 목적지를 바꿔 버리는지 점검하세요. 이 부분은 앱 목록만으로 끝나지 않는 경우가 많아, 같은 기기에서 DNS·fake-ip·TUN 글과 교차로 읽는 것이 좋습니다.

주의 바이패스에 넣은 앱은 클라이언트 규칙을 타지 않습니다. 악성·추적에 취약한 공용 Wi-Fi에서는 직접 경로가 그대로 노출되므로, 이동 중에는 목록을 최소화하거나 연결 환경을 바꾸는 판단이 필요합니다.

허용 전용(allow-only) 목록: 지정한 앱만 프록시

반대 시나리오는 «특정 앱만 해외 노드·분기 규칙을 쓰고, 나머지는 ISP 경로 그대로 두고 싶다»는 경우입니다. UI에서 허용만·Allow list·Include only 비슷한 토글을 찾아 켠 뒤, 프록시를 탈 앱만 목록에 넣습니다. 이 모드는 실수로 목록을 비우면 전부 직결이 되거나, 반대로 전부 터널로 가 버리는 등 빌드마다 안전장치가 다를 수 있어, 적용 직후 브라우저와 메신저가 어떤 경로로 나가는지 꼭 확인해야 합니다. 업무용으로 «회사 메신저·원격 툴만 분기» 같은 요구에 잘 맞습니다.

게임·P2P·실시간 음성처럼 지연에 민감한 앱을 실수로 허용 목록에 넣으면, 불필요하게 해외 경유가 되어 체감이 나빠질 수 있습니다. 허용 전용을 쓸 때는 «정말 규칙이 필요한 앱」만 남기고, 나머지는 기본 경로에 두는 습관이 장기적으로 유지보수에 유리합니다. 규칙 파일 자체는 YAML 분기에서 다루지만, 앱 레이어에서 한 번 거르면 규칙 수를 줄이고 디버깅도 쉬워집니다.

두 모드가 겹칠 때·규칙과의 우선순위

이론상 바이패스허용 전용은 같은 트래픽을 서로 다른 방향으로 당기려 하므로, 클라이언트 구현에 따라 동시 활성화가 비활성화되거나, 한쪽이 우선합니다. 설정 화면에서 둘 다 켜진 것처럼 보이면 실제로는 한쪽만 적용되는 경우도 있으니, 변경 후 로그연결 테스트로 확인하는 것이 안전합니다. DOMAIN 규칙과의 관계를 말하면, 앱이 터널에 들어온 뒤에야 Clash 코어의 MATCH 체인이 돌아가고, 바이패스로 나간 앱은 아예 코어 앞단에서 빠져 나갑니다. 그래서 «규칙을 고쳐도 은행만 안 바뀐다»면 앱 목록을 먼저 의심해야 합니다.

Split tunneling이라는 표현은 제조사 VPN 앱이나 OS 기능에서도 쓰이는데, Clash for Android의 per-app과 개념은 비슷하지만 구현 스택은 다릅니다. 타사 VPN을 같이 켜 두거나, 개인 DNS·프라이빗 DNS가 중복되면 증상이 꼬이므로, 분앱을 쓸 때는 한 번에 하나의 터널 스택을 유지하는 편이 좋습니다.

적용 후 검증 방법

설정을 저장한 뒤 VPN을 재연결하고, 우선 브라우저에서 «내 IP» 검색 사이트를 열어 기대한 경로인지 확인합니다. 다음으로 바이패스에 넣은 뱅킹 앱에서 잔액 조회로그인만 가볍게 시험합니다. 허용 전용이라면 목록 밖 앱이 국내 IP 그대로인지, 목록 안 앱만 해외·분기 경로인지 나란히 비교해 보세요. 캐시 때문에 이전 세션이 남아 보이는 경우가 있어, 테스트 전에 대상 앱을 강제 종료했다가 다시 여는 것도 도움이 됩니다.

문제가 지속되면 개발자 옵션의 네트워크 진단·로그캣은 부담이 크니, 우선 클라이언트 내 로그에서 해당 앱 UID가 터널에 잡히는지 확인합니다. UID가 보이지 않는데도 앱 오류가 난다면 WebView·다운로드 매니저 같은 보조 프로세스를 다시 바이패스 목록에 올려야 합니다.

문제 해결 체크리스트

  • 바이패스했는데도 뱅킹 오류: 같은 인증 흐름의 보조 앱·브라우저 탭·패스 인증 앱을 추가로 우회했는지 확인합니다.
  • 허용만 썼는데 아무 앱도 안 탄다: 토글이 실제로 켜졌는지, 목록이 비어 있지 않은지, VPN 재연결 여부를 다시 봅니다.
  • 전부 느려짐: 허용 목록에 대용량 앱을 과하게 넣지 않았는지, 노드 자체 지연인지 지연 테스트로 분리합니다.
  • 구독·노드가 아예 실패: 분앱과 무관할 수 있으니 DNS·TUN·구독을 우선 점검합니다.
  • 백그라운드에서 터널이 자주 내려감: 배터리·자동 실행·최근 앱 잠금 글의 절차를 같이 적용합니다.

자주 묻는 질문

바이패스와 허용 목록을 동시에 켜도 되나요?

빌드마다 UI 이름이 다르지만, 한쪽은 전체에서 일부를 빼는 방식이고 다른 쪽은 전체 중 일부만 넣는 방식이라 논리가 충돌할 수 있습니다. 실제 화면에서 동시 활성화가 가능한지 확인하고, 이상하면 한 가지 방식만 쓰세요.

뱅킹 앱이 여전히 오류 날 때는?

앱별 목록에 웹뷰·브라우저 컴포넌트·간편결제·PASS 본인인증 등 연쇄 실행 패키지가 더 필요할 수 있습니다. DNS 스니핑·fake-ip 조합 때문에 증상이 남으면 규칙과 TUN 설정을 별도로 점검하세요.

시스템 프록시만 켜면 분앱이 안 되나요?

앱별 라우팅은 보통 TUN 계층에서 UID 단위로 구분합니다. 시스템 프록시만 쓰는 구성에서는 일부 앱이 프록시를 무시하거나 같은 경로로 몰릴 수 있어, 분앱 목적이면 TUN 설명을 우선하세요.

마무리

상용 VPN 앱들은 분할 터널링 UI는 있어도 Clash 규칙·정책 그룹·구독까지 한 번에 묶어 주는 경우는 드뭅니다. 반대로 단순 프록시 툴은 per-app이라도 META 코어급 스니핑·규칙 순서·API 트래픽 분리까지는 맞추기 어렵습니다. Clash for Android 계열은 앱별 우회·허용과 YAML 분기를 같이 쓸 수 있어, «은행은 직결·업무 앱만 노드」처럼 실사용 패턴에 맞춘 최소 권한 라우팅을 만들기 좋습니다. 설치·채널이 여러 갈래로 흩어져 있어 어떤 빌드가 최신인지 헷갈릴 때는, ClashNote에서 정리한 클라이언트 선택·다운로드 흐름을 기준으로 잡으면 버전 혼선과 스니펫 복붙 실수를 줄일 수 있습니다.

Clash를 무료로 내려받기한 뒤, Android에서 바이패스·허용 목록을 단계대로 맞춰 보세요. 구독은 신뢰 가능한 출처의 링크를 유지하는 것이 안전합니다.