Proxy automático para todo el sistema

Cuando estoy en una red pública en la que no confío, uso una combinación de ConnectBot y ProxyDroid (con "Global Proxy" habilitado) para canalizar el tráfico de mi teléfono a través de un servidor confiable que controlo. Sin embargo, tengo que configurarlo todo manualmente, y estoy seguro de que muchos otros datos se filtran alrededor de ese túnel (como mínimo, las aplicaciones verificará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 tan complicado que, por lo general, solo lo realizo cuando estoy en una red pública y recibo errores de SSL del navegador que me indican que google.com está usando un certificado firmado por GoDaddy.

Me gustaría configurar algo que simplifique un poco el proceso, de modo 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 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 simple de configurar, pero cualquier cosa servirá. ¿Qué tipo de soluciones como esta existen? Mi servidor ejecuta Ubuntu 12.04 y puedo instalar software adicional si es necesario.

Nuevamente, 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 aún no se ha establecido, no se escapa ningún tráfico. Obviamente, la única excepción tendría que ser cualquier aplicación que realmente esté haciendo la conexión inicial para establecer el túnel.

Actualmente estoy usando un HTC Incredible rooteado que ejecuta CyanogenMod 7. Sin embargo, estoy buscando un nuevo teléfono, por lo que si alguien conoce alguna solución que requiera algo más nuevo que Android 2.3, también sería bienvenida.

Respuestas (2)

¿Quizás calcetines de sombra? Hay diferentes sistemas operativos cliente/servidor, incluso para enrutadores. http://www.shadowsocks.org/

Los proxies por diseño no están destinados a configurarse en todo el sistema. Se supone que las aplicaciones deben hacer conexiones de proxy si así lo desean. Y la mayoría de las aplicaciones vuelven al modo sin proxy si, por alguna razón, no se puede acceder al servidor proxy. También hay otras limitaciones. httplos proxies no pueden manejar el tráfico UDP y los proxies SOCKS no pueden manejar el eco ICMP (que pingusa). Sin embargo, una red VPN opera a un nivel más bajo y reenvía todo el tráfico al extremo remoto. Para obtener más información, consulte ¿Por qué el proxy configurado en Android no funciona cuando se usa como punto de acceso?

debe verificar la autenticidad del servidor antes de conectarse (aunque no he visto una VPN que no lo haga)

La mayoría de httplos proxies admiten autenticación básica y, obviamente, SSH y VPN también.

Me gustaría algo que use SSH ya que es lo más simple de configurar

Puede crear un túnel SOCKS5 usando el reenvío de puerto dinámico SSH, también puede reenviar tráfico UDP. Pero necesita usar aplicaciones de terceros, Android no admite proxies SOCKS. Para obtener más información, consulte: ¿ Cómo configurar un socks5 con Android cli?

Me gustaría configurar algo que simplifique un poco el proceso, de modo 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 el túnel está abierto (muy importante).

Android de forma predeterminada no ofrece dicha funcionalidad, pero puede usar aplicaciones de automatización en combinación con aplicaciones basadas en VPN para lograr el resultado deseado.