Cuando estoy en una red pública en la que no confío, uso una combinación de ConnectBot y ProxyDroid (con el "Proxy Global" activado) para hacer un túnel con el tráfico de mi teléfono a través de un servidor de confianza que controlo. Sin embargo, tengo que configurar todo eso manualmente, y estoy seguro de que muchos otros datos se filtran alrededor de ese túnel (como mínimo, las aplicaciones lo comprobarán entre el momento en que me conecto a una red y el momento en que configuro el túnel). Además, el proceso es lo suficientemente complicado como para que sólo lo haga cuando estoy en una red pública y me da errores SSL el navegador diciéndome que google.com está usando un certificado firmado por GoDaddy.
Me gustaría configurar algo que suavice un poco el proceso, de manera que se establezca automáticamente un túnel cada vez que me conecte a una red, todo el tráfico se enrute a través de él, y las aplicaciones no puedan conectarse a Internet a menos que el túnel esté abierto (muy importante). Obviamente, debería verificar la autenticidad del servidor antes de conectarse (aunque no he visto una VPN que no lo haga). Me gustaría algo que use SSH ya que es lo más sencillo de configurar, pero cualquier cosa servirá. ¿Qué tipo de soluciones como esta hay? Mi servidor funciona con Ubuntu 12.04, y puedo instalar software adicional en él si es necesario.
De nuevo, la parte más importante aquí es que ninguna aplicación puede acceder a la red a menos que pase por el túnel, y si el túnel no se ha establecido todavía, ningún tráfico se escapa. Obviamente, la única excepción tendría que ser la aplicación que está haciendo la conexión inicial para establecer el túnel.
Actualmente estoy usando un HTC Incredible rooteado que ejecuta CyanogenMod 7. Estoy en el mercado para un nuevo teléfono, sin embargo, así que si alguien sabe de cualquier solución que requieren algo más reciente que Android 2.3, los que serían bienvenidos también.