Proxy Squid Transparente

Publicado por Leandro L. Santos 24/10/2006

[ Hits: 9.487 ]

Download Squid-Install.txt




Script que visa instalar o Squid em modo transparente, deixando  squid.conf extremamente limpo e ainda compilando opções para o uso de autenticação posteriormente, caso necessário.

PS: Funciona em qualquer distribuição, porém certifique-se que tenha removido o pacote Squid de seu sistema antes de rodar esse script, isso evitará conflito de arquivos.

  



Esconder código-fonte

#!/bin/sh
# Este Script Visa Instalar o Proxy Squid em Modo Transparente, também
# deixando oferecendo a compilação de módulos caso queira usar Proxy Autenticado.
 
# criando o grupo do squid
groupadd squid
 
# criando usuario pro squid
useradd -g squid -s /dev/null squid >/dev/null 2>&1 
 
# baixando o squid
cd /root/
wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE12.tar.bz2 
 
# descompactando o squid
cd /root/
tar -jxvf squid-2.5.STABLE12.tar.bz2

# compilando o squid com todas as flags lembradas, rs...
cd /root/squid-2.5.STABLE12
CFLAGS="-O2 -march=i486 -mcpu=i686" \
CXXFLAGS="-O2 -march=i486 -mcpu=i686" \
./configure --prefix=/usr \
   --localstatedir=/var/squid \
   --datadir=/usr/share/squid \ 
   --mandir=/usr/share/man \
   --sysconfdir=/usr/etc \
   --enable-auth="basic,digest,ntlm" \
   --enable-removal-policies="lru,heap" \
   --enable-digest-auth-helpers="password" \ 
   --enable-storeio="aufs,ufs,diskd,coss,null" \
   --enable-basic-auth-helpers="getpwnam,YP,NCSA,SMB,MSNT,multi-domain-NTLM,winbind" \
   --enable-external-acl-helpers="ip_user,unix_group,wbinfo_group,winbind_group" \ 
   --enable-ntlm-auth-helpers="SMB,fakeauth,no_check,winbind" \
   --enable-linux-netfilter \
   --enable-ident-lookups \
   --enable-useragent-log \
   --enable-cache-digests \
   --enable-delay-pools \ 
   --enable-referer-log \
   --enable-underscores \
   --enable-async-io \
   --enable-truncate \
   --enable-arp-acl \
   --with-pthreads \
   --enable-icmp \
   --enable-htcp \
   --enable-carp \ 
   --enable-poll \
   --enable-snmp \
   --enable-wccp \
   --enable-ssl
make all
make install
 
# ativando o modulo de autenticação/ncsa
cd /root/squid-2.5.STABLE12\helpers\basic_auth\NCSA
make
make install

# ativando o modulo de autenticação/Samba
cd /root/squid-2.5.STABLE12\helpers\basic_auth\SMB
make
make install

# ativando o modulo de autenticação/SASL
cd /root/squid-2.5.STABLE12\helpers\basic_auth\SASL
make
make install

# ativando o modulo de autenticação/LDAP
cd /root/squid-2.5.STABLE12\helpers\basic_auth\LDAP
make
make install

# ativando o modulo de autenticação/PAM
cd /root/squid-2.5.STABLE12\helpers\basic_auth\PAM
make
make install

# ativando o modulo de autenticação/winbind
cd /root/squid-2.5.STABLE12\helpers\basic_auth\winbind
make
make install

# ativando o modulo de autenticação/YP - NIS
cd /root/squid-2.5.STABLE12\helpers\basic_auth\YP
make
make install

# ativando o modulo de autenticação/MSNT
cd /root/squid-2.5.STABLE12\helpers\basic_auth\MSNT
make
make install

# ativando o modulo de autenticação/multi-domain-NTLM
cd /root/squid-2.5.STABLE12\helpers\basic_auth\multi-domain-NTLM
make
make install
 
# criando os arquivos de logs
touch /var/squid/logs/store.log
touch /var/squid/logs/access.log
 
# setando as devidas permissões
chmod 0777 /var/squid/logs/access.log
chmod 0777 /var/squid/logs/store.log
chown -R squid.squid /var/squid/
 
# criando o diretório de cache e setando as permissões
mkdir /var/squid/cache
chmod 0777 /var/squid/cache
chown -R squid.squid /var/squid/cache
 
# limpando o squid.conf e deixando-o em modo transparente
cd /usr/etc/
cd /usr/etc ; egrep -v "^#|^$" squid.conf.default > squid.conf
echo "httpd_accel_host virtual" >> /usr/etc/squid.conf
echo "httpd_accel_port 80" >> /usr/etc/squid.conf 
echo "httpd_accel_with_proxy on" >> /usr/etc/squid.conf
echo "httpd_accel_uses_host_header on" >> /usr/etc/squid.conf
echo "visible_hostname slackuser.ath.cx" >> /usr/etc/squid.conf
echo "error_directory /usr/share/squid/errors/Portuguese" >> /usr/etc/squid.conf 
# P.S.: Executar na pasta root e setar regras de firewall da 
# porta 3128 do squid para a porta 80 (nat de serviço)

Scripts recomendados

Copiar subdiretório presente em vários diretórios

Criar .deb para sua aplicação

Compartilhamento de conexão

Script Firewall Iptables + compartilhar internet

Script para fazer funcionar o bloqueio por horário - Squid


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts