!원문 캡처 · johnmaguire.me

2025년 1월 9일 · 2026년 10월 4일 업데이트

안드로이드에서는 VPN이 활성화되면 카메라 앱이 카메라의 Wi-Fi 네트워크에 연결하지 못할 수 있다. VPN이 해당 네트워크로 가는 트래픽을 터널링하지 않더라도 마찬가지다. 일부 VPN 앱은 특정 앱을 VPN에서 제외하는 설정을 제공하며, 그런 기능이 없다면 카메라 앱을 사용할 때 VPN을 잠시 끄는 것이 유일한 우회 방법이다.

안드로이드의 네트워크 선택 방식

데스크톱 운영체제는 일반적으로 VPN 경로를 하나의 전역 라우팅 테이블에 추가한다. 반면 안드로이드는 Wi-Fi, 셀룰러, VPN마다 별도의 라우팅 테이블을 두고 각 앱을 하나의 네트워크에 할당한다. 보통 앱은 인터넷에 연결된 기본 네트워크를 사용하지만, VPN이 활성화되면 안드로이드는 앱을 VPN 네트워크에 할당한다.

VPN 경로에 포함되지 않은 트래픽은 기본 네트워크로 빠져나갈 수 있다. VPN에서 명시적으로 제외한 경로도 같은 규칙을 따른다. 하지만 카메라의 Wi-Fi는 인터넷에 연결되지 않는 경우가 많아 기본 네트워크로 선택되지 않는다. 기본 네트워크는 대개 셀룰러나 인터넷에 연결된 다른 Wi-Fi다.

카메라 앱은 VPN이 없어도 카메라 네트워크에 명시적으로 바인딩해야 한다. 그렇지 않으면 카메라로 가는 경로가 없는 기본 네트워크를 사용하게 된다. 그러나 VPN이 실행 중이면, VPN이 우회 가능 상태로 명시되지 않은 한 안드로이드는 앱의 네트워크 바인딩을 거부한다. 이는 앱이 VPN이 아닌 다른 네트워크를 선택해 개인정보 보호를 위한 VPN을 벗어나지 못하게 하려는 설계다. 따라서 100.64.0.0/10만 라우팅하는 VPN도 카메라 Wi-Fi의 192.168.0.0/16 접근을 막을 수 있다. 안드로이드 시스템 코드

이 문제는 카메라 앱에만 국한되지 않는다. Tailscale은 VPN을 통해 작동하지 않는다는 이유로 Android Auto와 Messages(RCS)를 기본적으로 VPN에서 제외한다. 트래픽을 터널링하지 않고 안드로이드 VPN 인터페이스로 광고를 차단하는 AdGuard 같은 앱도 영향을 줄 수 있다. 이에 따라 OpenPocketCine과 Eureka 등은 사용자에게 관련 문제를 알리고 있다.

현재 가능한 우회 방법

카메라 제조사는 자체 앱만으로 이 동작을 해결할 수 없다. 시스템 동작에 영향을 줄 수 있는 쪽은 VPN 앱이다. VPN 앱에서 특정 앱을 터널에서 제외하거나 VPN을 우회 가능 상태로 설정하면 된다. 많은 VPN 앱은 설정에서 제외할 앱을 고르게 한다. 해당 기능이 없다면 카메라 앱을 쓰는 동안 VPN을 일시적으로 끄는 방법밖에 없다.

글에서는 분할 터널 VPN을 사용할 때 앱이 선택한 네트워크로 트래픽을 보낼 수 있도록 안드로이드가 허용하는 개선안을 제안한다. 분할 터널 VPN은 이미 VPN이 라우팅하지 않는 트래픽을 기본 네트워크로 보낼 수 있다. 제안은 앱이 그 트래픽의 출구 네트워크를 선택하지 못하게 막는 것이 VPN 안에 트래픽을 유지하는 데 도움이 되지 않는다고 본다. 전체 터널 VPN은 경로가 항상 먼저 일치하므로 여전히 모든 트래픽을 포착할 수 있다는 설명이다. 기능 요청

관련 사례는 GoPro 사용자 사례 1, GoPro 사용자 사례 2, GoPro 사용자 사례 3, Fujifilm 사용자 사례, Nikon 사용자 사례, Ricoh 사용자 사례 1, Ricoh 사용자 사례 2에서 확인할 수 있다.