¿Marcaste una app en OpenVPN? Decide la base de la lista
El mismo paquete marcado significa incluir o excluir según la base de la lista. Elige primero solo incluir, reconecta y después prueba todo el flujo de trabajo.
La casilla parece la decisión entera, y en Android no lo es. El mismo paquete marcado significa «solo esta app usa la VPN» con una base de solo incluir y «esta app omite la VPN» con una base de excluir los seleccionados. La gente instala un cliente, encuentra una lista llamada Apps permitidas, marca el único paquete que le importa y se va con una política que hace lo contrario. Cambiar de cliente rara vez ayuda; elegir la base antes de tocar la lista sí ayuda.
La base es la política, no la casilla
Con el VpnService de Android, un cliente configura el enrutamiento por app con addAllowedApplication o addDisallowedApplication. El primero limita el túnel a los paquetes listados, el segundo envía por el túnel todo excepto ellos. Los clientes envuelven ambos en una interfaz que puede parecer casi idéntica, y algunos nombran la sección por la lista en lugar del modo, así que el título de la sección por sí solo no puede decirte qué base está activa.
Lee el control de modo encima de la lista, no el encabezado. En el cliente original OpenVPN for Android, la lista de apps permitidas tiene una base de solo incluir y otra de excluir los seleccionados, y una compilación de marca puede formular ambas de forma distinta manteniendo los mismos dos comportamientos. Una captura de otro cliente, o de una versión anterior del mismo, no es prueba del modo en el que estás.
| What the client shows | What a checked app gets |
|---|---|
| Allowed apps, include-only baseline | The app uses the tunnel; unchecked apps do not |
| Allowed apps, exclude-selected baseline | The app bypasses the tunnel; everything else uses it |
| No list configured | Client or profile default, commonly all apps |
Esa tabla es todo el mito. Marcar la app es una afirmación sobre un paquete; la base decide si la afirmación es «inclúyela» o «exclúyela».
Primero el modo, después el paquete
Trabaja en este orden, porque una selección hecha con una base puede sobrevivir a un cambio de modo e invertir su efecto en silencio:
- Identifica el paquete real y si es la copia del perfil personal o del de trabajo.
- Abre los ajustes de selección de aplicaciones del perfil VPN exacto con el que te conectas.
- Establece la base cuyo significado es «solo las apps seleccionadas usan la VPN».
- Incluye el paquete deseado y deja las apps no relacionadas fuera del conjunto.
- Reconecta para que el cliente reconstruya la interfaz con la nueva lista.
El perfil importa tanto como el paquete. Un cliente puede tener varios perfiles, y la selección por app pertenece al que realmente usas para conectarte; editar un perfil que nunca usas no cambia nada. En un dispositivo gestionado, el perfil de trabajo es un usuario aparte con su propia copia de la app y su propia política, así que el hecho de que la instancia personal esté dentro del túnel no dice nada sobre la instancia de trabajo.
Reconecta antes de juzgar el resultado
VpnService lee las listas de aplicaciones cuando se establece la interfaz del túnel. Un túnel en funcionamiento no necesariamente recoge una edición de la lista, y los clientes difieren en si reconstruyen automáticamente o esperan a que te desconectes y vuelvas a conectar.
Si el cambio parece no hacer nada, prueba la reconexión antes de dudar de la lista. Después haz una petición nueva en lugar de recargar una página que ya estaba abierta: una app que mantiene una conexión establecida es un mal sujeto de prueba, y el resultado que ves puede pertenecer a la interfaz antigua.
Tu flujo de trabajo puede salir de la app
Una app puede delegar en un navegador para iniciar sesión, en un visor de documentos o en un destino de compartición. Con una base de solo incluir, esos ayudantes quedan fuera del túnel, así que un flujo de trabajo puede fallar a mitad de camino aunque la primera app estuviera bien configurada. Incluye el ayudante solo si el flujo de trabajo lo necesita de verdad, y añádelo a propósito en lugar de descubrirlo durante una demostración.
La selección por app tampoco sustituye la política de rutas propia de la conexión. El perfil todavía tiene que llevar los prefijos de destino y las familias de direcciones que usa la app, y la puerta de enlace todavía tiene que permitir el servicio. Una app listada correctamente con un destino inalcanzable se ve igual que una lista mal configurada.
Prueba ambos lados y luego anota la política
Prueba una petición nueva en la app incluida y otra en una app que debería quedarse fuera. Compara la dirección de salida y el acceso a un recurso privado, y repite después de una reconexión. Si tu organización usa la política de Android de bloquear conexiones sin VPN, una app excluida puede quedar bloqueada del todo en lugar de ir directa; eso es la política funcionando, no una falla que haya que sortear.
Registra el modo, los nombres de los paquetes con su perfil, qué apps deben omitir, qué familias de direcciones lleva el túnel y qué debería pasar cuando el túnel esté caído. Si el cliente no puede expresar el flujo de trabajo con claridad, elige un conjunto de apps aprobado más amplio o una política de perfil gestionado en lugar de editar reglas de cortafuegos a nivel de raíz, lo que no forma parte del mecanismo por app compatible con Android.