domingo, 1 de abril de 2012

Pfsense 2: Squid para dos redes

Squid puede controlar mas de una interface de red y ofrecer la posibilidad de que 1 sola caja de pfsense pueda controlar ambas redes, por ejemplo yo tengo estas NIC's y estoy marcando en cuales quiero que squid escuche peticiones:
Imagen 1: NIC's disponibles.
 Ahora, viene la parte mas sencilla, vamos a decirle a squid que escuche en ellas, asi:
Imagen 2: Marcando las interfaces en el GUI para squid.
Bien, salvan y esperan un poco para que squid reinicie.

Ahora esto es lo mas sencillo del mundo, pero como vamos a controlar las ACL?

Esta es otra historia, ya que debemos crear los ACL para cada subred, si ya teniamos unas trabajando que es mi caso, debemos crear las nuevas acl para esta subred.

Yo sigo haciendo todo a mano ya que tengo el control total de mi configuracion, aparece esto en mis ACL, supongamos que esa interface WIFI se localiza el departamento de Mantemiento y ellos desean entrar a:

www.grainger.com
www.grainger.com .mx
www.homedepot.com
www.homedepot.com.mx

Para empezar, entonces mis ACL quedarian asi:

Nombre del ACL:MANTEMIENTO
Nombre de archivo: MANTEMIENTO.acl
Nombre del ACL:MANTEMIENTO_SITIOS
Nombre de archivo: MANTEMIENTO_SITIOS.acl

Contenido del archivo:MANTEMIENTO.acl.

172.16.5.9/32

Contenido del archivo:MANTEMIENTO_SITIOS.acl.

.grainger.com
.grainger.com.mx
.homedepot.com
.homedepot.com.mx

En mi configuracion squid.conf quedaria asi en la cabecera inicial:

###LAN1
http_port 192.168.50.1:3128
###WIFI
http_port 172.16.5.1:3128

Como podran ver, dice squid que va a escuchar peticiones en esas 2 IP's.

Ahora el parametro localnet queda:

acl localnet src  192.168.50.0/255.255.255.0acl localnet src  172.16.5.0/255.255.255.0

Correcto dice squid que su acl abarca ambas subredes.

Si tenemos IP's que no deban tener restricciones entonces podemos usar el mismo archivo de nombre:

unrestricted_hosts.acl

Ahora viene como quedarian mis acl:

###ACL WIFI NIC
acl MANTENIMIENTO src "/usr/local/etc/squid/acl/MANTEMIMIENTO.acl"
acl MANTENIMIENTO_SITIOS dstdomain "/usr/local/etc/squid/acl/MANTEMIMIENTO_SITIOS.acl"

Ya mostre los contenidos.

Ahora la aplicacion:

### ACL para usuarios de subred2 WIFI
http_access allow MANTENIMIENTO MANTENIMIENTO_SITIOS
http_access deny MANTENIMIENTO

Listo, ya tenemos la configuracion lista para usar.

Recordar que asi como creamos reglas para nuestra LAN para que squid trabaje en modo "No Proxy Transparente" lo mismo debemos hacer para la subred WIFI, entonces quedaria asi en mi caso:

Imagen 3: Regla para WIFI.
Como podran ver, nadie de esa subred puede navegar si no es atraves de squid y todos los navegadores de esa red debe apuntar a el proxy: 172.16.5.1:3128.

Ya solo es cuestion de recargar la configuracion:

/usr/local/sbin/squid -k reconfigure

Nuestro log empieza a mostrar los accesos:


Imagen 4: Accesos de subred WIFI.

Y nuestro reporte sarg debe mostrar los logs de esa subred:
Imagen 5: Sarg mostrando logs de clientes en subred WIFI.


Listo, saludos!!!

No hay comentarios: