먼저 확인할 점: VPN이 중지됐나요, 연결이 복구되지 않았나요?
Android에서 Clash를 사용하다 화면을 잠근 뒤 연결이 끊기면, 먼저 시스템 VPN 상태와 클라이언트 서비스 상태를 확인한 다음 배터리 설정을 살펴보세요. 백그라운드 서비스가 실제로 중지된 경우에만 배터리 최적화 예외 설정이 주요 해결책입니다. VPN과 클라이언트가 계속 실행 중이라면 노드, DNS, 앱별 프록시 설정 또는 Wi-Fi·모바일 네트워크 전환 문제일 가능성이 높습니다.
이 문서는 Android VpnService로 트래픽을 처리하는 Clash 계열 클라이언트에 적용됩니다. mihomo 코어를 사용하는 클라이언트도 포함합니다. 앱마다 '시작', '실행', 'VPN 모드' 등의 버튼 이름이 다를 수 있으며, 시스템 메뉴는 Android 버전과 제조사 UI, 지역별 버전에 따라 달라집니다. 아래 경로는 실제 기기 화면을 기준으로 확인하세요.
| 연결 끊김 증상 | 먼저 확인할 항목 | 주요 점검 사항 |
|---|---|---|
| 잠금 해제 후 클라이언트가 중지된 것으로 표시됨 | 시스템 VPN 화면, 앱 배터리 설정 | 서비스 종료, 백그라운드 제한, 수동 정리 |
| 다른 VPN을 켜면 Clash가 중지됨 | 현재 사용자 또는 업무 프로필의 VPN 목록 | 다른 앱이 VpnService를 대체함 |
| VPN은 연결됐지만 특정 웹사이트가 시간 초과됨 | 클라이언트 연결 기록 및 로그 | 노드, 규칙, DNS 또는 앱 우회 설정 |
| Wi-Fi에서 모바일 네트워크로 전환할 때만 실패함 | 모바일 데이터 권한, 데이터 절약 설정 | 네트워크 전환으로 기존 연결이 끊김 |
| 클라이언트를 열어야만 연결이 복구됨 | 알림, 백그라운드 활동, 자동 시작 설정 | 백그라운드 프로세스 제한 또는 서비스 재시작 |
VpnService 권한: 트래픽 처리가 설정됐는지 확인
VpnService는 앱을 위한 가상 네트워크 인터페이스를 만들고, 클라이언트가 트래픽을 읽어 규칙을 적용한 뒤 적절한 출구로 연결하도록 합니다. Android 클라이언트에서는 보통 이 과정을 VPN 시작 절차로 제공합니다. 데스크톱의 TUN 드라이버 설치와는 다르며, 일반 앱의 트래픽을 처리하기 위해 별도의 로컬 프록시 포트를 열 필요도 없습니다.
최초 실행 시 확인 순서
- 사용 가능한 설정을 가져오고, 작동하는 정책 그룹과 노드를 선택하세요. 화면이 켜진 상태에서 먼저 노드 연결이 되는지 확인합니다.
- 클라이언트의 시작 버튼을 누릅니다. 시스템에 '연결 요청' 또는 VPN 권한 확인 대화상자가 표시되면 앱 이름을 확인한 뒤 허용 또는 확인을 선택하세요.
- 시스템 설정에서 '네트워크 및 인터넷' → 'VPN'으로 이동해 클라이언트가 연결됨으로 표시되는지 확인합니다. 제조사 UI에서는 설정 검색창에 'VPN'을 입력해 찾을 수 있습니다.
- 프록시가 필요한 웹사이트를 열고 클라이언트의 연결 기록을 확인하세요. VPN 상태뿐 아니라 대상 연결과 적용된 정책도 기록되는지 살펴봅니다.
권한 팝업은 Android 시스템 절차입니다. 이를 거부하면 클라이언트가 구독 정보를 갱신하더라도 다른 앱의 트래픽을 처리하는 것은 아닙니다. 구독 다운로드와 VPN 터널 연결은 별개의 작업입니다. 팝업 버튼을 누를 수 없다면 플로팅 창, 화면 필터 또는 화면 위에 표시되는 도구를 끄고 다시 시도하세요. 출처를 알 수 없는 앱에 추가 권한을 부여하지는 마세요.
VPN 충돌 및 앱별 설정 확인
일반적으로 Android의 동일한 사용자 또는 프로필에서는 활성 VpnService를 하나만 사용할 수 있습니다. 광고 차단기, 방화벽, 다른 프록시 클라이언트도 이 인터페이스를 사용할 수 있어 실행하면 기존 VPN을 대체할 수 있습니다. 업무 프로필과 개인 프로필은 각각 VPN을 사용할 수 있으므로 앱 설치 여부만으로 충돌을 판단하지 마세요.
브라우저는 정상인데 특정 앱만 연결되지 않는다면 클라이언트의 '앱별 프록시', '앱 접근 제어' 또는 우회 목록을 확인하세요. 제외된 앱은 예상대로 프록시를 거치지 않습니다. 회사 업무 프로필의 앱은 개인 프로필의 VPN으로 관리되지 않을 수도 있습니다. 이 경우 배터리 설정을 반복해서 바꿔도 해결되지 않습니다.
항상 사용 VPN: 복구 기능과 연결 차단 옵션
'항상 사용 VPN'은 Android 시스템이 관리하며, 기기를 시작하는 등의 상황에서 선택한 VPN 서비스를 실행하도록 시도합니다. 노드에 항상 접속할 수 있게 해 주는 기능도, 제조사의 모든 백그라운드 정리를 막아 주는 보장도 아닙니다. 앱에서 이 기능을 지원해야 하며, 관리 대상 기기에서는 관리자가 설정 변경을 제한할 수 있습니다.
- 설정에서 '네트워크 및 인터넷' → 'VPN'으로 이동합니다.
- 클라이언트 옆의 톱니바퀴를 누르거나 해당 VPN의 상세 화면으로 이동합니다.
- 화면에 '항상 사용 VPN' 옵션이 있으면 연결이 정상인지 확인한 뒤 켭니다.
- 'VPN 연결이 없으면 연결 차단'은 우선 꺼 둔 상태로 화면 잠금 후 복구와 재부팅 후 복구를 테스트하세요. 사용 목적에 맞는지 확인한 다음 차단 기능을 켤지 결정합니다.
옵션을 사용할 수 없다면 YAML을 억지로 수정하지 말고 클라이언트 지원 여부와 기기 관리 정책을 확인하세요. 재부팅 후 설정을 계속 읽을 수 있는지도 점검해야 합니다. 수동 잠금 해제가 필요한 데이터, 만료된 구독 또는 시작 실패 때문에 시스템의 복구 시도가 완료되지 않을 수 있습니다.
배터리 최적화 예외: 배터리·백그라운드·자동 시작을 따로 설정
배터리 최적화, 백그라운드 실행, 자동 시작은 서로 다른 제한입니다. 최근 앱 목록에서 앱을 잠그더라도 백그라운드 활동이 허용되는 것은 아닙니다. 자동 시작을 허용해도 시스템이 백그라운드 네트워크를 제한하지 않는다는 보장은 없습니다. 설정을 한 항목씩 바꿀 때마다 다시 테스트해 보세요. 모든 권한을 한꺼번에 풀면 어떤 설정이 효과가 있었는지 알기 어렵습니다.
순정 Android에 가까운 기기의 설정
일반적인 Android 13·14 화면을 기준으로, 클라이언트 아이콘을 길게 누른 뒤 '앱 정보' → '앱 배터리 사용량' 또는 '배터리'로 이동해 '제한 없음'을 선택하세요. 일부 버전은 '백그라운드 사용 허용'을 표시한 뒤 최적화 수준을 선택하게 합니다. 다른 기기에서는 설정에서 '배터리 최적화'를 검색하고 전체 앱으로 전환한 다음 클라이언트를 '최적화하지 않음'으로 설정해야 합니다. 이 메뉴가 모두 제공되는 것은 아닙니다.
Android의 Doze 및 앱 대기 기능은 백그라운드 활동을 제한합니다. 배터리 최적화 예외를 설정하면 일부 제한을 줄일 수 있지만, 앱 충돌을 해결하거나 끊어진 네트워크 연결을 유지해 주지는 않습니다. 설정을 적용한 뒤에는 배터리 사용량을 일정 기간 살펴보고, 실제로 필요한 백그라운드 예외만 유지하세요.
주요 제조사 UI에서 설정 메뉴 찾기
| 시스템 | 일반적인 메뉴 경로 | 주요 설정 |
|---|---|---|
| 샤오미 MIUI / HyperOS | 앱 정보 → 배터리 절약 정책; 설정에서 '자동 시작' 또는 '백그라운드 자동 시작' 검색 | 배터리 절약 정책을 '제한 없음'으로 설정하고, 필요하면 백그라운드 자동 시작 허용 |
| 화웨이 EMUI | 설정 → 앱 및 서비스 → 앱 실행 관리 | 앱 자동 관리를 끄고 수동 관리에서 자동 시작, 연결 시작, 백그라운드 활동 허용 |
| OPPO ColorOS / OnePlus OxygenOS | 앱 정보 → 배터리 사용 관리; 앱 관리에서 자동 시작 관리 | 백그라운드 활동을 허용하고 자동 시작 옵션이 있으면 필요에 따라 켜기 |
| vivo OriginOS | 설정 → 배터리 → 백그라운드 배터리 사용 관리; i매니저 → 앱 관리 → 권한 관리 | 백그라운드 고전력 사용을 허용하고 자동 시작 권한 메뉴 확인 |
| 삼성 One UI | 설정 → 배터리 → 백그라운드 사용 제한 | 절전 및 초절전 앱 목록에서 제거하고 '절전 상태로 전환하지 않을 앱'에 추가 |
표에 제시한 경로는 흔히 볼 수 있는 메뉴의 단서일 뿐, 모든 버전에서 동일한 경로는 아닙니다. 같은 이름의 메뉴가 없다면 시스템 설정에서 '백그라운드', '시작', '배터리 최적화' 또는 '절전'을 검색하고, 마지막 화면이 현재 클라이언트를 대상으로 하는지 확인하세요. Android 앱과 VpnService를 지원하지 않는 화웨이 시스템 버전에는 이 Android 설치 및 설정 절차가 적용되지 않습니다.
알림 권한과 최근 앱 잠금
Android 8.0부터 지속 실행되는 VPN 서비스는 포그라운드 서비스 기능을 사용합니다. Android 13부터는 알림 권한도 별도로 고려해야 합니다. 알림을 허용하면 연결 상태와 중지 옵션을 확인하기 편하지만, 알림 권한을 거부했다고 해서 포그라운드 서비스가 반드시 실행되지 않는 것은 아닙니다. 시스템의 활성 앱 관리 화면에 서비스가 표시될 수도 있습니다. 알림이 없다는 이유만으로 VPN이 중지됐다고 판단하지 마세요.
제조사 UI의 최근 앱 잠금 기능은 '모두 지우기'로 앱이 종료되는 일을 줄일 수 있지만, 시스템 차원의 백그라운드 실행을 보장하지는 않습니다. 문제를 확인하는 동안 클라이언트를 밀어서 닫거나 앱 정보에서 '강제 종료'를 누르지 마세요. 강제 종료는 홈 화면으로 전환하는 것과 다르며, 앱을 다시 정상적으로 실행하려면 보통 직접 열어야 합니다.
VPN 연결은 유지되지만 접속이 안 될 때: 데이터 권한·노드·DNS 확인
화면을 잠근 뒤에도 VPN 화면에 계속 연결됨으로 표시된다면, 예외 설정을 더 추가하기보다 실제 오류부터 확인하세요. 네트워크 자체의 연결 문제, 프록시 출구 문제, 도메인 이름 해석 문제를 구분해야 합니다. 이 세 가지 문제는 모두 브라우저에서 시간 초과로 나타날 수 있습니다.
- 모바일 데이터 권한 확인: '앱 정보' → '모바일 데이터 및 Wi-Fi' 또는 제조사 UI의 '네트워크 접근 관리'로 이동해 클라이언트가 현재 네트워크를 사용할 수 있는지 확인합니다. '데이터 절약 모드'를 켰다면 클라이언트에 무제한 데이터 사용을 허용해야 하는지도 확인하세요.
- 노드 연결 확인: 잠금 해제 후 같은 네트워크에서 선택한 노드를 다시 테스트하고, 이미 작동이 확인된 다른 노드로도 바꿔 보세요. 지연 시간 테스트에 성공해도 모든 웹사이트나 UDP 트래픽에 접속할 수 있다는 뜻은 아닙니다.
- DNS 로그 확인: 이름 해석 시간 초과나 상위 DNS 서버 연결 실패가 기록되는지 확인합니다. Android 9 이후의 '비공개 DNS'와 클라이언트의 DNS 처리 기능이 서로 영향을 줄 수 있습니다. 비교 테스트에서는 '자동'을 사용하고, 변경 전 설정을 기록해 두세요.
- 네트워크 전환 후 새 연결 확인: Wi-Fi에서 모바일 네트워크로 전환하면 하위 라우팅과 NAT 상태가 달라져 기존 TCP 세션이 끊길 수 있습니다. 페이지를 새로고침하거나 요청을 다시 보내 새 연결이 복구되는지 확인하세요. 이전 다운로드 작업 하나만 계속 살펴보지는 마세요.
백그라운드 연결 끊김을 해결하려고 데스크톱 TUN 설정을 그대로 복사하지 마세요. Android 클라이언트가 VPN 인터페이스, 라우팅, DNS 처리 옵션을 자체적으로 구성할 수 있습니다. 구독의 tun 필드가 적용되는지는 클라이언트 구현에 따라 다릅니다. mixed-port를 수정하거나 포트를 7890 또는 7891로 설정해도 시스템이 앱 프로세스를 종료하는 것을 막을 수는 없습니다.
특정 Wi-Fi에서만 연결되지 않는다면 먼저 같은 휴대전화의 모바일 네트워크로 테스트하세요. 모바일 네트워크에서는 정상이라면 Android 백그라운드 제한을 원인으로 단정하지 말고 Wi-Fi의 포털 인증, IPv6 경로 또는 상위 DNS를 확인해야 합니다.
화면 잠금 후 재확인: 정해진 순서로 설정 검증
아래 시간은 권장 테스트 간격이지, 해당 시간 동안 연결을 보장한다는 뜻은 아닙니다. 짧게 화면을 잠그는 테스트로 눈에 띄는 백그라운드 종료는 확인할 수 있지만 모든 깊은 절전 상황까지 검증할 수는 없습니다. 테스트 전에 충전 케이블을 분리하세요. 충전 중에는 일부 배터리 절약 정책이 달라질 수 있습니다.
- 기준 정보 기록: Android 버전, 시스템 UI 버전, 클라이언트 버전, 사용 중인 코어, 현재 Wi-Fi 또는 모바일 네트워크를 기록합니다. '항상 사용 VPN'과 연결 차단 옵션의 상태도 적어 둡니다.
- 화면을 켠 상태로 2분간 확인: 대상 웹사이트를 열고 연결 로그에 새 기록이 생기는지 확인합니다. 다른 VPN을 동시에 실행하지 마세요.
- 화면을 잠그고 10분 대기: 최근 앱을 정리하지 마세요. 잠금 해제 후 클라이언트를 열기 전에 시스템 VPN 상태부터 확인합니다. 앱을 먼저 열면 백그라운드에서 서비스가 중지됐던 사실을 놓칠 수 있습니다.
- 30분까지 시간 연장: 앞선 테스트가 정상이면 더 오래 대기해 확인합니다. 접속 복구에 걸린 시간과 서비스를 직접 시작해야 했는지 기록하세요.
- 네트워크 전환과 재부팅은 따로 테스트: Wi-Fi에서 모바일 네트워크로 전환하는 경우와 재부팅 후 잠금 해제하는 경우를 각각 확인합니다. 첫 화면 잠금 테스트에서는 이 두 변수를 섞지 마세요.
문제를 더 자세히 파악하려면 필요한 정보
문제가 발생하기 전후의 클라이언트 로그, 시스템 VPN 상태 화면, 정확한 시간을 보관하세요. ADB 사용에 익숙하다면 로컬 컴퓨터에서 시스템 상태를 확인할 수 있습니다. 다음은 읽기 전용 진단 명령이며, 백그라운드 권한을 부여하거나 배터리 정책을 변경하지 않습니다.
adb shell dumpsys deviceidle
adb shell dumpsys connectivity
deviceidle은 기기 유휴 상태를 확인하는 데 사용할 수 있고, connectivity는 네트워크 및 VPN 정보를 살펴보는 데 도움이 됩니다. Android 버전에 따라 출력 형식이 다르므로 특정 필드 하나를 기계적으로 찾지 마세요. 출력에 네트워크 주소나 앱 식별자 등이 포함될 수 있으니 공유하기 전에 관련 부분만 남기세요.
자주 묻는 질문 및 최종 점검
'제한 없음'으로 설정했는데도 화면을 잠그면 연결이 끊깁니다. 어떻게 해야 하나요?
먼저 서비스가 실제로 중지됐는지 확인하세요. 중지됐다면 제조사 자동 시작 설정, 백그라운드 활동, 최근 앱 정리, 클라이언트 충돌 기록을 확인합니다. 계속 실행 중이라면 노드, DNS, 네트워크 전환 후 복구 문제를 살펴보세요. 배터리 설정으로 해결되는 원인은 일부에 불과하므로 로그 확인을 대신할 수 없습니다.
항상 사용 VPN과 클라이언트의 '부팅 시 자동 시작'을 모두 켜야 하나요?
두 기능은 서로 다른 곳에서 관리합니다. 전자는 Android VPN 관리 기능이고, 후자는 앱의 시작 옵션입니다. 먼저 시스템의 항상 사용 VPN 기능으로 서비스가 복구되는지 확인한 다음 클라이언트 안내에 따라 부팅 시 자동 시작을 설정하세요. 제조사에서 자동 시작을 제한한다면 시스템에서 별도로 허용해야 합니다. 두 옵션을 모두 켜면 매번 정상적으로 시작된다고 단정할 수는 없습니다.
모든 앱을 배터리 최적화 예외에 추가해야 하나요?
그럴 필요는 없습니다. 먼저 VPN을 실행하는 클라이언트에 필요한 예외만 설정하세요. 특정 업무 앱에서 알림을 받지 못한다면 해당 앱의 백그라운드 및 알림 권한을 따로 확인합니다. 모든 앱의 배터리 관리를 일괄 해제하면 전력 소모가 늘고 이후 원인 비교도 어려워집니다.
문제 해결 후에는 필요한 설정만 최소한으로 유지하세요. VPN 권한이 정상인지, 클라이언트에 필요한 백그라운드 활동이 허용됐는지, 제조사의 자동 시작 제한을 필요한 경우에만 해제했는지 확인한 뒤 필요에 따라 항상 사용 VPN을 켭니다. 마지막으로 클라이언트를 열지 않은 상태에서 화면 잠금 테스트를 다시 진행해 설정 자체로 연결이 복구되는지 확인하세요. 앱을 직접 열어 서비스가 재시작된 결과와 혼동하지 않도록 합니다.
설정 가져오기와 최초 연결 과정을 다시 확인하려면 입문 가이드를 참고하세요. 서비스는 계속 실행되지만 접속에 실패한다면 문제 진단의 연결 경로에 따라 점검할 수 있습니다.