Usar dúas VPN non é unha soa solicitude. Pode significar chegar a dúas organizacións unha tras outra, manter separadas as aplicacións de traballo e as persoais, ou executar un túnel dentro doutro. Android trata eses tres casos de xeitos completamente distintos, e o número de aplicacións VPN instaladas no teléfono non é a arquitectura. A pregunta que os separa é simple: teñen que existir dúas rutas no mesmo momento para a mesma aplicación?

Tres disposicións, unha pregunta

Se a resposta é non, porque as dúas redes se usan en momentos diferentes, vostede quere un cambio deliberado. Se a resposta é non porque as aplicacións mesmas están separadas, vostede quere unha separación de perfís, na que cada aplicación se sitúa no contexto que posúe o seu túnel. Se a resposta é si e unha ruta ten que levar fisicamente a outra, vostede quere unha cadea, e é a única das tres na que a orde forma parte do deseño.

Todo o demais deriva desa elección. O cambio ten unha xanela de transición, a separación ten un límite de política e unha cadea ten un custo de sobrecarga e de dependencia. Escoller a incorrecta non falla limpiamente; produce un teléfono que parece conectado e unha aplicación que non chega a nada.

Cambiar dentro dun mesmo contexto de usuario

Android permite un só servizo VPN activo por usuario. Iniciar unha segunda aplicación VPN no mesmo contexto substitúe a primeira ou rexéitase de plano; nunca compón os dous conxuntos de rutas e desde logo non apila o seu cifrado. Dentro dun usuario, dous túneles son unha secuencia, non unha suma.

Isto é viable cando o acceso é realmente secuencial. Póñalle nomes aos perfís para que o activo sexa obvio, remate calquera cousa sensible antes de cambiar e espere unha xanela curta na que ningunha das dúas rutas estea plenamente establecida. Pechar unha lapela do navegador non é o mesmo que rematar unha sesión: a lapela pode conservar o estado da súa conta e simplemente enviar a seguinte solicitude pola rede acabada de escoller, e esa é exactamente a fuga que a xente nota despois.

O que o cambio non pode darlle é unha máquina que estea nas dúas redes á vez. Se unha aplicación necesita un enderezo privado de cada lado, ningunha disciplina do cliente o producirá.

Separar por perfil

Un perfil de traballo xestionado é un usuario aparte coas súas propias aplicacións, o seu almacén de chaves e a súa política de rede. Un cliente de correo de traballo pode usar o túnel da organización mentres un navegador persoal usa un persoal, e ambos poden estar conectados ao mesmo tempo porque non están no mesmo contexto competindo pola praza.

A separación é tamén o límite. O navegador persoal non toma prestado o túnel de traballo, non ve os sufixos DNS de traballo e non chega á rede de traballo só porque ambos os servizos aparezan como conectados. Cando alguén informa de que unha ligazón non se abre, comprobe que copia da aplicación a xestionou e que perfil posúe esa conta antes de tocar calquera das dúas VPN.

Trate o límite como fixo. Crear un segundo perfil ou eliminar un perfil de traballo para sortear a decisión de enrutamento dun empregador destrúe precisamente a separación que facía funcionar a disposición, e nun dispositivo xestionado adoita ser unha violación de política e non un axuste de configuración.

Unha cadea, onde a orde é o deseño

Unha cadea é a disposición que a xente adoita querer dicir cando di ambas á vez: o túnel do teléfono viaxa dentro do túnel do router. Pode funcionar, e as restricións son concretas. O provedor exterior ten que permitir unha ruta funcional ata o extremo VPN do teléfono, o que para os protocolos baseados en UDP significa que o servizo exterior non debe bloquear nin limitar ese tráfico.

Entenda quen ve que. O provedor exterior ve unha conexión cara ao extremo interior. O provedor interior recibe o tráfico do teléfono desde a saída exterior e reenvíao. O destino final normalmente ve a saída do servizo interior, e ningún provedor da cadea é cego; as contas das aplicacións seguen identificando o usuario sexa cal for a ruta.

Espere custos prácticos. Cada capa engade encapsulación, así que a MTU efectiva baixa e un valor que ía ben para un túnel agora fragméntase ou atasca ata que a MTU do túnel interior se fixa de forma conservadora. Dúas capas tamén significan dúas dependencias de fallo e dous xogos de mensaxes de mantemento, e un túnel interior baseado en TCP sobre unha ligazón exterior con perdas pode atascarse de xeitos que parecen un servidor morto.

O máis importante: unha cadea non fusiona dúas redes privadas. As rutas, os prefixos solapados, a resolución DNS e as regras de acceso seguen sendo decisións separadas, e un router que leva unha VPN mentres un teléfono leva outra non concede ao teléfono os dous espazos de enderezos.

Comprobe o deseño antes de depuralo

Escriba a disposición nunha frase e probéa contra a aplicación que fallou. O acceso secuencial debería mostrar un túnel cada vez; a separación de perfís debería mostrar cada aplicación no seu propio usuario; unha cadea debería mostrar o túnel interior establecéndose sobre unha interface exterior e non sobre a física.

adb shell ip -br addr
adb shell ip route get 10.20.0.8
adb shell dumpsys connectivity | grep -i vpn

Se a consulta de ruta nomea a interface física mentres unha aplicación espera o túnel, o deseño e o contexto da aplicación non coinciden, e ningunha aplicación VPN adicional os reconciliará. A documentación sobre perfís xestionados cobre as regras de separación se necesita o detalle de política e non o de enrutamento.

Artigos relacionados