Squid y Direcciones Mac Julio 17, 2008
Posted by fids in Software.Tags: direcciones fisicas y squid, direcciones mac, proxy con macs, proxy via mac, squid
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.
NO deberia ser al reves ? Sino dispones de gestion de paquetes tambien lo puedes hacer compilando el codigo fuente ?