Fiquei alguns dias procurando alguma solução para amarrar o ip e o mac para que os clientes não ficassem trocando, a maioria das soluções era com iptables e tinha que mudar o meu firewall todo, então comecei a procurar uma forma de fazer isso com o próprio squid, e descobri uma forma, que faz com que o cliente só possa usar o ip fornecido pelo provedor, caso ele troque o ip, quando ele for navegar recebe uma mensagem do próprio squid de acesso bloqueado.
vamos então ao squid.conf
Bom baseado que vc ja possua seu squid funcionando e tudo mais estando ok, adiocione as seguintes regras acl no seu squid.conf
Eu uso a categoria de rede 10.0.0.0 mais nada impede que se use 172.16.0.0 ou 192.168.0.0
acl cli_ip01 src 10.0.1.2 ## CLIENTE 1
acl cl_mac01 arp FF:FF:FF:FF:FF:FF
acl cli_ip02 src 10.0.2.2 ## CLIENTE 2
acl cli_ip02 src 10.0.2.3
acl cl_mac02 arp EE:EE:EE:EE:EE:EE
acl cl_mac02 arp DD:CD:CD:CD:CD:CD
acl cli_ip03 src 10.0.3.2 ## CLIENTE 3
acl cli_ip03 src 10.0.3.3
acl cli_ip03 src 10.0.3.4
acl cl_mac03 arp CC:CC:CC:CC:CC:CC
## no primeiro cliente é criada uma acl para o ip dele e para o mac da placa ou ap
## dele.
## no segundo caso o cliente possui duas placas ou aps e dois ips, e no terceiro
## caso o cliente possui um ap e nesse ap tem 3 computadores ligados nele, nesse
## caso só o mac do ap que é fornecido, pois quando o ap esta em modo client,
## todos os macs atrás dele não aparecem no servidor, então basta colocar o
## mac do ap e liberar os ips.
## agora que vem a regra que libera os ips e macs.
http_access allow cli_ip01 cl_mac01
http_access allow cli_ip02 cl_mac02
http_access allow cli_ip03 cl_mac03
## como vc criou uma acl para cada cliente, essa acl fica conectada com a outra
## acl com o mac, pois vc liberou o acesso para o cliente1 e mac1 e assim
## sucessivamente.
## No cliente 2 e 3 temos acl´s que repetem o nome, mais não é erro não, o squid
## funciona assim : cada acl com o mesmo nome é como se fosse o mesmo arquivo
## com varias linhas.
## então no caso do cliente 2 ele vai liberar o ip 10.0.2.2 e 10.0.2.3 para somente
## os macs EE:EE:EE:EE:EE:EE e o mac DD:CD:CD:CD:CD:CD
## e no caso do cliente 3 ele vai liberar 3 ips para o mesmo mac.
qualquer mac que não esteja cadastrado, não vai navegar pois não vai possuir nenhuma acl direcionando para ele, e se algum cliente que possui mac cadastrado trocar o ip, não vai conseguir navegar pois para isso precisa estar com o mac e o ip na mesma regra do http_access.
Esse é o meu primeiro post.
Espero que ajude alguem.