Los adminstradores de red siempre ponen restricciones sobre la paginas que podemos ver desde la escuela o el trabajo, tambien puenden monitorear las paginas que visitamos, una solucion es montar un servidor proxy en nuestra casa y conectarnos a el para poder navegar libres, anonimamente y sin restriciones.
La idea la he sacado de este sitio.
http://daniel.haxx.se/docs/sshproxy.html
El procedimiento esta escrito para Ubuntu aun asi es posible instalar apache en diferentes distribuciones y tambien en windows.
Primero necesitaremos instalar apache.
sudo apt-get install apache2
Para detener
sudo /etc/init.d/apache2 stop
Para iniciar
sudo /etc/init.d/apache2 start
Para reiniciar.
sudo /etc/init.d/apache2 restart
Una vez que este instalado apache ve al explorador ingresa localhost como direccion y da enter. Debesde ver algo como It works !!! o una pagina que confirme que apache esta funcionando.
El segundo paso sera instalar el modulo proxy para apache.
sudo apt-get install libapache2-mod-proxy-html
Luego hay que editar la configuracion del apache para que utilize el modulo que acabamos de instalar.
En mi caso voy a utilizar el puerto 8888 para proxear por lo que tengo que decirle al apache que escuche en este puerto, y deshabilitar las escuchas al puerto 443, por que este puerto lo voy a usar para el ssh.
sudo gedit /etc/apache2/ports
Y agrego listen 8888 y comento el 443, el arhivo me queda asi:
# If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz NameVirtualHost *:80 Listen 80 Listen 8888# If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. # Listen 443 # Listen 443
luego creamos un nuevo documento vacio en la siguiete ruta con el nombre “proxy”
/etc/apache2/sites-available
Y ponemos lo siguiente
ServerAdmin webmaster@localhost ProxyRequests On ProxyVia On #Add ports you want to be able to connect to through your proxy here AllowCONNECT 443 554 #563 1863 10000 #443 = SSL #563 = TLS #1863 = MSN Messenger #10000 = Webmin DocumentRoot /var/www/ Options FollowSymLinks AllowOverride None ErrorLog /var/log/apache2/proxy-error.log TransferLog /var/log/apache2/proxy-transfer.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel debug
Con lo que le estamos creando un nuevo sitio proxy que va a forwadear el puerto 80, 443, 544, es importante que el virtual host *: 8888 sea igual al puerto que esta escuchando apache.
Configuramos el mod_proxy en el siguiente archivo:
sudo gedit /etc/apache2/mods-available/proxy.conf
Que queda de esta forma
#turning ProxyRequests on and allowing proxying from all may allow #spammers to use your proxy to send email. ProxyRequests On AddDefaultCharset off Order deny,allow Deny from all Allow from 127.0.0.1 # Enable/disable the handling of HTTP/1.1 "Via:" headers. # ("Full" adds the server version; "Block" removes all outgoing Via: headers) # Set to one of: Off | On | Full | Block ProxyVia On
Con lo que configuramos que solo se pueda usar el proxy desde el localhost.
Activamos el mod_proxy con esta linea.
sudo a2enmod proxy proxy_connect proxy_html proxy_ftp
en ubuntu es necesario cambiar en el ultimo comando
proxy_html
por
proxy_http
Activamos el site proxy
sudo a2ensite proxy
Y reinciamos el rervidor:
sudo /etc/init.d/apache2 restart
Ya tenemos la segunda parte parte.
Nota si tenemos algun problema sera necesario modificar el site, y la configurcion, para esto es necesario deshabilitar tanto el site con el mod_proxy.
Para deshabilitar el site:
sudo a2dissite proxy
para deshabilitar el mod_proxy:
sudo a2dismod proxy_connect proxy_html proxy_ftp proxy
Si se deshabilita el mod_proxy es necesario deshabilitar el site proxy, por que este depende del mod_proxy, y el apache no arrancarria.
Para averiguar si funciona puedes hacer un telnet
telnet localhost 8888
Si no responde codifo de error es por que esta bien, si ves simbolos raros esta bien.
El tercer paso es instalar ssh server para que te puedas conectar desde tu computadora del trabajo o de la escuela.
sudo apt-get install openssh-server
Como es un hecho que este bloqueado el puerto 22 que es que utiliza por default el ssh debemos configurarlo para que utilize el puerto 443 que es el generalmente se usa para https.
Para hacer esto hay que modificar el siguiente archivo.
sudo gedit /etc/ssh/sshd_config
Cambia esta linea
Port 22
por
Port 443
Ahora reinicia el servidor ssh.
sudo /etc/init.d/ssh restart
He intenta conectarte a tu maquina
ssh 'user'@localhost -p 443
Donde user es tu nombre de usuario, si es la primera vez que te conectas te va a pedir una confirmacion di le que si, ingresa tu contraseña, y el sisteme te va a dar la bienvenida. Si no revisa que este configurado correctamente el puerto y que el servido ssh esta corriendo.
Ahora si no cuentas con ip estatica, sera necesario que instalar algun servicio como no-ip.org
Para instalarlo dirigite a la siguiente pagina no-ip.org y create una cuenta. Luego instala el cliente en tu maquina para que se actulize tu ip automaticamente.
sudo apt-get install no-ip
Sigue la instrucciones si utilizas los parametros por default esta bien.
Ahora comprueba si esta funcionando correctamente.
Abre un explorador y he ingresa la direccion que registraste por ejemplo itworks.no-ip.org si ves el mismo mensje que cuando utilizas localhost es que esta funcionando correctamete, si no es posible que el cliente de no-ip no haya actuilizado la ip todavia. Para averiguarlo ejecuta lo siguiente,
sudo noip2 -S
Si el cliente de no-ip no esta corriendo utiliza.
sudo noip2
Bien haste este punto tu maquina ya esta lista.
Ahora en la maquina desde la que te quieres conectar necesitaras utilizar si utilizas alguna distribuccion de linux.
ssh -L 8888:localhost:8888 user@server.at.home -p 443
Si te vas a conenctar desde una maquina con Windows utiliza putty a mi gusta utilizar extra-putty.
Necesitas configurar tu explorador para que utilize localhost:8080 como proxy, para todos los protocolos , si estas utilizando windows no recomiendo utilizar internet explorer ni chrome, utiliza firefox o opera, por que la configuracion del proxy es mas facil.
Mas informacion:
http://famvdploeg.com/blog/2008/01/setting-up-an-apache2-proxy-server/l


Muy bien men lleva tiempo la configuracion pero funciona perfecto
Comment by Edilson Galeano — 11 febrero 2010 @ 22:01