Proxy con squid

Proxy simple para uso doméstico

(Por RicardoYanez)

A veces tenemos en casa un computador de escritorio o una estación de trabajo, que tiene más de un usuario; el cache que crean los navegadores web en la raíz del usuario son mal utilizados al no compartirse entre usuarios. En ente caso es conveniente instalar un proxy de sistema, accesible a todo usuario local. Vamos a suponer que el computador está conectado a Internet por ADSL o cable, directamente o detrás de un Router, con DHCP o no, y que no tiene un FQDN, es decir, el típico computador de casa conectado al servicio de un ISP.

Instala squid con:

# aptitude install squid

La instalación intenta levantar el proxy pero va a fallar.

Edita /etc/squid/squid.conf. En la sección "NETWORK OPTIONS" modifica http_port a,

http_port 3128 transparent

En "ADMINISTRATIVE PARAMETERS" agrega visible_hostname,

#  TAG: visible_hostname
#       If you want to present a special hostname in error messages, etc,
#       define this.  Otherwise, the return value of gethostname()
#       will be used. If you have multiple caches in a cluster and
#       get errors about IP-forwarding you must set them to have individual
#       names with this setting.
#
#Default:
# none
visible_hostname mimaquina

en dónde "mimaquina" representa el nombre de pila del sistema sin FQDN. (Un computador con FQDN no necesita este instructivo), puedes obtener este nombre ejecutando:

$ hostname -f

Inicia squid con:

# /etc/init.d/squid start

Usar proxy local con iceweasel/firefox

Anda a "Edit/Preferences". Marca la viñeta "Advanced". En "Connection" marca "Settings". Marca "Manual proxy configuration". En "HTTP proxy" escribe "localhost" (sin cremillas) y en "Port" escribe el puerto del proxy, que es 3128, según el instructivo http_port de arriba. Reinicia el navegador.


Squid para controlar el trafico de la red local

(Por MichellMuñoz)

Instala squid con,

# aptitude install squid

La instalación intenta levantar el proxy pero va a fallar. Edita /etc/squid/squid.conf. En la sección "NETWORK OPTIONS" modifica http_port a,

http_port 3128 transparent

En la sección "ACCESS CONTROL" pon lo siguiente:

acl red_local src 192.168.1.0/24 192.168.2.0/24
http_access allow red_local

La sección "ACCESS CONTROL", especifica que red_local es el nombre para la acl y 192.168.1.0/24 192.168.2.0/24 son nuestras subredes.

En "ADMINISTRATIVE PARAMETERS" agregavisible_hostname,

#  TAG: visible_hostname
#       If you want to present a special hostname in error messages, etc,
#       define this.  Otherwise, the return value of gethostname()
#       will be used. If you have multiple caches in a cluster and
#       get errors about IP-forwarding you must set them to have individual
#       names with this setting.
#
#Default:
# none
visible_hostname mimaquina

en donde "mimaquina" representa el nombre de pila del sistema sin FQDN. (Un computador con FQDN no necesita este instructivo).

Luego agregamos una regla al IPTABLES:

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

en esta regla indicamos que todo lo que entra por la interfaz de red eth0 con destino el puerto TCP 80 se redireccione al puerto 3128 donde está escuchando squid.

Luego

#  squid -z

el cual crea los directorios donde estará el cache de nuestro proxy.

Inicia squid con,

#  /etc/init.d/squid start

El cache se crea en /var/spool/squid/.

Usar proxy de red local con iceweasel/firefox

Nada que configurar. con IPTABLES redireccionamos automaticamente el trafico para que utilice el puerto del proxy.


Concepto de ACL en Squid

(Fuentes: Pedro Pablo Fábrega Martínez, SquidFaq)

Un ACL es una definición de control de acceso, que en Squid se especifica mediante el parámetro acl según la siguiente sintaxis:

acl nombre_acl tipo_acl descripción ...

o bien

acl nombre_acl tipo_acl "fichero_de_descripciones" ...

cuando usamos un "fichero_de_descripciones", cada descripción se corresponde con una línea del fichero.

Tipos de ACL

Tipos de Reglas de Accesos

SquidProxy (last edited 2009-09-14 04:01:09 by RicardoYanez)