두 번째 VPN을 시작하면 첫 번째의 상태가 대체된다
휴대폰은 한 번에 하나의 VPN 서비스만 허용하고, 데스크톱에서는 클라이언트들이 같은 경로를 두고 다툰다. 실제 설계 없이는 어느 쪽도 중첩 터널을 만들지 않는다.
두 개의 클라이언트, 두 개의 연결 아이콘, 그리고 트래픽이 이제 둘 다를 통과한다는 믿음. 그 믿음을 각 플랫폼이 실제로 허용하는 것과 비교해 보라. 휴대폰에는 보통 VPN 서비스를 위한 슬롯이 정확히 하나 있고, 데스크톱에서는 같은 경로와 같은 리졸버를 두고 다투는 여러 클라이언트가 동시에 실행될 수 있다. 이 두 상황의 차이가 다른 VPN을 시작할 때 VPN이 끊긴다는 보고의 대부분을 설명한다.
아이콘은 프로세스를 설명한다, 체인이 아니다.
휴대폰에는 한 자리, 데스크톱에는 여러 요구자
Android에서는 플랫폼이 사용자 프로필당 하나의 활성 VPN을 가진 VPN 서비스 모델을 제공하므로 두 번째를 시작하면 첫 번째가 중지된다. 이는 시스템이 자체 규칙을 적용하는 것이지 어느 클라이언트의 버그가 아니다. 데스크톱에서는 여러 클라이언트가 동시에 실행될 수 있으며, 그러면 라우팅 테이블, 정책 규칙, 리졸버 구성, 가상 인터페이스를 두고 경쟁한다. 두 결과 모두 플랫폼이 설계대로 작동하는 것이다.
어느 결과도 그 자체로 중첩 터널을 만들지 않는다. 체인은 하나의 터널이 다른 터널의 암호화된 패킷을 운반해야 하며, 그것은 순서의 우연이 아니라 아키텍처다.
두 번째 클라이언트가 덮어쓰는 것
두 번째 클라이언트는 보통 기본 경로를 설치하고, 자체 규칙을 추가하며, 자체 리졸버를 밀어 넣는다. 첫 번째는 트래픽이 없는 프로세스로 살아남거나 더 이상 이기지 못하는 경로를 유지할 수 있다. 도메인별 경로가 흔한 희생양이며, 그래서 일부 목적지는 계속 작동하고 다른 목적지는 실패한다. 보이는 증상은 연결 끊김이고, 실제 상태는 부분적 대체다.
출구 IP 검사로는 이것이 드러나지 않는다. 하나의 목적지에 대해 하나의 주소만 보고하며 어떤 경로가 덮어써졌는지 또는 어떤 리졸버가 지금 응답하는지에 대해서는 아무것도 말하지 않는다. 손상을 보려면 라우팅 테이블과 리졸버 상태를 읽어라.
중첩은 설계이지 클릭 순서가 아니다
중첩이 의도라면 각 엔드포인트의 외부 경로, 실패 정책, MTU 영향을 문서화하라. 외부 터널이 떨어졌는데 내부 터널이 여전히 연결되어 있다고 믿을 때 무슨 일이 일어나는지 결정하라. 운 좋은 순서로 클라이언트를 시작하는 것은 다음 업데이트나 재연결이 순서를 다시 바꾸기 때문에 구성이 아니다. 중첩 배치는 다른 어떤 토폴로지와도 같은 주의가 필요하다.
한 연결은 업무용이고 다른 하나는 개인용이라면, 플랫폼이 지원하는 격리나 관리형 배치에 기대라. 기업 통제를 뜯어내는 것은 분리 전략이 아니다.
아이콘이 아니라 애플리케이션으로 검증하라
정말 중요한 애플리케이션을 사용하려는 모든 상황에서 실제로 실행해 보고, 리졸버 동작과 재연결도 테스트에 포함하라. 최종 출구 주소는 덮어쓴 모든 경로를 식별할 수 없고, 초록색 아이콘은 그중 어느 것도 식별할 수 없다. 연결의 소유자와 실제로 지원되는 조합을 기록하라.
제품이 다른 제품과의 공존을 명시적으로 지원하지 않는다면, 임의의 경로나 권한 변경은 유지 관리 가능한 배포를 만들지 않는다. 다음 업데이트까지 작동하는 배포를 만들 뿐이다.
어떤 클라이언트가 기본 경로를 소유하는지, 어떤 리졸버가 응답하는지, 각각이 중지될 때 무슨 일이 일어나는지 적어 두라.