Encaminar una aplicación por un túnel no arrastra su enrutamiento a todo lo que esa aplicación lance, aunque la interfaz sugiera lo contrario. Un enlace entrega una petición a otro programa, ese programa abre su propio socket y la plataforma aplica las reglas al proceso nuevo en lugar de al que mostró el texto. Ese segundo proceso es el que ve realmente la política del túnel, y no es el que configuraste.

Una aplicación incluida puede, por tanto, abrir un navegador que queda fuera del túnel. Un navegador excluido puede devolver trabajo a una aplicación que queda dentro. Ambas direcciones de esa sorpresa son comportamiento normal.

La parte del flujo de trabajo que nadie configuró

La política por aplicación se escribe contra la identidad de un ejecutable o de un paquete, y cada conexión se evalúa en el momento en que se crea. El navegador, el visor de documentos, el reproductor multimedia y la hoja de compartir del sistema llevan cada uno su propia identidad, y cada uno recibe su propio veredicto. Un enlace profundo transporta datos, no política.

Por eso la observación parece arbitraria: el mismo clic se encamina de dos maneras según qué gestor lo responda. Un cliente de correo dentro del túnel abre un enlace en un navegador que vive fuera del túnel, y la página se carga desde tu dirección de casa. Un navegador fuera del túnel abre un documento en un visor que vive dentro, y el archivo llega por la salida. Ninguno de los dos resultados es un fallo del cliente.

Un gestor que ya se está ejecutando lo empeora. Si el navegador ya está abierto, el enlace se convierte en un mensaje a un proceso existente, y ese proceso conserva el enrutamiento que tenía al arrancar. Cerrar y volver a abrir el gestor cambia el resultado, y por eso el problema nunca se reproduce a demanda.

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

Qué proceso hizo realmente la conexión

Mide el lado que recibe en lugar de razonar sobre él. Mantén el túnel activo, haz clic en un enlace inofensivo y mira los sockets que tiene el programa nuevo.

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

El primer comando nombra el proceso que hay detrás de cada socket establecido en Linux, y el segundo hace lo mismo en Windows resolviendo el identificador del proceso propietario. Compara el nombre del proceso con los de tu política. Si el nombre es el navegador y el navegador está excluido, el clic salió del túnel por diseño y no por una falla. Emparejar una regla de política con un socket vivo es todo el método.

Repite la comprobación con el gestor ya en marcha y luego con él cerrado. Los dos resultados pueden diferir, y esa diferencia explica la mayoría de los informes intermitentes sobre enlaces que se escapan de un túnel.

La cobertura es una propiedad del flujo de trabajo

Si una tarea debe permanecer dentro del túnel de principio a fin, cada componente que pueda alcanzar tiene que estar dentro de la política: el lanzador, el gestor, el visor y cualquier intermediario que la plataforma inserte entre ellos. Una cobertura más amplia suele ser la respuesta honesta, y sale más barata que auditar cada destino de compartir.

Excluir un intermediario del sistema para arreglar una aplicación es un error habitual. Los intermediarios se comparten, así que la exclusión sigue a todas las demás aplicaciones que usan la misma ruta, normalmente sin que nadie lo note hasta que llega un informe semanas después. Lee qué más depende del componente antes de excluirlo.

Mantén la identidad separada del enrutamiento. Un enlace puede llevar un token de sesión o un identificador de cuenta, independientemente de qué salida reciba la petición. Un clic bien encaminado aún puede decirle al destino exactamente quién lo siguió.

Documenta el flujo de trabajo, no la primera casilla. Cuando una tarea abarca cuatro programas, el diagrama con cuatro programas es el que predice por dónde va el tráfico, y el ajuste de una sola aplicación es solo una fila de ese diagrama.

Artículos relacionados