Boa Noite pessoal,
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-
gnu' '--target=i386-redhat-linux' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--localstatedir=/var' '--datadir=/usr/share' '--sysconfdir=/etc/squid' '--enable-epoll' '--enable-snmp' '--enable-arp-acl' '--enable-removal-policies= heap,lru' '--enable-storeio=aufs,coss, diskd,null,ufs' '--enable-ssl' '--with-openssl=/usr/kerberos' '--enable-delay-pools' '--enable-linux-netfilter' '--with-pthreads' '--enable-ntlm-auth-helpers= SMB,fakeauth' '--enable-external-acl- helpers=ip_user,ldap_group, unix_group,wbinfo_group' '--enable-auth=basic,digest, ntlm' '--enable-digest-auth-helpers= password' '--with-winbind-auth- challenge' '--enable-useragent-log' '--enable-referer-log' '--disable-dependency- tracking' '--enable-cachemgr-hostname= localhost' '--enable-underscores' '--enable-basic-auth-helpers= LDAP,MSNT,NCSA,PAM,SMB,YP, getpwnam,multi-domain-NTLM, SASL' '--enable-cache-digests' '--enable-ident-lookups' '--with-large-files' '--enable-follow-x-forwarded- for' '--enable-wccpv2' '--enable-fd-config' '--with-maxfd=16384' 'CFLAGS=-fPIE -Os -g -pipe -fsigned-char' 'LDFLAGS=-pie' 'build_alias=i686-redhat- linux-gnu' 'host_alias=i686-redhat-linux- gnu' 'target_alias=i386-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
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
Como Habilitar ARP ACL no squid 2.6 CentOS 5
Reviewed by Carlos Castro
on
outubro 17, 2013
Rating:
Nenhum comentário: