Posteado por: alejandrolaorden | 11 marzo, 2007

proxy casero squid

Si quieres configurar un proxy casero con ubuntu, la solución está en squid. Un servidor proxy puede ser útil para el control de acceso a páginas o para dar acceso a amigos extranjeros que tienen el internet capado.

Iniciación en esta página:

http://www.linuxparatodos.net/geeklog/staticpages/index.php?page=19-0-como-squid-general

amplío los links a esta página, que también explica bien cómo configurar un proxy, es un caché de google, igual dentro de un tiempo no funciona :(

Si quieres formar un proxy con autenticación segura para tus amigos, la página que te explica el tema es esta (en inglés, pero te ahorras andar mendigando por el google):

http://www.cyberciti.biz/tips/linux-unix-squid-proxy-server-authentication.html

Está para suse, pero la variación de ubuntu es muy sencilla:

Por un lado, instalar apache:

sudo apt-get install apache

instalar squid:

sudo apt-get install squid

el htpasswd está con apache

y el ncsa_auth está en /usr/lib/squid

Recomiendo “insistentemente” la lectura de ‘Squid, The definitive Guide‘ de O’Really

Hay dos comentarios de dos personas que quieren simplemente que squid funcione como un proxy cache.

Recuerdo que squid tiene un montón de configuraciones, y decir, que no es lo mismo un proxy para una red local que para publicarlo en internet, la configuración que aquí pongo es para una red local, para lo cual, sustituid la ip 192.168.0.x por vuestra ip y 255.255.255.0 por la máscara de subred.

Para configurar squid.conf básicamente, voy escribiendo paso a paso un fichero normal.

Si el equipo desde el que vas a montar el proxy, es un equipo que actúa como router, conviene configurar iptables para hacer que el equipo deje pasar las conexiones de forma segura, escribí este otro post:

https://alejandrolaorden.wordpress.com/2006/09/21/firewall-seguro-en-linux/

Ahora vayamos con las configuraciones del squid.conf:

http_port 3128

Establecemos el puerto por defecto del proxy a 3128, tendremos que configurar en nuestro navegador que estamos usando un proxy, poniendo la ip del servidor proxy y el puerto.

Captura de pantalla Mozilla Firefox

aquí pongo un ejemplo de cómo se configura para mozilla Firefox, accediendo a Herramientas -> Opciones y en la ficha de Avanzado, configurar. He puesto que el servidor del proxy es 192.168.0.1 sólo a modo de ejemplo, podría ser cualquiera. Esta opción no tendría que hacerse en el modo transparente, que comento más abajo.

Se podría usar un servidor proxy externo, como los que hay en la página:

http://www.multiproxy.org

http://www.aliveproxy.com/

Los proxies externos se usan para acceder a páginas prohibidas por nuestro isp, (en muchos países hay censura) y se usa para saltarse la censura y también para ir de anónimo (aunque hay muchos proxies que mantienen logs de las visitas que se les hacen, bajo petición judicial).

acl localhost src 127.0.0.0/255.255.255.255

con esta linea identifico el equipo desde el que estoy ejecutando squid, se llamará “localhost”

acl permitidos src 192.168.0.0/255.255.255.0

con esta linea identificaremos a todos los ordenadores que pertenezcan a la red con la palabra “permitidos”

acl todos src 0.0.0.0/0.0.0.0

con esta linea identifico a todos los equipos, la ip 0.0.0.0 es una ip que identifica a todos los equipos que usen ip, a todo internet (a nivel de permisos).

http_acces allow permitidos localhost

permito a “permitidos” y a “todos” que accedan al proxy

http_acces deny todos

se lo niego a todos los demás (esto es opcional si no estamos en un entorno agresivo).

icp_acces allow all

En algunos manuales también veréis el protocolo icp(Internet Cache Protocol) que es para que nuestro proxy se comunique con otros proxies, permitiremos todos, si es que no somos muy paranoicos, y queremos ahorrar transmisiones innecesarias.

Con esto, hemos definido los permisos para que el proxy sepa quién puede usar el proxy.

Para configurar la caché:

cache_mem 16 MB

Esta es la caché de memoria, que es la que estará ocupándose en la memoria RAM del equipo, 16 megas está bien para 128 Mg de memoria, según los entendidos, mantendremos esa proporción para memorias superiores. 32 para 256 y 64 para 512.

cache_dir ufs /var/spool/squid 100 16 256

La ruta /var/spool/squid es donde se almacenará la información de caché en el disco duro.

100 será el número de megas que almacenará nuestro proxy en el disco duro, podemos ponerle 700 o el valor que creamos oportuno, el 16 y el 256 son configuraciones sobre cómo se almacena esa información, no conviene cambiarlo. 16 directorios o carpetas almacenando 256 niveles cada uno.

Logs de caché: Son importantes para llevar estadísticas, aunque no para un proxy sencillo.

# Log para almacenar la actividad que realiza el cliente

cache_access_log /usr/local/squidlogs/access.log

# Log para almacenar información general sobre lo que ocurre en cache

cache_log /usr/local/squidlogs/cache.log

# Lod para almacenar qué url son almacenadas en cache

cache_store_log /usr/local/squidlogs/store.log

Seguimiento de la caché, para tener estadísticas de web visitadas, en esta página hay algo de información:

http://www.rediris.es/si/cache/mantenimiento.es.html
Podemos configurar un proxy transparente con la siguiente configuración:

Para configurar un proxy transparente, esta línea nos permitirá redireccionar las peticiones del puerto 80 al puerto del proxy (por defecto) 3128:

OJOOO esta orden no va dentro del fichero squid.conf:

iptables -t nat -A PREROUTING -i eth -p tcp -dport 80 -j REDIRECT -TO PORT 3128

Dentro del fichero squid.conf:

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_single_host off

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Conviene, por último, parar el squid, ejecutar en la consola:

squid -z

para crear el cache_dir o llamados también swap directories.

Y luego volver a arrancar el servicio.


Responses

  1. Nada mas quiero saber si sabes como es que le puedo hacer para configurar el archivo squid.conf para que funcione como un proxy cache

  2. Nada mas quiero saber si sabes como es que le puedo hacer para configurar el archivo squid.conf para que funcione como un proxy cache


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: