miércoles, 9 de marzo de 2011

Proxy transparente


Para configurar un proxy transparente en ubuntu comenzaremos instalando el squid (sudo apt-get install squid), el servidor proxy trabaja por defecto en el puerto 3128 y se usa ademas de para controlar el trafico de la red para darle agilidad a una red ya que guarda en una memoria cache las ultimas visitas.


1.-Para comenzar con la configuración del servidor proxy configuraremos la puerta de enlace por defecto del servidor.
Lo haremos así:


sudo su

# route del default


# ifconfig eth2 192.168.10.22

# route add -net (ip de la puerta de enlace)/24 dev (interfaz de red "eth2") 

# route add -host (direccion ip del host) dev (interfaz de red "eth2") 
# route add default gw (puerta de enlace por defecto) dev (interfaz de red "eth2") 
# route



Con esto habremos configurado el acceso a otra puerta de enlace por la que queremos salir a internet.


Una vez hecho esto configuraremos el servidor proxy para lo cual editaremos el archivo /etc/squid/squid.conf, eliminaremos todo su contenido y insertaremos unicamente lo que nos interesa, cambiando los parametros por los de nuestro equipo.


acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl redlocal src 192.168.1.0/255.255.255.0
#acl redlocal2 src 192.168.10.0/24

http_access allow localhost
http_access deny manager !localhost
http_access allow redlocal
#http_access allow redlocal2
http_access deny all


#acl aulaSER src 192.168.1.0/255.255.255.0
#http_access allow aulaSER
acl HorarioLaborable time MTWHF 8:00-15:00
acl Strands dstdomain www.strands.com
acl gobierno url_regex la-moncloa mpr meh mpt maec mjusticia mde mir mec
acl MaxGente maxconn 32

cache_effective_user proxy
cache_effective_group proxy
cache_mgr admin@aulaSER.com
#visible_hostname servidor22

http_port 192.168.1.22:3128
cache_mem 64 MB
cache_dir ufs /var/spool/squid 10000 64 256

access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log



Una vez hecho esto reiniciaremos squid (sudo service squid), y seguidamente limpiaremos y restauraremos la cache del servidor (sudo  squid -z)




Una vez hecho esto activaremos el reenvío del servidor para que todas las peticiones al puerto 80 se redirijan al puerto 3128 y asi pase por el proxy y luego a Internet.


 sudo su

route

route delete default dev eth0


route add -net 192.168.10.0/24 dev eth3
route add -host 192.168.10.22 dev eth3
route add default gw 192.168.10.1 dev eth3

route


"eth3" es la interfaz conectada a la red que sale a Internet.

Edita el fichero /etc/squid/squid.conf y modifica la línea http_port de la siguiente manera:

http_port 3128 transparent

http_port 192.168.1.22:3128 transparent

Se reinicia el proxy (sudo service squid restart)




iptables -F

"eth0" es la interfaz de red conectada a la red privada.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

No hay comentarios:

Publicar un comentario