먼저 확인할 것: 권한 문제인가, 백그라운드 제한인가

처음 실행했을 때 연결되지 않는다면 VPN 권한부터 확인하고, 화면이 켜져 있을 때는 정상인데 잠근 뒤 끊긴다면 배터리 및 백그라운드 제한을 먼저 확인하세요. 두 문제는 해결 메뉴가 다릅니다. 연결이 끊겼다고 바로 앱을 다시 설치하거나 DNS, 노드, 규칙을 한꺼번에 바꾸지 마세요. 어떤 조치가 효과가 있었는지 파악하기 어려워집니다.

이 문서는 Android 시스템의 로컬 VPN 방식으로 트래픽을 처리하는 경우를 중심으로 설명합니다. Clash for Android 2.5.12는 지원이 종료된 구형 클라이언트로, 메뉴를 찾을 때 참고할 수는 있지만 현재 권장하는 버전은 아닙니다. mihomo 등의 코어를 사용하는 다른 Android 클라이언트는 버튼 이름이 다를 수 있지만, 시스템 권한과 배터리 제한, VPN 충돌을 확인하는 순서는 같습니다.

  • 시작하자마자 중지되는 경우: 시스템 연결 요청을 취소했는지, 다른 VPN 앱이 실행 중인지, 설정을 불러오지 못했는지 확인하세요.
  • 화면을 잠근 뒤 몇 분 후 연결이 끊기고 앱을 열면 다시 연결되는 경우: 배터리 정책, 백그라운드 활동, 제조사의 자동 실행 관리를 먼저 확인하세요.
  • VPN은 연결되어 있지만 일부 사이트만 열리지 않는 경우: 백그라운드에서 앱이 종료됐다고 단정하지 말고 노드, 규칙, DNS, 앱별 프록시 설정을 확인하세요.

VpnService 권한으로 허용되는 기능

VpnService는 Android가 앱에 제공하는 VPN 인터페이스입니다. 클라이언트는 이를 이용해 로컬 가상 네트워크 인터페이스를 만들고, 시스템에서 전달된 네트워크 데이터를 받은 뒤 프록시 코어가 설정에 따라 직접 연결하거나 프록시를 사용하거나 연결을 차단하도록 합니다. 이 가상 인터페이스는 보통 TUN이라고 하며, 브라우저의 HTTP 요청뿐 아니라 IP 패킷을 처리합니다.

따라서 휴대전화에 VPN 열쇠 아이콘이 표시되어도 모든 트래픽이 동일한 원격 VPN 서버로 전송된다는 뜻은 아닙니다. 실제 연결 경로는 규칙, 정책 그룹, 노드 선택, 앱 제외 설정에 따라 달라집니다. DIRECT는 클라이언트가 직접 연결 경로로 전달한다는 뜻이며, 프록시 규칙에 해당하는 트래픽은 지정된 노드에서 처리됩니다.

시스템 권한과 설정 가져오기는 별개입니다

  • 구독 가져오기: 노드, 규칙, 정책 그룹 등의 설정을 클라이언트에 불러옵니다.
  • VPN 연결 허용: 앱이 시스템 수준의 로컬 VPN 인터페이스를 만들도록 허용합니다.
  • 백그라운드 실행 허용: 화면을 끈 뒤 클라이언트 서비스가 제한될 가능성을 줄입니다.

세 가지 항목을 각각 확인해야 합니다. 구독을 성공적으로 가져와도 VPN 권한이 부여되는 것은 아니며, 권한이 있어도 노드가 작동한다는 보장은 없습니다. 일반 사용자 프로필에서는 활성 VPN을 보통 하나만 사용할 수 있습니다. 다른 프록시 클라이언트나 방화벽, 로컬 VPN 방식의 필터링 앱이 현재 연결을 대체할 수도 있습니다. 업무 프로필의 VPN에는 별도의 관리 정책이 적용될 수 있으므로 기기 정책도 함께 확인하세요.

첫 실행: VPN 권한을 부여하고 연결 상태 확인

  1. 먼저 설정을 불러오세요. 클라이언트의 ‘설정’ 페이지에서 구독을 가져온 뒤 업데이트가 완료되면 사용할 설정을 선택합니다. 목록에 설정이 표시되더라도 활성화하지 않았다면 정상적으로 시작되지 않을 수 있습니다.
  2. 다른 VPN을 잠시 중지하세요. 시스템 ‘설정’에서 ‘VPN’을 검색해 다른 앱이 연결을 사용 중인지 확인하세요. 광고 차단 앱이나 패킷 캡처 도구 등 로컬 VPN을 사용하는 앱도 확인해야 합니다.
  3. 클라이언트로 돌아가 시작을 누르세요. 처음 연결할 때 Android에서 앱이 VPN 연결을 만들겠다는 시스템 요청이 표시됩니다. 앱 이름을 확인한 뒤 ‘확인’ 또는 ‘허용’을 선택하세요.
  4. 두 곳에서 상태를 확인하세요. 클라이언트에는 실행 중으로 표시되고, 시스템 ‘VPN’ 페이지에는 해당 앱이 연결됨으로 표시되어야 합니다. 상태 표시줄 아이콘은 시스템 표시 설정에 따라 달라지므로 아이콘만으로 판단하지 마세요.
  5. 실제 요청을 테스트하세요. 원래 직접 연결되던 웹페이지와 프록시가 필요한 사이트를 각각 열어 보세요. 그런 다음 클라이언트의 연결 기록이나 로그에서 예상한 정책이 적용되었는지 확인합니다.

실수로 취소를 눌렀다면 보통 시작을 다시 누르면 권한 요청이 표시됩니다. 곧바로 앱 데이터를 지울 필요는 없습니다. 요청 창이 계속 나타나지 않으면 시스템 VPN 페이지에 이미 연결이 있는지 확인한 다음 클라이언트 오류 로그를 살펴보세요. 기기 관리 정책에 따라 관리자가 VPN 추가를 차단했을 수도 있습니다.

Android 13 이상에서 알림 권한

Android 13부터 알림 권한과 VPN 연결 권한은 별도로 관리됩니다. 알림을 허용하면 알림창에서 서비스 상태를 확인하고 연결을 중지하기 편하지만, 알림을 거부해도 VPN 권한이 취소되거나 포그라운드 서비스가 실행되지 않는 것은 아닙니다. 문제를 확인할 때는 먼저 시스템 VPN 상태를 보고, 그다음 클라이언트 서비스 상태를 확인하세요.

VPN 상시 연결: 두 가지 설정의 차이부터 확인

기본 Android에 가까운 시스템에서는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘VPN’으로 이동한 뒤 앱 옆의 톱니바퀴를 누르는 방식이 일반적입니다. Samsung 등 일부 기기에서는 ‘연결’ → ‘기타 연결 설정’ → ‘VPN’에 있을 수 있습니다. 메뉴를 찾기 어렵다면 시스템 설정에서 ‘VPN’을 검색하세요.

시스템 설정주요 기능사용 조건
VPN 상시 연결선택한 VPN 서비스를 유지하거나 복구하도록 시스템에 요청합니다. 재부팅 후 복구도 포함됩니다.클라이언트가 지원한다고 선언하고 설정을 정상적으로 불러올 수 있어야 합니다.
VPN 없이 연결 차단VPN에 연결되지 않았을 때 VPN을 우회하는 네트워크 접속을 차단합니다.인터넷 연결, 앱 제외 설정, 장애 후 복구 동작을 검증해야 합니다.
배터리 사용량 제한 없음앱에 적용되는 백그라운드 배터리 제한을 줄입니다.제조사별 추가 백그라운드 관리 설정도 확인해야 합니다.

‘VPN 상시 연결’은 모든 클라이언트에서 지원되는 기능이 아닙니다. Android 7.0부터 관련 기능을 제공하지만 앱에서 지원하지 않는다고 선언할 수 있고, 관리 대상 기기에서는 설정 변경이 제한될 수도 있습니다. 스위치가 비활성화되어 있거나 표시되지 않으면 먼저 클라이언트 지원 여부를 확인하세요. 구독 설정을 바꿔 시스템 스위치를 찾으려 하지 마세요.

먼저 연결이 안정적인지 확인한 뒤 차단 설정을 켜세요. ‘VPN 없이 연결 차단’을 켜면 클라이언트 시작 실패, 설정 읽기 오류, 서비스 복구 실패로 휴대전화 전체가 인터넷에 연결되지 않을 수 있습니다. VPN에서 제외한 앱도 차단될 수 있으므로 ‘앱을 제외하면 항상 직접 연결된다’고 생각해서는 안 됩니다.

처음 테스트할 때는 복구 방법을 하나 마련해 두세요. 시스템 VPN 설정으로 들어가는 경로를 기억해 두면 됩니다. 차단을 켠 뒤 인터넷이 끊기면 해당 메뉴에서 차단을 끄고 클라이언트를 점검하세요. VPN 상시 연결만으로 프록시 노드를 계속 사용할 수 있는 것은 아니며, 배터리와 백그라운드 설정을 대신하지도 않습니다.

배터리 최적화 예외: 앱 배터리 설정부터 제조사별 관리까지 확인

Android의 Doze는 기기가 유휴 상태일 때 전력을 절약하는 기능이며, 앱 대기 상태와 제조사의 백그라운드 관리도 추가 제한을 적용할 수 있습니다. 흔히 말하는 ‘배터리 최적화 예외’는 해당 앱의 백그라운드 실행을 더 자유롭게 허용하는 설정이지, 휴대전화 전체의 절전 기능을 끄는 것이 아닙니다. 사용 중인 클라이언트만 조정하고 모든 앱의 제한을 해제하지 마세요.

먼저 확인할 세 가지

  1. 클라이언트 아이콘을 길게 누르기 → ‘앱 정보’ → ‘배터리’로 이동하세요. ‘제한 없음’ 항목이 있으면 먼저 선택합니다. ‘백그라운드 활동 허용’ 같은 스위치가 있다면 허용되어 있는지 확인하세요.
  2. ‘배터리 최적화’를 검색하세요. 별도의 최적화 앱 목록이 있다면 ‘모든 앱’으로 전환해 클라이언트를 찾아 ‘최적화하지 않음’으로 설정합니다. 일부 시스템에서는 앞의 설정과 같은 항목일 수 있으므로 별도의 스위치 두 개를 찾을 필요는 없습니다.
  3. 현재 절전 모드를 확인하세요. 테스트하는 동안에는 초절전 또는 극한 절전 모드를 먼저 해제하세요. 일반 절전 모드가 서비스에 영향을 주는지는 해당 기기에서 직접 확인해야 합니다. 앱이 배터리 최적화 예외에 추가되어 있다는 이유만으로 문제가 없다고 단정할 수 없습니다.

제조사별로 추가 확인할 설정

아래는 흔히 볼 수 있는 메뉴 이름이며 모든 버전에서 경로가 동일하지는 않습니다. HyperOS, One UI, EMUI 및 기타 시스템은 업데이트 후 메뉴 위치가 달라질 수 있으므로 휴대전화의 ‘앱 정보’와 설정 검색 결과를 기준으로 확인하세요.

시스템먼저 확인할 메뉴놓치기 쉬운 설정
Pixel 및 기본 Android에 가까운 시스템설정 → 앱 → 모든 앱 보기 → 클라이언트 → 앱 배터리 사용량백그라운드 사용 허용. 일부 버전에서는 해당 항목에서 ‘제한 없음’을 선택해야 합니다.
Xiaomi MIUI/HyperOS앱 정보 → 배터리 절약 → 제한 없음권한 또는 앱 관리에서 자동 실행을 확인하세요. 일부 버전에서는 ‘백그라운드 자동 실행’이라고 표시됩니다.
Samsung One UI설정 → 배터리 → 백그라운드 사용 제한절전 또는 초절전 앱 목록에서 제거하세요. ‘항상 절전하지 않는 앱’ 항목이 있다면 클라이언트를 추가할 수 있습니다.
Huawei EMUI설정 → 앱 및 서비스 → 앱 실행 관리자동 관리를 끈 뒤 필요에 따라 자동 실행, 관련 앱 실행, 백그라운드 활동을 허용하세요.
OPPO/OnePlus/realme앱 정보 → 배터리 사용량 관리 또는 배터리 사용량백그라운드 활동 허용 여부를 확인하세요. 자동 실행 권한은 별도의 앱 관리 메뉴에 있을 수 있습니다.
vivo/iQOO설정 → 배터리 → 백그라운드 전력 소비 관리백그라운드에서 높은 전력 사용을 허용하고 앱 자동 실행 권한도 확인하세요.

최근 앱 화면의 ‘앱 잠금’은 보조 설정으로 사용할 수 있지만, 보통 한 번에 정리할 때 앱이 종료될 가능성을 낮출 뿐 시스템 배터리 제한을 면제해 주지는 않습니다. 최근 앱 카드를 밀어 없애는 것, 시스템이 프로세스를 정리하는 것, ‘강제 중지’는 서로 다른 동작입니다. 강제 중지한 앱은 보통 직접 다시 열어야 하며 자동 실행으로 바로 복구되리라 기대할 수 없습니다.

화면 잠금 후 연결이 끊길 때: 서비스 종료와 네트워크 문제를 구분하는 절차

테스트할 때는 한 번에 한 종류의 설정만 바꾸고 시간을 기록하세요. 아래의 5분과 15분은 권장 관찰 시간이며 특정 휴대전화에서 검증된 보장값이 아닙니다. 짧은 테스트를 통과해도 밤새 안정적으로 대기한다고 단정할 수 없습니다.

  1. 화면이 켜진 상태의 기준을 확인하세요. 사용 가능 여부가 확인된 노드를 하나 선택하고 현재 Wi-Fi 또는 모바일 데이터 네트워크, VPN 상태, 테스트 페이지 접속 여부를 기록합니다.
  2. 화면을 잠근 뒤 5분 후 확인하세요. 잠금을 해제한 다음 먼저 시스템 VPN 페이지를 확인하세요. 클라이언트를 먼저 열면 앱이 다시 시작되어 종료 현상을 놓칠 수 있습니다.
  3. 다시 15분 동안 테스트하세요. VPN 연결이 유지되는지, 웹페이지의 첫 요청이 성공하는지, 클라이언트 로그에 서비스 재시작이나 연결 시간 초과, 이름 확인 실패가 기록되는지 확인합니다.
  4. 네트워크 전환을 테스트하세요. Wi-Fi에서 모바일 데이터로 전환한 뒤와 모바일 데이터에서 Wi-Fi로 돌아온 뒤 각각 새 요청을 보내세요. 네트워크를 바꾸면 기존 TCP 연결이 끊기는 일은 드물지 않습니다. 새 연결이 복구되는지 확인하세요.
  5. 마지막으로 재부팅을 테스트하세요. 부팅 후 잠금을 해제했을 때 복구되는지 확인합니다. 시스템에서 VPN 차단을 설정했다면 장애 발생 시 복구 메뉴를 이용할 수 있는지도 확인하세요.

확인한 결과에 따라 추가로 점검하세요

  • 시스템 VPN 연결이 끊겼다가 클라이언트를 열면 복구되는 경우: 백그라운드 제한, 앱 비정상 종료 기록, 다른 VPN의 연결 선점을 중점적으로 확인하세요. 배터리 최적화 예외만으로 해결되지 않는 원인도 있습니다.
  • 시스템 VPN은 연결되어 있지만 새 요청이 모두 시간 초과되는 경우: 현재 노드와 상위 네트워크를 확인하고, 사용 가능 여부가 확인된 다른 노드로 다시 테스트하세요. 곧바로 DNS 문제라고 단정하지 마세요.
  • 로그에 도메인 이름 확인 실패가 표시되는 경우: DNS 설정과 상위 DNS 서버에 연결할 수 있는지 확인하세요. 브라우저 주소창에 IP를 입력한 테스트 결과만으로 결론 내리지 마세요. HTTPS 인증서와 가상 호스트 설정도 접속에 영향을 줍니다.
  • 특정 앱 하나에서만 문제가 생기는 경우: 앱 우회 설정, 선택한 앱만 프록시하는 설정, 시스템의 백그라운드 데이터 제한 여부를 확인하고 규칙에서 최종적으로 어떤 정책이 적용됐는지 살펴보세요.
  • 화면 잠금 후 알림만 늦게 오는 경우: 대상 앱의 배터리 제한, 푸시 알림 경로, 백그라운드 데이터 권한도 확인해야 합니다. Clash 설정만 바꿔서는 해결되지 않을 수 있습니다.

혼동하기 쉬운 설정 질문

TUN을 이미 켰는데 VPN 연결도 허용해야 하나요?

일반적인 루팅되지 않은 Android 로컬 VPN 방식에서는 필요합니다. TUN은 가상 네트워크 인터페이스 또는 관련 트래픽 처리 방식을 가리키고, VpnService는 클라이언트가 그 기능을 요청할 때 사용하는 시스템 인터페이스입니다. 구독에 포함된 TUN 필드, 클라이언트 화면의 트래픽 처리 스위치, Android 권한은 서로 다른 항목입니다. 구독 필드를 읽는지는 클라이언트 구현에 따라 달라집니다.

배터리 최적화 예외에 추가하면 항상 연결되나요?

아니요. 배터리 최적화 예외는 백그라운드 제한을 줄여 줄 뿐이며 네트워크 전환, 노드 장애, 시스템 메모리 부족, 클라이언트 비정상 종료, 수동 강제 중지는 여전히 연결에 영향을 줄 수 있습니다. 지연 시간 테스트 숫자만 보지 말고 시스템 VPN 상태, 서비스 로그, 실제 새 요청을 함께 확인하세요.

화면을 잠근 뒤 연결이 끊기는 문제를 해결하려면 7890 포트를 바꿔야 하나요?

대부분은 필요하지 않습니다. 7890은 일부 설정에서 로컬 HTTP 또는 혼합 프록시가 사용하는 포트이지만 모든 클라이언트의 고정값은 아닙니다. 이 포트 설정과 Android의 백그라운드 서비스 실행 허용 여부는 별개의 문제입니다. 로그에 포트 충돌이나 로컬 프록시 연결 실패가 명확히 표시될 때만 수신 포트를 점검하세요.

앱 복제 공간이나 업무 프로필에서도 다시 설정해야 하나요?

대개 프로필별로 확인해야 합니다. 사용자 프로필이나 업무 프로필에 설치된 앱은 각각 별도의 권한과 관리 환경을 사용하므로 개인 프로필에서 배터리 최적화 예외를 설정했다고 업무 프로필의 앱에도 적용되는 것은 아닙니다. 기업 기기의 VPN은 관리자 지정 설정을 사용할 수도 있습니다. 변경할 수 없는 옵션이 있다면 먼저 기기 관리 정책을 확인하세요.

마지막으로 다음 순서대로 확인하세요: 설정 활성화, 시스템 VPN 권한 승인, 다른 VPN의 연결 선점 여부, 앱의 백그라운드 실행 허용, 제조사의 배터리 제한 조정 순으로 확인한 뒤 화면 잠금과 네트워크 전환을 테스트하세요. 문제가 계속되면 반복해서 재설치하기보다 발생 시각, 시스템 버전, 클라이언트 버전, 민감 정보를 가린 로그를 남기는 편이 원인을 찾는 데 도움이 됩니다. 기본 설정 방법은 사용 설명서에서, 용어가 궁금하다면 용어집에서 확인하세요.