Surgiu uma necessidade na minha empresa, devido a restrição de acesso ao site youtube na rede sem fio, 20 dispositivos mobile precisavam de acesso ao youtube. Para resolver o problema, poderia fixar o IP de cada dispositivo no DHCP e depois criar uma regra no squid. Tarefa árdua hehehe. Para resolver este problema de forma muito mais fácil, habilitei o ARP ACL no squid 2.6 rodando em CentOS 5.2. O ARP ACL possibilita realizar controle de permissões da rede no squid através de endereços MAC ADDRESS.
Para começar, precisaremos recompilar o squid, habilitando o ARP ACL. Faça backup do seu squid ou crie um snapshot do sistema caso esteja rodando em máquina virtual.
1 - Instalando dependências:
#yum install rpm-build gcc linuxdoc-tools openldap-devel pam-devel openjade openssl-devel perl-URI
2 - Baixar o código do squid (Neste caso estou usando a versão 2.6)
#cd /usr/src
#wget ftp://mirror.switch.ch/pool/2/mirror/redhat/linux/enterprise/5Server/en/os/SRPMS/squid-2.6.STABLE6-5.el5_1.3.src.rpm
Após baixado o pacote, dê um #ls -l , veja o nome do arquivo e o instale, como na imagem a seguir.
#rpm -ivh squid-2.6.STABLE6-5.el5_1.3.src.rpm
3 - Habilite o ARP ACL, editando o arquivo /usr/src/redhat/SPECS/squid.spec.
#vim /usr/src/redhat/SPECS/squid.spec
Neste arquivo, vá até a linha 114 e adicione a linha para habilitar o ARP ACL, conforme a imagem abaixo.
--enable-arp-acl \
Salve e saia do arquivo.
4 - Gere o novo pacote
#rpmbuild -bb /usr/src/redhat/SPECS/squid.spec
5 - Instale ou atualize o pacote
#rpm -Uvh /usr/src/redhat/RPMS/i386/squid-2.6.STABLE6-5.3.i386.rpm
6 - Verificar se tudo ocorreu bem (notem o destaque em vermelho, --enable-arp-acl deve aparecer neste lista)
#squid -v | grep arp
configure options: '--host=i686-redhat-linux-gnu' '--build=i686-redhat-linux-
Tudo pronto, agora vamos criar uma regra de teste.
7 - Criando regra de teste no squid.conf
acl mac arp 00:0C:29:84:32:A9
http_access deny mac
0 comentários:
Postar um comentário