안드로이드 VPN 분할 터널링은 휴대폰의 모든 트래픽을 VPN으로 보내지 않고, 지정한 앱만 터널을 통과하도록 나누는 기능입니다. 예를 들어 해외 서비스나 특정 업무 앱만 VPN으로 연결하고, 은행 앱·로컬 프린터·스마트홈 앱·일반적인 국내 웹사이트는 직접 연결로 남겨 둘 수 있습니다. 전체 트래픽을 우회하는 전역 모드보다 경로를 세밀하게 조정할 수 있어 속도, 배터리, 지역 서비스 호환성을 함께 관리하기 좋습니다.
다만 분할 터널링은 단순히 앱 하나를 체크하는 기능으로 끝나지 않습니다. 안드로이드 버전, VPN 클라이언트, 프로토콜, DNS 처리 방식에 따라 실제 동작이 달라질 수 있기 때문입니다. 이 글에서는 앱별 VPN 설정의 원리부터 Android 클라이언트에서의 실제 설정 순서, 허용 목록과 제외 목록의 차이, 연결 후 점검 방법, 문제가 생겼을 때 기본값으로 되돌리는 절차까지 한 번에 정리합니다.
3단계
앱 선택·규칙 확인·연결 점검
5개
지원 플랫폼 중 Android 설정 대상
100+
확인 가능한 국가 범위
180+
선택 가능한 회선 범위
분할 터널링은 어떻게 작동하나요
안드로이드에서 VPN이 연결되면 시스템은 VPN 서비스가 만든 가상 네트워크 인터페이스를 통해 패킷을 전달합니다. 전역 모드에서는 거의 모든 앱의 연결이 이 인터페이스로 향하지만, 분할 터널링을 사용하면 클라이언트가 앱의 패키지 이름이나 라우팅 규칙을 기준으로 경로를 나눕니다. 선택된 앱은 VPN 인터페이스로 보내고, 나머지 앱은 일반 네트워크 인터페이스를 사용하게 됩니다.
여기에는 두 가지 방식이 있습니다. 첫 번째는 허용 목록 방식입니다. VPN을 사용할 앱만 선택하고 나머지는 직접 연결로 두는 구조입니다. 해외 동영상 앱, 특정 업무 도구, 테스트용 브라우저처럼 대상이 명확할 때 적합합니다. 두 번째는 제외 목록 방식입니다. 기본적으로 모든 앱을 VPN에 넣고, 은행·결제·사내망·스마트홈처럼 VPN을 사용하지 않을 앱만 빼는 구조입니다. 대상 앱이 많거나 새로 설치한 앱도 기본적으로 보호하고 싶을 때 편리합니다.
| 방식 | VPN으로 연결되는 앱 | 적합한 상황 | 주의할 점 |
|---|---|---|---|
| 허용 목록 | 사용자가 선택한 앱만 연결 | 특정 앱 몇 개만 VPN이 필요할 때 | 새 앱은 기본적으로 VPN을 사용하지 않음 |
| 제외 목록 | 선택한 앱을 제외한 대부분의 앱 | 전체 연결을 기본값으로 유지할 때 | 예외 앱을 빠뜨리면 접속 문제가 생길 수 있음 |
| 전역 모드 | 거의 모든 앱이 VPN으로 연결 | 경로를 단순하게 유지하고 싶을 때 | 속도·배터리·지역 서비스 호환성을 별도로 확인해야 함 |
안드로이드 클라이언트와 모드 선택
먼저 사용하는 클라이언트가 앱별 라우팅을 지원하는지 확인해야 합니다. 39VPN은 Windows, macOS, iOS, Android, Linux를 지원하며, Android에서는 공식 클라이언트 또는 호환 클라이언트에 구독 링크를 가져와 서버 목록을 구성할 수 있습니다. 클라이언트에 따라 메뉴 이름은 Split tunneling, Per-app VPN, App routing, Bypass mode처럼 다르게 표시됩니다.
구독 링크는 서버 목록을 가져오는 주소이고 분할 터널링 규칙 자체는 각 기기의 클라이언트에 저장됩니다. 따라서 한 Android 기기에서 앱별 규칙을 설정했다고 해서 다른 기기에 자동으로 같은 규칙이 복사되는 것은 아닙니다. 새 기기에서 클라이언트를 설치했다면 구독을 가져온 뒤 분할 터널링을 다시 확인해야 합니다.
공식 클라이언트와 호환 클라이언트의 차이
공식 Android 클라이언트는 처음 사용하는 사람에게 메뉴가 비교적 단순하고, 서버 선택과 연결 상태를 한 화면에서 확인하기 쉽습니다. 호환 클라이언트는 규칙 기반 라우팅과 프로토콜 선택 폭이 더 넓을 수 있지만, 앱 목록과 모드 이름을 직접 이해해야 합니다. sing-box 계열 클라이언트는 규칙과 DNS 설정을 세밀하게 다룰 수 있고, 일부 클라이언트는 Shadowsocks, VMess, Trojan, Hysteria2, WireGuard 같은 프로토콜을 서로 다른 방식으로 표시합니다.
프로토콜은 앱별 라우팅과 별개의 층입니다. 분할 규칙이 올바르더라도 선택한 프로토콜이 현재 네트워크에서 연결되지 않으면 대상 앱도 작동하지 않습니다. TCP 기반 연결은 호환성이 비교적 넓고, UDP 기반 Hysteria2나 WireGuard는 환경에 따라 성능 특성이 달라질 수 있습니다. 특정 프로토콜 하나만 고정하기보다 먼저 안정적으로 연결되는 서버와 프로토콜 조합을 확인한 다음 앱 규칙을 조정하는 편이 효율적입니다.
- ✅ 앱별 라우팅 메뉴가 있는지 먼저 확인
- ✅ 허용 목록과 제외 목록 중 현재 목적에 맞는 모드 선택
- ✅ 구독 업데이트와 앱별 규칙 저장은 별개의 작업으로 구분
- ❌ Android의 배터리 최적화가 VPN 서비스를 중지하지 않는지 확인 없이 사용하지 않기
- ❌ 여러 VPN 클라이언트를 동시에 연결해 라우팅 충돌을 만들지 않기
Android에서 앱별 VPN 설정하기
이제 실제로 설정해 보겠습니다. 클라이언트마다 버튼 이름은 조금씩 다르지만, 대부분 다음 순서를 따릅니다. 설정 전에는 사용 중인 앱을 최신 상태로 유지하고, 이미 다른 VPN이나 프록시 앱이 실행 중이라면 먼저 종료하는 것이 좋습니다.
- 서버 목록을 준비합니다. 클라이언트를 열고 구독 또는 프로필 메뉴에서 구독 링크를 가져옵니다. URL 전체가 잘리지 않았는지 확인한 뒤 업데이트를 실행하고, 연결 가능한 서버 하나를 선택합니다.
- 라우팅 메뉴를 엽니다. 설정, 네트워크, VPN 또는 고급 설정 안에서 앱별 라우팅·분할 터널링·Per-app VPN 항목을 찾습니다. 메뉴가 보이지 않는다면 현재 모드가 전역 모드인지, 사용 중인 프로필이 앱 라우팅을 지원하는지 확인합니다.
- 작동 방식을 선택합니다. 지정 앱만 VPN에 넣으려면 허용 목록을 선택하고, 대부분의 앱을 VPN에 넣되 일부만 직접 연결하려면 제외 목록을 선택합니다. 두 목록을 동시에 적용하는 클라이언트에서는 우선순위 설명을 먼저 읽어야 합니다.
- 앱을 체크합니다. 목록에서 대상 앱을 선택합니다. 브라우저는 여러 앱이 별도로 존재할 수 있으므로 Chrome, 삼성 인터넷, Firefox처럼 실제 사용하는 앱을 정확히 체크해야 합니다. 업무 앱도 본 앱과 로그인·알림을 담당하는 별도 앱이 있는지 확인합니다.
- 저장하고 VPN 권한을 승인합니다. Android가 VPN 연결 권한을 요청하면 승인합니다. 이후 클라이언트의 연결 스위치를 켜고, 상태 표시줄의 VPN 아이콘이 나타나는지 확인합니다.
- 대상 앱과 제외 앱을 모두 시험합니다. 대상 앱에서는 연결 상태와 원하는 서비스 접근 여부를 확인하고, 제외한 앱에서는 로컬 장치나 국내 서비스가 정상적으로 작동하는지 확인합니다. 한쪽만 테스트하면 규칙이 반대로 적용된 사실을 놓칠 수 있습니다.
처음부터 많은 앱을 선택하지 않는 것도 중요합니다. 테스트 단계에서는 대상 앱 하나만 넣고 연결한 뒤, 정상 작동을 확인하면서 필요한 앱을 추가하는 편이 원인을 찾기 쉽습니다. 앱을 한꺼번에 많이 넣으면 어느 앱이 규칙을 잘못 적용했는지 판단하기 어렵고, 백그라운드 동기화가 예상보다 많은 트래픽을 사용할 수 있습니다.
DNS와 백그라운드 설정 확인
앱의 통신이 VPN으로 가더라도 DNS 조회가 별도 경로로 처리되면 지역 판정이나 접속 결과가 예상과 달라질 수 있습니다. 클라이언트에 원격 DNS, 터널 DNS, DNS 보호와 같은 옵션이 있다면 설명을 확인한 뒤 라우팅 정책과 일관되게 설정합니다. 반대로 로컬 네트워크의 프린터나 NAS를 사용해야 한다면 로컬 주소가 VPN을 통해 전달되지 않도록 예외 규칙이 필요한지 확인해야 합니다.
Android의 배터리 절약 기능도 확인해야 합니다. 시스템이 백그라운드 VPN 서비스를 강제로 중지하면 화면을 끈 뒤 앱별 라우팅이 풀리거나 알림 연결이 늦어질 수 있습니다. 클라이언트의 배터리 사용을 제한 없음 또는 최적화 제외로 바꾸는 메뉴가 기기에 있다면, 제조사별 안내에 따라 조정합니다. 단, 배터리 최적화를 해제하면 소비량이 늘 수 있으므로 필요한 클라이언트에만 적용하는 것이 좋습니다.
설정 후 라우팅과 속도 점검하기
연결이 되었다는 표시만으로 앱별 라우팅이 제대로 작동한다고 단정하면 안 됩니다. 먼저 VPN을 켠 상태에서 선택한 앱을 실행하고, 해당 앱의 로그인·콘텐츠 로딩·파일 업로드처럼 실제로 사용하는 기능을 시험합니다. 그다음 VPN 제외 앱을 열어 로컬 서비스, 결제 화면, 일반 웹페이지가 정상인지 비교합니다.
IP 확인 도구를 이용하면 현재 공인 IP와 지역 변화를 확인할 수 있습니다. 사이트의 IP 확인 페이지를 열어 대상 앱에서 사용하는 브라우저가 어떤 출구로 연결되는지 점검해 보세요. 다만 앱이 자체 DNS, 별도 API, 내장 브라우저를 사용하면 브라우저의 결과와 완전히 같지 않을 수 있습니다. 따라서 IP 확인은 참고 자료로 사용하고, 실제 대상 앱의 로그인과 콘텐츠 접근도 함께 확인해야 합니다.
| 증상 | 가능한 원인 | 먼저 할 조치 |
|---|---|---|
| 선택한 앱이 연결되지 않음 | 앱이 목록에서 빠졌거나 프로토콜이 현재 네트워크와 맞지 않음 | 앱 체크 상태와 다른 서버·프로토콜을 차례로 확인 |
| 제외한 앱도 VPN으로 연결됨 | 제외 목록이 아니라 허용 목록을 사용했거나 규칙 우선순위가 다름 | 라우팅 모드 설명과 적용 목록을 다시 확인 |
| 화면을 끄면 연결이 끊김 | Android 배터리 최적화가 클라이언트를 종료함 | 백그라운드 실행과 배터리 제한을 점검 |
| 웹페이지는 열리지만 앱 로그인 실패 | DNS, 앱 자체 보안 정책, 지역 또는 서버 호환성 문제 | 다른 서버를 선택하고 DNS·앱 예외 규칙을 확인 |
속도 저하를 확인할 때는 단순 다운로드 수치만 보지 말고 실제 앱의 응답성과 안정성을 함께 봐야 합니다. 이미지 로딩, 영상 시작, 파일 업로드, 알림 수신처럼 사용 목적에 가까운 동작을 비교하는 편이 정확합니다. 대상 앱이 하나뿐인데 전체 트래픽을 VPN으로 보내고 있다면 규칙이 제대로 적용되지 않은 것일 수 있으므로, 앱 목록과 현재 모드를 다시 확인합니다.
문제 발생 시 기본 설정으로 되돌리는 방법
설정을 많이 바꾼 뒤 원인을 찾기 어려워졌다면 예외를 계속 추가하기보다 먼저 단순한 상태로 되돌리는 것이 좋습니다. 클라이언트에서 분할 터널링을 끄고 전역 모드로 임시 연결한 다음, 대상 앱이 작동하는지 확인합니다. 전역 모드에서 작동한다면 서버나 프로토콜보다 앱별 규칙, DNS, 제외 목록 중 하나가 원인일 가능성이 큽니다.
- VPN 연결을 끄고 클라이언트의 앱별 라우팅 설정을 엽니다.
- 허용 목록과 제외 목록의 체크를 모두 해제하거나 기본 모드로 변경합니다.
- 저장 후 클라이언트를 완전히 종료하고 다시 실행합니다.
- Android 설정의 VPN 화면에서 해당 클라이언트가 연결된 상태인지 확인합니다.
- 전역 모드로 잠시 테스트한 뒤, 문제가 사라지면 앱 하나만 다시 추가해 규칙을 재구성합니다.
그래도 연결이 복구되지 않으면 Android의 다른 VPN 프로필이 남아 있는지, 항상 켜짐 VPN 또는 VPN 없이 연결 차단 옵션이 활성화되어 있는지 확인합니다. 네트워크가 바뀐 뒤에만 문제가 생긴다면 Wi-Fi와 모바일 데이터를 각각 시험하고, 공용 Wi-Fi처럼 UDP를 제한하는 환경에서는 TCP 기반 프로토콜로 바꾸어 비교할 수 있습니다. 프로토콜을 바꿀 때는 한 번에 여러 항목을 수정하지 말고 서버, 프로토콜, 라우팅 모드를 하나씩 변경해야 결과를 해석하기 쉽습니다.
- ✅ 문제가 생기면 먼저 분할 터널링을 끄고 전역 모드로 원인을 분리
- ✅ 정상화 후 앱 하나만 다시 추가해 규칙을 단계적으로 재구성
- ✅ Wi-Fi와 모바일 데이터에서 각각 같은 증상이 나타나는지 비교
- ❌ 여러 VPN 앱을 동시에 켜거나 Android VPN 프로필을 무작정 삭제하지 않기
- ❌ 연결 실패만으로 구독 링크 전체를 다시 발급받거나 모든 설정을 한꺼번에 변경하지 않기
자주 묻는 질문
분할 터널링을 사용하면 VPN 보안이 약해지나요?
VPN으로 선택한 앱의 트래픽은 설정한 터널을 사용하지만, 제외한 앱의 트래픽은 일반 네트워크로 나갑니다. 따라서 모든 앱을 VPN 경로로 보호하려는 목적이라면 전역 모드가 더 적합합니다. 분할 터널링은 보안 수준을 자동으로 높이는 기능이 아니라 앱별 경로를 나누는 기능이므로, 어떤 앱을 직접 연결로 남길지 신중하게 정해야 합니다.
앱을 선택했는데도 IP가 바뀌지 않는 이유는 무엇인가요?
앱이 실제로 사용하는 프로세스가 목록에서 빠졌거나, 클라이언트가 현재 선택한 모드에서 앱 라우팅을 적용하지 않는 경우가 있습니다. 연결을 끊었다가 다시 켜고, 다른 서버를 선택한 뒤 대상 앱을 완전히 종료했다가 재실행해 보세요. 내장 브라우저와 별도 로그인 앱처럼 구성 요소가 나뉜 서비스는 관련 앱을 함께 점검해야 합니다.
Android에서 앱별 VPN 설정이 계속 초기화됩니다.
클라이언트 프로필이 저장되지 않았거나, 구독 업데이트 때 프로필이 새로 생성되는 경우가 있습니다. 저장 버튼을 누른 뒤 프로필 이름을 확인하고, 업데이트 후에도 같은 프로필이 선택되어 있는지 점검하세요. 화면을 끈 뒤 초기화된다면 배터리 최적화와 백그라운드 실행 제한도 함께 확인해야 합니다.
초보자는 어떤 방식으로 시작하는 것이 좋나요?
먼저 허용 목록에서 테스트할 앱 하나만 선택하고 안정적인 서버로 연결하는 방법이 가장 단순합니다. 대상 앱과 제외 앱을 각각 확인한 다음 필요한 앱을 하나씩 추가하세요. 클라이언트 설치와 구독 가져오기 과정은 사용 방법 안내에서 확인할 수 있습니다.