jump to navigation

Squid y Direcciones Mac Julio 17, 2008

Posted by fids in Software.
Tags: , , , ,
trackback

Usualmente, cuando tenemos un proxy que atiende a muchas PC, siempre hay cambios de configuracion en los IPs, en estos casos, podemos usar squid para que nos permita dar o denegar acceso via direcciones mac, de tal manera que tenga el IP que tenga el cliente, nos aseguramos que siempre este disponible el servicio (entregando o rechazando el acceso a internet). A continuacion brevemente se detalla este sencillo proceso

1. Asegurarse que Squid tiene el soporte para verificar Direcciones MAC

Se puede compilar el codigo fuente asi:

$./configure –prefix=/usr/local/squid –enable-arp-acl

OJO -> Si no tienes el codigo fuente, puedes usar tu administrador de paquetes para agregar esta caracteristica

2. Obterner Direcciones MAC

Para ellos se pueden usar software, pero la manera mas sencilla es hacer ping al cliente desde el server donde ejecuta squid, y luego ejecutar el comando arp -a

Ejemplo:
# ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_seq=0 ttl=64 time=1.23 ms
64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.154 ms

#arp -a
? (192.168.1.20) at 00:04:75:ec:14:6b on fxp0 permanent [ethernet]
? (192.168.1.9) at 00:e0:7d:ba:fb:58 on fxp0 [ethernet]
? (192.168.1.69) at 00:0d:88:2e:ec:f9 on fxp0 [ethernet]

El comando Arp muestra las maquinas que se han conectado recien, su ip y su Mac

3. Crear un archivo de direcciones MACs donde estaran todas las direcciones que tendrán el acceso a internet

Ejemplo (ya cree el archivo mac_permitidas)

# cat /usr/local/squid/etc/mac_permitidas
00:04:75:ec:14:6b
00:e0:7d:ba:fb:58
00:0d:88:2e:ec:f9

Como veras, las macs se colocan una debajo de otra.

OJO -> debe haber por lo menos 1 MAC, sino squid dara error
OJO -> El formato es ##:##:##:##:##:## y no ##-##-##-##-##-##

4. Crear la siguiente regla en squid.conf

# Listas ACL
acl mac_permitidas arp “/usr/local/squid/etc/mac_permitidas”

.
. Mas abajo
.

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

http_access allow mac_permitidas

OJO -> Para evitar confusiones, nombra tus acl con el mismo nombre que tus archivos donde guardaste las macs

OJO -> Con esto, pongas la IP que le pongas a la tarjeta que tiene la MAC registrada en tu archivo mac_permitidas, igual entrara a internet

5. Revisar si no hay errores

# squid -k parse

6. Efectuar la configuracion

# squid -k reconfigure

7. Probar

Nota: Este proceso funciona siempre y cuando no hay firewalls de por medio entre el cliente y el proxy, de lo contrario, no se podra guardar la MAC al pasar por el firewall. Aunque no lo he comprobado, he leido informacion sobre eso.

Comentarios»

1. necudeco - Septiembre 6, 2008

NO deberia ser al reves ? Sino dispones de gestion de paquetes tambien lo puedes hacer compilando el codigo fuente ? :P