[ACTULIZADO 26/06/2007]: Con una captura de la configuración del Htthost por
petición en un comentario.
Hace poco que he cambiado de trabajo y en el nuevo tenemos el acceso a internet muy capado. Una de las webs a la que no podemos acceder es
Gmail. Aunque no recibo muchísimos emails diarios, siempre está bien poder ver el correo durante el día alguna vez por si hay algo interesante o sobre todo por si necesito buscar o enviar algo desde esa cuenta.
He estado buscando diversas alternativas para poder saltarme estas restricciones y al final estos son los recursos que tengo y los pasos que he dado:
En casa tengo un pequeño servidor encendido 24x7 con el
Emule funcionando (lo siento Alex pero de momento es windows y no debian) en el que tengo instalado un servidor
VNC. Como no tengo ip estática utilizo los servicios de
no-ip.com y la funcionalidad DDNS de mi router para asignar un nombre de dominio a mi ip dinámica. De esta manera siempre puedo conectarme al servidor de casa con el cliente vnc desde cualquier lugar.
1.- Esto fue lo primero que intenté, pero al tener que salir en el trabajo hacia internet con proxy no podía utilizar el cliente vnc.
2.- Mi segundo paso fue utilizar el servidor java del vnc para conectarme a través del navegador. Aunque llegaba a conectarme a mi casa, el navegador no lograba cargar el applet correctamente.
3.- Revisando la configuración cambié los puertos que tenía mapeados en el router para dejarlo todo de la manera más estándar posible.
4.- Mi siguiente intento fue con
HTTPort. Para el que no lo conozca sirve para "proxificar" (toma palabro!) cualquier aplicación que no disponga de esa opción y encapsular cualquier tipo de trafico en http. De esta manera, si el proxy/firewall de nuestro trabajo nos permiter navegar por internet, podremos utilizar diversos servicios que de otra manera estarían capados: correo pop, messenger, irc,... El funcionamiento es muy simple, sólo hay que definir un puerto local de escucha y el servidor y puerto remoto al que redirigir todo el tráfico que llegue al puerto local. Luego, dicho tráfico se enviará automáticamente a servidores disponibles en internet para que sirvan de pasarela entre nuestro trabajo y la máquina destino.
Dicho y hecho: Me bajé el programa, lo instalé en el pc del trabajo y configuré la redirección:

De esta forma redirigía mi puerto 5900 local al 5900 de mi servidor. Aunque veía en la ventana de conexión del cliente vnc que llegaba a conectar con el servidor de casa, no me llegaba nunca a pedir el password y siempre dada timeout. Buscando un poco en internet leí que la mayoría de esos servidores pasarela públicos están muy saturados y las conexiones eran muy lentas. También ofrecían una solución que era utilizar el programa
HTTHost.
5.- Este programa está pensado para utilizarlo con HTTPort y se instala en una máquina a la que tengamos acceso desde internet. Esta máquina será la que utilizaremos de pasarela para conectarnos a nuestro destino final. Hay que tener en cuenta que la máquina en la que instalemos este servidor puede ser la misma a la que nos queremos conectar (como es mi caso).
Así, instalé este programa en el servidor de casa, abrí los puertos en el router y lo dejé preparado para probar hoy desde el trabajo.

En este caso hay que configurar el HTTPort para que se conecte a este servidor pasarela en el que podemos definir un password e incluso filtrar por ip origen para que sólo acepte determinadas conexiones:

Además, es necesario hacer un pequeño cambio en el mapeo de puertos puesto que ahora tenemos el servidor pasarela origen de las conexiones en la misma máquina en la que se encuentra el servidor vnc (además hay que habilitar en el servidor vnc la opción de permitir conexiones de loopback):

Ahora, ya en el ordenador del trabajo, abrimos el cliente vnc y nos conectamos a
localhost:5900. El flujo que siguen nuestros datos es el siguiente:
ClienteVNC-trabajo -> HTTPort-trabajo:5900 -> Proxy-trabajo:8080 -> HTTHost-casa:80 -> ServidorVNC:5900
Y listo, ya tenemos el tunel establecido y podemos conectarnos al ordenador de casa para controlarlo remotamente y poder ver el correo, controlar el estado de las descargas del emule,...
Este método sólo tiene una pequeña pega que es la velocidad de conexión. Según he leído en los foros, la transferencia de ficheros, el messenger,... van bastante bien, pero el control remoto con el VNC deja bastante que desear y como he podido comprobar esta mañana va algo lento.
De cara a la seguridad y a los logs que dejaremos en el proxy/firewall de nuestra empresa, se podrán ver que hacemos peticiones a nuestro servidor de casa e incluso se podrán interceptar. Así, lo mejor es activar la opción de encriptación que proporciona HTTPort para que lo único que aparezca en los logs sean las llamadas al servidor de casa, pero nunca la información enviada, las urls que se consultan,...